diff --git a/admin/appmanagement/images/main.css b/admin/appmanagement/images/main.css index 873b8b1..3a7cfdf 100644 --- a/admin/appmanagement/images/main.css +++ b/admin/appmanagement/images/main.css @@ -1,97 +1 @@ -.main-content { - padding: 0; - height: 100%; - width: 100%; - display: flex; - justify-content: center; - flex-wrap: wrap; - align-items: center; -} -.main-content-ul{ - display: flex; - text-align: center; - flex-wrap: wrap; - justify-content: center; - align-items: center; -} -.main-content-ul .main-content-li{ - float: left; - width: 175px; - overflow: hidden; - border-radius: 8px; - margin:10px; - background-color: rgba(255,255,255,0.55); -} -.main-content-ul .main-content-li:hover{ - background: #D8DEEA; - -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); - box-shadow : 0px 0px 10px rgba(0, 0, 0, 0.05); -} -.main-content-li a{ - height: 100%; -} -.main-content-li img{ - width: 64px; - height: 64px; -} -@media (max-width:768px){ - .main-content { - padding: 30px 30px; - } - -} -@media (max-width:414px){ - .main-content { - padding: 5px; - } - .main-content-ul .main-content-li{ - padding:20px; - margin:10px; - } - -} -@media (max-width:375px){ - .main-content { - padding: 5px; - } - .main-content-ul .main-content-li{ - width:160px; - height:160px; - padding:20px; - margin:10px; - } - .main-content-li a .row{ - padding-top:10px; - } - -} -@media (max-width:360px){ - .main-content { - padding: 5px; - } - .main-content-ul .main-content-li{ - width:160px; - height:160px; - padding:10px; - margin:6px; - } - .main-content-li a .row{ - padding-top:10px; - } - -} -@media (max-width:320px){ - .main-content { - padding: 5px; - } - .main-content-ul .main-content-li{ - width:145px; - height:140px; - padding:10px; - margin:4px; - } - .main-content-li a .row{ - padding-top:10px; - } - -} +.main-content{padding:0;height:100%;width:100%;display:flex;justify-content:center;flex-wrap:wrap;align-items:center;}.main-content-ul{display:flex;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;}.main-content-ul .main-content-li{float:left;width:175px;overflow:hidden;border-radius:8px;margin:10px;background-color:rgba(255,255,255,0.55);}.main-content-ul .main-content-li:hover{background:#D8DEEA;-moz-box-shadow:0px 0px 10px rgba(0,0,0,0.05);box-shadow:0px 0px 10px rgba(0,0,0,0.05);}.main-content-li a{height:100%;}.main-content-li img{width:64px;height:64px;}@media (max-width:768px){.main-content{padding:30px 30px;}}@media (max-width:414px){.main-content{padding:5px;}.main-content-ul .main-content-li{padding:20px;margin:10px;}}@media (max-width:375px){.main-content{padding:5px;}.main-content-ul .main-content-li{width:160px;height:160px;padding:20px;margin:10px;}.main-content-li a .row{padding-top:10px;}}@media (max-width:360px){.main-content{padding:5px;}.main-content-ul .main-content-li{width:160px;height:160px;padding:10px;margin:6px;}.main-content-li a .row{padding-top:10px;}}@media (max-width:320px){.main-content{padding:5px;}.main-content-ul .main-content-li{width:145px;height:140px;padding:10px;margin:4px;}.main-content-li a .row{padding-top:10px;}} \ No newline at end of file diff --git a/admin/appmarket/images/jquery-ui.css b/admin/appmarket/images/jquery-ui.css index 54cefe8..3a7cfdf 100644 --- a/admin/appmarket/images/jquery-ui.css +++ b/admin/appmarket/images/jquery-ui.css @@ -1,489 +1 @@ -/*! jQuery UI - v1.11.4 - 2018-01-24 -* http://jqueryui.com -* Includes: core.css, sortable.css, theme.css -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px -* Copyright jQuery Foundation and other contributors; Licensed MIT */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { - display: none; -} -.ui-helper-hidden-accessible { - border: 0; - clip: rect(0 0 0 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; -} -.ui-helper-reset { - margin: 0; - padding: 0; - border: 0; - outline: 0; - line-height: 1.3; - text-decoration: none; - font-size: 100%; - list-style: none; -} -.ui-helper-clearfix:before, -.ui-helper-clearfix:after { - content: ""; - display: table; - border-collapse: collapse; -} -.ui-helper-clearfix:after { - clear: both; -} -.ui-helper-clearfix { - min-height: 0; /* support: IE7 */ -} -.ui-helper-zfix { - width: 100%; - height: 100%; - top: 0; - left: 0; - position: absolute; - opacity: 0; - filter:Alpha(Opacity=0); /* support: IE8 */ -} - -.ui-front { - z-index: 100; -} - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { - cursor: default !important; -} - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - display: block; - text-indent: -99999px; - overflow: hidden; - background-repeat: no-repeat; -} - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; -} -.ui-sortable-handle { - -ms-touch-action: none; - touch-action: none; -} - -/* Component containers -----------------------------------*/ -.ui-widget { - font-family: Arial,Helvetica,sans-serif; - font-size: 1em; -} -.ui-widget .ui-widget { - font-size: 1em; -} -.ui-widget input, -.ui-widget select, -.ui-widget textarea, -.ui-widget button { - font-family: Arial,Helvetica,sans-serif; - font-size: 1em; -} -.ui-widget-content { - border: 1px solid #dddddd; - background: #ffffff; - color: #333333; -} -.ui-widget-content a { - color: #333333; -} -.ui-widget-header { - border: 1px solid #dddddd; - background: #e9e9e9; - color: #333333; - font-weight: bold; -} -.ui-widget-header a { - color: #333333; -} - -/* Interaction states -----------------------------------*/ -.ui-state-default, -.ui-widget-content .ui-state-default, -.ui-widget-header .ui-state-default { - border: 1px solid #c5c5c5; - background: #f6f6f6; - font-weight: normal; - color: #454545; -} -.ui-state-default a, -.ui-state-default a:link, -.ui-state-default a:visited { - color: #454545; - text-decoration: none; -} -.ui-state-hover, -.ui-widget-content .ui-state-hover, -.ui-widget-header .ui-state-hover, -.ui-state-focus, -.ui-widget-content .ui-state-focus, -.ui-widget-header .ui-state-focus { - border: 1px solid #cccccc; - background: #ededed; - font-weight: normal; - color: #2b2b2b; -} -.ui-state-hover a, -.ui-state-hover a:hover, -.ui-state-hover a:link, -.ui-state-hover a:visited, -.ui-state-focus a, -.ui-state-focus a:hover, -.ui-state-focus a:link, -.ui-state-focus a:visited { - color: #2b2b2b; - text-decoration: none; -} -.ui-state-active, -.ui-widget-content .ui-state-active, -.ui-widget-header .ui-state-active { - border: 1px solid #003eff; - background: #007fff; - font-weight: normal; - color: #ffffff; -} -.ui-state-active a, -.ui-state-active a:link, -.ui-state-active a:visited { - color: #ffffff; - text-decoration: none; -} - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, -.ui-widget-content .ui-state-highlight, -.ui-widget-header .ui-state-highlight { - border: 1px solid #dad55e; - background: #fffa90; - color: #777620; -} -.ui-state-highlight a, -.ui-widget-content .ui-state-highlight a, -.ui-widget-header .ui-state-highlight a { - color: #777620; -} -.ui-state-error, -.ui-widget-content .ui-state-error, -.ui-widget-header .ui-state-error { - border: 1px solid #f1a899; - background: #fddfdf; - color: #5f3f3f; -} -.ui-state-error a, -.ui-widget-content .ui-state-error a, -.ui-widget-header .ui-state-error a { - color: #5f3f3f; -} -.ui-state-error-text, -.ui-widget-content .ui-state-error-text, -.ui-widget-header .ui-state-error-text { - color: #5f3f3f; -} -.ui-priority-primary, -.ui-widget-content .ui-priority-primary, -.ui-widget-header .ui-priority-primary { - font-weight: bold; -} -.ui-priority-secondary, -.ui-widget-content .ui-priority-secondary, -.ui-widget-header .ui-priority-secondary { - opacity: .7; - filter:Alpha(Opacity=70); /* support: IE8 */ - font-weight: normal; -} -.ui-state-disabled, -.ui-widget-content .ui-state-disabled, -.ui-widget-header .ui-state-disabled { - opacity: .35; - filter:Alpha(Opacity=35); /* support: IE8 */ - background-image: none; -} -.ui-state-disabled .ui-icon { - filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ -} - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { - width: 16px; - height: 16px; -} -.ui-icon, -.ui-widget-content .ui-icon { - background-image: url("images/ui-icons_444444_256x240.png"); -} -.ui-widget-header .ui-icon { - background-image: url("images/ui-icons_444444_256x240.png"); -} -.ui-state-default .ui-icon { - background-image: url("images/ui-icons_777777_256x240.png"); -} -.ui-state-hover .ui-icon, -.ui-state-focus .ui-icon { - background-image: url("images/ui-icons_555555_256x240.png"); -} -.ui-state-active .ui-icon { - background-image: url("images/ui-icons_ffffff_256x240.png"); -} -.ui-state-highlight .ui-icon { - background-image: url("images/ui-icons_777620_256x240.png"); -} -.ui-state-error .ui-icon, -.ui-state-error-text .ui-icon { - background-image: url("images/ui-icons_cc0000_256x240.png"); -} - -/* positioning */ -.ui-icon-blank { background-position: 16px 16px; } -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-on { background-position: -96px -144px; } -.ui-icon-radio-off { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, -.ui-corner-top, -.ui-corner-left, -.ui-corner-tl { - border-top-left-radius: 3px; -} -.ui-corner-all, -.ui-corner-top, -.ui-corner-right, -.ui-corner-tr { - border-top-right-radius: 3px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-left, -.ui-corner-bl { - border-bottom-left-radius: 3px; -} -.ui-corner-all, -.ui-corner-bottom, -.ui-corner-right, -.ui-corner-br { - border-bottom-right-radius: 3px; -} - -/* Overlays */ -.ui-widget-overlay { - background: #aaaaaa; - opacity: .3; - filter: Alpha(Opacity=30); /* support: IE8 */ -} -.ui-widget-shadow { - margin: 0px 0 0 0px; - padding: 5px; - background: #666666; - opacity: .3; - filter: Alpha(Opacity=30); /* support: IE8 */ - border-radius: 8px; -} +.main-content{padding:0;height:100%;width:100%;display:flex;justify-content:center;flex-wrap:wrap;align-items:center;}.main-content-ul{display:flex;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;}.main-content-ul .main-content-li{float:left;width:175px;overflow:hidden;border-radius:8px;margin:10px;background-color:rgba(255,255,255,0.55);}.main-content-ul .main-content-li:hover{background:#D8DEEA;-moz-box-shadow:0px 0px 10px rgba(0,0,0,0.05);box-shadow:0px 0px 10px rgba(0,0,0,0.05);}.main-content-li a{height:100%;}.main-content-li img{width:64px;height:64px;}@media (max-width:768px){.main-content{padding:30px 30px;}}@media (max-width:414px){.main-content{padding:5px;}.main-content-ul .main-content-li{padding:20px;margin:10px;}}@media (max-width:375px){.main-content{padding:5px;}.main-content-ul .main-content-li{width:160px;height:160px;padding:20px;margin:10px;}.main-content-li a .row{padding-top:10px;}}@media (max-width:360px){.main-content{padding:5px;}.main-content-ul .main-content-li{width:160px;height:160px;padding:10px;margin:6px;}.main-content-li a .row{padding-top:10px;}}@media (max-width:320px){.main-content{padding:5px;}.main-content-ul .main-content-li{width:145px;height:140px;padding:10px;margin:4px;}.main-content-li a .row{padding-top:10px;}} \ No newline at end of file diff --git a/admin/appmarket/images/market.css b/admin/appmarket/images/market.css index 4ad7c9c..483b919 100644 --- a/admin/appmarket/images/market.css +++ b/admin/appmarket/images/market.css @@ -1,305 +1 @@ -@charset "utf-8"; -.img_236{ - max-width: 236px; -} -* html .img_236 { - width: expression(this.width > 236 && this.width>=this.height ? 236 : true); -} -.market-container .appitem{ - background:#FFF; - width:236px; - height:330px; - box-shadow:0 1px 3px rgba(0,0,0,.3); - position:relative; - border-radius:2px; - margin:8px; -} -.ie8 .market-container .appitem{ - border:1px solid #D9D9D7; -} -.img-container { - width:236px; - height:136px; - padding:0; - text-align:center; - position:relative; - overflow:hidden; - display:block; - border-radius:2px 2px 0 0; -} -.ie8 .img-container { - width:234px; - height:135px; -} - -.appitem-desc{ - padding:10px 0; - height:84px; - line-height:1.5; - overflow:hidden; - color:#808080; -} -.appitem-footer{ - line-height:35px; -} - -.appitem-title a{ - font-size:14px;font-weight:bold;color:#333; - text-shadow:1px 1px 1px #FFF; -} -.appitem .appmeta{ - color: #353535; - padding: 15px 15px 0 15px; - background: #fff; -} -.appmeta a { - color: #333; - font-weight: bold; - display: block; - text-decoration: none; -} -.appmeta a h3 { - display: block; - font-size: 14px; - line-height: 14px; - margin: 0 0 10px 0; - height:14px; - text-overflow: ellipsis; - overflow: hidden;font-weight: bold; -} -.appmeta h4 { - font-size: 11px; - color: #808080; - margin:0; - /*margin-top: -8px;*/ - padding-bottom: 8px; - border-bottom: 1px solid #eee; -} -.color-block-1 { - background: #B82F68; -} -.color-block-2 { - background: #DB4B00; -} -.color-block-3 { - background: #BA4B3A; -} -.color-block-4 { - background: #009BCB; -} -.color-block-5 { - background: #37B298; -} -.color-block-6 { - background: #F1C42C; -} -.color-block-7 { - background: #7BBA39; -} -.color-block-8 { - background: #7938BA; -} -.color-block-9 { - background: #3850BA; -} -.color-block-10 { - background: #51CB8F; -} - -.price-container p{ margin:0 0 5px 0} - - - -.document-container { - background:#FFF; -} - -.document-header{ - - padding:0; - position:relative; - margin:0; - border-bottom:1px solid #DDD; - min-height:137px; - text-shadow: 0 1px 0 rgba(0,0,0,.1); - background-color: #6f5499; - background-image: -webkit-gradient(linear,left top,left bottom,from(#563d7c),to(#6f5499)); - background-image: -webkit-linear-gradient(top,#563d7c 0,#6f5499 100%); - background-image: -o-linear-gradient(top,#563d7c 0,#6f5499 100%); - background-image: linear-gradient(to bottom,#563d7c 0,#6f5499 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#563d7c', endColorstr='#6F5499', GradientType=0); - background-repeat: repeat-x; - color: #cdbfe3; - border-radius:2px 2px 0 0; -} -.ie8 .document-header{ - min-height:135px; -} -.document-header .img-container{ - border-radius:2px 0 0 0; - position:absolute; - left:0;top:0; - -} -.document-header .header-info{ - padding: 0px 0 10px 246px; - line-height:30px; - min-width:500px; -} -.ie8 .document-header .header-info{ - min-width:150px; -} -.document-header .header-info .appname{ - font-size:16px; - line-height:35px; - color:#FFF; -} -.download-container{ - position:absolute; - right:10px;top:10px; - z-index:100; -} - -.document-container { - width:100%; - margin:0; - border:none; - background:#FFF; - box-shadow:none; - overflow-x:hidden; -} - - -.document-container .document-body { - padding: 20px 0 0 0; - margin: 0 20px 0 20px; - overflow-x:hidden; - position:relative; - line-height:2; - - -} -.document-container .document-body img.dzz-image{ - max-width: 100%; -} -.document-container .document-Carousel { - padding: 20px 0 0 0; - margin: 0 20px 0 20px; - min-height:200px; - overflow-x:hidden; - position:relative; -} -.document-container .document-comment { - padding: 20px 0 0 0; - margin: 0 20px; -} -.document-comment .attach-item{ - height:20px; - line-height:20px; - padding:0 10px; -} - -span.attach-item{ - line-height:24px; - display:inline-block; - height:24px; - padding-right:8px; -} -span.attach-item img{ - max-height:100%; - padding-right:5px; -} - - -.carousel-inner>.item>img, .carousel-inner>.item>a>img{ - margin:0 auto; -} - - - -/*12.12修改*/ -.table>thead>tr>th, .table>tbody>tr>th, .table>tfoot>tr>th, .table>thead>tr>td, .table>tbody>tr>td, .table>tfoot>tr>td{ - white-space:nowrap; -} -.group-td-wrapper{ - max-width:120px; - white-space:normal; - overflow: hidden; - text-overflow: ellipsis; -} -.group-td-wrapper>span { - white-space:nowrap; - overflow: hidden; - text-overflow: ellipsis; -} -.group-td-wrapper>span>img { - margin:0; - vertical-align: text-bottom; -} -.tag-td-wrapper{ - max-width:120px; - height: 20px; - white-space:normal; - overflow: hidden; - text-overflow: ellipsis; -} -.tag-td-wrapper a{ - color:#666; - display:inline-block; - padding:0 2px; - white-space:nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.app-info{ - display: inline-block; -} -.app-info .select-info{ - display:none; -} -span.num { - color:#4A89FD; - font-weight:700; - padding:0 2px; - margin:0; - -} -.app-name-wrapper { - padding-left: 55px; - position: relative; - max-width: 350px; - min-height: 50px; - display: inline-block; -} -.appname a{ - font-weight:600; - font-size:14px; -} -.appdesc{ - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - font-size:13px; - cursor:default; - line-height: 25px; - max-width:300px; -} -.btn-top{ - margin-left: 30px; -} -.btn-top a{ - margin-right: 10px; -} -.all-center-top{ - padding: 13px; - position:relative; -} - - - - - - - -/*结束*/ \ No newline at end of file +@charset "utf-8";.img_236{max-width:236px;}* html .img_236{width:expression(this.width > 236 && this.width>=this.height ? 236:true);}.market-container .appitem{background:#FFF;width:236px;height:330px;box-shadow:0 1px 3px rgba(0,0,0,.3);position:relative;border-radius:2px;margin:8px;}.ie8 .market-container .appitem{border:1px solid #D9D9D7;}.img-container{width:236px;height:136px;padding:0;text-align:center;position:relative;overflow:hidden;display:block;border-radius:2px 2px 0 0;}.ie8 .img-container{width:234px;height:135px;}.appitem-desc{padding:10px 0;height:84px;line-height:1.5;overflow:hidden;color:#808080;}.appitem-footer{line-height:35px;}.appitem-title a{font-size:14px;font-weight:bold;color:#333;text-shadow:1px 1px 1px #FFF;}.appitem .appmeta{color:#353535;padding:15px 15px 0 15px;background:#fff;}.appmeta a{color:#333;font-weight:bold;display:block;text-decoration:none;}.appmeta a h3{display:block;font-size:14px;line-height:14px;margin:0 0 10px 0;height:14px;text-overflow:ellipsis;overflow:hidden;font-weight:bold;}.appmeta h4{font-size:11px;color:#808080;margin:0;padding-bottom:8px;border-bottom:1px solid #eee;}.color-block-1{background:#B82F68;}.color-block-2{background:#DB4B00;}.color-block-3{background:#BA4B3A;}.color-block-4{background:#009BCB;}.color-block-5{background:#37B298;}.color-block-6{background:#F1C42C;}.color-block-7{background:#7BBA39;}.color-block-8{background:#7938BA;}.color-block-9{background:#3850BA;}.color-block-10{background:#51CB8F;}.price-container p{margin:0 0 5px 0}.document-container{background:#FFF;}.document-header{padding:0;position:relative;margin:0;border-bottom:1px solid #DDD;min-height:137px;text-shadow:0 1px 0 rgba(0,0,0,.1);background-color:#6f5499;background-image:-webkit-gradient(linear,left top,left bottom,from(#563d7c),to(#6f5499));background-image:-webkit-linear-gradient(top,#563d7c 0,#6f5499 100%);background-image:-o-linear-gradient(top,#563d7c 0,#6f5499 100%);background-image:linear-gradient(to bottom,#563d7c 0,#6f5499 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#563d7c',endColorstr='#6F5499',GradientType=0);background-repeat:repeat-x;color:#cdbfe3;border-radius:2px 2px 0 0;}.ie8 .document-header{min-height:135px;}.document-header .img-container{border-radius:2px 0 0 0;position:absolute;left:0;top:0;}.document-header .header-info{padding:0px 0 10px 246px;line-height:30px;min-width:500px;}.ie8 .document-header .header-info{min-width:150px;}.document-header .header-info .appname{font-size:16px;line-height:35px;color:#FFF;}.download-container{position:absolute;right:10px;top:10px;z-index:100;}.document-container{width:100%;margin:0;border:none;background:#FFF;box-shadow:none;overflow-x:hidden;}.document-container .document-body{padding:20px 0 0 0;margin:0 20px 0 20px;overflow-x:hidden;position:relative;line-height:2;}.document-container .document-body img.dzz-image{max-width:100%;}.document-container .document-Carousel{padding:20px 0 0 0;margin:0 20px 0 20px;min-height:200px;overflow-x:hidden;position:relative;}.document-container .document-comment{padding:20px 0 0 0;margin:0 20px;}.document-comment .attach-item{height:20px;line-height:20px;padding:0 10px;}span.attach-item{line-height:24px;display:inline-block;height:24px;padding-right:8px;}span.attach-item img{max-height:100%;padding-right:5px;}.carousel-inner>.item>img,.carousel-inner>.item>a>img{margin:0 auto;}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{white-space:nowrap;}.group-td-wrapper{max-width:120px;white-space:normal;overflow:hidden;text-overflow:ellipsis;}.group-td-wrapper>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.group-td-wrapper>span>img{margin:0;vertical-align:text-bottom;}.tag-td-wrapper{max-width:120px;height:20px;white-space:normal;overflow:hidden;text-overflow:ellipsis;}.tag-td-wrapper a{color:#666;display:inline-block;padding:0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.app-info{display:inline-block;}.app-info .select-info{display:none;}span.num{color:#4A89FD;font-weight:700;padding:0 2px;margin:0;}.app-name-wrapper{padding-left:55px;position:relative;max-width:350px;min-height:50px;display:inline-block;}.appname a{font-weight:600;font-size:14px;}.appdesc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px;cursor:default;line-height:25px;max-width:300px;}.btn-top{margin-left:30px;}.btn-top a{margin-right:10px;}.all-center-top{padding:13px;position:relative;} \ No newline at end of file diff --git a/admin/appmarket/scripts/jquery-ui.js b/admin/appmarket/scripts/jquery-ui.js index b6af315..679ec07 100644 --- a/admin/appmarket/scripts/jquery-ui.js +++ b/admin/appmarket/scripts/jquery-ui.js @@ -1,2346 +1,278 @@ -/*! jQuery UI - v1.11.4 - 2018-01-24 -* http://jqueryui.com -* Includes: core.js, widget.js, mouse.js, sortable.js -* Copyright jQuery Foundation and other contributors; Licensed MIT */ - -(function( factory ) { - if ( typeof define === "function" && define.amd ) { - - // AMD. Register as an anonymous module. - define([ "jquery" ], factory ); - } else { - - // Browser globals - factory( jQuery ); - } -}(function( $ ) { -/*! - * jQuery UI Core 1.11.4 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/category/ui-core/ - */ - - -// $.ui might exist from components with no dependencies, e.g., $.ui.position -$.ui = $.ui || {}; - -$.extend( $.ui, { - version: "1.11.4", - - keyCode: { - BACKSPACE: 8, - COMMA: 188, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - LEFT: 37, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SPACE: 32, - TAB: 9, - UP: 38 - } -}); - -// plugins -$.fn.extend({ - scrollParent: function( includeHidden ) { - var position = this.css( "position" ), - excludeStaticParent = position === "absolute", - overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, - scrollParent = this.parents().filter( function() { - var parent = $( this ); - if ( excludeStaticParent && parent.css( "position" ) === "static" ) { - return false; - } - return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); - }).eq( 0 ); - - return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; - }, - - uniqueId: (function() { - var uuid = 0; - - return function() { - return this.each(function() { - if ( !this.id ) { - this.id = "ui-id-" + ( ++uuid ); - } - }); - }; - })(), - - removeUniqueId: function() { - return this.each(function() { - if ( /^ui-id-\d+$/.test( this.id ) ) { - $( this ).removeAttr( "id" ); - } - }); - } -}); - -// selectors -function focusable( element, isTabIndexNotNaN ) { - var map, mapName, img, - nodeName = element.nodeName.toLowerCase(); - if ( "area" === nodeName ) { - map = element.parentNode; - mapName = map.name; - if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { - return false; - } - img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; - return !!img && visible( img ); - } - return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? - !element.disabled : - "a" === nodeName ? - element.href || isTabIndexNotNaN : - isTabIndexNotNaN) && - // the element and all of its ancestors must be visible - visible( element ); -} - -function visible( element ) { - return $.expr.filters.visible( element ) && - !$( element ).parents().addBack().filter(function() { - return $.css( this, "visibility" ) === "hidden"; - }).length; -} - -$.extend( $.expr[ ":" ], { - data: $.expr.createPseudo ? - $.expr.createPseudo(function( dataName ) { - return function( elem ) { - return !!$.data( elem, dataName ); - }; - }) : - // support: jQuery <1.8 - function( elem, i, match ) { - return !!$.data( elem, match[ 3 ] ); - }, - - focusable: function( element ) { - return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); - }, - - tabbable: function( element ) { - var tabIndex = $.attr( element, "tabindex" ), - isTabIndexNaN = isNaN( tabIndex ); - return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); - } -}); - -// support: jQuery <1.8 -if ( !$( "" ).outerWidth( 1 ).jquery ) { - $.each( [ "Width", "Height" ], function( i, name ) { - var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], - type = name.toLowerCase(), - orig = { - innerWidth: $.fn.innerWidth, - innerHeight: $.fn.innerHeight, - outerWidth: $.fn.outerWidth, - outerHeight: $.fn.outerHeight - }; - - function reduce( elem, size, border, margin ) { - $.each( side, function() { - size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; - if ( border ) { - size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; - } - if ( margin ) { - size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; - } - }); - return size; - } - - $.fn[ "inner" + name ] = function( size ) { - if ( size === undefined ) { - return orig[ "inner" + name ].call( this ); - } - - return this.each(function() { - $( this ).css( type, reduce( this, size ) + "px" ); - }); - }; - - $.fn[ "outer" + name] = function( size, margin ) { - if ( typeof size !== "number" ) { - return orig[ "outer" + name ].call( this, size ); - } - - return this.each(function() { - $( this).css( type, reduce( this, size, true, margin ) + "px" ); - }); - }; - }); -} - -// support: jQuery <1.8 -if ( !$.fn.addBack ) { - $.fn.addBack = function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - }; -} - -// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) -if ( $( "" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { - $.fn.removeData = (function( removeData ) { - return function( key ) { - if ( arguments.length ) { - return removeData.call( this, $.camelCase( key ) ); - } else { - return removeData.call( this ); - } - }; - })( $.fn.removeData ); -} - -// deprecated -$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); - -$.fn.extend({ - focus: (function( orig ) { - return function( delay, fn ) { - return typeof delay === "number" ? - this.each(function() { - var elem = this; - setTimeout(function() { - $( elem ).focus(); - if ( fn ) { - fn.call( elem ); - } - }, delay ); - }) : - orig.apply( this, arguments ); - }; - })( $.fn.focus ), - - disableSelection: (function() { - var eventType = "onselectstart" in document.createElement( "div" ) ? - "selectstart" : - "mousedown"; - - return function() { - return this.bind( eventType + ".ui-disableSelection", function( event ) { - event.preventDefault(); - }); - }; - })(), - - enableSelection: function() { - return this.unbind( ".ui-disableSelection" ); - }, - - zIndex: function( zIndex ) { - if ( zIndex !== undefined ) { - return this.css( "zIndex", zIndex ); - } - - if ( this.length ) { - var elem = $( this[ 0 ] ), position, value; - while ( elem.length && elem[ 0 ] !== document ) { - // Ignore z-index if position is set to a value where z-index is ignored by the browser - // This makes behavior of this function consistent across browsers - // WebKit always returns auto if the element is positioned - position = elem.css( "position" ); - if ( position === "absolute" || position === "relative" || position === "fixed" ) { - // IE returns 0 when zIndex is not specified - // other browsers return a string - // we ignore the case of nested elements with an explicit value of 0 - //
- value = parseInt( elem.css( "zIndex" ), 10 ); - if ( !isNaN( value ) && value !== 0 ) { - return value; - } - } - elem = elem.parent(); - } - } - - return 0; - } -}); - -// $.ui.plugin is deprecated. Use $.widget() extensions instead. -$.ui.plugin = { - add: function( module, option, set ) { - var i, - proto = $.ui[ module ].prototype; - for ( i in set ) { - proto.plugins[ i ] = proto.plugins[ i ] || []; - proto.plugins[ i ].push( [ option, set[ i ] ] ); - } - }, - call: function( instance, name, args, allowDisconnected ) { - var i, - set = instance.plugins[ name ]; - - if ( !set ) { - return; - } - - if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { - return; - } - - for ( i = 0; i < set.length; i++ ) { - if ( instance.options[ set[ i ][ 0 ] ] ) { - set[ i ][ 1 ].apply( instance.element, args ); - } - } - } -}; - - -/*! - * jQuery UI Widget 1.11.4 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/jQuery.widget/ - */ - - -var widget_uuid = 0, - widget_slice = Array.prototype.slice; - -$.cleanData = (function( orig ) { - return function( elems ) { - var events, elem, i; - for ( i = 0; (elem = elems[i]) != null; i++ ) { - try { - - // Only trigger remove when necessary to save time - events = $._data( elem, "events" ); - if ( events && events.remove ) { - $( elem ).triggerHandler( "remove" ); - } - - // http://bugs.jquery.com/ticket/8235 - } catch ( e ) {} - } - orig( elems ); - }; -})( $.cleanData ); - -$.widget = function( name, base, prototype ) { - var fullName, existingConstructor, constructor, basePrototype, - // proxiedPrototype allows the provided prototype to remain unmodified - // so that it can be used as a mixin for multiple widgets (#8876) - proxiedPrototype = {}, - namespace = name.split( "." )[ 0 ]; - - name = name.split( "." )[ 1 ]; - fullName = namespace + "-" + name; - - if ( !prototype ) { - prototype = base; - base = $.Widget; - } - - // create selector for plugin - $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { - return !!$.data( elem, fullName ); - }; - - $[ namespace ] = $[ namespace ] || {}; - existingConstructor = $[ namespace ][ name ]; - constructor = $[ namespace ][ name ] = function( options, element ) { - // allow instantiation without "new" keyword - if ( !this._createWidget ) { - return new constructor( options, element ); - } - - // allow instantiation without initializing for simple inheritance - // must use "new" keyword (the code above always passes args) - if ( arguments.length ) { - this._createWidget( options, element ); - } - }; - // extend with the existing constructor to carry over any static properties - $.extend( constructor, existingConstructor, { - version: prototype.version, - // copy the object used to create the prototype in case we need to - // redefine the widget later - _proto: $.extend( {}, prototype ), - // track widgets that inherit from this widget in case this widget is - // redefined after a widget inherits from it - _childConstructors: [] - }); - - basePrototype = new base(); - // we need to make the options hash a property directly on the new instance - // otherwise we'll modify the options hash on the prototype that we're - // inheriting from - basePrototype.options = $.widget.extend( {}, basePrototype.options ); - $.each( prototype, function( prop, value ) { - if ( !$.isFunction( value ) ) { - proxiedPrototype[ prop ] = value; - return; - } - proxiedPrototype[ prop ] = (function() { - var _super = function() { - return base.prototype[ prop ].apply( this, arguments ); - }, - _superApply = function( args ) { - return base.prototype[ prop ].apply( this, args ); - }; - return function() { - var __super = this._super, - __superApply = this._superApply, - returnValue; - - this._super = _super; - this._superApply = _superApply; - - returnValue = value.apply( this, arguments ); - - this._super = __super; - this._superApply = __superApply; - - return returnValue; - }; - })(); - }); - constructor.prototype = $.widget.extend( basePrototype, { - // TODO: remove support for widgetEventPrefix - // always use the name + a colon as the prefix, e.g., draggable:start - // don't prefix for widgets that aren't DOM-based - widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name - }, proxiedPrototype, { - constructor: constructor, - namespace: namespace, - widgetName: name, - widgetFullName: fullName - }); - - // If this widget is being redefined then we need to find all widgets that - // are inheriting from it and redefine all of them so that they inherit from - // the new version of this widget. We're essentially trying to replace one - // level in the prototype chain. - if ( existingConstructor ) { - $.each( existingConstructor._childConstructors, function( i, child ) { - var childPrototype = child.prototype; - - // redefine the child widget using the same prototype that was - // originally used, but inherit from the new version of the base - $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); - }); - // remove the list of existing child constructors from the old constructor - // so the old child constructors can be garbage collected - delete existingConstructor._childConstructors; - } else { - base._childConstructors.push( constructor ); - } - - $.widget.bridge( name, constructor ); - - return constructor; -}; - -$.widget.extend = function( target ) { - var input = widget_slice.call( arguments, 1 ), - inputIndex = 0, - inputLength = input.length, - key, - value; - for ( ; inputIndex < inputLength; inputIndex++ ) { - for ( key in input[ inputIndex ] ) { - value = input[ inputIndex ][ key ]; - if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { - // Clone objects - if ( $.isPlainObject( value ) ) { - target[ key ] = $.isPlainObject( target[ key ] ) ? - $.widget.extend( {}, target[ key ], value ) : - // Don't extend strings, arrays, etc. with objects - $.widget.extend( {}, value ); - // Copy everything else by reference - } else { - target[ key ] = value; - } - } - } - } - return target; -}; - -$.widget.bridge = function( name, object ) { - var fullName = object.prototype.widgetFullName || name; - $.fn[ name ] = function( options ) { - var isMethodCall = typeof options === "string", - args = widget_slice.call( arguments, 1 ), - returnValue = this; - - if ( isMethodCall ) { - this.each(function() { - var methodValue, - instance = $.data( this, fullName ); - if ( options === "instance" ) { - returnValue = instance; - return false; - } - if ( !instance ) { - return $.error( "cannot call methods on " + name + " prior to initialization; " + - "attempted to call method '" + options + "'" ); - } - if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { - return $.error( "no such method '" + options + "' for " + name + " widget instance" ); - } - methodValue = instance[ options ].apply( instance, args ); - if ( methodValue !== instance && methodValue !== undefined ) { - returnValue = methodValue && methodValue.jquery ? - returnValue.pushStack( methodValue.get() ) : - methodValue; - return false; - } - }); - } else { - - // Allow multiple hashes to be passed on init - if ( args.length ) { - options = $.widget.extend.apply( null, [ options ].concat(args) ); - } - - this.each(function() { - var instance = $.data( this, fullName ); - if ( instance ) { - instance.option( options || {} ); - if ( instance._init ) { - instance._init(); - } - } else { - $.data( this, fullName, new object( options, this ) ); - } - }); - } - - return returnValue; - }; -}; - -$.Widget = function( /* options, element */ ) {}; -$.Widget._childConstructors = []; - -$.Widget.prototype = { - widgetName: "widget", - widgetEventPrefix: "", - defaultElement: "
", - options: { - disabled: false, - - // callbacks - create: null - }, - _createWidget: function( options, element ) { - element = $( element || this.defaultElement || this )[ 0 ]; - this.element = $( element ); - this.uuid = widget_uuid++; - this.eventNamespace = "." + this.widgetName + this.uuid; - - this.bindings = $(); - this.hoverable = $(); - this.focusable = $(); - - if ( element !== this ) { - $.data( element, this.widgetFullName, this ); - this._on( true, this.element, { - remove: function( event ) { - if ( event.target === element ) { - this.destroy(); - } - } - }); - this.document = $( element.style ? - // element within the document - element.ownerDocument : - // element is window or document - element.document || element ); - this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); - } - - this.options = $.widget.extend( {}, - this.options, - this._getCreateOptions(), - options ); - - this._create(); - this._trigger( "create", null, this._getCreateEventData() ); - this._init(); - }, - _getCreateOptions: $.noop, - _getCreateEventData: $.noop, - _create: $.noop, - _init: $.noop, - - destroy: function() { - this._destroy(); - // we can probably remove the unbind calls in 2.0 - // all event bindings should go through this._on() - this.element - .unbind( this.eventNamespace ) - .removeData( this.widgetFullName ) - // support: jquery <1.6.3 - // http://bugs.jquery.com/ticket/9413 - .removeData( $.camelCase( this.widgetFullName ) ); - this.widget() - .unbind( this.eventNamespace ) - .removeAttr( "aria-disabled" ) - .removeClass( - this.widgetFullName + "-disabled " + - "ui-state-disabled" ); - - // clean up events and states - this.bindings.unbind( this.eventNamespace ); - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - }, - _destroy: $.noop, - - widget: function() { - return this.element; - }, - - option: function( key, value ) { - var options = key, - parts, - curOption, - i; - - if ( arguments.length === 0 ) { - // don't return a reference to the internal hash - return $.widget.extend( {}, this.options ); - } - - if ( typeof key === "string" ) { - // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } - options = {}; - parts = key.split( "." ); - key = parts.shift(); - if ( parts.length ) { - curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); - for ( i = 0; i < parts.length - 1; i++ ) { - curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; - curOption = curOption[ parts[ i ] ]; - } - key = parts.pop(); - if ( arguments.length === 1 ) { - return curOption[ key ] === undefined ? null : curOption[ key ]; - } - curOption[ key ] = value; - } else { - if ( arguments.length === 1 ) { - return this.options[ key ] === undefined ? null : this.options[ key ]; - } - options[ key ] = value; - } - } - - this._setOptions( options ); - - return this; - }, - _setOptions: function( options ) { - var key; - - for ( key in options ) { - this._setOption( key, options[ key ] ); - } - - return this; - }, - _setOption: function( key, value ) { - this.options[ key ] = value; - - if ( key === "disabled" ) { - this.widget() - .toggleClass( this.widgetFullName + "-disabled", !!value ); - - // If the widget is becoming disabled, then nothing is interactive - if ( value ) { - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - } - } - - return this; - }, - - enable: function() { - return this._setOptions({ disabled: false }); - }, - disable: function() { - return this._setOptions({ disabled: true }); - }, - - _on: function( suppressDisabledCheck, element, handlers ) { - var delegateElement, - instance = this; - - // no suppressDisabledCheck flag, shuffle arguments - if ( typeof suppressDisabledCheck !== "boolean" ) { - handlers = element; - element = suppressDisabledCheck; - suppressDisabledCheck = false; - } - - // no element argument, shuffle and use this.element - if ( !handlers ) { - handlers = element; - element = this.element; - delegateElement = this.widget(); - } else { - element = delegateElement = $( element ); - this.bindings = this.bindings.add( element ); - } - - $.each( handlers, function( event, handler ) { - function handlerProxy() { - // allow widgets to customize the disabled handling - // - disabled as an array instead of boolean - // - disabled class as method for disabling individual parts - if ( !suppressDisabledCheck && - ( instance.options.disabled === true || - $( this ).hasClass( "ui-state-disabled" ) ) ) { - return; - } - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - - // copy the guid so direct unbinding works - if ( typeof handler !== "string" ) { - handlerProxy.guid = handler.guid = - handler.guid || handlerProxy.guid || $.guid++; - } - - var match = event.match( /^([\w:-]*)\s*(.*)$/ ), - eventName = match[1] + instance.eventNamespace, - selector = match[2]; - if ( selector ) { - delegateElement.delegate( selector, eventName, handlerProxy ); - } else { - element.bind( eventName, handlerProxy ); - } - }); - }, - - _off: function( element, eventName ) { - eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + - this.eventNamespace; - element.unbind( eventName ).undelegate( eventName ); - - // Clear the stack to avoid memory leaks (#10056) - this.bindings = $( this.bindings.not( element ).get() ); - this.focusable = $( this.focusable.not( element ).get() ); - this.hoverable = $( this.hoverable.not( element ).get() ); - }, - - _delay: function( handler, delay ) { - function handlerProxy() { - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - var instance = this; - return setTimeout( handlerProxy, delay || 0 ); - }, - - _hoverable: function( element ) { - this.hoverable = this.hoverable.add( element ); - this._on( element, { - mouseenter: function( event ) { - $( event.currentTarget ).addClass( "ui-state-hover" ); - }, - mouseleave: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-hover" ); - } - }); - }, - - _focusable: function( element ) { - this.focusable = this.focusable.add( element ); - this._on( element, { - focusin: function( event ) { - $( event.currentTarget ).addClass( "ui-state-focus" ); - }, - focusout: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-focus" ); - } - }); - }, - - _trigger: function( type, event, data ) { - var prop, orig, - callback = this.options[ type ]; - - data = data || {}; - event = $.Event( event ); - event.type = ( type === this.widgetEventPrefix ? - type : - this.widgetEventPrefix + type ).toLowerCase(); - // the original event may come from any element - // so we need to reset the target on the new event - event.target = this.element[ 0 ]; - - // copy original event properties over to the new event - orig = event.originalEvent; - if ( orig ) { - for ( prop in orig ) { - if ( !( prop in event ) ) { - event[ prop ] = orig[ prop ]; - } - } - } - - this.element.trigger( event, data ); - return !( $.isFunction( callback ) && - callback.apply( this.element[0], [ event ].concat( data ) ) === false || - event.isDefaultPrevented() ); - } -}; - -$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { - $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { - if ( typeof options === "string" ) { - options = { effect: options }; - } - var hasOptions, - effectName = !options ? - method : - options === true || typeof options === "number" ? - defaultEffect : - options.effect || defaultEffect; - options = options || {}; - if ( typeof options === "number" ) { - options = { duration: options }; - } - hasOptions = !$.isEmptyObject( options ); - options.complete = callback; - if ( options.delay ) { - element.delay( options.delay ); - } - if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { - element[ method ]( options ); - } else if ( effectName !== method && element[ effectName ] ) { - element[ effectName ]( options.duration, options.easing, callback ); - } else { - element.queue(function( next ) { - $( this )[ method ](); - if ( callback ) { - callback.call( element[ 0 ] ); - } - next(); - }); - } - }; -}); - -var widget = $.widget; - - -/*! - * jQuery UI Mouse 1.11.4 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/mouse/ - */ - - -var mouseHandled = false; -$( document ).mouseup( function() { - mouseHandled = false; -}); - -var mouse = $.widget("ui.mouse", { - version: "1.11.4", - options: { - cancel: "input,textarea,button,select,option", - distance: 1, - delay: 0 - }, - _mouseInit: function() { - var that = this; - - this.element - .bind("mousedown." + this.widgetName, function(event) { - return that._mouseDown(event); - }) - .bind("click." + this.widgetName, function(event) { - if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { - $.removeData(event.target, that.widgetName + ".preventClickEvent"); - event.stopImmediatePropagation(); - return false; - } - }); - - this.started = false; - }, - - // TODO: make sure destroying one instance of mouse doesn't mess with - // other instances of mouse - _mouseDestroy: function() { - this.element.unbind("." + this.widgetName); - if ( this._mouseMoveDelegate ) { - this.document - .unbind("mousemove." + this.widgetName, this._mouseMoveDelegate) - .unbind("mouseup." + this.widgetName, this._mouseUpDelegate); - } - }, - - _mouseDown: function(event) { - // don't let more than one widget handle mouseStart - if ( mouseHandled ) { - return; - } - - this._mouseMoved = false; - - // we may have missed mouseup (out of window) - (this._mouseStarted && this._mouseUp(event)); - - this._mouseDownEvent = event; - - var that = this, - btnIsLeft = (event.which === 1), - // event.target.nodeName works around a bug in IE 8 with - // disabled inputs (#7620) - elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); - if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { - return true; - } - - this.mouseDelayMet = !this.options.delay; - if (!this.mouseDelayMet) { - this._mouseDelayTimer = setTimeout(function() { - that.mouseDelayMet = true; - }, this.options.delay); - } - - if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { - this._mouseStarted = (this._mouseStart(event) !== false); - if (!this._mouseStarted) { - event.preventDefault(); - return true; - } - } - - // Click event may never have fired (Gecko & Opera) - if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) { - $.removeData(event.target, this.widgetName + ".preventClickEvent"); - } - - // these delegates are required to keep context - this._mouseMoveDelegate = function(event) { - return that._mouseMove(event); - }; - this._mouseUpDelegate = function(event) { - return that._mouseUp(event); - }; - - this.document - .bind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) - .bind( "mouseup." + this.widgetName, this._mouseUpDelegate ); - - event.preventDefault(); - - mouseHandled = true; - return true; - }, - - _mouseMove: function(event) { - // Only check for mouseups outside the document if you've moved inside the document - // at least once. This prevents the firing of mouseup in the case of IE<9, which will - // fire a mousemove event if content is placed under the cursor. See #7778 - // Support: IE <9 - if ( this._mouseMoved ) { - // IE mouseup check - mouseup happened when mouse was out of window - if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { - return this._mouseUp(event); - - // Iframe mouseup check - mouseup occurred in another document - } else if ( !event.which ) { - return this._mouseUp( event ); - } - } - - if ( event.which || event.button ) { - this._mouseMoved = true; - } - - if (this._mouseStarted) { - this._mouseDrag(event); - return event.preventDefault(); - } - - if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { - this._mouseStarted = - (this._mouseStart(this._mouseDownEvent, event) !== false); - (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); - } - - return !this._mouseStarted; - }, - - _mouseUp: function(event) { - this.document - .unbind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) - .unbind( "mouseup." + this.widgetName, this._mouseUpDelegate ); - - if (this._mouseStarted) { - this._mouseStarted = false; - - if (event.target === this._mouseDownEvent.target) { - $.data(event.target, this.widgetName + ".preventClickEvent", true); - } - - this._mouseStop(event); - } - - mouseHandled = false; - return false; - }, - - _mouseDistanceMet: function(event) { - return (Math.max( - Math.abs(this._mouseDownEvent.pageX - event.pageX), - Math.abs(this._mouseDownEvent.pageY - event.pageY) - ) >= this.options.distance - ); - }, - - _mouseDelayMet: function(/* event */) { - return this.mouseDelayMet; - }, - - // These are placeholder methods, to be overriden by extending plugin - _mouseStart: function(/* event */) {}, - _mouseDrag: function(/* event */) {}, - _mouseStop: function(/* event */) {}, - _mouseCapture: function(/* event */) { return true; } -}); - - -/*! - * jQuery UI Sortable 1.11.4 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/sortable/ - */ - - -var sortable = $.widget("ui.sortable", $.ui.mouse, { - version: "1.11.4", - widgetEventPrefix: "sort", - ready: false, - 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: 1000, - - // callbacks - activate: null, - beforeStop: null, - change: null, - deactivate: null, - out: null, - over: null, - receive: null, - remove: null, - sort: null, - start: null, - stop: null, - update: null - }, - - _isOverAxis: function( x, reference, size ) { - return ( x >= reference ) && ( x < ( reference + size ) ); - }, - - _isFloating: function( item ) { - return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display")); - }, - - _create: function() { - this.containerCache = {}; - this.element.addClass("ui-sortable"); - - //Get the items - this.refresh(); - - //Let's determine the parent's offset - this.offset = this.element.offset(); - - //Initialize mouse events for interaction - this._mouseInit(); - - this._setHandleClassName(); - - //We're ready to go - this.ready = true; - - }, - - _setOption: function( key, value ) { - this._super( key, value ); - - if ( key === "handle" ) { - this._setHandleClassName(); - } - }, - - _setHandleClassName: function() { - this.element.find( ".ui-sortable-handle" ).removeClass( "ui-sortable-handle" ); - $.each( this.items, function() { - ( this.instance.options.handle ? - this.item.find( this.instance.options.handle ) : this.item ) - .addClass( "ui-sortable-handle" ); - }); - }, - - _destroy: function() { - this.element - .removeClass( "ui-sortable ui-sortable-disabled" ) - .find( ".ui-sortable-handle" ) - .removeClass( "ui-sortable-handle" ); - this._mouseDestroy(); - - for ( var i = this.items.length - 1; i >= 0; i-- ) { - this.items[i].item.removeData(this.widgetName + "-item"); - } - - return this; - }, - - _mouseCapture: function(event, overrideHandle) { - var currentItem = null, - validHandle = false, - that = this; - - if (this.reverting) { - return false; - } - - if(this.options.disabled || this.options.type === "static") { - return false; - } - - //We have to refresh the items data once first - this._refreshItems(event); - - //Find out if the clicked node (or one of its parents) is a actual item in this.items - $(event.target).parents().each(function() { - if($.data(this, that.widgetName + "-item") === that) { - currentItem = $(this); - return false; - } - }); - if($.data(event.target, that.widgetName + "-item") === that) { - currentItem = $(event.target); - } - - if(!currentItem) { - return false; - } - if(this.options.handle && !overrideHandle) { - $(this.options.handle, currentItem).find("*").addBack().each(function() { - if(this === event.target) { - validHandle = true; - } - }); - if(!validHandle) { - return false; - } - } - - this.currentItem = currentItem; - this._removeCurrentsFromItems(); - return true; - - }, - - _mouseStart: function(event, overrideHandle, noActivation) { - - var i, body, - o = this.options; - - this.currentContainer = this; - - //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture - this.refreshPositions(); - - //Create and append the visible helper - this.helper = this._createHelper(event); - - //Cache the helper size - this._cacheHelperProportions(); - - /* - * - Position generation - - * This block generates everything position related - it's the core of draggables. - */ - - //Cache the margins of the original element - this._cacheMargins(); - - //Get the next scrolling parent - this.scrollParent = this.helper.scrollParent(); - - //The element's absolute position on the page minus margins - this.offset = this.currentItem.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 - }); - - // Only after we got the offset, we can change the helper's position to absolute - // TODO: Still need to figure out a way to make relative sorting possible - this.helper.css("position", "absolute"); - this.cssPosition = this.helper.css("position"); - - //Generate the original position - this.originalPosition = 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)); - - //Cache the former DOM position - this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; - - //If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way - if(this.helper[0] !== this.currentItem[0]) { - this.currentItem.hide(); - } - - //Create the placeholder - this._createPlaceholder(); - - //Set a containment if given in the options - if(o.containment) { - this._setContainment(); - } - - if( o.cursor && o.cursor !== "auto" ) { // cursor option - body = this.document.find( "body" ); - - // support: IE - this.storedCursor = body.css( "cursor" ); - body.css( "cursor", o.cursor ); - - this.storedStylesheet = $( "" ).appendTo( body ); - } - - if(o.opacity) { // opacity option - if (this.helper.css("opacity")) { - this._storedOpacity = this.helper.css("opacity"); - } - this.helper.css("opacity", o.opacity); - } - - if(o.zIndex) { // zIndex option - if (this.helper.css("zIndex")) { - this._storedZIndex = this.helper.css("zIndex"); - } - this.helper.css("zIndex", o.zIndex); - } - - //Prepare scrolling - if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") { - this.overflowOffset = this.scrollParent.offset(); - } - - //Call callbacks - this._trigger("start", event, this._uiHash()); - - //Recache the helper size - if(!this._preserveHelperProportions) { - this._cacheHelperProportions(); - } - - - //Post "activate" events to possible containers - if( !noActivation ) { - for ( i = this.containers.length - 1; i >= 0; i-- ) { - this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); - } - } - - //Prepare possible droppables - if($.ui.ddmanager) { - $.ui.ddmanager.current = this; - } - - if ($.ui.ddmanager && !o.dropBehaviour) { - $.ui.ddmanager.prepareOffsets(this, event); - } - - this.dragging = true; - - this.helper.addClass("ui-sortable-helper"); - this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position - return true; - - }, - - _mouseDrag: function(event) { - var i, item, itemElement, intersection, - o = this.options, - scrolled = false; - - //Compute the helpers position - this.position = this._generatePosition(event); - this.positionAbs = this._convertPositionTo("absolute"); - - if (!this.lastPositionAbs) { - this.lastPositionAbs = this.positionAbs; - } - - //Do scrolling - if(this.options.scroll) { - if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") { - - if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) { - this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed; - } else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) { - this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed; - } - - if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) { - this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed; - } else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) { - this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed; - } - - } else { - - if(event.pageY - this.document.scrollTop() < o.scrollSensitivity) { - scrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed); - } else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) { - scrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed); - } - - if(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) { - scrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed); - } else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) { - scrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed); - } - - } - - if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) { - $.ui.ddmanager.prepareOffsets(this, event); - } - } - - //Regenerate the absolute position used for position checks - this.positionAbs = this._convertPositionTo("absolute"); - - //Set the helper 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"; - } - - //Rearrange - for (i = this.items.length - 1; i >= 0; i--) { - - //Cache variables and intersection, continue if no intersection - item = this.items[i]; - itemElement = item.item[0]; - intersection = this._intersectsWithPointer(item); - if (!intersection) { - continue; - } - - // Only put the placeholder inside the current Container, skip all - // items from other containers. This works because when moving - // an item from one container to another the - // currentContainer is switched before the placeholder is moved. - // - // Without this, moving items in "sub-sortables" can cause - // the placeholder to jitter between the outer and inner container. - if (item.instance !== this.currentContainer) { - continue; - } - - // cannot intersect with itself - // no useless actions that have been done before - // no action if the item moved is the parent of the item checked - if (itemElement !== this.currentItem[0] && - this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement && - !$.contains(this.placeholder[0], itemElement) && - (this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true) - ) { - - this.direction = intersection === 1 ? "down" : "up"; - - if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) { - this._rearrange(event, item); - } else { - break; - } - - this._trigger("change", event, this._uiHash()); - break; - } - } - - //Post events to containers - this._contactContainers(event); - - //Interconnect with droppables - if($.ui.ddmanager) { - $.ui.ddmanager.drag(this, event); - } - - //Call callbacks - this._trigger("sort", event, this._uiHash()); - - this.lastPositionAbs = this.positionAbs; - return false; - - }, - - _mouseStop: function(event, noPropagation) { - - if(!event) { - return; - } - - //If we are using droppables, inform the manager about the drop - if ($.ui.ddmanager && !this.options.dropBehaviour) { - $.ui.ddmanager.drop(this, event); - } - - if(this.options.revert) { - var that = this, - cur = this.placeholder.offset(), - axis = this.options.axis, - animation = {}; - - if ( !axis || axis === "x" ) { - animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft); - } - if ( !axis || axis === "y" ) { - animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop); - } - this.reverting = true; - $(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() { - that._clear(event); - }); - } else { - this._clear(event, noPropagation); - } - - return false; - - }, - - cancel: function() { - - if(this.dragging) { - - this._mouseUp({ target: null }); - - if(this.options.helper === "original") { - this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); - } else { - this.currentItem.show(); - } - - //Post deactivating events to containers - for (var i = this.containers.length - 1; i >= 0; i--){ - this.containers[i]._trigger("deactivate", null, this._uiHash(this)); - if(this.containers[i].containerCache.over) { - this.containers[i]._trigger("out", null, this._uiHash(this)); - this.containers[i].containerCache.over = 0; - } - } - - } - - if (this.placeholder) { - //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! - if(this.placeholder[0].parentNode) { - this.placeholder[0].parentNode.removeChild(this.placeholder[0]); - } - if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) { - this.helper.remove(); - } - - $.extend(this, { - helper: null, - dragging: false, - reverting: false, - _noFinalSort: null - }); - - if(this.domPosition.prev) { - $(this.domPosition.prev).after(this.currentItem); - } else { - $(this.domPosition.parent).prepend(this.currentItem); - } - } - - return this; - - }, - - serialize: function(o) { - - var items = this._getItemsAsjQuery(o && o.connected), - str = []; - o = o || {}; - - $(items).each(function() { - var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/)); - if (res) { - str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2])); - } - }); - - if(!str.length && o.key) { - str.push(o.key + "="); - } - - return str.join("&"); - - }, - - toArray: function(o) { - - var items = this._getItemsAsjQuery(o && o.connected), - ret = []; - - o = o || {}; - - items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); }); - return ret; - - }, - - /* Be careful with the following core functions */ - _intersectsWith: function(item) { - - var x1 = this.positionAbs.left, - x2 = x1 + this.helperProportions.width, - y1 = this.positionAbs.top, - y2 = y1 + this.helperProportions.height, - l = item.left, - r = l + item.width, - t = item.top, - b = t + item.height, - dyClick = this.offset.click.top, - dxClick = this.offset.click.left, - isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ), - isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ), - isOverElement = isOverElementHeight && isOverElementWidth; - - if ( this.options.tolerance === "pointer" || - this.options.forcePointerForContainers || - (this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"]) - ) { - return isOverElement; - } else { - - return (l < x1 + (this.helperProportions.width / 2) && // Right Half - x2 - (this.helperProportions.width / 2) < r && // Left Half - t < y1 + (this.helperProportions.height / 2) && // Bottom Half - y2 - (this.helperProportions.height / 2) < b ); // Top Half - - } - }, - - _intersectsWithPointer: function(item) { - - var isOverElementHeight = (this.options.axis === "x") || this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height), - isOverElementWidth = (this.options.axis === "y") || this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width), - isOverElement = isOverElementHeight && isOverElementWidth, - verticalDirection = this._getDragVerticalDirection(), - horizontalDirection = this._getDragHorizontalDirection(); - - if (!isOverElement) { - return false; - } - - return this.floating ? - ( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 ) - : ( verticalDirection && (verticalDirection === "down" ? 2 : 1) ); - - }, - - _intersectsWithSides: function(item) { - - var isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height), - isOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width), - verticalDirection = this._getDragVerticalDirection(), - horizontalDirection = this._getDragHorizontalDirection(); - - if (this.floating && horizontalDirection) { - return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf)); - } else { - return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf)); - } - - }, - - _getDragVerticalDirection: function() { - var delta = this.positionAbs.top - this.lastPositionAbs.top; - return delta !== 0 && (delta > 0 ? "down" : "up"); - }, - - _getDragHorizontalDirection: function() { - var delta = this.positionAbs.left - this.lastPositionAbs.left; - return delta !== 0 && (delta > 0 ? "right" : "left"); - }, - - refresh: function(event) { - this._refreshItems(event); - this._setHandleClassName(); - this.refreshPositions(); - return this; - }, - - _connectWith: function() { - var options = this.options; - return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith; - }, - - _getItemsAsjQuery: function(connected) { - - var i, j, cur, inst, - items = [], - queries = [], - connectWith = this._connectWith(); - - if(connectWith && connected) { - for (i = connectWith.length - 1; i >= 0; i--){ - cur = $(connectWith[i], this.document[0]); - for ( j = cur.length - 1; j >= 0; j--){ - inst = $.data(cur[j], this.widgetFullName); - if(inst && inst !== this && !inst.options.disabled) { - queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]); - } - } - } - } - - queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); - - function addItems() { - items.push( this ); - } - for (i = queries.length - 1; i >= 0; i--){ - queries[i][0].each( addItems ); - } - - return $(items); - - }, - - _removeCurrentsFromItems: function() { - - var list = this.currentItem.find(":data(" + this.widgetName + "-item)"); - - this.items = $.grep(this.items, function (item) { - for (var j=0; j < list.length; j++) { - if(list[j] === item.item[0]) { - return false; - } - } - return true; - }); - - }, - - _refreshItems: function(event) { - - this.items = []; - this.containers = [this]; - - var i, j, cur, inst, targetData, _queries, item, queriesLength, - items = this.items, - queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]], - connectWith = this._connectWith(); - - if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down - for (i = connectWith.length - 1; i >= 0; i--){ - cur = $(connectWith[i], this.document[0]); - for (j = cur.length - 1; j >= 0; j--){ - inst = $.data(cur[j], this.widgetFullName); - if(inst && inst !== this && !inst.options.disabled) { - queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]); - this.containers.push(inst); - } - } - } - } - - for (i = queries.length - 1; i >= 0; i--) { - targetData = queries[i][1]; - _queries = queries[i][0]; - - for (j=0, queriesLength = _queries.length; j < queriesLength; j++) { - item = $(_queries[j]); - - item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager) - - items.push({ - item: item, - instance: targetData, - width: 0, height: 0, - left: 0, top: 0 - }); - } - } - - }, - - refreshPositions: function(fast) { - - // Determine whether items are being displayed horizontally - this.floating = this.items.length ? - this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : - false; - - //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change - if(this.offsetParent && this.helper) { - this.offset.parent = this._getParentOffset(); - } - - var i, item, t, p; - - for (i = this.items.length - 1; i >= 0; i--){ - item = this.items[i]; - - //We ignore calculating positions of all connected containers when we're not over them - if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) { - continue; - } - - t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item; - - if (!fast) { - item.width = t.outerWidth(); - item.height = t.outerHeight(); - } - - p = t.offset(); - item.left = p.left; - item.top = p.top; - } - - if(this.options.custom && this.options.custom.refreshContainers) { - this.options.custom.refreshContainers.call(this); - } else { - for (i = this.containers.length - 1; i >= 0; i--){ - p = this.containers[i].element.offset(); - this.containers[i].containerCache.left = p.left; - this.containers[i].containerCache.top = p.top; - this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); - this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); - } - } - - return this; - }, - - _createPlaceholder: function(that) { - that = that || this; - var className, - o = that.options; - - if(!o.placeholder || o.placeholder.constructor === String) { - className = o.placeholder; - o.placeholder = { - element: function() { - - var nodeName = that.currentItem[0].nodeName.toLowerCase(), - element = $( "<" + nodeName + ">", that.document[0] ) - .addClass(className || that.currentItem[0].className+" ui-sortable-placeholder") - .removeClass("ui-sortable-helper"); - - if ( nodeName === "tbody" ) { - that._createTrPlaceholder( - that.currentItem.find( "tr" ).eq( 0 ), - $( "", that.document[ 0 ] ).appendTo( element ) - ); - } else if ( nodeName === "tr" ) { - that._createTrPlaceholder( that.currentItem, element ); - } else if ( nodeName === "img" ) { - element.attr( "src", that.currentItem.attr( "src" ) ); - } - - if ( !className ) { - element.css( "visibility", "hidden" ); - } - - return element; - }, - update: function(container, p) { - - // 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that - // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified - if(className && !o.forcePlaceholderSize) { - return; - } - - //If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item - if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); } - if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); } - } - }; - } - - //Create the placeholder - that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem)); - - //Append it after the actual current item - that.currentItem.after(that.placeholder); - - //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) - o.placeholder.update(that, that.placeholder); - - }, - - _createTrPlaceholder: function( sourceTr, targetTr ) { - var that = this; - - sourceTr.children().each(function() { - $( " ", that.document[ 0 ] ) - .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) - .appendTo( targetTr ); - }); - }, - - _contactContainers: function(event) { - var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis, - innermostContainer = null, - innermostIndex = null; - - // get innermost container that intersects with item - for (i = this.containers.length - 1; i >= 0; i--) { - - // never consider a container that's located within the item itself - if($.contains(this.currentItem[0], this.containers[i].element[0])) { - continue; - } - - if(this._intersectsWith(this.containers[i].containerCache)) { - - // if we've already found a container and it's more "inner" than this, then continue - if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) { - continue; - } - - innermostContainer = this.containers[i]; - innermostIndex = i; - - } else { - // container doesn't intersect. trigger "out" event if necessary - if(this.containers[i].containerCache.over) { - this.containers[i]._trigger("out", event, this._uiHash(this)); - this.containers[i].containerCache.over = 0; - } - } - - } - - // if no intersecting containers found, return - if(!innermostContainer) { - return; - } - - // move the item into the container if it's not there already - if(this.containers.length === 1) { - if (!this.containers[innermostIndex].containerCache.over) { - this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); - this.containers[innermostIndex].containerCache.over = 1; - } - } else { - - //When entering a new container, we will find the item with the least distance and append our item near it - dist = 10000; - itemWithLeastDistance = null; - floating = innermostContainer.floating || this._isFloating(this.currentItem); - posProperty = floating ? "left" : "top"; - sizeProperty = floating ? "width" : "height"; - axis = floating ? "clientX" : "clientY"; - - for (j = this.items.length - 1; j >= 0; j--) { - if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) { - continue; - } - if(this.items[j].item[0] === this.currentItem[0]) { - continue; - } - - cur = this.items[j].item.offset()[posProperty]; - nearBottom = false; - if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) { - nearBottom = true; - } - - if ( Math.abs( event[ axis ] - cur ) < dist ) { - dist = Math.abs( event[ axis ] - cur ); - itemWithLeastDistance = this.items[ j ]; - this.direction = nearBottom ? "up": "down"; - } - } - - //Check if dropOnEmpty is enabled - if(!itemWithLeastDistance && !this.options.dropOnEmpty) { - return; - } - - if(this.currentContainer === this.containers[innermostIndex]) { - if ( !this.currentContainer.containerCache.over ) { - this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); - this.currentContainer.containerCache.over = 1; - } - return; - } - - itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); - this._trigger("change", event, this._uiHash()); - this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); - this.currentContainer = this.containers[innermostIndex]; - - //Update the placeholder - this.options.placeholder.update(this.currentContainer, this.placeholder); - - this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); - this.containers[innermostIndex].containerCache.over = 1; - } - - - }, - - _createHelper: function(event) { - - var o = this.options, - helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem); - - //Add the helper to the DOM if that didn't happen already - if(!helper.parents("body").length) { - $(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); - } - - if(helper[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(!helper[0].style.width || o.forceHelperSize) { - helper.width(this.currentItem.width()); - } - if(!helper[0].style.height || o.forceHelperSize) { - helper.height(this.currentItem.height()); - } - - 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] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) { - po.left += this.scrollParent.scrollLeft(); - po.top += this.scrollParent.scrollTop(); - } - - // This needs to be actually done for all browsers, since pageX/pageY includes this information - // with an ugly IE fix - if( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) { - 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.currentItem.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.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 ce, co, over, - o = this.options; - if(o.containment === "parent") { - o.containment = this.helper[0].parentNode; - } - if(o.containment === "document" || o.containment === "window") { - this.containment = [ - 0 - this.offset.relative.left - this.offset.parent.left, - 0 - this.offset.relative.top - this.offset.parent.top, - o.containment === "document" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left, - (o.containment === "document" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top - ]; - } - - if(!(/^(document|window|parent)$/).test(o.containment)) { - ce = $(o.containment)[0]; - co = $(o.containment).offset(); - over = ($(ce).css("overflow") !== "hidden"); - - this.containment = [ - co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left, - co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top, - co.left+(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, - co.top+(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 - ]; - } - - }, - - _convertPositionTo: function(d, pos) { - - if(!pos) { - pos = this.position; - } - var mod = d === "absolute" ? 1 : -1, - scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.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) - ( ( 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) - ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod) - ) - }; - - }, - - _generatePosition: function(event) { - - var top, left, - o = this.options, - pageX = event.pageX, - pageY = event.pageY, - scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); - - // This is another very weird special case that only happens for relative elements: - // 1. If the css position is relative - // 2. and the scroll parent is the document or similar to the offset parent - // we have to refresh the relative offset during the scroll so there are no jumps - if(this.cssPosition === "relative" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) { - this.offset.relative = this._getRelativeOffset(); - } - - /* - * - 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 - - if(this.containment) { - if(event.pageX - this.offset.click.left < this.containment[0]) { - pageX = this.containment[0] + this.offset.click.left; - } - if(event.pageY - this.offset.click.top < this.containment[1]) { - pageY = this.containment[1] + this.offset.click.top; - } - if(event.pageX - this.offset.click.left > this.containment[2]) { - pageX = this.containment[2] + this.offset.click.left; - } - if(event.pageY - this.offset.click.top > this.containment[3]) { - pageY = this.containment[3] + this.offset.click.top; - } - } - - if(o.grid) { - top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; - pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; - - left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; - pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.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) - ( ( 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) - ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() )) - ) - }; - - }, - - _rearrange: function(event, i, a, hardRefresh) { - - a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling)); - - //Various things done here to improve the performance: - // 1. we create a setTimeout, that calls refreshPositions - // 2. on the instance, we have a counter variable, that get's higher after every append - // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same - // 4. this lets only the last addition to the timeout stack through - this.counter = this.counter ? ++this.counter : 1; - var counter = this.counter; - - this._delay(function() { - if(counter === this.counter) { - this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove - } - }); - - }, - - _clear: function(event, noPropagation) { - - this.reverting = false; - // We delay all events that have to be triggered to after the point where the placeholder has been removed and - // everything else normalized again - var i, - delayedTriggers = []; - - // We first have to update the dom position of the actual currentItem - // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088) - if(!this._noFinalSort && this.currentItem.parent().length) { - this.placeholder.before(this.currentItem); - } - this._noFinalSort = null; - - if(this.helper[0] === this.currentItem[0]) { - for(i in this._storedCSS) { - if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") { - this._storedCSS[i] = ""; - } - } - this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); - } else { - this.currentItem.show(); - } - - if(this.fromOutside && !noPropagation) { - delayedTriggers.push(function(event) { this._trigger("receive", event, 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]) && !noPropagation) { - delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed - } - - // Check if the items Container has Changed and trigger appropriate - // events. - if (this !== this.currentContainer) { - if(!noPropagation) { - delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); }); - delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); - delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); - } - } - - - //Post events to containers - function delayEvent( type, instance, container ) { - return function( event ) { - container._trigger( type, event, instance._uiHash( instance ) ); - }; - } - for (i = this.containers.length - 1; i >= 0; i--){ - if (!noPropagation) { - delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); - } - if(this.containers[i].containerCache.over) { - delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); - this.containers[i].containerCache.over = 0; - } - } - - //Do what was originally in plugins - if ( this.storedCursor ) { - this.document.find( "body" ).css( "cursor", this.storedCursor ); - this.storedStylesheet.remove(); - } - if(this._storedOpacity) { - this.helper.css("opacity", this._storedOpacity); - } - if(this._storedZIndex) { - this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex); - } - - this.dragging = false; - - if(!noPropagation) { - this._trigger("beforeStop", event, this._uiHash()); - } - - //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! - this.placeholder[0].parentNode.removeChild(this.placeholder[0]); - - if ( !this.cancelHelperRemoval ) { - if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { - this.helper.remove(); - } - this.helper = null; - } - - if(!noPropagation) { - for (i=0; i < delayedTriggers.length; i++) { - delayedTriggers[i].call(this, event); - } //Trigger all delayed events - this._trigger("stop", event, this._uiHash()); - } - - this.fromOutside = false; - return !this.cancelHelperRemoval; - - }, - - _trigger: function() { - if ($.Widget.prototype._trigger.apply(this, arguments) === false) { - this.cancel(); - } - }, - - _uiHash: function(_inst) { - var inst = _inst || this; - return { - helper: inst.helper, - placeholder: inst.placeholder || $([]), - position: inst.position, - originalPosition: inst.originalPosition, - offset: inst.positionAbs, - item: inst.currentItem, - sender: _inst ? _inst.element : null - }; - } - -}); - - - -})); \ No newline at end of file +(function( factory ){if ( typeof define === "function" && define.amd ){// AMD. Register as an anonymous module. + define([ "jquery" ],factory );}else{// Browser globals + factory( jQuery );}}(function( $ ){// $.ui might exist from components with no dependencies,e.g.,$.ui.position +$.ui = $.ui ||{};$.extend( $.ui{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}});// plugins +$.fn.extend({scrollParent:function( includeHidden ){var position = this.css( "position" ),excludeStaticParent = position === "absolute",overflowRegex = includeHidden ? /(auto|scroll|hidden)/:/(auto|scroll)/,scrollParent = this.parents().filter( function(){var parent = $( this );if ( excludeStaticParent && parent.css( "position" ) === "static" ){return false;}return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) );}).eq( 0 );return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ):scrollParent;},uniqueId:(function(){var uuid = 0;return function(){return this.each(function(){if ( !this.id ){this.id = "ui-id-" + ( ++uuid );}});};})(),removeUniqueId:function(){return this.each(function(){if ( /^ui-id-\d+$/.test( this.id ) ){$( this ).removeAttr( "id" );}});}});// selectors +function focusable( element,isTabIndexNotNaN ){var map,mapName,img,nodeName = element.nodeName.toLowerCase();if ( "area" === nodeName ){map = element.parentNode;mapName = map.name;if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ){return false;}img = $( "img[usemap='#" + mapName + "']" )[ 0 ];return !!img && visible( img );}return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? + !element.disabled:"a" === nodeName ? + element.href || isTabIndexNotNaN:isTabIndexNotNaN) && + // the element and all of its ancestors must be visible + visible( element );}function visible( element ){return $.expr.filters.visible( element ) && + !$( element ).parents().addBack().filter(function(){return $.css( this,"visibility" ) === "hidden";}).length;}$.extend( $.expr[ ":" ]{data:$.expr.createPseudo ? + $.expr.createPseudo(function( dataName ){return function( elem ){return !!$.data( elem,dataName );};}):// support:jQuery <1.8 + function( elem,i,match ){return !!$.data( elem,match[ 3 ] );},focusable:function( element ){return focusable( element,!isNaN( $.attr( element,"tabindex" ) ) );},tabbable:function( element ){var tabIndex = $.attr( element,"tabindex" ),isTabIndexNaN = isNaN( tabIndex );return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element,!isTabIndexNaN );}});// support:jQuery <1.8 +if ( !$( "" ).outerWidth( 1 ).jquery ){$.each( [ "Width","Height" ],function( i,name ){var side = name === "Width" ? [ "Left","Right" ]:[ "Top","Bottom" ],type = name.toLowerCase(),orig ={innerWidth:$.fn.innerWidth,innerHeight:$.fn.innerHeight,outerWidth:$.fn.outerWidth,outerHeight:$.fn.outerHeight};function reduce( elem,size,border,margin ){$.each( side,function(){size -= parseFloat( $.css( elem,"padding" + this ) ) || 0;if ( border ){size -= parseFloat( $.css( elem,"border" + this + "Width" ) ) || 0;}if ( margin ){size -= parseFloat( $.css( elem,"margin" + this ) ) || 0;}});return size;}$.fn[ "inner" + name ] = function( size ){if ( size === undefined ){return orig[ "inner" + name ].call( this );}return this.each(function(){$( this ).css( type,reduce( this,size ) + "px" );});};$.fn[ "outer" + name] = function( size,margin ){if ( typeof size !== "number" ){return orig[ "outer" + name ].call( this,size );}return this.each(function(){$( this).css( type,reduce( this,size,true,margin ) + "px" );});};});}// support:jQuery <1.8 +if ( !$.fn.addBack ){$.fn.addBack = function( selector ){return this.add( selector == null ? + this.prevObject:this.prevObject.filter( selector ) + );};}// support:jQuery 1.6.1,1.6.2 (http://bugs.jquery.com/ticket/9413) +if ( $( "" ).data( "a-b","a" ).removeData( "a-b" ).data( "a-b" ) ){$.fn.removeData = (function( removeData ){return function( key ){if ( arguments.length ){return removeData.call( this,$.camelCase( key ) );}else{return removeData.call( this );}};})( $.fn.removeData );}// deprecated +$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );$.fn.extend({focus:(function( orig ){return function( delay,fn ){return typeof delay === "number" ? + this.each(function(){var elem = this;setTimeout(function(){$( elem ).focus();if ( fn ){fn.call( elem );}},delay );}):orig.apply( this,arguments );};})( $.fn.focus ),disableSelection:(function(){var eventType = "onselectstart" in document.createElement( "div" ) ? + "selectstart":"mousedown";return function(){return this.bind( eventType + ".ui-disableSelection",function( event ){event.preventDefault();});};})(),enableSelection:function(){return this.unbind( ".ui-disableSelection" );},zIndex:function( zIndex ){if ( zIndex !== undefined ){return this.css( "zIndex",zIndex );}if ( this.length ){var elem = $( this[ 0 ] ),position,value;while ( elem.length && elem[ 0 ] !== document ){// Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" );if ( position === "absolute" || position === "relative" || position === "fixed" ){// IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + //
+ value = parseInt( elem.css( "zIndex" ),10 );if ( !isNaN( value ) && value !== 0 ){return value;}}elem = elem.parent();}}return 0;}});// $.ui.plugin is deprecated. Use $.widget() extensions instead. +$.ui.plugin ={add:function( module,option,set ){var i,proto = $.ui[ module ].prototype;for ( i in set ){proto.plugins[ i ] = proto.plugins[ i ] || [];proto.plugins[ i ].push( [ option,set[ i ] ] );}},call:function( instance,name,args,allowDisconnected ){var i,set = instance.plugins[ name ];if ( !set ){return;}if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ){return;}for ( i = 0;i < set.length;i++ ){if ( instance.options[ set[ i ][ 0 ] ] ){set[ i ][ 1 ].apply( instance.element,args );}}}};var widget_uuid = 0,widget_slice = Array.prototype.slice;$.cleanData = (function( orig ){return function( elems ){var events,elem,i;for ( i = 0;(elem = elems[i]) != null;i++ ){try{// Only trigger remove when necessary to save time + events = $._data( elem,"events" );if ( events && events.remove ){$( elem ).triggerHandler( "remove" );}// http://bugs.jquery.com/ticket/8235}catch ( e ){}}orig( elems );};})( $.cleanData );$.widget = function( name,base,prototype ){var fullName,existingConstructor,constructor,basePrototype,// proxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + proxiedPrototype ={},namespace = name.split( "." )[ 0 ];name = name.split( "." )[ 1 ];fullName = namespace + "-" + name;if ( !prototype ){prototype = base;base = $.Widget;}// create selector for plugin +$.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ){return !!$.data( elem,fullName );};$[ namespace ] = $[ namespace ] ||{};existingConstructor = $[ namespace ][ name ];constructor = $[ namespace ][ name ] = function( options,element ){// allow instantiation without "new" keyword + if ( !this._createWidget ){return new constructor( options,element );}// allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) + if ( arguments.length ){this._createWidget( options,element );}};// extend with the existing constructor to carry over any static properties +$.extend( constructor,existingConstructor{version:prototype.version,// copy the object used to create the prototype in case we need to + // redefine the widget later + _proto:$.extend({},prototype ),// track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors:[]});basePrototype = new base();// we need to make the options hash a property directly on the new instance +// otherwise we'll modify the options hash on the prototype that we're +// inheriting from +basePrototype.options = $.widget.extend({},basePrototype.options );$.each( prototype,function( prop,value ){if ( !$.isFunction( value ) ){proxiedPrototype[ prop ] = value;return;}proxiedPrototype[ prop ] = (function(){var _super = function(){return base.prototype[ prop ].apply( this,arguments );},_superApply = function( args ){return base.prototype[ prop ].apply( this,args );};return function(){var __super = this._super,__superApply = this._superApply,returnValue;this._super = _super;this._superApply = _superApply;returnValue = value.apply( this,arguments );this._super = __super;this._superApply = __superApply;return returnValue;};})();});constructor.prototype = $.widget.extend( basePrototype{// TODO:remove support for widgetEventPrefix + // always use the name + a colon as the prefix,e.g.,draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix:existingConstructor ? (basePrototype.widgetEventPrefix || name):name},proxiedPrototype{constructor:constructor,namespace:namespace,widgetName:name,widgetFullName:fullName});// If this widget is being redefined then we need to find all widgets that +// are inheriting from it and redefine all of them so that they inherit from +// the new version of this widget. We're essentially trying to replace one +// level in the prototype chain. +if ( existingConstructor ){$.each( existingConstructor._childConstructors,function( i,child ){var childPrototype = child.prototype;// redefine the child widget using the same prototype that was + // originally used,but inherit from the new version of the base + $.widget( childPrototype.namespace + "." + childPrototype.widgetName,constructor,child._proto );});// remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors;}else{base._childConstructors.push( constructor );}$.widget.bridge( name,constructor );return constructor;};$.widget.extend = function( target ){var input = widget_slice.call( arguments,1 ),inputIndex = 0,inputLength = input.length,key,value;for (;inputIndex < inputLength;inputIndex++ ){for ( key in input[ inputIndex ] ){value = input[ inputIndex ][ key ];if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ){// Clone objects + if ( $.isPlainObject( value ) ){target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend({},target[ key ],value ):// Don't extend strings,arrays,etc. with objects + $.widget.extend({},value );// Copy everything else by reference}else{target[ key ] = value;}}}}return target;};$.widget.bridge = function( name,object ){var fullName = object.prototype.widgetFullName || name;$.fn[ name ] = function( options ){var isMethodCall = typeof options === "string",args = widget_slice.call( arguments,1 ),returnValue = this;if ( isMethodCall ){this.each(function(){var methodValue,instance = $.data( this,fullName );if ( options === "instance" ){returnValue = instance;return false;}if ( !instance ){return $.error( "cannot call methods on " + name + " prior to initialization;" + + "attempted to call method '" + options + "'" );}if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ){return $.error( "no such method '" + options + "' for " + name + " widget instance" );}methodValue = instance[ options ].apply( instance,args );if ( methodValue !== instance && methodValue !== undefined ){returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ):methodValue;return false;}});}else{// Allow multiple hashes to be passed on init + if ( args.length ){options = $.widget.extend.apply( null,[ options ].concat(args) );}this.each(function(){var instance = $.data( this,fullName );if ( instance ){instance.option( options ||{});if ( instance._init ){instance._init();}}else{$.data( this,fullName,new object( options,this ) );}});}return returnValue;};};$.Widget = function( ){};$.Widget._childConstructors = [];$.Widget.prototype ={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
",options:{disabled:false,// callbacks + create:null},_createWidget:function( options,element ){element = $( element || this.defaultElement || this )[ 0 ];this.element = $( element );this.uuid = widget_uuid++;this.eventNamespace = "." + this.widgetName + this.uuid;this.bindings = $();this.hoverable = $();this.focusable = $();if ( element !== this ){$.data( element,this.widgetFullName,this );this._on( true,this.element{remove:function( event ){if ( event.target === element ){this.destroy();}}});this.document = $( element.style ? + // element within the document + element.ownerDocument:// element is window or document + element.document || element );this.window = $( this.document[0].defaultView || this.document[0].parentWindow );}this.options = $.widget.extend({},this.options,this._getCreateOptions(),options );this._create();this._trigger( "create",null,this._getCreateEventData() );this._init();},_getCreateOptions:$.noop,_getCreateEventData:$.noop,_create:$.noop,_init:$.noop,destroy:function(){this._destroy();// we can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() + this.element + .unbind( this.eventNamespace ) + .removeData( this.widgetFullName ) + // support:jquery <1.6.3 + // http://bugs.jquery.com/ticket/9413 + .removeData( $.camelCase( this.widgetFullName ) );this.widget() + .unbind( this.eventNamespace ) + .removeAttr( "aria-disabled" ) + .removeClass( + this.widgetFullName + "-disabled " + + "ui-state-disabled" );// clean up events and states + this.bindings.unbind( this.eventNamespace );this.hoverable.removeClass( "ui-state-hover" );this.focusable.removeClass( "ui-state-focus" );},_destroy:$.noop,widget:function(){return this.element;},option:function( key,value ){var options = key,parts,curOption,i;if ( arguments.length === 0 ){// don't return a reference to the internal hash + return $.widget.extend({},this.options );}if ( typeof key === "string" ){// handle nested keys,e.g.,"foo.bar" =>{foo:{bar:___}}options ={};parts = key.split( "." );key = parts.shift();if ( parts.length ){curOption = options[ key ] = $.widget.extend({},this.options[ key ] );for ( i = 0;i < parts.length - 1;i++ ){curOption[ parts[ i ] ] = curOption[ parts[ i ] ] ||{};curOption = curOption[ parts[ i ] ];}key = parts.pop();if ( arguments.length === 1 ){return curOption[ key ] === undefined ? null:curOption[ key ];}curOption[ key ] = value;}else{if ( arguments.length === 1 ){return this.options[ key ] === undefined ? null:this.options[ key ];}options[ key ] = value;}}this._setOptions( options );return this;},_setOptions:function( options ){var key;for ( key in options ){this._setOption( key,options[ key ] );}return this;},_setOption:function( key,value ){this.options[ key ] = value;if ( key === "disabled" ){this.widget() + .toggleClass( this.widgetFullName + "-disabled",!!value );// If the widget is becoming disabled,then nothing is interactive + if ( value ){this.hoverable.removeClass( "ui-state-hover" );this.focusable.removeClass( "ui-state-focus" );}}return this;},enable:function(){return this._setOptions({disabled:false});},disable:function(){return this._setOptions({disabled:true});},_on:function( suppressDisabledCheck,element,handlers ){var delegateElement,instance = this;// no suppressDisabledCheck flag,shuffle arguments + if ( typeof suppressDisabledCheck !== "boolean" ){handlers = element;element = suppressDisabledCheck;suppressDisabledCheck = false;}// no element argument,shuffle and use this.element + if ( !handlers ){handlers = element;element = this.element;delegateElement = this.widget();}else{element = delegateElement = $( element );this.bindings = this.bindings.add( element );}$.each( handlers,function( event,handler ){function handlerProxy(){// allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ){return;}return ( typeof handler === "string" ? instance[ handler ]:handler ) + .apply( instance,arguments );}// copy the guid so direct unbinding works + if ( typeof handler !== "string" ){handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++;}var match = event.match( /^([\w:-]*)\s*(.*)$/ ),eventName = match[1] + instance.eventNamespace,selector = match[2];if ( selector ){delegateElement.delegate( selector,eventName,handlerProxy );}else{element.bind( eventName,handlerProxy );}});},_off:function( element,eventName ){eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + + this.eventNamespace;element.unbind( eventName ).undelegate( eventName );// Clear the stack to avoid memory leaks (#10056) + this.bindings = $( this.bindings.not( element ).get() );this.focusable = $( this.focusable.not( element ).get() );this.hoverable = $( this.hoverable.not( element ).get() );},_delay:function( handler,delay ){function handlerProxy(){return ( typeof handler === "string" ? instance[ handler ]:handler ) + .apply( instance,arguments );}var instance = this;return setTimeout( handlerProxy,delay || 0 );},_hoverable:function( element ){this.hoverable = this.hoverable.add( element );this._on( element{mouseenter:function( event ){$( event.currentTarget ).addClass( "ui-state-hover" );},mouseleave:function( event ){$( event.currentTarget ).removeClass( "ui-state-hover" );}});},_focusable:function( element ){this.focusable = this.focusable.add( element );this._on( element{focusin:function( event ){$( event.currentTarget ).addClass( "ui-state-focus" );},focusout:function( event ){$( event.currentTarget ).removeClass( "ui-state-focus" );}});},_trigger:function( type,event,data ){var prop,orig,callback = this.options[ type ];data = data ||{};event = $.Event( event );event.type = ( type === this.widgetEventPrefix ? + type:this.widgetEventPrefix + type ).toLowerCase();// the original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[ 0 ];// copy original event properties over to the new event + orig = event.originalEvent;if ( orig ){for ( prop in orig ){if ( !( prop in event ) ){event[ prop ] = orig[ prop ];}}}this.element.trigger( event,data );return !( $.isFunction( callback ) && + callback.apply( this.element[0],[ event ].concat( data ) ) === false || + event.isDefaultPrevented() );}};$.each({show:"fadeIn",hide:"fadeOut"},function( method,defaultEffect ){$.Widget.prototype[ "_" + method ] = function( element,options,callback ){if ( typeof options === "string" ){options ={effect:options};}var hasOptions,effectName = !options ? + method:options === true || typeof options === "number" ? + defaultEffect:options.effect || defaultEffect;options = options ||{};if ( typeof options === "number" ){options ={duration:options};}hasOptions = !$.isEmptyObject( options );options.complete = callback;if ( options.delay ){element.delay( options.delay );}if ( hasOptions && $.effects && $.effects.effect[ effectName ] ){element[ method ]( options );}else if ( effectName !== method && element[ effectName ] ){element[ effectName ]( options.duration,options.easing,callback );}else{element.queue(function( next ){$( this )[ method ]();if ( callback ){callback.call( element[ 0 ] );}next();});}};});var widget = $.widget;var mouseHandled = false;$( document ).mouseup( function(){mouseHandled = false;});var mouse = $.widget("ui.mouse"{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var that = this;this.element + .bind("mousedown." + this.widgetName,function(event){return that._mouseDown(event);}) + .bind("click." + this.widgetName,function(event){if (true === $.data(event.target,that.widgetName + ".preventClickEvent")){$.removeData(event.target,that.widgetName + ".preventClickEvent");event.stopImmediatePropagation();return false;}});this.started = false;},// TODO:make sure destroying one instance of mouse doesn't mess with +// other instances of mouse +_mouseDestroy:function(){this.element.unbind("." + this.widgetName);if ( this._mouseMoveDelegate ){this.document + .unbind("mousemove." + this.widgetName,this._mouseMoveDelegate) + .unbind("mouseup." + this.widgetName,this._mouseUpDelegate);}},_mouseDown:function(event){// don't let more than one widget handle mouseStart + if ( mouseHandled ){return;}this._mouseMoved = false;// we may have missed mouseup (out of window) + (this._mouseStarted && this._mouseUp(event));this._mouseDownEvent = event;var that = this,btnIsLeft = (event.which === 1),// event.target.nodeName works around a bug in IE 8 with + // disabled inputs (#7620) + elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length:false);if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)){return true;}this.mouseDelayMet = !this.options.delay;if (!this.mouseDelayMet){this._mouseDelayTimer = setTimeout(function(){that.mouseDelayMet = true;},this.options.delay);}if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)){this._mouseStarted = (this._mouseStart(event) !== false);if (!this._mouseStarted){event.preventDefault();return true;}}// Click event may never have fired (Gecko & Opera) + if (true === $.data(event.target,this.widgetName + ".preventClickEvent")){$.removeData(event.target,this.widgetName + ".preventClickEvent");}// these delegates are required to keep context + this._mouseMoveDelegate = function(event){return that._mouseMove(event);};this._mouseUpDelegate = function(event){return that._mouseUp(event);};this.document + .bind( "mousemove." + this.widgetName,this._mouseMoveDelegate ) + .bind( "mouseup." + this.widgetName,this._mouseUpDelegate );event.preventDefault();mouseHandled = true;return true;},_mouseMove:function(event){// Only check for mouseups outside the document if you've moved inside the document + // at least once. This prevents the firing of mouseup in the case of IE<9,which will + // fire a mousemove event if content is placed under the cursor. See #7778 + // Support:IE <9 + if ( this._mouseMoved ){// IE mouseup check - mouseup happened when mouse was out of window + if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button){return this._mouseUp(event);// Iframe mouseup check - mouseup occurred in another document}else if ( !event.which ){return this._mouseUp( event );}}if ( event.which || event.button ){this._mouseMoved = true;}if (this._mouseStarted){this._mouseDrag(event);return event.preventDefault();}if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)){this._mouseStarted = + (this._mouseStart(this._mouseDownEvent,event) !== false);(this._mouseStarted ? this._mouseDrag(event):this._mouseUp(event));}return !this._mouseStarted;},_mouseUp:function(event){this.document + .unbind( "mousemove." + this.widgetName,this._mouseMoveDelegate ) + .unbind( "mouseup." + this.widgetName,this._mouseUpDelegate );if (this._mouseStarted){this._mouseStarted = false;if (event.target === this._mouseDownEvent.target){$.data(event.target,this.widgetName + ".preventClickEvent",true);}this._mouseStop(event);}mouseHandled = false;return false;},_mouseDistanceMet:function(event){return (Math.max( + Math.abs(this._mouseDownEvent.pageX - event.pageX),Math.abs(this._mouseDownEvent.pageY - event.pageY) + ) >= this.options.distance + );},_mouseDelayMet:function(){return this.mouseDelayMet;},// These are placeholder methods,to be overriden by extending plugin +_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true;}});var sortable = $.widget("ui.sortable",$.ui.mouse{version:"1.11.4",widgetEventPrefix:"sort",ready:false,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:1000,// callbacks + activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function( x,reference,size ){return ( x >= reference ) && ( x < ( reference + size ) );},_isFloating:function( item ){return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display"));},_create:function(){this.containerCache ={};this.element.addClass("ui-sortable");//Get the items + this.refresh();//Let's determine the parent's offset + this.offset = this.element.offset();//Initialize mouse events for interaction + this._mouseInit();this._setHandleClassName();//We're ready to go + this.ready = true;},_setOption:function( key,value ){this._super( key,value );if ( key === "handle" ){this._setHandleClassName();}},_setHandleClassName:function(){this.element.find( ".ui-sortable-handle" ).removeClass( "ui-sortable-handle" );$.each( this.items,function(){( this.instance.options.handle ? + this.item.find( this.instance.options.handle ):this.item ) + .addClass( "ui-sortable-handle" );});},_destroy:function(){this.element + .removeClass( "ui-sortable ui-sortable-disabled" ) + .find( ".ui-sortable-handle" ) + .removeClass( "ui-sortable-handle" );this._mouseDestroy();for ( var i = this.items.length - 1;i >= 0;i-- ){this.items[i].item.removeData(this.widgetName + "-item");}return this;},_mouseCapture:function(event,overrideHandle){var currentItem = null,validHandle = false,that = this;if (this.reverting){return false;}if(this.options.disabled || this.options.type === "static"){return false;}//We have to refresh the items data once first + this._refreshItems(event);//Find out if the clicked node (or one of its parents) is a actual item in this.items + $(event.target).parents().each(function(){if($.data(this,that.widgetName + "-item") === that){currentItem = $(this);return false;}});if($.data(event.target,that.widgetName + "-item") === that){currentItem = $(event.target);}if(!currentItem){return false;}if(this.options.handle && !overrideHandle){$(this.options.handle,currentItem).find("*").addBack().each(function(){if(this === event.target){validHandle = true;}});if(!validHandle){return false;}}this.currentItem = currentItem;this._removeCurrentsFromItems();return true;},_mouseStart:function(event,overrideHandle,noActivation){var i,body,o = this.options;this.currentContainer = this;//We only need to call refreshPositions,because the refreshItems call has been moved to mouseCapture + this.refreshPositions();//Create and append the visible helper + this.helper = this._createHelper(event);//Cache the helper size + this._cacheHelperProportions();//Cache the margins of the original element + this._cacheMargins();//Get the next scrolling parent + this.scrollParent = this.helper.scrollParent();//The element's absolute position on the page minus margins + this.offset = this.currentItem.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});// Only after we got the offset,we can change the helper's position to absolute + // TODO:Still need to figure out a way to make relative sorting possible + this.helper.css("position","absolute");this.cssPosition = this.helper.css("position");//Generate the original position + this.originalPosition = 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));//Cache the former DOM position + this.domPosition ={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};//If the helper is not the original,hide the original so it's not playing any role during the drag,won't cause anything bad this way + if(this.helper[0] !== this.currentItem[0]){this.currentItem.hide();}//Create the placeholder + this._createPlaceholder();//Set a containment if given in the options + if(o.containment){this._setContainment();}if( o.cursor && o.cursor !== "auto" ){// cursor option + body = this.document.find( "body" );// support:IE + this.storedCursor = body.css( "cursor" );body.css( "cursor",o.cursor );this.storedStylesheet = $( "" ).appendTo( body );}if(o.opacity){// opacity option + if (this.helper.css("opacity")){this._storedOpacity = this.helper.css("opacity");}this.helper.css("opacity",o.opacity);}if(o.zIndex){// zIndex option + if (this.helper.css("zIndex")){this._storedZIndex = this.helper.css("zIndex");}this.helper.css("zIndex",o.zIndex);}//Prepare scrolling + if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML"){this.overflowOffset = this.scrollParent.offset();}//Call callbacks + this._trigger("start",event,this._uiHash());//Recache the helper size + if(!this._preserveHelperProportions){this._cacheHelperProportions();}//Post "activate" events to possible containers + if( !noActivation ){for ( i = this.containers.length - 1;i >= 0;i-- ){this.containers[ i ]._trigger( "activate",event,this._uiHash( this ) );}}//Prepare possible droppables + if($.ui.ddmanager){$.ui.ddmanager.current = this;}if ($.ui.ddmanager && !o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);}this.dragging = true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(event);//Execute the drag once - this causes the helper not to be visible before getting its correct position + return true;},_mouseDrag:function(event){var i,item,itemElement,intersection,o = this.options,scrolled = false;//Compute the helpers position + this.position = this._generatePosition(event);this.positionAbs = this._convertPositionTo("absolute");if (!this.lastPositionAbs){this.lastPositionAbs = this.positionAbs;}//Do scrolling + if(this.options.scroll){if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML"){if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity){this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;}else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity){this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;}if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity){this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;}else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity){this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;}}else{if(event.pageY - this.document.scrollTop() < o.scrollSensitivity){scrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed);}else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity){scrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed);}if(event.pageX - this.document.scrollLeft() < o.scrollSensitivity){scrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed);}else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity){scrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed);}}if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour){$.ui.ddmanager.prepareOffsets(this,event);}}//Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo("absolute");//Set the helper 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";}//Rearrange + for (i = this.items.length - 1;i >= 0;i--){//Cache variables and intersection,continue if no intersection + item = this.items[i];itemElement = item.item[0];intersection = this._intersectsWithPointer(item);if (!intersection){continue;}// Only put the placeholder inside the current Container,skip all + // items from other containers. This works because when moving + // an item from one container to another the + // currentContainer is switched before the placeholder is moved. + // + // Without this,moving items in "sub-sortables" can cause + // the placeholder to jitter between the outer and inner container. + if (item.instance !== this.currentContainer){continue;}// cannot intersect with itself + // no useless actions that have been done before + // no action if the item moved is the parent of the item checked + if (itemElement !== this.currentItem[0] && + this.placeholder[intersection === 1 ? "next":"prev"]()[0] !== itemElement && + !$.contains(this.placeholder[0],itemElement) && + (this.options.type === "semi-dynamic" ? !$.contains(this.element[0],itemElement):true) + ){this.direction = intersection === 1 ? "down":"up";if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)){this._rearrange(event,item);}else{break;}this._trigger("change",event,this._uiHash());break;}}//Post events to containers + this._contactContainers(event);//Interconnect with droppables + if($.ui.ddmanager){$.ui.ddmanager.drag(this,event);}//Call callbacks + this._trigger("sort",event,this._uiHash());this.lastPositionAbs = this.positionAbs;return false;},_mouseStop:function(event,noPropagation){if(!event){return;}//If we are using droppables,inform the manager about the drop + if ($.ui.ddmanager && !this.options.dropBehaviour){$.ui.ddmanager.drop(this,event);}if(this.options.revert){var that = this,cur = this.placeholder.offset(),axis = this.options.axis,animation ={};if ( !axis || axis === "x" ){animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0:this.offsetParent[0].scrollLeft);}if ( !axis || axis === "y" ){animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0:this.offsetParent[0].scrollTop);}this.reverting = true;$(this.helper).animate( animation,parseInt(this.options.revert,10) || 500,function(){that._clear(event);});}else{this._clear(event,noPropagation);}return false;},cancel:function(){if(this.dragging){this._mouseUp({target:null});if(this.options.helper === "original"){this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");}else{this.currentItem.show();}//Post deactivating events to containers + for (var i = this.containers.length - 1;i >= 0;i--){this.containers[i]._trigger("deactivate",null,this._uiHash(this));if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",null,this._uiHash(this));this.containers[i].containerCache.over = 0;}}}if (this.placeholder){//$(this.placeholder[0]).remove();would have been the jQuery way - unfortunately,it unbinds ALL events from the original node! + if(this.placeholder[0].parentNode){this.placeholder[0].parentNode.removeChild(this.placeholder[0]);}if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode){this.helper.remove();}$.extend(this{helper:null,dragging:false,reverting:false,_noFinalSort:null});if(this.domPosition.prev){$(this.domPosition.prev).after(this.currentItem);}else{$(this.domPosition.parent).prepend(this.currentItem);}}return this;},serialize:function(o){var items = this._getItemsAsjQuery(o && o.connected),str = [];o = o ||{};$(items).each(function(){var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));if (res){str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1]:res[2]));}});if(!str.length && o.key){str.push(o.key + "=");}return str.join("&");},toArray:function(o){var items = this._getItemsAsjQuery(o && o.connected),ret = [];o = o ||{};items.each(function(){ret.push($(o.item || this).attr(o.attribute || "id") || "");});return ret;},_intersectsWith:function(item){var x1 = this.positionAbs.left,x2 = x1 + this.helperProportions.width,y1 = this.positionAbs.top,y2 = y1 + this.helperProportions.height,l = item.left,r = l + item.width,t = item.top,b = t + item.height,dyClick = this.offset.click.top,dxClick = this.offset.click.left,isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ),isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ),isOverElement = isOverElementHeight && isOverElementWidth;if ( this.options.tolerance === "pointer" || + this.options.forcePointerForContainers || + (this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width":"height"] > item[this.floating ? "width":"height"]) + ){return isOverElement;}else{return (l < x1 + (this.helperProportions.width / 2) && // Right Half + x2 - (this.helperProportions.width / 2) < r && // Left Half + t < y1 + (this.helperProportions.height / 2) && // Bottom Half + y2 - (this.helperProportions.height / 2) < b );// Top Half}},_intersectsWithPointer:function(item){var isOverElementHeight = (this.options.axis === "x") || this._isOverAxis(this.positionAbs.top + this.offset.click.top,item.top,item.height),isOverElementWidth = (this.options.axis === "y") || this._isOverAxis(this.positionAbs.left + this.offset.click.left,item.left,item.width),isOverElement = isOverElementHeight && isOverElementWidth,verticalDirection = this._getDragVerticalDirection(),horizontalDirection = this._getDragHorizontalDirection();if (!isOverElement){return false;}return this.floating ? + ( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2:1 ):( verticalDirection && (verticalDirection === "down" ? 2:1) );},_intersectsWithSides:function(item){var isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top,item.top + (item.height/2),item.height),isOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left,item.left + (item.width/2),item.width),verticalDirection = this._getDragVerticalDirection(),horizontalDirection = this._getDragHorizontalDirection();if (this.floating && horizontalDirection){return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf));}else{return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf));}},_getDragVerticalDirection:function(){var delta = this.positionAbs.top - this.lastPositionAbs.top;return delta !== 0 && (delta > 0 ? "down":"up");},_getDragHorizontalDirection:function(){var delta = this.positionAbs.left - this.lastPositionAbs.left;return delta !== 0 && (delta > 0 ? "right":"left");},refresh:function(event){this._refreshItems(event);this._setHandleClassName();this.refreshPositions();return this;},_connectWith:function(){var options = this.options;return options.connectWith.constructor === String ? [options.connectWith]:options.connectWith;},_getItemsAsjQuery:function(connected){var i,j,cur,inst,items = [],queries = [],connectWith = this._connectWith();if(connectWith && connected){for (i = connectWith.length - 1;i >= 0;i--){cur = $(connectWith[i],this.document[0]);for ( j = cur.length - 1;j >= 0;j--){inst = $.data(cur[j],this.widgetFullName);if(inst && inst !== this && !inst.options.disabled){queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),inst]);}}}}queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element,null{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);function addItems(){items.push( this );}for (i = queries.length - 1;i >= 0;i--){queries[i][0].each( addItems );}return $(items);},_removeCurrentsFromItems:function(){var list = this.currentItem.find(":data(" + this.widgetName + "-item)");this.items = $.grep(this.items,function (item){for (var j=0;j < list.length;j++){if(list[j] === item.item[0]){return false;}}return true;});},_refreshItems:function(event){this.items = [];this.containers = [this];var i,j,cur,inst,targetData,_queries,item,queriesLength,items = this.items,queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0],event{item:this.currentItem}):$(this.options.items,this.element),this]],connectWith = this._connectWith();if(connectWith && this.ready){//Shouldn't be run the first time through due to massive slow-down + for (i = connectWith.length - 1;i >= 0;i--){cur = $(connectWith[i],this.document[0]);for (j = cur.length - 1;j >= 0;j--){inst = $.data(cur[j],this.widgetFullName);if(inst && inst !== this && !inst.options.disabled){queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0],event{item:this.currentItem}):$(inst.options.items,inst.element),inst]);this.containers.push(inst);}}}}for (i = queries.length - 1;i >= 0;i--){targetData = queries[i][1];_queries = queries[i][0];for (j=0,queriesLength = _queries.length;j < queriesLength;j++){item = $(_queries[j]);item.data(this.widgetName + "-item",targetData);// Data for target checking (mouse manager) + + items.push({item:item,instance:targetData,width:0,height:0,left:0,top:0});}}},refreshPositions:function(fast){// Determine whether items are being displayed horizontally + this.floating = this.items.length ? + this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ):false;//This has to be redone because due to the item being moved out/into the offsetParent,the offsetParent's position will change + if(this.offsetParent && this.helper){this.offset.parent = this._getParentOffset();}var i,item,t,p;for (i = this.items.length - 1;i >= 0;i--){item = this.items[i];//We ignore calculating positions of all connected containers when we're not over them + if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]){continue;}t = this.options.toleranceElement ? $(this.options.toleranceElement,item.item):item.item;if (!fast){item.width = t.outerWidth();item.height = t.outerHeight();}p = t.offset();item.left = p.left;item.top = p.top;}if(this.options.custom && this.options.custom.refreshContainers){this.options.custom.refreshContainers.call(this);}else{for (i = this.containers.length - 1;i >= 0;i--){p = this.containers[i].element.offset();this.containers[i].containerCache.left = p.left;this.containers[i].containerCache.top = p.top;this.containers[i].containerCache.width = this.containers[i].element.outerWidth();this.containers[i].containerCache.height = this.containers[i].element.outerHeight();}}return this;},_createPlaceholder:function(that){that = that || this;var className,o = that.options;if(!o.placeholder || o.placeholder.constructor === String){className = o.placeholder;o.placeholder ={element:function(){var nodeName = that.currentItem[0].nodeName.toLowerCase(),element = $( "<" + nodeName + ">",that.document[0] ) + .addClass(className || that.currentItem[0].className+" ui-sortable-placeholder") + .removeClass("ui-sortable-helper");if ( nodeName === "tbody" ){that._createTrPlaceholder( + that.currentItem.find( "tr" ).eq( 0 ),$( "",that.document[ 0 ] ).appendTo( element ) + );}else if ( nodeName === "tr" ){that._createTrPlaceholder( that.currentItem,element );}else if ( nodeName === "img" ){element.attr( "src",that.currentItem.attr( "src" ) );}if ( !className ){element.css( "visibility","hidden" );}return element;},update:function(container,p){// 1. If a className is set as 'placeholder option,we don't force sizes - the class is responsible for that + // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified + if(className && !o.forcePlaceholderSize){return;}//If the element doesn't have a actual height by itself (without styles coming from a stylesheet),it receives the inline height from the dragged item + if(!p.height()){p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0,10) - parseInt(that.currentItem.css("paddingBottom")||0,10));}if(!p.width()){p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0,10) - parseInt(that.currentItem.css("paddingRight")||0,10));}}};}//Create the placeholder + that.placeholder = $(o.placeholder.element.call(that.element,that.currentItem));//Append it after the actual current item + that.currentItem.after(that.placeholder);//Update the size of the placeholder (TODO:Logic to fuzzy,see line 316/317) + o.placeholder.update(that,that.placeholder);},_createTrPlaceholder:function( sourceTr,targetTr ){var that = this;sourceTr.children().each(function(){$( " ",that.document[ 0 ] ) + .attr( "colspan",$( this ).attr( "colspan" ) || 1 ) + .appendTo( targetTr );});},_contactContainers:function(event){var i,j,dist,itemWithLeastDistance,posProperty,sizeProperty,cur,nearBottom,floating,axis,innermostContainer = null,innermostIndex = null;// get innermost container that intersects with item + for (i = this.containers.length - 1;i >= 0;i--){// never consider a container that's located within the item itself + if($.contains(this.currentItem[0],this.containers[i].element[0])){continue;}if(this._intersectsWith(this.containers[i].containerCache)){// if we've already found a container and it's more "inner" than this,then continue + if(innermostContainer && $.contains(this.containers[i].element[0],innermostContainer.element[0])){continue;}innermostContainer = this.containers[i];innermostIndex = i;}else{// container doesn't intersect. trigger "out" event if necessary + if(this.containers[i].containerCache.over){this.containers[i]._trigger("out",event,this._uiHash(this));this.containers[i].containerCache.over = 0;}}}// if no intersecting containers found,return + if(!innermostContainer){return;}// move the item into the container if it's not there already + if(this.containers.length === 1){if (!this.containers[innermostIndex].containerCache.over){this.containers[innermostIndex]._trigger("over",event,this._uiHash(this));this.containers[innermostIndex].containerCache.over = 1;}}else{//When entering a new container,we will find the item with the least distance and append our item near it + dist = 10000;itemWithLeastDistance = null;floating = innermostContainer.floating || this._isFloating(this.currentItem);posProperty = floating ? "left":"top";sizeProperty = floating ? "width":"height";axis = floating ? "clientX":"clientY";for (j = this.items.length - 1;j >= 0;j--){if(!$.contains(this.containers[innermostIndex].element[0],this.items[j].item[0])){continue;}if(this.items[j].item[0] === this.currentItem[0]){continue;}cur = this.items[j].item.offset()[posProperty];nearBottom = false;if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ){nearBottom = true;}if ( Math.abs( event[ axis ] - cur ) < dist ){dist = Math.abs( event[ axis ] - cur );itemWithLeastDistance = this.items[ j ];this.direction = nearBottom ? "up":"down";}}//Check if dropOnEmpty is enabled + if(!itemWithLeastDistance && !this.options.dropOnEmpty){return;}if(this.currentContainer === this.containers[innermostIndex]){if ( !this.currentContainer.containerCache.over ){this.containers[ innermostIndex ]._trigger( "over",event,this._uiHash() );this.currentContainer.containerCache.over = 1;}return;}itemWithLeastDistance ? this._rearrange(event,itemWithLeastDistance,null,true):this._rearrange(event,null,this.containers[innermostIndex].element,true);this._trigger("change",event,this._uiHash());this.containers[innermostIndex]._trigger("change",event,this._uiHash(this));this.currentContainer = this.containers[innermostIndex];//Update the placeholder + this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[innermostIndex]._trigger("over",event,this._uiHash(this));this.containers[innermostIndex].containerCache.over = 1;}},_createHelper:function(event){var o = this.options,helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0],[event,this.currentItem])):(o.helper === "clone" ? this.currentItem.clone():this.currentItem);//Add the helper to the DOM if that didn't happen already + if(!helper.parents("body").length){$(o.appendTo !== "parent" ? o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]);}if(helper[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(!helper[0].style.width || o.forceHelperSize){helper.width(this.currentItem.width());}if(!helper[0].style.height || o.forceHelperSize){helper.height(this.currentItem.height());}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] !== this.document[0] && $.contains(this.scrollParent[0],this.offsetParent[0])){po.left += this.scrollParent.scrollLeft();po.top += this.scrollParent.scrollTop();}// This needs to be actually done for all browsers,since pageX/pageY includes this information + // with an ugly IE fix + if( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)){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.currentItem.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.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 ce,co,over,o = this.options;if(o.containment === "parent"){o.containment = this.helper[0].parentNode;}if(o.containment === "document" || o.containment === "window"){this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left,0 - this.offset.relative.top - this.offset.parent.top,o.containment === "document" ? this.document.width():this.window.width() - this.helperProportions.width - this.margins.left,(o.containment === "document" ? this.document.width():this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top + ];}if(!(/^(document|window|parent)$/).test(o.containment)){ce = $(o.containment)[0];co = $(o.containment).offset();over = ($(ce).css("overflow") !== "hidden");this.containment = [ + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top,co.left+(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,co.top+(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 + ];}},_convertPositionTo:function(d,pos){if(!pos){pos = this.position;}var mod = d === "absolute" ? 1:-1,scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.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) + ( ( 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) + ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft():scrollIsRootNode ? 0:scroll.scrollLeft() ) * mod) + )};},_generatePosition:function(event){var top,left,o = this.options,pageX = event.pageX,pageY = event.pageY,scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0],this.offsetParent[0])) ? this.offsetParent:this.scrollParent,scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);// This is another very weird special case that only happens for relative elements:// 1. If the css position is relative + // 2. and the scroll parent is the document or similar to the offset parent + // we have to refresh the relative offset during the scroll so there are no jumps + if(this.cssPosition === "relative" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])){this.offset.relative = this._getRelativeOffset();}if(this.originalPosition){//If we are not dragging yet,we won't check for options + + if(this.containment){if(event.pageX - this.offset.click.left < this.containment[0]){pageX = this.containment[0] + this.offset.click.left;}if(event.pageY - this.offset.click.top < this.containment[1]){pageY = this.containment[1] + this.offset.click.top;}if(event.pageX - this.offset.click.left > this.containment[2]){pageX = this.containment[2] + this.offset.click.left;}if(event.pageY - this.offset.click.top > this.containment[3]){pageY = this.containment[3] + this.offset.click.top;}}if(o.grid){top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1];pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top:((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1]:top + o.grid[1])):top;left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0];pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left:((left - this.offset.click.left >= this.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) + ( ( 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) + ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft():scrollIsRootNode ? 0:scroll.scrollLeft() )) + )};},_rearrange:function(event,i,a,hardRefresh){a ? a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction === "down" ? i.item[0]:i.item[0].nextSibling));//Various things done here to improve the performance:// 1. we create a setTimeout,that calls refreshPositions + // 2. on the instance,we have a counter variable,that get's higher after every append + // 3. on the local scope,we copy the counter variable,and check in the timeout,if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter:1;var counter = this.counter;this._delay(function(){if(counter === this.counter){this.refreshPositions(!hardRefresh);//Precompute after each DOM insertion,NOT on mousemove}});},_clear:function(event,noPropagation){this.reverting = false;// We delay all events that have to be triggered to after the point where the placeholder has been removed and + // everything else normalized again + var i,delayedTriggers = [];// We first have to update the dom position of the actual currentItem + // Note:don't do it if the current item is already removed (by a user),or it gets reappended (see #4088) + if(!this._noFinalSort && this.currentItem.parent().length){this.placeholder.before(this.currentItem);}this._noFinalSort = null;if(this.helper[0] === this.currentItem[0]){for(i in this._storedCSS){if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static"){this._storedCSS[i] = "";}}this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");}else{this.currentItem.show();}if(this.fromOutside && !noPropagation){delayedTriggers.push(function(event){this._trigger("receive",event,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]) && !noPropagation){delayedTriggers.push(function(event){this._trigger("update",event,this._uiHash());});//Trigger update callback if the DOM position has changed}// Check if the items Container has Changed and trigger appropriate + // events. + if (this !== this.currentContainer){if(!noPropagation){delayedTriggers.push(function(event){this._trigger("remove",event,this._uiHash());});delayedTriggers.push((function(c){return function(event){c._trigger("receive",event,this._uiHash(this));};}).call(this,this.currentContainer));delayedTriggers.push((function(c){return function(event){c._trigger("update",event,this._uiHash(this));};}).call(this,this.currentContainer));}}//Post events to containers + function delayEvent( type,instance,container ){return function( event ){container._trigger( type,event,instance._uiHash( instance ) );};}for (i = this.containers.length - 1;i >= 0;i--){if (!noPropagation){delayedTriggers.push( delayEvent( "deactivate",this,this.containers[ i ] ) );}if(this.containers[i].containerCache.over){delayedTriggers.push( delayEvent( "out",this,this.containers[ i ] ) );this.containers[i].containerCache.over = 0;}}//Do what was originally in plugins + if ( this.storedCursor ){this.document.find( "body" ).css( "cursor",this.storedCursor );this.storedStylesheet.remove();}if(this._storedOpacity){this.helper.css("opacity",this._storedOpacity);}if(this._storedZIndex){this.helper.css("zIndex",this._storedZIndex === "auto" ? "":this._storedZIndex);}this.dragging = false;if(!noPropagation){this._trigger("beforeStop",event,this._uiHash());}//$(this.placeholder[0]).remove();would have been the jQuery way - unfortunately,it unbinds ALL events from the original node! + this.placeholder[0].parentNode.removeChild(this.placeholder[0]);if ( !this.cancelHelperRemoval ){if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ){this.helper.remove();}this.helper = null;}if(!noPropagation){for (i=0;i < delayedTriggers.length;i++){delayedTriggers[i].call(this,event);}//Trigger all delayed events + this._trigger("stop",event,this._uiHash());}this.fromOutside = false;return !this.cancelHelperRemoval;},_trigger:function(){if ($.Widget.prototype._trigger.apply(this,arguments) === false){this.cancel();}},_uiHash:function(_inst){var inst = _inst || this;return{helper:inst.helper,placeholder:inst.placeholder || $([]),position:inst.position,originalPosition:inst.originalPosition,offset:inst.positionAbs,item:inst.currentItem,sender:_inst ? _inst.element:null};}});})); \ No newline at end of file diff --git a/admin/cloud/images/connect.css b/admin/cloud/images/connect.css index fdae953..295c632 100644 --- a/admin/cloud/images/connect.css +++ b/admin/cloud/images/connect.css @@ -1,44 +1 @@ - -.menu{ width:100px;} -.menu-text{width:70px;} - - -.thumbnails .cloud-item{ - margin:15px; - width:165px; - float:left; -} -.thumbnails>li img{ - cursor:pointer; -} -.thumbnails>li.hover .thumbnail{ - background:#F7F7F7; -} -.thumbnails>li.Selected .thumbnail { - background:#F7F7F7/*RGBA(200,200,200,0.8)*/; - -} -.thumbnails .thumbnail{ - position:relative; -} -.thumbnails>li .selectbox{ - position:absolute; - width:16px; - height:16px; - right:0px; - top:0px; - background:url(checkbox.png) no-repeat; - display:none; -} - -.thumbnails>li.hover .selectbox { - display:block; -} -.thumbnails>li.Selected .selectbox{ - background:url(selected_folder.png) no-repeat; - display:block; -} - - - - +.menu{width:100px;}.menu-text{width:70px;}.thumbnails .cloud-item{margin:15px;width:165px;float:left;}.thumbnails>li img{cursor:pointer;}.thumbnails>li.hover .thumbnail{background:#F7F7F7;}.thumbnails>li.Selected .thumbnail{background:#F7F7F7;}.thumbnails .thumbnail{position:relative;}.thumbnails>li .selectbox{position:absolute;width:16px;height:16px;right:0px;top:0px;background:url(checkbox.png) no-repeat;display:none;}.thumbnails>li.hover .selectbox{display:block;}.thumbnails>li.Selected .selectbox{background:url(selected_folder.png) no-repeat;display:block;} \ No newline at end of file diff --git a/admin/images/_Window.js b/admin/images/_Window.js deleted file mode 100644 index c10ca53..0000000 --- a/admin/images/_Window.js +++ /dev/null @@ -1,636 +0,0 @@ -// ****************** dzzjs V1.00 ****************** -// ߣdzzjs1.0 -// 汾1.00 -// վhttp://www.dzz.cc -// ʼadmin@dzz.cc -// ȨȨdzz.cc,κδʹú޸Ĵ˴ -// ********************************************************** -// ---------------------------------------------------------- -function OpenWindow(url, name,feature) -{ - var content, title, features; - content = "[url]" + url; - title=name; - - if(feature) features=feature; - else features = "pattern=title,width=500,height=370"; - - _window.Open(content, title, features); -} -function _window(features) -{ - this.id=this.name="_W_test"; - this.string="_window.windows."+this.id; - this.zIndex=++_window.zIndex; - this.className='mac'; - this.bodyWidth= parseInt(_window.getFeature(features,"width")) || 800; - this.bodyHeight= parseInt(_window.getFeature(features,"height")) ||500; - this.left= _window.getFeature(features,"left"); - this.top= _window.getFeature(features,"top"); - this.right=_window.getFeature(features,"right"); - this.bottom=_window.getFeature(features,"bottom"); - this.move=_window.getFeature(features,"move").toLowerCase()||"move"; - this.maxmine=_window.getFeature(features,"maxmine").toLowerCase()||"max"; - this.minmine=_window.getFeature(features,"minmine").toLowerCase()||"min"; - this.closeable=_window.getFeature(features,"close").toLowerCase()||"close"; - this.isModal=_window.getFeature(features,"ismodal")?true:false; - this.button=_window.getFeature(features,"button").toUpperCase(); - this.resize=_window.getFeature(features,"resize").toLowerCase()||"resize"; - this.pattern=_window.getFeature(features,"pattern").toLowerCase()||"title";//ʽ noborder border title֣Ĭ title; - this.buttons={}; - - _window.windows[this.id]=this; - -}; -_window.windows={}; -_window.Max=new Array(); -_window.Version="dzzdesktop js 1.0"; -_window.Width=400; -_window.Height=-1; -_window.Timer=0; -_window.zIndex=4000; -_window.wIndex=4000; -_window.windows={}; -_window.clientWidth=document.documentElement.clientWidth; -_window.clientHeight=document.documentElement.clientHeight; -_window.onmousemove=null; -_window.onmouseup=null; -_window.onselectstart=1; -_window.sum=0; -_window.ctrl=0; -_window.alt=0; -_window.hidetime=500; - -_window.getFeature=function(source,name) -{ - var reg=new RegExp("(^|,|\\s)"+ name +"\\s*=\\s*([^,]*)(\\s|,|$)","i"); - if (reg.test(source)) return RegExp.$2; - return ""; -}; -_window.getMaxNumber=function() -{ - var num=0; - for(var i=0;inum) num=arguments[i];} - return num; -}; - -_window.Open=function(content,title,features) -{ - var obj=new _window(features); - obj.Creat(content,title); - return obj; -}; - - -_window.prototype.Creat=function(content,title) -{ - this.board=document.createElement("div"); - this.board.className=this.className; - this.board.style.position="absolute"; - this.board.style.zIndex=this.zIndex; - this.board.style.visibility="hidden"; - document.body.appendChild(this.board); - if(!_window.clientHeight) - { - this.board.style.left = "100%"; - this.board.style.top = "100%"; - _window.clientWidth = this.board.offsetLeft; - _window.clientHeight = this.board.offsetTop; - - } - var styles=new Array("LEFT_TOP","TOP","RIGHT_TOP","RIGHT","RIGHT_BOTTOM","BOTTOM","LEFT_BOTTOM","LEFT","SHADOW_TOP","SHADOW_RIGHT","SHADOW_BOTTOM","SHADOW_LEFT","CONTENT","TITLE"); - - this.sides=new Array(); - - var obj=document.createElement("div"); - var self=this; - if(this.button) - { - styles[4]="RIGHT_BOTTOM_BY_BUTTON"; - styles[5]="BOTTOM_BY_BUTTON"; - styles[6]="LEFT_BOTTOM_BY_BUTTON"; - styles[styles.length]="BUTTON"; - } - if(this.resize!="no") {styles[styles.length]="RESIZE";styles[styles.length]="RESIZE-X";styles[styles.length]="RESIZE-Y";} - if(this.closeable!="no") styles[styles.length]="CLOSE"; - - for(var i=0;i0) obj.style.height=this.bodyHeight+"px"; - - obj.style.left=(this.sides[7].width+obj.offsetLeft)+"px"; - obj.style.top=(this.sides[1].height+obj.offsetTop)+"px"; - - this.SetContent(content); - this.width=this.bodyWidth+this.sides[3].width+this.sides[7].width; - this.height=this.bodyHeight+this.sides[1].height+this.sides[5].height; - this.minWidth=_window.getMaxNumber(this.sides[0].width+this.sides[2].width,this.sides[3].width+this.sides[7].width,this.sides[4].width+this.sides[6].width)+20; - this.minHeight=_window.getMaxNumber(this.sides[0].height+this.sides[6].height,this.sides[1].height+this.sides[5].height,this.sides[2].height+this.sides[4].height)+2; - - this.board.style.height=this.height+"px"; - this.board.style.width=this.width+"px"; - var self=this; - - - - break; - - case "TITLE": - - this.titleCase=obj; - obj.style.width=this.width+"px"; - this.titleCase.dx=obj.offsetWidth-this.width; - if(this.minWidththis.titleCase.dx){ obj.style.width=(this.width-this.titleCase.dx)+"px";this.titlewidth=this.width-this.titleCase.dx} - this.SetTitle(title); - jQuery(obj).bind('ondblclick',function(e){self.Max();}); - - jQuery(obj).bind('mousedown',function(e){self.PreMove(e?e:window.event);}); - //jQuery(obj).bind('mouseup',function(e){self.Moved(e?e:window.event);}); - - break; - - case "BUTTON": - this.buttonCase=obj; - obj.style.width=this.width+"px"; - obj.style.bottom="0px"; - this.buttonCase.dx=obj.offsetWidth-this.width; - if(this.minWidththis.buttonCase.dx) obj.style.width=(this.width-this.buttonCase.dx)+"px"; - var buttons=this.button.split("|"); - for(var j=0;jthis.sides[1].dx) this.sides[1].style.width=(this.width-this.sides[1].dx)+"px"; - this.sides[3].dy=this.sides[2].height+this.sides[4].height; - if(this.height>this.sides[3].dy) this.sides[3].style.height=(this.height-this.sides[3].dy)+"px"; - this.sides[5].dx=this.sides[4].width+this.sides[6].width; - if(this.width>this.sides[5].dx) this.sides[5].style.width=(this.width-this.sides[5].dx)+"px"; - this.sides[7].dy=this.sides[6].height+this.sides[0].height; - if(this.height>this.sides[7].dy) this.sides[7].style.height=(this.height-this.sides[7].dy)+"px"; - - this.sides[0].style.left="0px"; - this.sides[0].style.top="0px"; - this.sides[1].style.left=this.sides[0].width+"px"; - this.sides[1].style.top="0px"; - this.sides[2].style.right="0px"; - this.sides[2].style.top="0px"; - this.sides[3].style.right="0px"; - this.sides[3].style.top=this.sides[2].height+"px"; - this.sides[4].style.right="0px"; - this.sides[4].style.bottom="0px"; - this.sides[5].style.left=this.sides[6].width+"px"; - this.sides[5].style.bottom="0px"; - this.sides[6].style.left="0px"; - this.sides[6].style.bottom="0px"; - this.sides[7].style.left="0px"; - this.sides[7].style.top=this.sides[0].height+"px"; - this.left=this.left?parseInt(this.left):(this.right?_window.clientWidth-this.width-parseInt(this.right):parseInt((_window.clientWidth-this.width)/2)); - this.top=this.top?parseInt(this.top):(this.bottom?_window.clientHeight-this.height-parseInt(this.bottom):parseInt((_window.clientHeight-this.height)/2)); - if(this.left<0) this.left=0; - if(this.top<0) this.top=0; - this.left+=document.documentElement.scrollLeft; - this.top+=document.documentElement.scrollTop; - this.board.style.left=this.left+"px"; - this.board.style.top=this.top+"px"; - - - this.board.style.visibility="visible"; - - this.status=1; - var self=this; - - -}; - - -_window.prototype.SetContent=function(content) -{ - var type=content.slice(0,5),tent=content.slice(5); - //if(this.oldcase) - //{ - // this.oldcase.appendChild(this.oldcontent); - // this.oldcase = null; - //} - if(type=="[url]") - { - - if(this.iframe) - { - if(this.contentCase.firstChild!=this.iframe) this.contentCase.replaceChild(this.iframe,this.contentCase.firstChild); - this.iframe.src=tent; - } - else - { - var url=tent; - if(url.substr(url.lastIndexOf('.')).toLowerCase()=='.swf'){ - this.contentCase.innerHTML='

Need Adobe Flash Player.

Get Adobe Flash Player

'; - }else{ - window.onbeforeunload=function(){ - return 'ddddddddd'; - } - var xframe=document.createElement('iframe'); - xframe.name = 'ifm0'; - xframe.id = 'ifm0'; - xframe.frameBorder=0; - xframe.marginHeight=0; - xframe.marginWidth=0; - xframe.allowtransparency=true; - xframe.src=url; - xframe.style.width='100%'; - xframe.style.height='100%'; - jQuery(xframe).bind('load',function(){window.onbeforeunload=null;}); - this.contentCase.style.overflow='hidden'; - this.contentCase.appendChild(xframe); - } - if(this.bodyHeight<0) this.bodyHeight=1; - } - } -}; -_window.prototype.SetTitle=function(title) -{ - if(this.pattern=='noborder') this.titleCase.style.display='none'; - title=title||"dzz.cc"; - if(this.title==title) return false; - var self=this; - jQuery(this.titleCase).bind('contextmenu',function(e){self.Windowmenu(e?e:window.event);}); - this.title='
'+title+'
'; - - this.titleCase.innerHTML=this.title; -}; - -_window.prototype.Duplicate1=function() -{ - if(this.copy1) return false; - this.copy1=document.createElement("DIV"); - this.contentCase.appendChild(this.copy1); - - this.copy1.style.cssText="position:absolute;left:"+(this.oldleft)+"px;top:"+(this.oldtop)+"px;width:0px;height:0px;border:2px dotted #000000;"; - this.copy1.style.zIndex=5000; - -}; -_window.prototype.Focus=function(e) -{ - if(this.zIndex<_window.zIndex) this.board.style.zIndex=this.zIndex=++_window.zIndex; - this.isHide=0; - this.status=1; - jQuery(this.board).show(); - return false; -}; - -_window.prototype.Close=function() -{ - jQuery(this.board).remove(); - delete _window.windows[this.id]; - for(var key in this) delete this[key]; - - -}; - -_window.prototype.Showhide=function() -{ - this.Focus(); - this.board.style.display='block'; - this.isHide=0; - this.status=1; -}; -_window.prototype.Windowmenu=function() -{ - -}; - -_window.prototype.Hidden=function() -{ - this.board.style.zIndex=-99999; - -}; - - -_window.prototype.Duplicate=function() -{ - if(typeof(this.copy)=='undefined' || this.copy==null) { - this.copy=document.createElement("DIV"); - document.body.appendChild(this.copy); - } - this.copy.style.cssText="position:absolute;background:url(dzz/images/b.gif);left:"+(this.left-2)+"px;top:"+(this.top-2)+"px;width:"+this.width+"px;height:"+this.height+"px;border:2px dotted #000000;"; - this.copy.style.zIndex=this.zIndex+2; - - document.getElementById('_blank').style.display='block'; - -}; - -_window.prototype.DetachEvent=function(e) -{ - document.onmousemove=_window.onmousemove; - document.onmousemove=_window.onmousemove; - document.onmouseup=_window.onmouseup; - document.onselectstart=_window.onselectstart; - if(this.board.releaseCapture) this.board.releaseCapture(); - //_window.tach=0; - document.getElementById('_blank').style.display='none'; - - -}; -_window.prototype.AttachEvent=function(e) -{ - - _window.onmousemove=document.onmousemove; - _window.onmouseup=document.onmouseup; - _window.onselectstart=document.onselectstart; - if(e.preventDefault) e.preventDefault(); - else - { - document.onselectstart=function(){return false;} - if(this.board.setCapture) this.board.setCapture(); - } - - document.getElementById('_blank').style.display='block'; -}; - -_window.prototype.PreResize=function(e) -{ - if(this.move=='no') return; - if (typeof(this.ResizeTimer)!="undefined") clearTimeout(this.ResizeTimer); - this.Focus(); - //this.Duplicate(); - this.resizeX=e.clientX-this.width-4; - this.resizeY=e.clientY-this.height-4; - //document.body.style.cursor="url('dzz/images/cur/aero_nwse.cur'),auto";; - this.AttachEvent(e); - var self=this; - - eval("document.onmousemove=function(e){"+this.string+".Resize(e?e:window.event);};"); - eval("document.onmouseup=function(e){"+this.string+".Resized(e?e:window.event);};"); - -}; -_window.prototype.Resize=function(e) -{ - var dx=0; - var dy=0; - if(this.resize!="resize-y") - { - var w=e.clientX-this.resizeX-4; - w=(w>this.minWidth)?w:this.minWidth; - if((w+this.left)>document.documentElement.clientWidth) w=document.documentElement.clientWidth-this.left; - dx=w-this.width; - this.width+=dx; - this.resizeyCase.style.width=this.width+'px'; - this.board.style.width=this.width+"px"; - this.sides[1].style.width=(this.width-this.sides[1].dx)+"px"; - this.sides[5].style.width=(this.width-this.sides[5].dx)+"px"; - this.titleCase.style.width=(this.width-this.titleCase.dx)+"px"; - if(this.buttonCase) this.buttonCase.style.width=(this.width-this.buttonCase.dx)+"px"; - this.bodyWidth+=dx; - this.contentCase.style.width=this.bodyWidth+"px"; - - } - if(this.resize!="resize-x") - { - var h=e.clientY-this.resizeY; - var h=(h>this.minHeight)?h:this.minHeight; - if((h+this.top)>_window.clientHeight) h=_window.clientHeight-this.top; - dy=h-this.height; - this.height+=dy; - this.resizexCase.style.height=this.height+'px'; - this.board.style.height=this.height+"px"; - this.sides[3].style.height=(this.height-this.sides[3].dy)+"px"; - this.sides[7].style.height=(this.height-this.sides[7].dy)+"px"; - this.bodyHeight+=dy; - - this.contentCase.style.height=this.bodyHeight+"px"; - - } -}; -_window.prototype.Resized=function(e) -{ - this.DetachEvent(e); - //¼ڵĴС - document.getElementById('width').value=this.bodyWidth; - document.getElementById('height').value=this.bodyHeight; -}; - -_window.prototype.ResizeBy=function(bodyWidth,bodyHeight) -{ - var dx=bodyWidth-this.bodyWidth; - var dy=bodyHeight-this.bodyHeight; - if(dx) - { - this.width+=dx; - this.board.style.width=this.width+"px"; - this.blank.style.width=this.width+'px'; - this.sides[1].style.width=(this.width-this.sides[1].dx)+"px"; - this.sides[5].style.width=(this.width-this.sides[5].dx)+"px"; - this.titleCase.style.width=(this.width-this.titleCase.dx)+"px"; - if(this.buttonCase) this.buttonCase.style.width=(this.width-this.buttonCase.dx)+"px"; - this.bodyWidth+=dx; - this.contentCase.style.width=this.bodyWidth+"px"; - if(this.folder && this.folder!='sys') this.blankcontent.style.width=this.bodyWidth+"px"; - if(typeof(this.topbarCase)!='undefined'){ - this.topbarCase.style.width=this.bodyWidth+this.sides['leftbar'].width+this.sides['rightbar'].width+"px"; - } - if(typeof(this.bottombarCase)!='undefined'){ - this.bottombarCase.style.width=this.bodyWidth+this.sides['leftbar'].width+this.sides['rightbar'].width+"px"; - } - } - if(dy){ - this.height+=dy; - this.board.style.height=this.height+"px"; - this.blank.style.height=this.height+"px"; - this.sides[3].style.height=(this.height-this.sides[3].dy)+"px"; - this.sides[7].style.height=(this.height-this.sides[7].dy)+"px"; - this.bodyHeight+=dy; - this.contentCase.style.height=this.bodyHeight+"px"; - if(this.folder && this.folder!='sys') this.blankcontent.style.height=this.bodyHeight+"px"; - if(typeof(this.bottombarCase)!='undefined'){ - this.bottombarCase.style.top=(this.sides[1].height+this.sides['topbar'].height+this.bodyHeight)+"px"; - } - if(typeof(this.leftbarCase)!='undefined'){ - this.leftbarCase.style.height=this.bodyHeight+"px"; - } - if(typeof(this.rightbarCase)!='undefined'){ - this.rightbarCase.style.left=(this.width-this.sides[7].width-this.sides['rightbar'].width)+"px"; - this.rightbarCase.style.height=this.bodyHeight+"px"; - } - - } - - //if(this.folder) this.SetFolderContent(this.folder,this.id); -}; - -_window.prototype.Mousedown=function(e) -{ - if(jQuery.browser.msie){ - if(e.button>1) return; - }else{ - if(e.button>0) return; - } - - - this.Focus(); - - this.mousedowndoing=false; - var self=this; - var XX=e.clientX; - var YY=e.clientY; - _window.even=e; - if(e.preventDefault) e.preventDefault(); - _window.onselectstart=document.onselectstart; - document.onselectstart=function(){return false;}; - this.PreMove(_window.even,XX,YY); - //eval("document.onmouseup=function(e){"+this.string+".Moved(e?e:window.event);};"); - -}; - -_window.prototype.Mouseup=function(e) -{ -//alert('movedup'); - document.onselectstart=_window.onselectstart; - clearTimeout(this.mousedownTimer); - this.DetachEvent(e); -}; -_window.prototype.PreMove=function(e) -{ - this.Focus(); - if (this.move=="no") return; - - var XX=e.clientX; - var YY=e.clientY; - //this.Duplicate(); - jQuery('#_blank').show(); - this.moveX=XX-this.left; - this.moveY=YY-this.top; - document.body.style.cursor="url('dzz/images/cur/aero_arrow.cur'),auto"; - var self=this; - this.AttachEvent(e); - eval("document.onmousemove=function(e){"+this.string+".Move(e?e:window.event);};"); - eval("document.onmouseup=function(e){"+this.string+".Moved(e?e:window.event);};"); - -}; -_window.prototype.Move=function(e) -{ - var XX=e.clientX; - var YY=e.clientY; - if(XX<0) XX=0; - if(YY<0) YY=0; - if(XX>_window.clientWidth) XX=_window.clientWidth; - if(YY>_window.clientHeight) YY=_window.clientHeight; - if (XX-this.moveX+this.width>_window.clientWidth) XX=_window.clientWidth+this.moveX-this.width; - if(XX-this.moveX<=0) XX=this.moveX; - if (YY-this.moveY+this.height>_window.clientHeight) YY=_window.clientHeight+this.moveY-this.height; - if(YY-this.moveY<=0) YY=this.moveY; - if(this.move!="move-y") {this.board.style.left=(XX-this.moveX)+"px";this.left=XX-this.moveX;} - if(this.move!="move-x") {this.board.style.top=(YY-this.moveY)+"px";this.top=YY-this.moveY;} -}; -_window.prototype.Moved=function(e) -{ - - this.DetachEvent(e); - jQuery('#_blank').hide(); - - var XX=e.clientX; - var YY=e.clientY; - if(XX<0) XX=0; - if(YY<0) YY=0; - if(XX>_window.clientWidth) XX=_window.clientWidth; - if(YY>_window.clientHeight) YY=_window.clientHeight; - if (XX-this.moveX+this.width>_window.clientWidth) XX=_window.clientWidth+this.moveX-this.width; - if(XX-this.moveX<=0) XX=this.moveX; - if (YY-this.moveY+this.height>_window.clientHeight) YY=_window.clientHeight+this.moveY-this.height; - if(YY-this.moveY<=0) YY=this.moveY; - var tx=(this.move=="move-y")?null:(XX-this.moveX); - var ty=(this.move=="move-x")?null:(YY-this.moveY); - - this.board.style.left=tx+"px"; - this.board.style.top=ty+"px"; - -}; - - -_window.prototype.DisableButton=function(name,style) -{ - name=name.toUpperCase(); - this.buttons[name].disabled=true; - this.buttons[name].className=(style?style:"DISABLED")+" "+name; -}; -_window.prototype.EnableButton=function(name) -{ - name=name.toUpperCase(); - this.buttons[name].disabled=false; - this.buttons[name].className=name; -}; - -_window.prototype.OnBACK=function() -{ - if(!this.step) this.step=0; - if(this.OnBACKS){ if(this.step>0) this.OnBACKS[--this.step]();} -}; -_window.prototype.OnNEXT=function() -{ - if(!this.step) this.step=0; - if(this.OnNEXTS){ if(this.steptbody>tr:hover{ - background: none; -} -.nav>li>a{ - color: #777; -} -.nav>li>a:focus, .nav>li>a:hover,.active>a{ - /*background: none;*/ - /*color: #4285F4;*/ -} -ul,ul li,li{ - list-style: none; - padding: 0; - margin: 0; -} -html{ - /*width: 100%; - margin: 0; - overflow: hidden;*/ - height: 100%; -} -body{ - width: 100%; - height: 100%; - min-width:768px; - /*overflow-y: hidden;*/ - font-family: "微软雅黑"; - background: #fff; -} -button:focus{ - outline: 0; -} -#middleconMenu{ - padding: 0 60px; -} -.bs-left-container{ - height:100%; - position: absolute; - top: 0; - left: 0; - z-index:10; - overflow:hidden; - transition: left .35s ease-in-out; - background: #FFF; - -} -/*左边部分*/ - -.article_left_ul{ - padding: 0px 0px; -} -.article_left_ul>li>a{ - color: #838383; - display: block; - height: 55px; - line-height: 55px; - padding-left: 30px; - color: #818181; - cursor: pointer; - font-size: 14px; -} -.article_left_ul>li>ul>li>a{ - padding-left: 60px; -} -.articleCon_left_ul{ - padding-left: 30px; - display: none; -} -.article_left_ul li>a:hover { - background: #F4F4F4; -} -/*结束*/ - - -/*右侧部分*/ -.corpus-item{ - margin:0px 35px 35px 0; -} -/*结束*/ -/*头部*/ - - - -.navbar-corpus{ - position: fixed; - height:60px; - left: 0; - right: 0; - z-index: 10; - min-width: 678px; -} -@media (min-width: 0px){ - .navbar-nav>li { - float: left; - } -} - -.navbar-corpus{ - background: #3270d0; - border-color:#3270D0; - box-shadow : 0px 2px 4px rgba(0, 0, 0, 0.2); -} - -.navbar{ - margin-bottom: 0; -} -.resCon{ - height: 60px; - text-align: center; -} - -.navbar-corpus .navbar-nav>li>a{ - color: #FFFFFF; - font-size: 16px; - line-height: 30px; - padding: 15px; -} -@media (max-width: 768px){ -.navbar-nav>li>a { - padding-top: 15px; - padding-bottom: 15px; -} -} -@media (min-width: 768px){ -.navbar { - border-radius: 0px; -} -} - -.left-drager-op .icon-bar{ - background-color: #FFFFFF; - display: block; - width: 22px; - height: 1px; -} -.left-drager-op .icon-bar+.icon-bar { - margin-top: 6px; -} - -.input-search-dark .form-search{ - background: rgba(255,255,255,0.3); - border: 0; -} -/*.input-search .form2-search{ - background-color:#fff; -}*/ -.input-search-dark .form-search:focus{ - background: rgba(255,255,255,1); -} - -.resSearch{ - width: 35%; - float: left; - margin-left: 25px; -} -.resSearch .form-group{ - margin-bottom: 0; - padding-top: 10px; -} -.input-search .input-search-icon,.input-search .input-search-drop{ - color: #FFFFFF; - opacity: 1; -} - -.input-search-word input.search{ - color: #fff; -} -.input-search-word input.leave{ - color: rgba(255,255,255,0.7); -} - -.container{ - width:100%; - height:100%; - position:relative; -} - - -.main-header2 { - padding: 5px 8px; - position:relative; - margin:0; -} -.main-header2 span{ - margin-left:20px; -} -.main-header2 .input-group{ - margin:3px 0 0; -} -.main-header2 .input-group{ - margin:3px 0 0; -} - - -.main-header2 .nav>li>a{ - padding:5px 10px; - margin:5px; -} - -.main-header2 .child-org .child-tree{ - display:inline-block; - width:20px; - height:26px; - margin-left:10px; -} - -.partion{ - padding:10px; - margin:10px; - background:#F5F5F5; -} - -.controls .nav-pills{ - margin-bottom:5px; -} -.nav-pills form{ - margin:0; -} -.p_right { - background: url(../../static/image/common/check_right.gif) no-repeat 10px 12px; - width: 30px; -} -.table td{ - vertical-align:middle; -} -.table td input{ - margin:0; -} - -.table td img{ - max-width:32px; - max-height:32px; - margin-right:10px; - padding:0; -} -.table td p{ - margin:5px 0; -} -.tag-header{ - border-bottom: 1px solid #DDD; - padding: 0 10px; - position:relative; - margin:0; -} -.tag-header .nav>li>a{ - padding:5px; - margin:5px 10px; -} -.tag-header table td{ - vertical-align:middle; -} -.tag-container{ - margin:0; -} -.tag-container a{ - padding:0 5px; - float:left; -} -.table thead th{ - vertical-align:top; -} -a i{ - font-size:1.2em; -} diff --git a/admin/images/color.jpg b/admin/images/color.jpg deleted file mode 100644 index d12baf5..0000000 Binary files a/admin/images/color.jpg and /dev/null differ diff --git a/admin/images/login_title.gif b/admin/images/login_title.gif deleted file mode 100644 index f9bf0d8..0000000 Binary files a/admin/images/login_title.gif and /dev/null differ diff --git a/admin/images/main.css b/admin/images/main.css index 7783172..831e52a 100644 --- a/admin/images/main.css +++ b/admin/images/main.css @@ -1,80 +1 @@ -.container{ - width:100%; - height:100%; - overflow:hidden; - position:relative; -} -.left-container{ - width:180px; - height:100%; - background: url("images/aside-right-shadow.jpg") repeat-y scroll right top #F0F0F0; - border-right: 1px solid #C6C8CC; - bottom: 0; - left: 0; - overflow: hidden; - position: absolute; - padding-top:10px; - top: 0; - z-index: 900; -} -.main-container{ - margin-left:180px; - height:100%; -} -.main-container .header-top{ - background:url("images/outer_bn2.gif") repeat-x scroll left -53px #F7F7F7; - position:absolute;z-index:-1; width:100%;height:38px;overflow:hidden;left:0;top:0; - border-bottom:1px solid #C6C8CC; -} -ul li, .xl li { - list-style: none outside none; -} -.list-item{ - margin:0; -} -.list-item a, .list-item a:link, .list-item a:visited { - color: #333333; - display: block; - font-size: 14px; - font-weight: bold; - height: 31px; - line-height: 31px; - padding: 1px 0; - text-decoration: none; - height: 31px; - line-height: 31px; - color: #999; - text-shadow:1px 1px 1px #EEE; -} -.list-item .active a,.list-item .active a:hover{ - background: url('images/aside-hover-on.png') right -33px no-repeat; - color: #000; - text-shadow:1px 1px 1px #EEE; -} -.list-item li a:hover{ - background: url('images/aside-hover-on.png') right top no-repeat; - color: #000; - text-shadow:1px 1px 1px #EEE; -} -.list-item a .text1{ - cursor: pointer; - display: block; - height: 31px; - margin: 0 auto; - padding-left: 30px; - position: relative; - width: 125px; -} -.list-item a .img-ico { - height: 20px; - left: 2px; - margin: 0; - position: absolute; - top: 6px; - width: 23px; - background: url("images/btn_icon.gif?1") no-repeat scroll 0 0 transparent; -} - -.list-item a .icon-app, .list-item a:link .icon-app, .list-item a:link .icon-app, .list-item a:hover .icon-app, .list-item a:active .icon-app { - background-position: -65px -14px; -} \ No newline at end of file +.container{width:100%;height:100%;overflow:hidden;position:relative;}.left-container{width:180px;height:100%;background:url("images/aside-right-shadow.jpg") repeat-y scroll right top #F0F0F0;border-right:1px solid #C6C8CC;bottom:0;left:0;overflow:hidden;position:absolute;padding-top:10px;top:0;z-index:900;}.main-container{margin-left:180px;height:100%;}.main-container .header-top{background:url("images/outer_bn2.gif") repeat-x scroll left -53px #F7F7F7;position:absolute;z-index:-1;width:100%;height:38px;overflow:hidden;left:0;top:0;border-bottom:1px solid #C6C8CC;}ul li,.xl li{list-style:none outside none;}.list-item{margin:0;}.list-item a,.list-item a:link,.list-item a:visited{color:#333333;display:block;font-size:14px;font-weight:bold;height:31px;line-height:31px;padding:1px 0;text-decoration:none;height:31px;line-height:31px;color:#999;text-shadow:1px 1px 1px #EEE;}.list-item .active a,.list-item .active a:hover{background:url('images/aside-hover-on.png') right -33px no-repeat;color:#000;text-shadow:1px 1px 1px #EEE;}.list-item li a:hover{background:url('images/aside-hover-on.png') right top no-repeat;color:#000;text-shadow:1px 1px 1px #EEE;}.list-item a .text1{cursor:pointer;display:block;height:31px;margin:0 auto;padding-left:30px;position:relative;width:125px;}.list-item a .img-ico{height:20px;left:2px;margin:0;position:absolute;top:6px;width:23px;background:url("images/btn_icon.gif?1") no-repeat scroll 0 0 transparent;}.list-item a .icon-app,.list-item a:link .icon-app,.list-item a:link .icon-app,.list-item a:hover .icon-app,.list-item a:active .icon-app{background-position:-65px -14px;} \ No newline at end of file diff --git a/admin/images/member.css b/admin/images/member.css deleted file mode 100644 index 943e324..0000000 --- a/admin/images/member.css +++ /dev/null @@ -1,49 +0,0 @@ -.main-header2 span{ - margin-left:20px; -} -.main-header2 { - border-bottom: 1px solid #CCCCCC; - height: 40px; - padding: 0 10px; - font-size: 12px; - position:relative; - line-height:40px; - margin:0; -} -.main-header2 .nput-group{ - margin:5px 0 0; -} -.main-header2 .nput-group{ - margin:5px 0 0; -} -.main-header2 .dropdown{ - margin:3px 0 0; -} - - - -.main-header2 .child-org .child-tree{ - display:inline-block; - width:20px; - height:26px; - margin-left:10px; -} -.partion{ - padding:10px; - margin:10px; - background:#F5F5F5; -} - -.controls .nav-pills{ - margin-bottom:5px; -} -.p_right { - background: url(../../static/image/common/check_right.gif) no-repeat 10px 12px; - width: 30px; -} -.table td{ - vertical-align:middle; -} -.table td p{ - margin:5px 0; -} diff --git a/admin/images/organization.css b/admin/images/organization.css deleted file mode 100644 index 3f3d1a7..0000000 --- a/admin/images/organization.css +++ /dev/null @@ -1,140 +0,0 @@ -#ajaxwaitid { display: none; position: absolute; right: 0; top: 0; z-index: 1; padding: 0 5px; background: #F7F7F7 } -a,a:hover,a:focus{ - text-decoration:none; -} -.container{ - width:100%; - height:100%; - overflow:hidden; - position:relative; -} -.left-container{ - width:210px; -} -.main-container{ - margin-left:220px; -} - -/*ul li, .xl li { - list-style: none outside none; -}*/ -.list-item{ - margin:0; - padding-top:10px; -} -.list-item li { - - color: black; - height: 34px; - line-height: 34px; - padding: 0 10px; - position: relative; - background-image: url("aside-hover-on.png"); - background-position: 0 100px; - background-repeat: no-repeat; - overflow: hidden; - - -} -.list-item li.sel { - background-position: 0 -33px; -} -.list-item li.hover { - background-position:0 0; -} -.list-item li .list-wrap { - display: block; - /*float: left;*/ - /* max-width: 150px; - overflow: hidden; - padding-right: 60px;*/ - position: relative; - white-space: nowrap; -} -.list-item li .list-wrap .name { - display: inline-block; - overflow: hidden; - text-overflow: ellipsis; - text-shadow:1px 1px 1px #F7F7F7; - width: 140px; -} -.list-item li .list-wrap .edit, .list-item li .list-wrap .del { - background-image: url("icon.png"); - position: absolute; -} -.list-item li .list-wrap .del:hover { - background-position: -247px -87px; -} -.list-item li .list-wrap .hide { - left: 0; - visibility: hidden; - width: 0; -} -.list-wrap .g-edit input { - width: 150px; - font-size:12px; -} -.list-item li .list-wrap .visible { - visibility: visible; -} - -.list-item li .list-wrap .edit { - background-position: -187px -87px; - height: 19px; - right: 20px; - top: 6px; - width: 19px; -} -.list-item li .list-wrap .edit:hover { - background-position: -208px -87px; -} -.list-item li .list-wrap .del { - background-position: -229px -87px; - height: 18px; - right: 0px; - top: 7px; - width: 15px; -} -.mou-evt { - cursor: pointer; -} - -.tips { - left:50%; - position:fixed; - top:0px; - width:350px; - margin-left:-125px; - z-index:999; -} - -.main-header span{ - font-size:16px; - text-shadow:1px 1px 1px #F7F7F7; - font-weight:bold; -} -.main-content .table td{ - vertical-align:middle; -} -.main-content .table td input{ - margin-bottom:0; -} -.main-content .table tbody + tbody { - border-top: 1px solid #CCCCCC; -} - - - -.main-content .child-org .child-tree{ - display:inline-block; - width:20px; - height:26px; - margin-left:10px; - float:left; -} -.form-submit{ - padding:0 20px; -} -.moderators-item{ - margin:0 5px; -} diff --git a/admin/scripts/admin.js b/admin/scripts/admin.js index e2020ad..589610f 100644 --- a/admin/scripts/admin.js +++ b/admin/scripts/admin.js @@ -5,45 +5,4 @@ * @link http://www.dzzoffice.com * @author zyx(zyx@dzz.cc) */ -function checkAll(type, form, value, checkall, changestyle) { - var checkall = checkall ? checkall : 'chkall'; - for(var i = 0; i < form.elements.length; i++) { - var e = form.elements[i]; - if(type == 'option' && e.type == 'radio' && e.value == value && e.disabled != true) { - e.checked = true; - } else if(type == 'value' && e.type == 'checkbox' && e.getAttribute('chkvalue') == value) { - e.checked = form.elements[checkall].checked; - if(changestyle) { - multiupdate(e); - } - } else if(type == 'prefix' && e.name && e.name != checkall && (!value || (value && e.name.match(value)))) { - e.checked = form.elements[checkall].checked; - if(changestyle) { - if(e.parentNode && e.parentNode.tagName.toLowerCase() == 'li') { - e.parentNode.className = e.checked ? 'checked' : ''; - } - if(e.parentNode.parentNode && e.parentNode.parentNode.tagName.toLowerCase() == 'div') { - e.parentNode.parentNode.className = e.checked ? 'item checked' : 'item'; - } - } - } - } -} -function fixTree_organization(el){ - el.find('.tree-heng1').each(function(){ - var tr=jQuery(this).parent().parent().parent(); - var dep=jQuery(this).parent().find('.tree-su').length; - - tr.nextAll().each(function(){ - var child_org=jQuery(this).find('.child-org'); - var dep1=child_org.find('.tree-su').length; - if(dep1<=dep) return false; - else{ - child_org.find('.tree-su').eq(dep).removeClass('tree-su'); - } - }); - - }); -} - - +function checkAll(e,t,a,n,r){n=n||"chkall";for(var c=0;c'; - inhtml += '
['+__lang.delete+']'; - inhtml += ''; - - document.getElementById('localfile_' + id).innerHTML = inhtml; - document.getElementById('attach_' + id).style.display = 'none'; - - addAttach(); -} - -function getPath(obj){ - if (obj) { - if (BROWSER.ie && BROWSER.ie < 7) { - obj.select(); - return document.selection.createRange().text; - - } else if(BROWSER.firefox) { - if (obj.files) { - return obj.files.item(0).getAsDataURL(); - } - return obj.value; - } else { - return ''; - } - return obj.value; - } -} -function inArray(needle, haystack) { - if(typeof needle == 'string') { - for(var i in haystack) { - if(haystack[i] == needle) { - return true; - } - } - } - return false; -} - -function insertAttachimgTag(id) { - edit_insert('[imgid=' + id + ']'); -} - -function uploadSubmit(obj) { - obj.disabled = true; - mainForm = obj.form; - forms = document.getElementById('attachbody').getElementsByTagName("FORM"); - upload(); -} - -function upload() { - if(typeof(forms[nowUid]) == 'undefined') return false; - var nid = forms[nowUid].id.split('_'); - nid = nid[1]; - if(nowUid>0) { - var upobj = document.getElementById('showmsg'+nowid); - if(uploadStat==1) { - upobj.innerHTML = __lang.upload_success; - successState = true; - var InputNode; - try { - var InputNode = document.createElement(""); - } catch(e) { - var InputNode = document.createElement("input"); - InputNode.setAttribute("name", "picids[]"); - InputNode.setAttribute("type", "hidden"); - InputNode.setAttribute("id", "picid_" + picid); - InputNode.setAttribute("value",picid); - } - mainForm.appendChild(InputNode); - - } else { - upobj.style.color = "#f00"; - upobj.innerHTML = __lang.upload_failed+uploadStat; - } - } - if(document.getElementById('showmsg'+nid) != null) { - document.getElementById('showmsg'+nid).innerHTML = __lang.upload_await+'('+__lang.founder_upgrade_reset+')'; - forms[nowUid].submit(); - } else if(nowUid+1 == forms.length) { - window.onbeforeunload = null; - mainForm.submit(); - } - nowid = nid; - nowUid++; - uploadStat = 0; -} +var forms,mainForm,attachexts=new Array,attachwh=new Array,insertType=1,thumbwidth=parseInt(60),thumbheight=parseInt(60),extensions="jpg,jpeg,gif,png",nowUid=0,uploadStat=0,picid=0,nowid=0,successState=!1;function getExt(e){return-1==e.lastIndexOf(".")?"":e.substr(e.lastIndexOf(".")+1,e.length).toLowerCase()}function delete_pic(e,t){document.getElementById("pic_container").removeChild(e.parentNode.parentNode);var n=document.createElement("input");n.type="hidden",n.name="delete_pics[]",n.value=t,document.getElementById("pic_delete").appendChild(n)}function delAttach(e){document.getElementById("attachbody").removeChild(document.getElementById("attach_"+e).parentNode.parentNode.parentNode),""==document.getElementById("attachbody").innerHTML&&addAttach(),document.getElementById("localimgpreview_"+e+"_menu")&&document.body.removeChild(document.getElementById("localimgpreview_"+e+"_menu"))}function addAttach(){newnode=document.getElementById("attachbodyhidden").rows[0].cloneNode(!0);var e,t=nowid;e=newnode.getElementsByTagName("form");for(var n=0;n",i+='['+__lang.delete+"]",i+="",document.getElementById("localfile_"+e).innerHTML=i,document.getElementById("attach_"+e).style.display="none",addAttach()}else alert(__lang.support_upload_pictures_extensions)}function getPath(e){if(e)return BROWSER.ie&&BROWSER.ie<7?(e.select(),document.selection.createRange().text):BROWSER.firefox?e.files?e.files.item(0).getAsDataURL():e.value:""}function inArray(e,t){if("string"==typeof e)for(var n in t)if(t[n]==e)return!0;return!1}function insertAttachimgTag(e){edit_insert("[imgid="+e+"]")}function uploadSubmit(e){e.disabled=!0,mainForm=e.form,forms=document.getElementById("attachbody").getElementsByTagName("FORM"),upload()}function upload(){if(void 0===forms[nowUid])return!1;var e=forms[nowUid].id.split("_");if(e=e[1],nowUid>0){var t=document.getElementById("showmsg"+nowid);if(1==uploadStat){t.innerHTML=__lang.upload_success,successState=!0;try{var n=document.createElement('')}catch(e){(n=document.createElement("input")).setAttribute("name","picids[]"),n.setAttribute("type","hidden"),n.setAttribute("id","picid_"+picid),n.setAttribute("value",picid)}mainForm.appendChild(n)}else t.style.color="#f00",t.innerHTML=__lang.upload_failed+uploadStat}null!=document.getElementById("showmsg"+e)?(document.getElementById("showmsg"+e).innerHTML=__lang.upload_await+'('+__lang.founder_upgrade_reset+")",forms[nowUid].submit()):nowUid+1==forms.length&&(window.onbeforeunload=null,mainForm.submit()),nowid=e,nowUid++,uploadStat=0}addAttach(); \ No newline at end of file diff --git a/admin/setting/images/setting.css b/admin/setting/images/setting.css index 7288585..349461d 100644 --- a/admin/setting/images/setting.css +++ b/admin/setting/images/setting.css @@ -1,96 +1 @@ - -/*管理文件夹权限开始*/ -ul{ - margin: 0; -} -.properties-explain{ - padding-left: 20px; - padding-top: 10px; - overflow: hidden; -} -.properties-explain li{ - width: 145px; - float: left; - /*padding-left: 24px;*/ - /*background-image: url(../img/icons_ZG-QuanXian.png);*/ - background-repeat: no-repeat; - height: 30px; - line-height: 25px; -} -.properties-explain li span{ - font-size: 20px; - padding-right: 5px; - vertical-align: middle; - color: var(--bs-primary); - margin-top: -1px; - } -.proper-iconshow{ - margin-left: 200px; - overflow: hidden; - -} -.perm-ok{ - padding-right: 5px; -} -.perm-ok-color{ - color: #7cb342; -} -.select-p{ - padding-top: 20px; - clear: both; -} -.select-p .select-perm{ - padding-bottom: 20px; - padding-left:15px ; -} -.select-properties li{ - position: relative; - margin-bottom: 15px; - height: 30px; -} -.nav.nav-pills li span{ - font-size: 20px; - color: var(--bs-primary); -} -.proper-bottom{ - position: relative; - display: inline-block; - padding-right: 20px; -} -.proper-set{ - color: #2196f3; - display: none; -} -.properties-list:hover .proper-set{ - display:inline-block; -} -.proper-edit{ - display: inline-block; - width: 30px; - height: 23px; - /*background-image: url(../img/icons_ZG-QuanXian.png);*/ - background-repeat: no-repeat; - vertical-align: middle; -} - -.proper-delete{ - font-size: 20px; - vertical-align: middle; - color: var(--bs-primary); - cursor: pointer; -} -.proper-delete:hover{ - color: #2196f3; - cursor: pointer; -} -.select-properties .checkbox-custom{ - font-size: 16px; - margin-top: 0px; -} -.proper-bottom .proper-span{ - font-size: 12px; -} -.checkbox-custom label, .label{ - font-size:14px; -} -/*管理文件夹权限结束*/ \ No newline at end of file +ul{margin:0;}.properties-explain{padding-left:20px;padding-top:10px;overflow:hidden;}.properties-explain li{width:145px;float:left;background-repeat:no-repeat;height:30px;line-height:25px;}.properties-explain li span{font-size:20px;padding-right:5px;vertical-align:middle;color:var(--bs-primary);margin-top:-1px;}.proper-iconshow{margin-left:200px;overflow:hidden;}.perm-ok{padding-right:5px;}.perm-ok-color{color:#7cb342;}.select-p{padding-top:20px;clear:both;}.select-p .select-perm{padding-bottom:20px;padding-left:15px;}.select-properties li{position:relative;margin-bottom:15px;height:30px;}.nav.nav-pills li span{font-size:20px;color:var(--bs-primary);}.proper-bottom{position:relative;display:inline-block;padding-right:20px;}.proper-set{color:#2196f3;display:none;}.properties-list:hover .proper-set{display:inline-block;}.proper-edit{display:inline-block;width:30px;height:23px;background-repeat:no-repeat;vertical-align:middle;}.proper-delete{font-size:20px;vertical-align:middle;color:var(--bs-primary);cursor:pointer;}.proper-delete:hover{color:#2196f3;cursor:pointer;}.select-properties .checkbox-custom{font-size:16px;margin-top:0px;}.proper-bottom .proper-span{font-size:12px;}.checkbox-custom label,.label{font-size:14px;} \ No newline at end of file diff --git a/admin/system/adminer.css b/admin/system/adminer.css index 1033c39..6eedcdd 100644 --- a/admin/system/adminer.css +++ b/admin/system/adminer.css @@ -1,737 +1 @@ -/* -FLAT UI Flavored Adminer Theme by M. Mahbubur Rahman (mahbub@mahbubblog.com) -Screenshot : http://d.pr/i/cznH -Based on work by : Lukáš Brandejs -https://raw.github.com/vrana/adminer/master/designs/ng9/adminer.css -*/ -/* - * add at last; - * https://github.com/vrana/adminer - * - * adminer.php :allow in iframe( if($b->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");} ) - */ - ::-webkit-scrollbar-track-piece{ - background-color: rgba(180,180,180,0.06); - border-radius:3px; -} -::-webkit-scrollbar{width:10px;height:10px;} -::-webkit-scrollbar-thumb{background-color:rgba(180,180,180,0.2);;border-radius: 12px; - background-clip:padding-box;border:1px solid rgba(180,180,180,0.4);min-height: 28px;} -::-webkit-scrollbar-thumb:hover{background-color:rgba(180,180,180,0.4);border:1px solid rgba(180,180,180,0.7);} - - -* {margin:0px;padding:0px;} -body{ - font: 13px/1.7 'Source Sans Pro',"Helvetica Neue", "Microsoft Yahei", "微软雅黑", STXihei, "WenQuanYi Micro Hei","Proxima Nova Rg","Droid Sans",Arial,Helvetica, sans-serif; - color:#555; - -} - - - -body{ - background:url(data:image/png;base64,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); /* https://github.com/pappu687/adminer-theme/blob/master/adminer-bg.png */ -} - -a,a:visited { - color:#2980b9; - text-decoration:none; - padding:3px 1px; -} -#dbs span{ -color:white; -} - -#content table thead span, #content table thead a { - font-weight:bold; - color:#FFF; - text-shadow:0px 01px 0px #000; -} - -#content table thead a:hover { - background:none; - text-decoration:underline; - color:black; -} - -a:hover { - text-decoration:underline; -} - -h1 { - font-size:1.9em; - font-weight:normal; - background:white; - color:#1e5eb6; - border-bottom:1px solid rgb(85, 112, 139); - padding:20px; - margin:0px; -} - -#menu h1 { - padding:0px 0px 5px 20px; - background:none; -} - -h2,h3 { - font-size:1.7em; - font-weight:bold; - background:transparent; - color:#34495e; - border-bottom:1px solid #f4f4f4; - padding:10px 0px; - margin:0px; -} - -fieldset { - padding:5px; - border:1px solid #DEDEDE; -} -input,select,textarea { - border:1px solid #e5e5e5; - margin:1px; - padding:0px; -} -select{ - padding:7px 4px; - background-color:#FFFFFF; -} - -input[type=submit] { - color:white; - background:#27ae60; - padding:4px 10px; - cursor:pointer; - border:0px solid; -} - -input[type=submit]:hover{ - background:#2c3e50; -} - -input[type=checkbox]{ - margin-right:5px; -} - -input[type=image] { - border:1px solid #d0cdc4; -} - -input[type=checkbox],input[type=radio]{ - border:1px solid #e5e5e5; - padding:2px 5px; -} - -code{ - background:#f0ffe1; - border:1px dashed #d5f1b9; - padding:2px 4px; - font-family:"Monaco","Courier New"; -} -code a:hover{background:transparent} - -table{ - margin:10px 0px; - border:1px solid #E6E6E6; - background-color:#FFFFFF; -} - -tbody tr:hover td,tbody tr:hover th{ - background:#edf4ff -} - -thead th, thead td { - text-align:center; - vertical-align:middle; - font-weight:bold; - white-space:nowrap; - background:#34495e; - color:#FFFFFF; - padding-right:10px; -} -thead th acronym, thead td acronym, thead th sup, thead td sup{ - color:#CCDDFF; -} - -th,td{ - border:1px solid rgba(233,233,233,.3); - padding:3px 6px; - vertical-align:top; -} - -th a { - font-weight:bold; - padding-bottom:0px; - text-shadow:1px 1px 1px #FFF; -} - -th { - background:white; -} - -tr.odd td { - background:#fcfaf5; -} - -#content tbody tr.checked td, tr.checked.odd td { - background:#fbe2e2; - color:red; -} - -.hidden{ - display:none -} - -.error,.message{ - padding:0px; - background:transparent; - font-weight:bold -} - -.error{ - color:#c00 -} - -.message{ - color:#090 -} - -#content{ - margin:0px 0px 0px 320px; - padding:50px 20px 40px 0px; - height:100%; -} - -#lang { - background:#ecf0f1; - color:#808080; - position:fixed; - top:0px; - left:0px; - width:100%; - padding:10px 20px; - z-index:1; -} - -#breadcrumb { - position:fixed; - top:0px; - left:300px; - background:#48A5BF; - z-index:2; - width:100%; - color:#ecf0f1; - padding:10px; - font-size:15px; - font-weight:bold; -} -#breadcrumb a{ - color:#ecf0f1; - font-size:15px; - font-weight:bold; -} - -#menu { - background:#34495e; - position:fixed; - top:-10px; - color:#FFF; - padding:20px; - padding-top:40px; - bottom:0px; - overflow:auto; - left:0px; - width:240px; - border-right:2px solid #34495e; -} - -#menu p{ - border-bottom:1px solid rgb(85, 112, 139); -} - -#menu a{ - color:#FFF; -} - -#schema .table { - padding:5px; - background:#fcfaf5; - border:1px solid #d0cdc4; -} - -#schema .table b { - color:#006aeb; - font-weight:bold; - text-decoration:underline; -} - -#schema .table b:hover { - color:white; -} - -input[name=logout] { - color:#fce2e2; - background:#d73e3e; -} - -input[name=drop] { - background-color:#c0392b; -} - -input[name=logout]:hover { - background:#ea0202; -} - -#logins a, #tables a { - background:none; -} - -#logins a:hover, #tables a:hover { - -} - -#logout { - color:#FFF; - text-decoration:none; -} - -#logout:hover { - color:red; -} - -.js .column { - background:#ecf0f1; -} - -#content table thead a.text:hover { - text-decoration:none; -} - -#version, .version { - font-size:50%; -} - -#h1:hover { - color:white; -} - - -input[type=submit] { - font-size:13px; - font-weight:normal; - -moz-border-radius:1px; - -webkit-border-radius:1px; - border-radius:1px; - border:0px solid #469df5; - padding:4px 12px; - text-decoration:none; - background-color:#65ADC3; - color:#ffffff; - display:inline-block; - text-shadow:0px 01px 0px #287ace; - -webkit-box-shadow:inset 0px 0px 0px 0px #cae3fc; - -moz-box-shadow:inset 0px 0px 0px 0px #cae3fc; - box-shadow:inset 0px 0px 0px 0px #cae3fc; -} -input[type=submit]:hover { - background-color:#34495e; - text-shadow:0px 1px 0px #000; -} -input[type=submit]:active { - position:relative; - top:1px; -} - - -table -{ - position: relative; -} -table:before, table:after -{ - z-index: -1; - position: absolute; - content: ""; - bottom: 15px; - left: 10px; - width: 50%; - top: 80%; - max-width:300px; - background: #777; - -webkit-box-shadow: 0 15px 10px #777; - -moz-box-shadow: 0 15px 10px #777; - box-shadow: 0 15px 10px #777; - -webkit-transform: rotate(-3deg); - -moz-transform: rotate(-3deg); - -o-transform: rotate(-3deg); - -ms-transform: rotate(-3deg); - transform: rotate(-3deg); -} -table:after -{ - -webkit-transform: rotate(3deg); - -moz-transform: rotate(3deg); - -o-transform: rotate(3deg); - -ms-transform: rotate(3deg); - transform: rotate(3deg); - right: 10px; - left: auto; -} - - -/* ==================add by warlee==================*/ - - -#lang { - top: 0; - left: 170px; - z-index: 10; - color: #485b6e; - width: 50px; - background: rgba(0, 0, 0, 0); -} -#lang select{ - position: absolute; - left: 0px; - right: 0px; - top: 13px; - color: #677d8e; - width: 100%; - background: #4e6175; - border: none; - -webkit-appearance: none; - background: rgba(0, 0, 0, 0); -} - -#menu { - top:-23px;padding:0; - bottom: 0; - width: 272px; - border-right:none; -} -#menu h1{ - padding: 16px 0px 6px 28px; - border-bottom: 1px solid #465a6f; - background: #3f576f; - border: none; -} -#menu h1:before { - content: "Adminer "; - line-height: 40px; - color: #fff; - font-style: italic; -} -#menu h1 a { - display: none; -} -#menu h1 #h1{ - font-size:24px; -} -.version {color: #677d8e;font-size:14px;} -#breadcrumb {left: 290px;padding-left: 20px;} -#breadcrumb a { - color: #ecf0f1; - font-size: 15px; - text-decoration: none; - font-weight: bold; - border-bottom: 2px solid rgba(255,255,255,0.5); - padding-bottom: 4px; - margin: 0 5px; -} -#breadcrumb a:hover{ - color: #FFEB3B; - border-color: #FFEB3B; -} - -#menu #logins{ - padding: 15px 0; -} -#menu #logins a{ - background: none; - padding: 4px 10px; - display: block; - text-decoration:none; - color: #b3d3f3; -} -#menu #logins a:hover{ - background:#3f576f; -} -#menu #logins br{display:none;} - - -p#dbs {padding-left: 21px;} -#content { - margin: 0px 0px 0px 295px; -} -.links a{margin-right: 10px;} -#menu p { - padding: 15px 0px 15px 20px; - border-bottom: 1px solid #41566b; -} -#menu #dbs{ - margin: 10px; - margin-bottom: -1px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border: none; - background: #527290; - color: #3c5165; -} -#menu #dbs span{display:none;} -#menu select{ - background-color: #456079; - border: none; - color: #fff; - border-radius: 4px; - width: 227px; - position: absolute; - left: 21px; - height: 23px; - line-height: 23px; -} -#menu select:hover{background-color:#31475f;} - -#menu .links{ - padding-bottom: 5px; - border: none; - border-top: 1px solid #445f77; - background: #445f77; - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - margin: 0 10px; - padding: 0; - text-align: center; - display: table; - width: 252px; - overflow: hidden; -} -#menu .links a { - padding: 6px 1px; - margin: 0; - display: table-cell; - font-size: 12px; - text-decoration: none; - color: #b3d3f3; -} -#menu .links a:hover{background: #507394;} -#menu .links a:active{background: #5f83a5;} - -#menu #tables{ - margin: 0 -15px !important; - position: absolute; - left: 15px; - right: 15px; - bottom: 0; - top: 170px; - overflow-y: auto !important; -} - -a,input,button{transition:all .168s;} -.pages { - left: 290px; - bottom: 5px; - background: #feffff; - color: #666; - border-color: #acc6ce; -} -.pages a{ - display: inline-block; - padding: 2px 6px; - color:#48A5BF; -} -.pages a:hover{ - color:#fff; - text-decoration: none; - background: #48A5BF; -} - -#ajaxstatus + .links{ - /*border-bottom:1px solid #ccc;*/ -} -#ajaxstatus + .links a { - border: 1px solid #ccc; - display: inline-block; - padding: 4px 1.5em; - border-radius:0px; - font-weight: bold; - color: #555; - letter-spacing: 1px; - text-decoration:none; - margin-right: -5px; - margin-bottom: -1px; - background: #f3f3f3; -} -#ajaxstatus + .links a.active, -#ajaxstatus + .links a:hover { - background: #48a5bf; - color: #fff; - border: 1px solid #48a5bf; -} -#ajaxstatus + .links a.active + a{border-left-color:#48a5bf;} -textarea:focus,pre:focus,input:focus { - border-color: #75a1f0; - outline: none; - box-shadow: 0 0 4px #75a1f0; -} - -#menu p#tables{padding:0;margin-top: 10px;border:none;} -#tables a[title] { - float: none; - display: block; - color: #b9cbdc; - z-index: 1; -} -#tables a[title]:hover, -#tables a.active, -#tables a.select:hover + a, -#tables a.select.active + a { - background-color: #3c536b; - font-weight: normal; -} -#tables br {display: none;} -#tables a { - float: right; - text-decoration: none; - padding: 5px 16px; - line-height: 17px; - color: #48a5bf; - font-size: 13px; - position: relative; - z-index: 999; -} -#tables a.select:hover { - color:#FFC107;background:#425b75; -} -#schema .table a b:hover{color:#f30;} - - -select, input[type=file]{ - height: 27px;line-height: 27px; - background-color: #f6f6f6; - border: 1px solid #ddd; - border-radius: 3px; - cursor: pointer; - padding: 0; - padding-left: 10px; - outline: none; -} -select:hover{background: #ddd;} - - -thead th, thead td{position:relative;} -.js .column { - position: absolute; - padding: 0; - z-index: 9; - left: 0px; - top: 30px; - background: #fff; - min-width: 60px; - width: 100%; - border: 1px solid #48a5bf; - border-top:none; -} -.js .column a { - text-align: center; - color: #fff; - font-weight: bold; - background:#48A5BF; - display: inline-block; - float: left; - height: 25px; - line-height: 25px; - width: 50%; - padding: 0; - border:none; - font-size: 15px; - font-weight: normal; -} -.js .column a:hover{ - background:#34495e !important; - color:#fff !important; -} - -input:not([type]), input[type="color"], -input[type="email"], -input[type="number"], -input[type="password"], -input[type="tel"], -input[type="url"], -input[type="text"], -input[type="search"] { - padding: 5px 5px; - height: 27px; - border-radius: 3px; - margin: 0 4px; - box-sizing: border-box; -} -input[type="radio"] { - border: none; - display: inline-block; - margin: 5px; -} -table input[type="radio"]{margin:0;} -input[type=checkbox], input[type=radio] { - width: 14px; - height: 14px; -} - -input[type=submit] { - padding: 6px 14px; - border-radius:3px; -} -label { margin: 0 8px;} -thead td, thead th{color:#fff;} - -#content tbody tr.checked td, tr.checked.odd td { - background: #c8edff; - color: #03A9F4; -} -pre, textarea { - font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; - background:#fff; -} -.size {width: 9ex;} -#help { - border: 1px solid #ffd149; - background: #fdedbc; - padding: 4px 8px; - color: #888; - border-radius: 2px; -} -#help a.jush-help{ - color: #bb7103; -} - -#schema + .links a{ - position: fixed; - top: 66px; - right: 10px; - padding: 4px 8px; - background: #48a5bf; - color: #fff; -} - - -input[type=image]{border:none;} -h2, h3 { - font-size: 1.5em; - padding: 15px 0 0 0; - margin: 0px; - border-bottom: 1px solid #ddd; -} -.icon { - width: 23px; - height: 23px; - background-color: #48a5bf; -} -.logout { - z-index: 999; - position: fixed; -} - -.js .checkable .checked td, -.js .checkable .checked th { - background: #2196f3; -} -.footer > div{padding-left:10px;} \ No newline at end of file +::-webkit-scrollbar-track-piece{background-color:rgba(180,180,180,0.06);border-radius:3px;}::-webkit-scrollbar{width:10px;height:10px;}::-webkit-scrollbar-thumb{background-color:rgba(180,180,180,0.2);border-radius:12px;background-clip:padding-box;border:1px solid rgba(180,180,180,0.4);min-height:28px;}::-webkit-scrollbar-thumb:hover{background-color:rgba(180,180,180,0.4);border:1px solid rgba(180,180,180,0.7);}*{margin:0px;padding:0px;}body{font:13px/1.7 'Source Sans Pro',"Helvetica Neue","Microsoft Yahei","微软雅黑",STXihei,"WenQuanYi Micro Hei","Proxima Nova Rg","Droid Sans",Arial,Helvetica,sans-serif;color:#555;}body{background:url(data:image/png;base64,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);}a,a:visited{color:#2980b9;text-decoration:none;padding:3px 1px;}#dbs span{color:white;}#content table thead span,#content table thead a{font-weight:bold;color:#FFF;text-shadow:0px 01px 0px #000;}#content table thead a:hover{background:none;text-decoration:underline;color:black;}a:hover{text-decoration:underline;}h1{font-size:1.9em;font-weight:normal;background:white;color:#1e5eb6;border-bottom:1px solid rgb(85,112,139);padding:20px;margin:0px;}#menu h1{padding:0px 0px 5px 20px;background:none;}h2,h3{font-size:1.7em;font-weight:bold;background:transparent;color:#34495e;border-bottom:1px solid #f4f4f4;padding:10px 0px;margin:0px;}fieldset{padding:5px;border:1px solid #DEDEDE;}input,select,textarea{border:1px solid #e5e5e5;margin:1px;padding:0px;}select{padding:7px 4px;background-color:#FFFFFF;}input[type=submit]{color:white;background:#27ae60;padding:4px 10px;cursor:pointer;border:0px solid;}input[type=submit]:hover{background:#2c3e50;}input[type=checkbox]{margin-right:5px;}input[type=image]{border:1px solid #d0cdc4;}input[type=checkbox],input[type=radio]{border:1px solid #e5e5e5;padding:2px 5px;}code{background:#f0ffe1;border:1px dashed #d5f1b9;padding:2px 4px;font-family:"Monaco","Courier New";}code a:hover{background:transparent}table{margin:10px 0px;border:1px solid #E6E6E6;background-color:#FFFFFF;}tbody tr:hover td,tbody tr:hover th{background:#edf4ff}thead th,thead td{text-align:center;vertical-align:middle;font-weight:bold;white-space:nowrap;background:#34495e;color:#FFFFFF;padding-right:10px;}thead th acronym,thead td acronym,thead th sup,thead td sup{color:#CCDDFF;}th,td{border:1px solid rgba(233,233,233,.3);padding:3px 6px;vertical-align:top;}th a{font-weight:bold;padding-bottom:0px;text-shadow:1px 1px 1px #FFF;}th{background:white;}tr.odd td{background:#fcfaf5;}#content tbody tr.checked td,tr.checked.odd td{background:#fbe2e2;color:red;}.hidden{display:none}.error,.message{padding:0px;background:transparent;font-weight:bold}.error{color:#c00}.message{color:#090}#content{margin:0px 0px 0px 320px;padding:50px 20px 40px 0px;height:100%;}#lang{background:#ecf0f1;color:#808080;position:fixed;top:0px;left:0px;width:100%;padding:10px 20px;z-index:1;}#breadcrumb{position:fixed;top:0px;left:300px;background:#48A5BF;z-index:2;width:100%;color:#ecf0f1;padding:10px;font-size:15px;font-weight:bold;}#breadcrumb a{color:#ecf0f1;font-size:15px;font-weight:bold;}#menu{background:#34495e;position:fixed;top:-10px;color:#FFF;padding:20px;padding-top:40px;bottom:0px;overflow:auto;left:0px;width:240px;border-right:2px solid #34495e;}#menu p{border-bottom:1px solid rgb(85,112,139);}#menu a{color:#FFF;}#schema .table{padding:5px;background:#fcfaf5;border:1px solid #d0cdc4;}#schema .table b{color:#006aeb;font-weight:bold;text-decoration:underline;}#schema .table b:hover{color:white;}input[name=logout]{color:#fce2e2;background:#d73e3e;}input[name=drop]{background-color:#c0392b;}input[name=logout]:hover{background:#ea0202;}#logins a,#tables a{background:none;}#logins a:hover,#tables a:hover{}#logout{color:#FFF;text-decoration:none;}#logout:hover{color:red;}.js .column{background:#ecf0f1;}#content table thead a.text:hover{text-decoration:none;}#version,.version{font-size:50%;}#h1:hover{color:white;}input[type=submit]{font-size:13px;font-weight:normal;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px;border:0px solid #469df5;padding:4px 12px;text-decoration:none;background-color:#65ADC3;color:#ffffff;display:inline-block;text-shadow:0px 01px 0px #287ace;-webkit-box-shadow:inset 0px 0px 0px 0px #cae3fc;-moz-box-shadow:inset 0px 0px 0px 0px #cae3fc;box-shadow:inset 0px 0px 0px 0px #cae3fc;}input[type=submit]:hover{background-color:#34495e;text-shadow:0px 1px 0px #000;}input[type=submit]:active{position:relative;top:1px;}table{position:relative;}table:before,table:after{z-index:-1;position:absolute;content:"";bottom:15px;left:10px;width:50%;top:80%;max-width:300px;background:#777;-webkit-box-shadow:0 15px 10px #777;-moz-box-shadow:0 15px 10px #777;box-shadow:0 15px 10px #777;-webkit-transform:rotate(-3deg);-moz-transform:rotate(-3deg);-o-transform:rotate(-3deg);-ms-transform:rotate(-3deg);transform:rotate(-3deg);}table:after{-webkit-transform:rotate(3deg);-moz-transform:rotate(3deg);-o-transform:rotate(3deg);-ms-transform:rotate(3deg);transform:rotate(3deg);right:10px;left:auto;}#lang{top:0;left:170px;z-index:10;color:#485b6e;width:50px;background:rgba(0,0,0,0);}#lang select{position:absolute;left:0px;right:0px;top:13px;color:#677d8e;width:100%;background:#4e6175;border:none;-webkit-appearance:none;background:rgba(0,0,0,0);}#menu{top:-23px;padding:0;bottom:0;width:272px;border-right:none;}#menu h1{padding:16px 0px 6px 28px;border-bottom:1px solid #465a6f;background:#3f576f;border:none;}#menu h1:before{content:"Adminer ";line-height:40px;color:#fff;font-style:italic;}#menu h1 a{display:none;}#menu h1 #h1{font-size:24px;}.version{color:#677d8e;font-size:14px;}#breadcrumb{left:290px;padding-left:20px;}#breadcrumb a{color:#ecf0f1;font-size:15px;text-decoration:none;font-weight:bold;border-bottom:2px solid rgba(255,255,255,0.5);padding-bottom:4px;margin:0 5px;}#breadcrumb a:hover{color:#FFEB3B;border-color:#FFEB3B;}#menu #logins{padding:15px 0;}#menu #logins a{background:none;padding:4px 10px;display:block;text-decoration:none;color:#b3d3f3;}#menu #logins a:hover{background:#3f576f;}#menu #logins br{display:none;}p#dbs{padding-left:21px;}#content{margin:0px 0px 0px 295px;}.links a{margin-right:10px;}#menu p{padding:15px 0px 15px 20px;border-bottom:1px solid #41566b;}#menu #dbs{margin:10px;margin-bottom:-1px;border-top-left-radius:4px;border-top-right-radius:4px;border:none;background:#527290;color:#3c5165;}#menu #dbs span{display:none;}#menu select{background-color:#456079;border:none;color:#fff;border-radius:4px;width:227px;position:absolute;left:21px;height:23px;line-height:23px;}#menu select:hover{background-color:#31475f;}#menu .links{padding-bottom:5px;border:none;border-top:1px solid #445f77;background:#445f77;border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin:0 10px;padding:0;text-align:center;display:table;width:252px;overflow:hidden;}#menu .links a{padding:6px 1px;margin:0;display:table-cell;font-size:12px;text-decoration:none;color:#b3d3f3;}#menu .links a:hover{background:#507394;}#menu .links a:active{background:#5f83a5;}#menu #tables{margin:0 -15px !important;position:absolute;left:15px;right:15px;bottom:0;top:170px;overflow-y:auto !important;}a,input,button{transition:all .168s;}.pages{left:290px;bottom:5px;background:#feffff;color:#666;border-color:#acc6ce;}.pages a{display:inline-block;padding:2px 6px;color:#48A5BF;}.pages a:hover{color:#fff;text-decoration:none;background:#48A5BF;}#ajaxstatus + .links{}#ajaxstatus + .links a{border:1px solid #ccc;display:inline-block;padding:4px 1.5em;border-radius:0px;font-weight:bold;color:#555;letter-spacing:1px;text-decoration:none;margin-right:-5px;margin-bottom:-1px;background:#f3f3f3;}#ajaxstatus + .links a.active,#ajaxstatus + .links a:hover{background:#48a5bf;color:#fff;border:1px solid #48a5bf;}#ajaxstatus + .links a.active + a{border-left-color:#48a5bf;}textarea:focus,pre:focus,input:focus{border-color:#75a1f0;outline:none;box-shadow:0 0 4px #75a1f0;}#menu p#tables{padding:0;margin-top:10px;border:none;}#tables a[title]{float:none;display:block;color:#b9cbdc;z-index:1;}#tables a[title]:hover,#tables a.active,#tables a.select:hover + a,#tables a.select.active + a{background-color:#3c536b;font-weight:normal;}#tables br{display:none;}#tables a{float:right;text-decoration:none;padding:5px 16px;line-height:17px;color:#48a5bf;font-size:13px;position:relative;z-index:999;}#tables a.select:hover{color:#FFC107;background:#425b75;}#schema .table a b:hover{color:#f30;}select,input[type=file]{height:27px;line-height:27px;background-color:#f6f6f6;border:1px solid #ddd;border-radius:3px;cursor:pointer;padding:0;padding-left:10px;outline:none;}select:hover{background:#ddd;}thead th,thead td{position:relative;}.js .column{position:absolute;padding:0;z-index:9;left:0px;top:30px;background:#fff;min-width:60px;width:100%;border:1px solid #48a5bf;border-top:none;}.js .column a{text-align:center;color:#fff;font-weight:bold;background:#48A5BF;display:inline-block;float:left;height:25px;line-height:25px;width:50%;padding:0;border:none;font-size:15px;font-weight:normal;}.js .column a:hover{background:#34495e !important;color:#fff !important;}input:not([type]),input[type="color"],input[type="email"],input[type="number"],input[type="password"],input[type="tel"],input[type="url"],input[type="text"],input[type="search"]{padding:5px 5px;height:27px;border-radius:3px;margin:0 4px;box-sizing:border-box;}input[type="radio"]{border:none;display:inline-block;margin:5px;}table input[type="radio"]{margin:0;}input[type=checkbox],input[type=radio]{width:14px;height:14px;}input[type=submit]{padding:6px 14px;border-radius:3px;}label{margin:0 8px;}thead td,thead th{color:#fff;}#content tbody tr.checked td,tr.checked.odd td{background:#c8edff;color:#03A9F4;}pre,textarea{font:12px/normal 'Monaco','Menlo','Ubuntu Mono','Consolas','source-code-pro',monospace;background:#fff;}.size{width:9ex;}#help{border:1px solid #ffd149;background:#fdedbc;padding:4px 8px;color:#888;border-radius:2px;}#help a.jush-help{color:#bb7103;}#schema + .links a{position:fixed;top:66px;right:10px;padding:4px 8px;background:#48a5bf;color:#fff;}input[type=image]{border:none;}h2,h3{font-size:1.5em;padding:15px 0 0 0;margin:0px;border-bottom:1px solid #ddd;}.icon{width:23px;height:23px;background-color:#48a5bf;}.logout{z-index:999;position:fixed;}.js .checkable .checked td,.js .checkable .checked th{background:#2196f3;}.footer > div{padding-left:10px;} \ No newline at end of file diff --git a/dzz/comment/images/comment.css b/dzz/comment/images/comment.css index eef5d2f..f5da9d5 100644 --- a/dzz/comment/images/comment.css +++ b/dzz/comment/images/comment.css @@ -1,691 +1 @@ -@charset "utf-8"; -/* CSS atwho */ -.atwho-view { - position:absolute; - top: 0; - left: 0; - display: none; - margin-top: 18px; - background: white; - border: 1px solid #DDD; - border-radius: 3px; - box-shadow: 0 0 5px rgba(0,0,0,0.1); - min-width: 120px; - z-index: 99999; -} -.atwho-view .img-avatar { - width: 24px; - height: 24px; - line-height: 20px; - font-size: 10px; -} -.atwho-view .cur { - background: #428bca; - color: white; -} -.atwho-view .cur small { - color: white; -} -.atwho-view strong { - color: #428bca; -} -.atwho-view .cur strong { - color: white; - font:bold; -} -.atwho-view ul { - /* width: 100px; */ - list-style:none; - padding:0; - margin:auto; -} -.atwho-view ul li { - display: block; - padding: 5px 10px; - border-bottom: 1px solid #DDD; - cursor: pointer; -} -.atwho-view ul li img{ - max-height: 24px; -} -.atwho-view small { - font-size: smaller; - color: #777; - font-weight: normal; -} -/*ui-artZoom*/ -.ui-artZoom { - padding: 0 10px 10px 10px; - background: #f9f9f9; - border: solid 1px #D0D9DA -} -.ui-artZoom img { - -ms-interpolation-mode: bicubic -} -.ui-artZoom-toolbar { - height: 36px; - line-height: 26px; - padding: 5px 0 -} -.ui-artZoom-buttons { - display: inline-block; -*display:inline; -*zoom:1; - height: 26px; - line-height: 0; - margin-right: 5px; - outline: 0 -} -.ui-artZoom-loading { - color: gray; - font-size: 12px -} -.ui-artZoom-buttons a{ - display: inline-block; - padding: 5px 15px 5px 0; - font: 12px/1.11 "Microsoft Yahei", Tahoma, Arial, Helvetica, STHeiti; - _font-family: Tahoma, Arial, Helvetica, STHeiti; - -o-font-family: Tahoma, Arial; - _font-size: 12px; - color: #3C3C3D; - white-space: nowrap; - overflow: visible; - cursor: pointer; - text-decoration: none; - outline: 0; - position: relative; - zoom: 1; -*display:inline; -*vertical-align:middle -} -.ui-artZoom-buttons a:hover, .ui-artZoom-buttons ._tt_tasklist li .title_tttl:hover, ._tt_tasklist li .ui-artZoom-buttons .title_tttl:hover { - color: #2d83cf; - text-decoration: none; - background-position: 0 -40px -} -.ui-artZoom-buttons a:active, .ui-artZoom-buttons ._tt_tasklist li .title_tttl:active, ._tt_tasklist li .ui-artZoom-buttons .title_tttl:active { - color: #2d83cf -} -.ui-artZoom-noLoad a.ui-artZoom-left, .ui-artZoom-noLoad ._tt_tasklist li .ui-artZoom-left.title_tttl, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-left.title_tttl, .ui-artZoom-noLoad a.ui-artZoom-right, .ui-artZoom-noLoad ._tt_tasklist li .ui-artZoom-right.title_tttl, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-right.title_tttl { - color: #999; - cursor: default -} -.ui-artZoom-ready .ui-artZoom-loading span { - width: 5px; - overflow: hidden; - visibility: hidden -} -a.ui-artZoom-left, ._tt_tasklist li .ui-artZoom-left.title_tttl { - margin-right: 0; - border-right: 0 -} -a.ui-artZoom-right, ._tt_tasklist li .ui-artZoom-right.title_tttl { - margin-right: 0; - margin-left: 0 -} -a.ui-artZoom-source, ._tt_tasklist li .ui-artZoom-source.title_tttl { - margin-left: 0 -} -a.ui-artZoom-left:active, ._tt_tasklist li .ui-artZoom-left.title_tttl:active, a.ui-artZoom-right:active, ._tt_tasklist li .ui-artZoom-right.title_tttl:active, a.ui-artZoom-source:active, ._tt_tasklist li .ui-artZoom-source.title_tttl:active { - top: 0 -} -.ui-artZoom-buttons a span, .ui-artZoom-buttons ._tt_tasklist li .title_tttl span, ._tt_tasklist li .ui-artZoom-buttons .title_tttl span { - display: inline-block; - width: 12px; - height: 12px; - margin: auto 3px auto auto; - position: relative; - top: 0; -*top:0; - background-image: url(icons.png); - background-repeat: no-repeat; -*font-size:0; - vertical-align: middle -} -a.ui-artZoom-right span, ._tt_tasklist li .ui-artZoom-right.title_tttl span, .ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-right span, .ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-right.title_tttl span, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-right.title_tttl span { - background-position: 0 -0 -} -a.ui-artZoom-left span, ._tt_tasklist li .ui-artZoom-left.title_tttl span, .ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-left span, .ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-left.title_tttl span, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-left.title_tttl span { - background-position: -12px 0 -} -a.ui-artZoom-hide span, ._tt_tasklist li .ui-artZoom-hide.title_tttl span, .ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-hide span, .ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-hide.title_tttl span, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-hide.title_tttl span { - background-position: -36px 0 -} -a.ui-artZoom-source span, ._tt_tasklist li .ui-artZoom-source.title_tttl span { - background-position: -24px 0 -} -a.ui-artZoom-right:hover span, ._tt_tasklist li .ui-artZoom-right.title_tttl:hover span, a.ui-artZoom-right:active span, ._tt_tasklist li .ui-artZoom-right.title_tttl:active span { - background-position: 0 -12px -} -a.ui-artZoom-left:hover span, ._tt_tasklist li .ui-artZoom-left.title_tttl:hover span, a.ui-artZoom-left:active span, ._tt_tasklist li .ui-artZoom-left.title_tttl:active span { - background-position: -12px -12px -} -a.ui-artZoom-source:hover span, ._tt_tasklist li .ui-artZoom-source.title_tttl:hover span, a.ui-artZoom-source:active span, ._tt_tasklist li .ui-artZoom-source.title_tttl:active span { - background-position: -24px -12px -} -a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover span, a.ui-artZoom-hide:active span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:active span { - background-position: -36px -12px -} -.ui-artZoom-show { - background: transparent -} -.ui-artZoom-ready .ui-artZoom-photo { - font-size: 0; - line-height: 0 -} -.ui-artZoom-box{line-height:0} -/*ui-artZoom*/ - -.videoclass50_50 { - background: url(video50.png) center no-repeat; - padding: 3px 9px; - width: 68px; - height: 50px; - margin: -3px -9px; -} -.comment-page .pagination{ - margin:10px 0; -} -.img_50_50{ - max-width: 50px; - max-height: 50px; -} -* .img_50_50{ - width: expression(this.width > 50 && this.width>=this.height ? 50 : true); - height: expression(this.height > 50 && this.width<=this.height ? 50 : true); -} -.publishsharewrap{ - position:relative; -} -.line_publishsharewrap textarea { - height: 25px -} -.line_publishsharewrap .count_cpsw { - display: none -} -.count_cpsw { - padding: 3px 0; - text-align: right; - font-size: 12px; - line-height: 14px; - font-family: Verdana, Arial; - color: #6c757d; -} -.count_cpsw span { - margin: 0; -} -.cur_num_input { - color: #666; -} -.list_acpsw { - float: left; - padding-top: 4px; - padding-left: 1px; - margin: 0; -} -.list_acpsw li { - padding-bottom: 1px; - float: left; - display: inline; - margin-right: 10px; - font: 12px/14px '\5B8B\4F53', '\65B0\5B8B\4F53', sans-serif; - line-height: 20px; -} -.list_acpsw .item_lacpsw { - background-image: url(ico_pub.gif); - background-repeat: no-repeat; - display: inline-block; - text-align: left; - overflow: hidden; - color: #6c757d; - text-decoration: none; -} -.ament_lacpsw .item_lacpsw { - background-position: 0 -78px; - padding-left: 12px; -} -.ament_lacpsw .item_lacpsw:hover { - background-position: 0 -119px; - color: #0aa7da; -} -.emotion_lacpsw .item_lacpsw { - background-position: 0 -240px; - padding-left: 19px; -} -.emotion_lacpsw .item_lacpsw:hover { - background-position: 0 -279px; - color: #C63; -} -.list_acpsw .item_lacpsw { - background-image: url(ico_pub.gif); - background-repeat: no-repeat; - display: inline-block; - text-align: left; - overflow: hidden; - color: #6c757d; - text-decoration: none; -} -.at_lacpsw .item_lacpsw { - background-position: 0 -158px; - padding-left: 19px; -} -.at_lacpsw .item_lacpsw:hover { - background-position: 0 -199px; - color: #37B201; -} -.actionUploadAttachment { - width: 136px; - padding: 5px 1px; - border: 1px solid #ccc; - background-color: #fff; - font-family: "5B8B\4F53"; - font-size: 12px; - line-height: 14px; - position: absolute; - left: 0; - z-index: 998; -} -.actionUploadAttachment .local_auatth a{ - background-position: 10px 9px; -} -.actionUploadAttachment a { - color: #666; - text-decoration: none; - padding: 8px 0 8px 30px; - text-align: left; - display: block; - background: url(ico_upload.gif) no-repeat; -} -.actionUploadAttachment .own_auatth a, .actionUploadAttachment .own_auatth ._tt_tasklist li .title_tttl, ._tt_tasklist li .actionUploadAttachment .own_auatth .title_tttl { - background-position: 10px -24px; -} -.actionUploadAttachment a:hover, .actionUploadAttachment ._tt_tasklist li .title_tttl:hover, ._tt_tasklist li .actionUploadAttachment .title_tttl:hover { - background-color: #f0efef; - color: #666; -} -.actionUploadAttachment .hover_local_auatth a, .actionUploadAttachment .hover_local_auatth ._tt_tasklist li .title_tttl, ._tt_tasklist li .actionUploadAttachment .hover_local_auatth .title_tttl { - background-color: #f0efef; - color: #666; -} -.local_auatth input { - position: absolute; - top: 0; - right: 0; - margin: 0; - opacity: 0; - -ms-filter: 'alpha(opacity=0)'; - font-size: 200px; - direction: ltr; - cursor: pointer; - width:150px; - height:50px; -} -.down_quna_cpsw { - padding-right: 12px; - background: url(ico_pub.gif) no-repeat right -318px; - display: inline-block; -} -.quna_cpsw { - margin-right: 10px; - color: #666; - vertical-align: middle; - cursor: pointer; - font: 12px/14px Verdana, '\5B8B\4F53', '\65B0\5B8B\4F53', sans-serif; -} - -.attachmentContainer { - text-align: left; - zoom: 1; - padding-top:8px; -} -.attachment_previewer{ - margin-right:20px; - float:left; - width:180px; - overflow:hidden -} -.attachmentviewbox p { - margin: 0 ; -} -.view_attvb { - padding: 10px 0; - font-size: 12px; - line-height: 22px; -} -.view_attvb span { - color: #aaa; - margin-left: 5px; -} -.ico_vattvb { - float: left; - margin-right: 10px; - min-height:50px; -} -.ico_name{ - height:25px; - overflow:hidden; -} -.left_ifed .img-avatar{ - width:35px; - height:35px; - border-radius: 50%; - line-height: 35px; -} -.right_ifed { - padding-left: 45px -} -.dateline_fed { - padding: 4px 5px 4px 27px; - font: 12px/14px Verdana, "\5B8B\4F53", "\65B0\5B8B\4F53", sans-serif; - background: url(lock_line.gif) no-repeat 0 0; - position: relative; - float: right -} -.left_ifed { - float: left; - position: absolute; - z-index: 1 -} -.text-muted a,.text-muted a{ - text-decoration: none; - color: var(--bs-primary); -} -.toname_wcpsw { - color: var(--bs-primary); -} -.appuser_sfed { - vertical-align: middle; - margin-left: 5px; - margin-right: 5px; -} -.item_afed{ - padding-bottom:10px; -} -.item_afed:hover { - border-radius: var(--radius) -} -.btn_amfed { - float: right; - display:none; -} -.main_fed:hover .btn_amfed { - display:inline-block -} -.btn_amfed li { - float: left; - display: inline; - margin-left: 10px; - line-height: 0 -} -.btn_amfed a ,.more_bacfed a ,.reply_bacfed a{ - line-height: 14px; - text-decoration: none; - color: #aaa; - font-size: 12px; -} -.btn_amfed a:hover{ - color: #409eff; -} -.btn_amfed i { - font-style: normal -} -.reply_bamfed a { - height: auto\0; -*height:auto -} -.reply_bamfed a i { - line-height: 12px; - cursor: pointer -} -.from_fed { - margin-left: 10px; - text-decoration: none; - color: #aaa -} -.comment_fed { - border-top: 1px solid #e1e1e1 -} -.comment_fed .pic_fed { - padding-left: 0; - padding-right: 0 -} -.comment_fed .file_fed { - padding-left: 0; - padding-right: 0 -} -.cmt_fed .linksrc_fed { - color: #145c98 -} -.cmt_fed .topicsrc_fed { - color: #145c98 -} -.cmt_fed .atsrc_fed { - color: #145c98 -} -.count_fed { - margin: 0 5px -} -.count_fed a { - color: #aaa; - text-decoration: none -} -.count_fed a:hover { - background-position: right -162px; - color: #145c98 -} -.txt_cfed { - padding: 5px 0; - line-height: 0 -} -.txt_cfed i { - width: 4px; - height: 14px; - margin-left: 4px; - background: url(ico_feed.png) no-repeat 0 -26px; - display: inline-block; - vertical-align: middle -} -.txt_cfed a:hover i { - background-position: 0 -51px -} -.txt_cfed .cur i { - background-position: -25px -26px -} -.txt_cfed .cur:hover i { - background-position: -25px -51px -} -.corner_lfed { - margin-top: -6px; - text-align: right; - _margin-top: -14px; - line-height: 0 -} -.corner_lfed span { - width: 11px; - height: 6px; - margin-right: 4px; - background: url(comment_triangle.gif) no-repeat bottom center; - display: inline-block -} -.item .list_fed { - padding-left: 50px -} -.cmt_fed { - padding-left: 50px -} -.item_cfed { - padding: 10px 0 10px 40px; - position: relative; - height: auto!important; - height: 30px; - min-height: 30px -} -.left_icfed { - width: 30px; - height: 30px; - position: absolute; - top: 8px; - left: 0; - overflow: hidden -} -.left_icfed .img-avatar{ - width: 30px; - height: 30px; - line-height: 30px; -} -.master_cfed ,.master_mfed{ - background: #f2f6fc; -} - -.dehua_mcfed { - font-weight: 700; - cursor: pointer -} -.dehua_mcfed:hover { - color: #2d83cf -} -.action_cfed ,.action_mfed{ - color: #6c757d; -} -.action_cfed .lock_fed { - margin-right: 2px -} -.btn_acfed { - float: right; - display: none -} -.btn_acfed li { - float: left; - display: inline; - height: 18px; - line-height: 18px; - margin-left: 10px -} -.hover_cmt_fed .btn_acfed { - display: inline -} -.who_cpsw { - padding: 3px 10px; -} -.who_cpsw span { - vertical-align: middle; -} -.pic_fed { - padding: 7px 0 0; - overflow: hidden -} -.pic_fed a, .pic_fed ._tt_tasklist li .title_tttl, ._tt_tasklist li .pic_fed .title_tttl { - text-decoration: none; -} -.img_pfed .txt_ipfed { - padding: 2px 5px; - border: 1px solid #aaa; - display: inline-block -} -.img_pfed .artZoom { - display: block; - border: solid 1px #d0d9da; - padding: 3px -} -.img_pfed .min_ipfed { - display: inline-block -} -.img_pfed .min_ipfed img { - max-width: 100%; - /*max-height: 80px*/ -} - -.name_pfed { - padding-top: 5px; - line-height: 20px -} -.kb_pfed { - color: #aaa; - padding-left: 5px -} -.file_fed { - padding: 10px 0 0 5px; - line-height: 20px -} -.file_fed a{ - text-decoration: none; -} -.imgfile_fed { - padding: 0 0 5px 10px -} -.ico_ffed { - float: left; - margin-right: 10px; - margin-top: 3px; - min-height:50px; -} -.name_ffed { - line-height: 20px; - word-break: break-all; - word-wrap: break-word -} -.kb_nffed { - padding-left: 5px -} -.file_ffed { - float: left; - margin-right: 10px; - margin-top: 3px -} -.down_ffed { - padding-top: 5px; - line-height: 14px -} -.imgfile_fed .down_ffed { - margin:0; -} -.down_ffed a{ - padding-top: 1px; - margin-right: 10px; - padding-bottom: 1px; - background: url(ico_feed.png) no-repeat 0 0; - display: inline-block; - font: 12px/14px Verdana, "\5B8B\4F53", "\65B0\5B8B\4F53", sans-serif -} -.down_ffed .btn_dffed { - padding-left: 13px; - background-position: 0 -115px -} -.down_ffed .btn_dffed:hover { - background-position: 0 -381px -} -.down_ffed .preview_dffed { - padding-left: 17px; - background-position: 0 -317px -} -.down_ffed .preview_dffed:hover { - background-position: 0 -349px -} -.down_ffed .save_dffed { - padding-left: 15px; - background-position: 0 -733px -} -.down_ffed .save_dffed:hover { - background-position: 0 -765px -} - - -.sllt { - padding: 4px; - border: 1px solid; - min-width: 60px; - border-color: #DDD; - background: #FEFEFE; - box-shadow: 1px 2px 2px rgba(0,0,0,0.3); - border-radius: var(--radius); -} -.sllt { padding: 5px !important; } -.sllt .sllt-wrap{ - width:100%; - height:100%; -} -.sllt td { padding: 6px; border: none; cursor: pointer; } -.sllt_p { *float: left; text-align: right; } - .sllt_p a { margin-right: 5px; font-size:12px;} -.sl_pv { margin-top: 5px; padding: 8px; background: #FAFAFA; border: 1px solid #CCC; } -.ie6 .slg, .ie7 .slg { width: expression(this.parentNode.offsetWidth); } \ No newline at end of file +@charset "utf-8";.atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:white;border:1px solid #DDD;border-radius:3px;box-shadow:0 0 5px rgba(0,0,0,0.1);min-width:120px;z-index:99999;}.atwho-view .img-avatar{width:24px;height:24px;line-height:20px;font-size:10px;}.atwho-view .cur{background:#428bca;color:white;}.atwho-view .cur small{color:white;}.atwho-view strong{color:#428bca;}.atwho-view .cur strong{color:white;font:bold;}.atwho-view ul{list-style:none;padding:0;margin:auto;}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid #DDD;cursor:pointer;}.atwho-view ul li img{max-height:24px;}.atwho-view small{font-size:smaller;color:#777;font-weight:normal;}.ui-artZoom{padding:0 10px 10px 10px;background:#f9f9f9;border:solid 1px #D0D9DA}.ui-artZoom img{-ms-interpolation-mode:bicubic}.ui-artZoom-toolbar{height:36px;line-height:26px;padding:5px 0}.ui-artZoom-buttons{display:inline-block;*display:inline;*zoom:1;height:26px;line-height:0;margin-right:5px;outline:0}.ui-artZoom-loading{color:gray;font-size:12px}.ui-artZoom-buttons a{display:inline-block;padding:5px 15px 5px 0;font:12px/1.11 "Microsoft Yahei",Tahoma,Arial,Helvetica,STHeiti;_font-family:Tahoma,Arial,Helvetica,STHeiti;-o-font-family:Tahoma,Arial;_font-size:12px;color:#3C3C3D;white-space:nowrap;overflow:visible;cursor:pointer;text-decoration:none;outline:0;position:relative;zoom:1;*display:inline;*vertical-align:middle}.ui-artZoom-buttons a:hover,.ui-artZoom-buttons ._tt_tasklist li .title_tttl:hover,._tt_tasklist li .ui-artZoom-buttons .title_tttl:hover{color:#2d83cf;text-decoration:none;background-position:0 -40px}.ui-artZoom-buttons a:active,.ui-artZoom-buttons ._tt_tasklist li .title_tttl:active,._tt_tasklist li .ui-artZoom-buttons .title_tttl:active{color:#2d83cf}.ui-artZoom-noLoad a.ui-artZoom-left,.ui-artZoom-noLoad ._tt_tasklist li .ui-artZoom-left.title_tttl,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-left.title_tttl,.ui-artZoom-noLoad a.ui-artZoom-right,.ui-artZoom-noLoad ._tt_tasklist li .ui-artZoom-right.title_tttl,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-right.title_tttl{color:#999;cursor:default}.ui-artZoom-ready .ui-artZoom-loading span{width:5px;overflow:hidden;visibility:hidden}a.ui-artZoom-left,._tt_tasklist li .ui-artZoom-left.title_tttl{margin-right:0;border-right:0}a.ui-artZoom-right,._tt_tasklist li .ui-artZoom-right.title_tttl{margin-right:0;margin-left:0}a.ui-artZoom-source,._tt_tasklist li .ui-artZoom-source.title_tttl{margin-left:0}a.ui-artZoom-left:active,._tt_tasklist li .ui-artZoom-left.title_tttl:active,a.ui-artZoom-right:active,._tt_tasklist li .ui-artZoom-right.title_tttl:active,a.ui-artZoom-source:active,._tt_tasklist li .ui-artZoom-source.title_tttl:active{top:0}.ui-artZoom-buttons a span,.ui-artZoom-buttons ._tt_tasklist li .title_tttl span,._tt_tasklist li .ui-artZoom-buttons .title_tttl span{display:inline-block;width:12px;height:12px;margin:auto 3px auto auto;position:relative;top:0;*top:0;background-image:url(icons.png);background-repeat:no-repeat;*font-size:0;vertical-align:middle}a.ui-artZoom-right span,._tt_tasklist li .ui-artZoom-right.title_tttl span,.ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-right span,.ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-right.title_tttl span,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-right.title_tttl span{background-position:0 -0}a.ui-artZoom-left span,._tt_tasklist li .ui-artZoom-left.title_tttl span,.ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-left span,.ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-left.title_tttl span,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-left.title_tttl span{background-position:-12px 0}a.ui-artZoom-hide span,._tt_tasklist li .ui-artZoom-hide.title_tttl span,.ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-hide span,.ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-hide.title_tttl span,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-hide.title_tttl span{background-position:-36px 0}a.ui-artZoom-source span,._tt_tasklist li .ui-artZoom-source.title_tttl span{background-position:-24px 0}a.ui-artZoom-right:hover span,._tt_tasklist li .ui-artZoom-right.title_tttl:hover span,a.ui-artZoom-right:active span,._tt_tasklist li .ui-artZoom-right.title_tttl:active span{background-position:0 -12px}a.ui-artZoom-left:hover span,._tt_tasklist li .ui-artZoom-left.title_tttl:hover span,a.ui-artZoom-left:active span,._tt_tasklist li .ui-artZoom-left.title_tttl:active span{background-position:-12px -12px}a.ui-artZoom-source:hover span,._tt_tasklist li .ui-artZoom-source.title_tttl:hover span,a.ui-artZoom-source:active span,._tt_tasklist li .ui-artZoom-source.title_tttl:active span{background-position:-24px -12px}a.ui-artZoom-hide:hover span,._tt_tasklist li .ui-artZoom-hide.title_tttl:hover span,a.ui-artZoom-hide:active span,._tt_tasklist li .ui-artZoom-hide.title_tttl:active span{background-position:-36px -12px}.ui-artZoom-show{background:transparent}.ui-artZoom-ready .ui-artZoom-photo{font-size:0;line-height:0}.ui-artZoom-box{line-height:0}.videoclass50_50{background:url(video50.png) center no-repeat;padding:3px 9px;width:68px;height:50px;margin:-3px -9px;}.comment-page .pagination{margin:10px 0;}.img_50_50{max-width:50px;max-height:50px;}* .img_50_50{width:expression(this.width > 50 && this.width>=this.height ? 50:true);height:expression(this.height > 50 && this.width<=this.height ? 50:true);}.publishsharewrap{position:relative;}.line_publishsharewrap textarea{height:25px}.line_publishsharewrap .count_cpsw{display:none}.count_cpsw{padding:3px 0;text-align:right;font-size:12px;line-height:14px;font-family:Verdana,Arial;color:#6c757d;}.count_cpsw span{margin:0;}.cur_num_input{color:#666;}.list_acpsw{float:left;padding-top:4px;padding-left:1px;margin:0;}.list_acpsw li{padding-bottom:1px;float:left;display:inline;margin-right:10px;font:12px/14px '\5B8B\4F53','\65B0\5B8B\4F53',sans-serif;line-height:20px;}.list_acpsw .item_lacpsw{background-image:url(ico_pub.gif);background-repeat:no-repeat;display:inline-block;text-align:left;overflow:hidden;color:#6c757d;text-decoration:none;}.ament_lacpsw .item_lacpsw{background-position:0 -78px;padding-left:12px;}.ament_lacpsw .item_lacpsw:hover{background-position:0 -119px;color:#0aa7da;}.emotion_lacpsw .item_lacpsw{background-position:0 -240px;padding-left:19px;}.emotion_lacpsw .item_lacpsw:hover{background-position:0 -279px;color:#C63;}.list_acpsw .item_lacpsw{background-image:url(ico_pub.gif);background-repeat:no-repeat;display:inline-block;text-align:left;overflow:hidden;color:#6c757d;text-decoration:none;}.at_lacpsw .item_lacpsw{background-position:0 -158px;padding-left:19px;}.at_lacpsw .item_lacpsw:hover{background-position:0 -199px;color:#37B201;}.actionUploadAttachment{width:136px;padding:5px 1px;border:1px solid #ccc;background-color:#fff;font-family:"5B8B\4F53";font-size:12px;line-height:14px;position:absolute;left:0;z-index:998;}.actionUploadAttachment .local_auatth a{background-position:10px 9px;}.actionUploadAttachment a{color:#666;text-decoration:none;padding:8px 0 8px 30px;text-align:left;display:block;background:url(ico_upload.gif) no-repeat;}.actionUploadAttachment .own_auatth a,.actionUploadAttachment .own_auatth ._tt_tasklist li .title_tttl,._tt_tasklist li .actionUploadAttachment .own_auatth .title_tttl{background-position:10px -24px;}.actionUploadAttachment a:hover,.actionUploadAttachment ._tt_tasklist li .title_tttl:hover,._tt_tasklist li .actionUploadAttachment .title_tttl:hover{background-color:#f0efef;color:#666;}.actionUploadAttachment .hover_local_auatth a,.actionUploadAttachment .hover_local_auatth ._tt_tasklist li .title_tttl,._tt_tasklist li .actionUploadAttachment .hover_local_auatth .title_tttl{background-color:#f0efef;color:#666;}.local_auatth input{position:absolute;top:0;right:0;margin:0;opacity:0;-ms-filter:'alpha(opacity=0)';font-size:200px;direction:ltr;cursor:pointer;width:150px;height:50px;}.down_quna_cpsw{padding-right:12px;background:url(ico_pub.gif) no-repeat right -318px;display:inline-block;}.quna_cpsw{margin-right:10px;color:#666;vertical-align:middle;cursor:pointer;font:12px/14px Verdana,'\5B8B\4F53','\65B0\5B8B\4F53',sans-serif;}.attachmentContainer{text-align:left;zoom:1;padding-top:8px;}.attachment_previewer{margin-right:20px;float:left;width:180px;overflow:hidden}.attachmentviewbox p{margin:0;}.view_attvb{padding:10px 0;font-size:12px;line-height:22px;}.view_attvb span{color:#aaa;margin-left:5px;}.ico_vattvb{float:left;margin-right:10px;min-height:50px;}.ico_name{height:25px;overflow:hidden;}.left_ifed .img-avatar{width:35px;height:35px;border-radius:50%;line-height:35px;}.right_ifed{padding-left:45px}.dateline_fed{padding:4px 5px 4px 27px;font:12px/14px Verdana,"\5B8B\4F53","\65B0\5B8B\4F53",sans-serif;background:url(lock_line.gif) no-repeat 0 0;position:relative;float:right}.left_ifed{float:left;position:absolute;z-index:1}.text-muted a,.text-muted a{text-decoration:none;color:var(--bs-primary);}.toname_wcpsw{color:var(--bs-primary);}.appuser_sfed{vertical-align:middle;margin-left:5px;margin-right:5px;}.item_afed{padding-bottom:10px;}.item_afed:hover{border-radius:var(--radius)}.btn_amfed{float:right;display:none;}.main_fed:hover .btn_amfed{display:inline-block}.btn_amfed li{float:left;display:inline;margin-left:10px;line-height:0}.btn_amfed a,.more_bacfed a,.reply_bacfed a{line-height:14px;text-decoration:none;color:#aaa;font-size:12px;}.btn_amfed a:hover{color:#409eff;}.btn_amfed i{font-style:normal}.reply_bamfed a{height:auto\0;*height:auto}.reply_bamfed a i{line-height:12px;cursor:pointer}.from_fed{margin-left:10px;text-decoration:none;color:#aaa}.comment_fed{border-top:1px solid #e1e1e1}.comment_fed .pic_fed{padding-left:0;padding-right:0}.comment_fed .file_fed{padding-left:0;padding-right:0}.cmt_fed .linksrc_fed{color:#145c98}.cmt_fed .topicsrc_fed{color:#145c98}.cmt_fed .atsrc_fed{color:#145c98}.count_fed{margin:0 5px}.count_fed a{color:#aaa;text-decoration:none}.count_fed a:hover{background-position:right -162px;color:#145c98}.txt_cfed{padding:5px 0;line-height:0}.txt_cfed i{width:4px;height:14px;margin-left:4px;background:url(ico_feed.png) no-repeat 0 -26px;display:inline-block;vertical-align:middle}.txt_cfed a:hover i{background-position:0 -51px}.txt_cfed .cur i{background-position:-25px -26px}.txt_cfed .cur:hover i{background-position:-25px -51px}.corner_lfed{margin-top:-6px;text-align:right;_margin-top:-14px;line-height:0}.corner_lfed span{width:11px;height:6px;margin-right:4px;background:url(comment_triangle.gif) no-repeat bottom center;display:inline-block}.item .list_fed{padding-left:50px}.cmt_fed{padding-left:50px}.item_cfed{padding:10px 0 10px 40px;position:relative;height:auto!important;height:30px;min-height:30px}.left_icfed{width:30px;height:30px;position:absolute;top:8px;left:0;overflow:hidden}.left_icfed .img-avatar{width:30px;height:30px;line-height:30px;}.master_cfed,.master_mfed{background:#f2f6fc;}.dehua_mcfed{font-weight:700;cursor:pointer}.dehua_mcfed:hover{color:#2d83cf}.action_cfed,.action_mfed{color:#6c757d;}.action_cfed .lock_fed{margin-right:2px}.btn_acfed{float:right;display:none}.btn_acfed li{float:left;display:inline;height:18px;line-height:18px;margin-left:10px}.hover_cmt_fed .btn_acfed{display:inline}.who_cpsw{padding:3px 10px;}.who_cpsw span{vertical-align:middle;}.pic_fed{padding:7px 0 0;overflow:hidden}.pic_fed a,.pic_fed ._tt_tasklist li .title_tttl,._tt_tasklist li .pic_fed .title_tttl{text-decoration:none;}.img_pfed .txt_ipfed{padding:2px 5px;border:1px solid #aaa;display:inline-block}.img_pfed .artZoom{display:block;border:solid 1px #d0d9da;padding:3px}.img_pfed .min_ipfed{display:inline-block}.img_pfed .min_ipfed img{max-width:100%;}.name_pfed{padding-top:5px;line-height:20px}.kb_pfed{color:#aaa;padding-left:5px}.file_fed{padding:10px 0 0 5px;line-height:20px}.file_fed a{text-decoration:none;}.imgfile_fed{padding:0 0 5px 10px}.ico_ffed{float:left;margin-right:10px;margin-top:3px;min-height:50px;}.name_ffed{line-height:20px;word-break:break-all;word-wrap:break-word}.kb_nffed{padding-left:5px}.file_ffed{float:left;margin-right:10px;margin-top:3px}.down_ffed{padding-top:5px;line-height:14px}.imgfile_fed .down_ffed{margin:0;}.down_ffed a{padding-top:1px;margin-right:10px;padding-bottom:1px;background:url(ico_feed.png) no-repeat 0 0;display:inline-block;font:12px/14px Verdana,"\5B8B\4F53","\65B0\5B8B\4F53",sans-serif}.down_ffed .btn_dffed{padding-left:13px;background-position:0 -115px}.down_ffed .btn_dffed:hover{background-position:0 -381px}.down_ffed .preview_dffed{padding-left:17px;background-position:0 -317px}.down_ffed .preview_dffed:hover{background-position:0 -349px}.down_ffed .save_dffed{padding-left:15px;background-position:0 -733px}.down_ffed .save_dffed:hover{background-position:0 -765px}.sllt{padding:4px;border:1px solid;min-width:60px;border-color:#DDD;background:#FEFEFE;box-shadow:1px 2px 2px rgba(0,0,0,0.3);border-radius:var(--radius);}.sllt{padding:5px !important;}.sllt .sllt-wrap{width:100%;height:100%;}.sllt td{padding:6px;border:none;cursor:pointer;}.sllt_p{*float:left;text-align:right;}.sllt_p a{margin-right:5px;font-size:12px;}.sl_pv{margin-top:5px;padding:8px;background:#FAFAFA;border:1px solid #CCC;}.ie6 .slg,.ie7 .slg{width:expression(this.parentNode.offsetWidth);} \ No newline at end of file diff --git a/dzz/comment/images/folder.css b/dzz/comment/images/folder.css index 8dff951..84f4501 100644 --- a/dzz/comment/images/folder.css +++ b/dzz/comment/images/folder.css @@ -1,57 +1 @@ - -.title .asc { - background: url(sort_asc.gif) no-repeat; - display: inline-block; - width: 13px; - height: 6px; - position: relative; - visibility: hidden; - _vertical-align: middle; - _margin: 15px 0; -} -.title .col:hover { - background-color: #F2F2F2; -} -.title .desc { - background: url(sort_desc.gif) no-repeat; -} -.item .icon { - max-width:24px; - max-height:24px; - margin-top:-2px; -} -.col1{ - float: left; - height: 51px; - line-height: 51px; - width: 10%; - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - display: flex; - align-content:center; - flex-wrap:wrap; -} -.item-block{ - background:rgba(var(--bs-primary-hover),0.1); -} -/*文件分享单页开始*/ -.sharepame-selected{ - display: inline-block; -} - -.breadcrumb{ - margin-bottom: 0px; - float: left; - padding-right: 100px; - border-bottom: none; - padding: 1.42rem 0px; -} -.breadcrumb>li+li:before{ - content: ""; -} -.breadcrumb li a span{ - padding-left: 5px; - padding-right: 5px; -} -/*文件分享单页结束*/ +.title .asc{background:url(sort_asc.gif) no-repeat;display:inline-block;width:13px;height:6px;position:relative;visibility:hidden;_vertical-align:middle;_margin:15px 0;}.title .col:hover{background-color:#F2F2F2;}.title .desc{background:url(sort_desc.gif) no-repeat;}.item .icon{max-width:24px;max-height:24px;margin-top:-2px;}.col1{float:left;height:51px;line-height:51px;width:10%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:flex;align-content:center;flex-wrap:wrap;}.item-block{background:rgba(var(--bs-primary-hover),0.1);}.sharepame-selected{display:inline-block;}.breadcrumb{margin-bottom:0px;float:left;padding-right:100px;border-bottom:none;padding:1.42rem 0px;}.breadcrumb>li+li:before{content:"";}.breadcrumb li a span{padding-left:5px;padding-right:5px;} \ No newline at end of file diff --git a/dzz/comment/images/jquery.artZoom.css b/dzz/comment/images/jquery.artZoom.css index 07535cd..2ff9391 100644 --- a/dzz/comment/images/jquery.artZoom.css +++ b/dzz/comment/images/jquery.artZoom.css @@ -1,120 +1 @@ -.ui-artZoom { - padding: 0 10px 10px 10px; - background: #f9f9f9; - border: solid 1px #D0D9DA -} -.ui-artZoom img { - -ms-interpolation-mode: bicubic -} -.ui-artZoom-toolbar { - height: 36px; - line-height: 26px; - padding: 5px 0 -} -.ui-artZoom-buttons { - display: inline-block; -*display:inline; -*zoom:1; - height: 26px; - line-height: 0; - margin-right: 5px; - outline: 0 -} -.ui-artZoom-loading { - color: gray; - font-size: 12px -} -.ui-artZoom-buttons a{ - display: inline-block; - padding: 5px 15px 5px 0; - font: 12px/1.11 "Microsoft Yahei", Tahoma, Arial, Helvetica, STHeiti; - _font-family: Tahoma, Arial, Helvetica, STHeiti; - -o-font-family: Tahoma, Arial; - _font-size: 12px; - color: #3C3C3D; - white-space: nowrap; - overflow: visible; - cursor: pointer; - text-decoration: none; - outline: 0; - position: relative; - zoom: 1; -*display:inline; -*vertical-align:middle -} -.ui-artZoom-buttons a:hover, .ui-artZoom-buttons ._tt_tasklist li .title_tttl:hover, ._tt_tasklist li .ui-artZoom-buttons .title_tttl:hover { - color: #2d83cf; - text-decoration: none; - background-position: 0 -40px -} -.ui-artZoom-buttons a:active, .ui-artZoom-buttons ._tt_tasklist li .title_tttl:active, ._tt_tasklist li .ui-artZoom-buttons .title_tttl:active { - color: #2d83cf -} -.ui-artZoom-noLoad a.ui-artZoom-left, .ui-artZoom-noLoad ._tt_tasklist li .ui-artZoom-left.title_tttl, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-left.title_tttl, .ui-artZoom-noLoad a.ui-artZoom-right, .ui-artZoom-noLoad ._tt_tasklist li .ui-artZoom-right.title_tttl, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-right.title_tttl { - color: #999; - cursor: default -} -.ui-artZoom-ready .ui-artZoom-loading span { - width: 5px; - overflow: hidden; - visibility: hidden -} -a.ui-artZoom-left, ._tt_tasklist li .ui-artZoom-left.title_tttl { - margin-right: 0; - border-right: 0 -} -a.ui-artZoom-right, ._tt_tasklist li .ui-artZoom-right.title_tttl { - margin-right: 0; - margin-left: 0 -} -a.ui-artZoom-source, ._tt_tasklist li .ui-artZoom-source.title_tttl { - margin-left: 0 -} -a.ui-artZoom-left:active, ._tt_tasklist li .ui-artZoom-left.title_tttl:active, a.ui-artZoom-right:active, ._tt_tasklist li .ui-artZoom-right.title_tttl:active, a.ui-artZoom-source:active, ._tt_tasklist li .ui-artZoom-source.title_tttl:active { - top: 0 -} -.ui-artZoom-buttons a span, .ui-artZoom-buttons ._tt_tasklist li .title_tttl span, ._tt_tasklist li .ui-artZoom-buttons .title_tttl span { - display: inline-block; - width: 12px; - height: 12px; - margin: auto 3px auto auto; - position: relative; - top: 0; -*top:0; - background-image: url(icons.png); - background-repeat: no-repeat; -*font-size:0; - vertical-align: middle -} -a.ui-artZoom-right span, ._tt_tasklist li .ui-artZoom-right.title_tttl span, .ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-right span, .ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-right.title_tttl span, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-right.title_tttl span { - background-position: 0 -0 -} -a.ui-artZoom-left span, ._tt_tasklist li .ui-artZoom-left.title_tttl span, .ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-left span, .ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-left.title_tttl span, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-left.title_tttl span { - background-position: -12px 0 -} -a.ui-artZoom-hide span, ._tt_tasklist li .ui-artZoom-hide.title_tttl span, .ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-hide span, .ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-hide.title_tttl span, ._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-hide.title_tttl span { - background-position: -36px 0 -} -a.ui-artZoom-source span, ._tt_tasklist li .ui-artZoom-source.title_tttl span { - background-position: -24px 0 -} -a.ui-artZoom-right:hover span, ._tt_tasklist li .ui-artZoom-right.title_tttl:hover span, a.ui-artZoom-right:active span, ._tt_tasklist li .ui-artZoom-right.title_tttl:active span { - background-position: 0 -12px -} -a.ui-artZoom-left:hover span, ._tt_tasklist li .ui-artZoom-left.title_tttl:hover span, a.ui-artZoom-left:active span, ._tt_tasklist li .ui-artZoom-left.title_tttl:active span { - background-position: -12px -12px -} -a.ui-artZoom-source:hover span, ._tt_tasklist li .ui-artZoom-source.title_tttl:hover span, a.ui-artZoom-source:active span, ._tt_tasklist li .ui-artZoom-source.title_tttl:active span { - background-position: -24px -12px -} -a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover span, a.ui-artZoom-hide:active span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:active span { - background-position: -36px -12px -} -.ui-artZoom-show { - background: transparent -} -.ui-artZoom-ready .ui-artZoom-photo { - font-size: 0; - line-height: 0 -} -.ui-artZoom-box{line-height:0} \ No newline at end of file +.ui-artZoom{padding:0 10px 10px 10px;background:#f9f9f9;border:solid 1px #D0D9DA}.ui-artZoom img{-ms-interpolation-mode:bicubic}.ui-artZoom-toolbar{height:36px;line-height:26px;padding:5px 0}.ui-artZoom-buttons{display:inline-block;*display:inline;*zoom:1;height:26px;line-height:0;margin-right:5px;outline:0}.ui-artZoom-loading{color:gray;font-size:12px}.ui-artZoom-buttons a{display:inline-block;padding:5px 15px 5px 0;font:12px/1.11 "Microsoft Yahei",Tahoma,Arial,Helvetica,STHeiti;_font-family:Tahoma,Arial,Helvetica,STHeiti;-o-font-family:Tahoma,Arial;_font-size:12px;color:#3C3C3D;white-space:nowrap;overflow:visible;cursor:pointer;text-decoration:none;outline:0;position:relative;zoom:1;*display:inline;*vertical-align:middle}.ui-artZoom-buttons a:hover,.ui-artZoom-buttons ._tt_tasklist li .title_tttl:hover,._tt_tasklist li .ui-artZoom-buttons .title_tttl:hover{color:#2d83cf;text-decoration:none;background-position:0 -40px}.ui-artZoom-buttons a:active,.ui-artZoom-buttons ._tt_tasklist li .title_tttl:active,._tt_tasklist li .ui-artZoom-buttons .title_tttl:active{color:#2d83cf}.ui-artZoom-noLoad a.ui-artZoom-left,.ui-artZoom-noLoad ._tt_tasklist li .ui-artZoom-left.title_tttl,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-left.title_tttl,.ui-artZoom-noLoad a.ui-artZoom-right,.ui-artZoom-noLoad ._tt_tasklist li .ui-artZoom-right.title_tttl,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-right.title_tttl{color:#999;cursor:default}.ui-artZoom-ready .ui-artZoom-loading span{width:5px;overflow:hidden;visibility:hidden}a.ui-artZoom-left,._tt_tasklist li .ui-artZoom-left.title_tttl{margin-right:0;border-right:0}a.ui-artZoom-right,._tt_tasklist li .ui-artZoom-right.title_tttl{margin-right:0;margin-left:0}a.ui-artZoom-source,._tt_tasklist li .ui-artZoom-source.title_tttl{margin-left:0}a.ui-artZoom-left:active,._tt_tasklist li .ui-artZoom-left.title_tttl:active,a.ui-artZoom-right:active,._tt_tasklist li .ui-artZoom-right.title_tttl:active,a.ui-artZoom-source:active,._tt_tasklist li .ui-artZoom-source.title_tttl:active{top:0}.ui-artZoom-buttons a span,.ui-artZoom-buttons ._tt_tasklist li .title_tttl span,._tt_tasklist li .ui-artZoom-buttons .title_tttl span{display:inline-block;width:12px;height:12px;margin:auto 3px auto auto;position:relative;top:0;*top:0;background-image:url(icons.png);background-repeat:no-repeat;*font-size:0;vertical-align:middle}a.ui-artZoom-right span,._tt_tasklist li .ui-artZoom-right.title_tttl span,.ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-right span,.ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-right.title_tttl span,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-right.title_tttl span{background-position:0 -0}a.ui-artZoom-left span,._tt_tasklist li .ui-artZoom-left.title_tttl span,.ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-left span,.ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-left.title_tttl span,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-left.title_tttl span{background-position:-12px 0}a.ui-artZoom-hide span,._tt_tasklist li .ui-artZoom-hide.title_tttl span,.ui-artZoom-noLoad .ui-artZoom-buttons a.ui-artZoom-hide span,.ui-artZoom-noLoad .ui-artZoom-buttons ._tt_tasklist li .ui-artZoom-hide.title_tttl span,._tt_tasklist li .ui-artZoom-noLoad .ui-artZoom-buttons .ui-artZoom-hide.title_tttl span{background-position:-36px 0}a.ui-artZoom-source span,._tt_tasklist li .ui-artZoom-source.title_tttl span{background-position:-24px 0}a.ui-artZoom-right:hover span,._tt_tasklist li .ui-artZoom-right.title_tttl:hover span,a.ui-artZoom-right:active span,._tt_tasklist li .ui-artZoom-right.title_tttl:active span{background-position:0 -12px}a.ui-artZoom-left:hover span,._tt_tasklist li .ui-artZoom-left.title_tttl:hover span,a.ui-artZoom-left:active span,._tt_tasklist li .ui-artZoom-left.title_tttl:active span{background-position:-12px -12px}a.ui-artZoom-source:hover span,._tt_tasklist li .ui-artZoom-source.title_tttl:hover span,a.ui-artZoom-source:active span,._tt_tasklist li .ui-artZoom-source.title_tttl:active span{background-position:-24px -12px}a.ui-artZoom-hide:hover span,._tt_tasklist li .ui-artZoom-hide.title_tttl:hover span,a.ui-artZoom-hide:active span,._tt_tasklist li .ui-artZoom-hide.title_tttl:active span{background-position:-36px -12px}.ui-artZoom-show{background:transparent}.ui-artZoom-ready .ui-artZoom-photo{font-size:0;line-height:0}.ui-artZoom-box{line-height:0} \ No newline at end of file diff --git a/dzz/comment/images/jquery.atwho.css b/dzz/comment/images/jquery.atwho.css index 8b3c16a..7548da9 100644 --- a/dzz/comment/images/jquery.atwho.css +++ b/dzz/comment/images/jquery.atwho.css @@ -1,48 +1 @@ -.atwho-view { - position:absolute; - top: 0; - left: 0; - display: none; - margin-top: 18px; - background: white; - border: 1px solid #DDD; - border-radius: 3px; - box-shadow: 0 0 5px rgba(0,0,0,0.1); - min-width: 120px; - z-index: 10; -} - -.atwho-view .cur { - background: #428bca; - color: white; -} -.atwho-view .cur small { - color: white; -} -.atwho-view strong { - color: #428bca; -} -.atwho-view .cur strong { - color: white; - font:bold; -} -.atwho-view ul { - /* width: 100px; */ - list-style:none; - padding:0; - margin:auto; -} -.atwho-view ul li { - display: block; - padding: 5px 10px; - border-bottom: 1px solid #DDD; - cursor: pointer; - /* border-top: 1px solid #C8C8C8; */ -} -.atwho-view small { - font-size: smaller; - color: #777; - font-weight: normal; -} - - +.atwho-view{position:absolute;top:0;left:0;display:none;margin-top:18px;background:white;border:1px solid #DDD;border-radius:3px;box-shadow:0 0 5px rgba(0,0,0,0.1);min-width:120px;z-index:10;}.atwho-view .cur{background:#428bca;color:white;}.atwho-view .cur small{color:white;}.atwho-view strong{color:#428bca;}.atwho-view .cur strong{color:white;font:bold;}.atwho-view ul{list-style:none;padding:0;margin:auto;}.atwho-view ul li{display:block;padding:5px 10px;border-bottom:1px solid #DDD;cursor:pointer;}.atwho-view small{font-size:smaller;color:#777;font-weight:normal;} \ No newline at end of file diff --git a/dzz/comment/scripts/comment.js b/dzz/comment/scripts/comment.js index 83b4007..5f74881 100644 --- a/dzz/comment/scripts/comment.js +++ b/dzz/comment/scripts/comment.js @@ -1,502 +1 @@ - -function feed_publish(arr,tid,targetid){ - -var html='' - html+=''; - if(targetid && jQuery('#'+targetid).length){ - var el=jQuery('#'+targetid+' > .card:first'); - if(el.length>0) el.before(html); - else jQuery('#'+targetid).html(html); - }else{ - var el=jQuery('#comment_container > .card:first'); - if(el.length>0) el.before(html); - else jQuery('#comment_container').html(html); - } - - jQuery('#comment_'+arr['cid']).slideDown(500); - jQuery('#message_'+tid).removeClass('writelock').removeClass('writein').val(''); - jQuery('#publish_submit_'+tid).removeAttr('disabled'); - jQuery('#message_'+tid).val(jQuery('#message_'+tid).attr('tip')); - jQuery('#message_'+tid).css({'height':25}); - jQuery('#attachmentViewBox_'+tid).empty(); - //location.hash='#comment_'+arr['cid']; - jQuery('#comment_'+arr['cid']+' img[data-original]').dzzthumb(); - try{ - callback_by_comment('comment_'+arr['cid'],'add'); - }catch(e){} - -} - -function feed_reply(arr){ - - var html=''; - html+='
'; - html+='
'; - html+=' '; - html+='

'; - html+=' '+arr['author']+''+' '+__lang.reply+' '+arr['dateline']+'

'; - if(arr['rpost']){ - html+=' '+arr['rpost']['author']+''; - } - html+=' '+arr['message']+' '; - html+='
'; - html+='
'; - for(var i in arr['attachs']){ - var attach=arr['attachs'][i]; - html+='
'; - if(attach.type=='image'){ - html+='
'; - html+='
'+attach['title']+'
'; - html+='
'; - html+='
'+attach['title']+'('+attach['filesize']+')'; - html+='

'; - if(attach.downloads>0){ - html+=' '+__lang.download+'('+attach['downloads']+__lang.degree+')'; - }else{ - html+=' '+__lang.download+''; - } - html+=' '+__lang.js_saved_my_documents+' '; - html+='

'; - html+='
'; -}else if(attach.type=='video'){ - html+='
'; - html+='
'+attach['title']+'
'; - html+='

'+attach['title']+'

'; - html+='

'; - html+=' '+__lang.preview+''; - // html+=' '+__lang.js_saved_my_documents+' '; - html+='

'; - html+='
'; -}else if(attach.type=='dzzdoc' || attach.type=='link'){ - html+='
'; - html+='
'+attach['title']+'
'; - html+='

'+attach['title']+'

'; - html+='

'; - html+=' '+__lang.preview+''; - html+='

'; -}else{ - html+='
'; - html+='
'+attach['title']+'
'; - html+='

'+attach['title']+'

'; - html+='

'; - if(attach.preview>0){ - html+=' '+__lang.preview+''; - } - if(attach.downloads>0){ - html+=' '+__lang.download+'('+attach['downloads']+__lang.degree+')'; - }else{ - html+=' '+__lang.download+''; - } - html+=' '+__lang.js_saved_my_documents+' '; - html+='

'; - html+='
'; - } - html+='
'; - -} - html+='
'; - html+='
'; - html+='
'; - html+=' '; - html+='
'; - html+='
'; - html+='
'; - html+='
'; - html+='
'; - if(!document.getElementById('reply_list_'+arr['pcid'])){ - var html1=''; - html1+='
'; - html1+='
'; - html1+='
'; - html1+='
'+html+'
'; - jQuery('#comment_reply_'+arr['pcid']).html(html1); - }else{ - jQuery('#reply_list_'+arr['pcid']).find('.cmt_fed:first').before(html); - } - jQuery('#comment_'+arr['cid']) - .on('mouseenter',function(){ - jQuery(this).addClass('hover_cmt_fed'); - }) - .on('mouseleave',function(){ - jQuery(this).removeClass('hover_cmt_fed'); - }); - var replysum=parseInt(jQuery('#comment_reply_'+arr['pcid']+' .txt_cfed .num_cfed').html()); - if(replysum>0) jQuery('#comment_reply_'+arr['pcid']+' .txt_cfed .num_cfed').html(replysum+1); - jQuery('#message_'+arr['pcid']).val(''); - jQuery('#pulish_submit_'+arr['pcid']).removeAttr('disabled'); - jQuery('#reply_publish_'+arr['pcid']).slideUp(500); - jQuery('#attachmentViewBox_'+arr['pcid']).empty(); - //location.hash=('#comment_'+arr['pcid']); - jQuery('#comment_'+arr['cid']+' img[data-original]').dzzthumb(); - -} -function getReplyForm(tid,pid,allowattach,allowat,allowsmiley){ - jQuery('#comment_container .card .publishsharewrap').hide(); - if(!document.getElementById('reply_publish_'+tid)){ - var el = jQuery('
').appendTo('#comment_'+tid); - ajaxget(DZZSCRIPT+'?mod=comment&op=ajax&do=getReplyForm&cid='+tid+'&allowattach='+allowattach+'&allowat='+allowat+'&allowsmiley='+allowsmiley,'reply_publish_'+tid,'reply_publish_'+tid,'','',function(){ - var el=jQuery('#reply_who_'+tid); - if(pid>0){ - el.find('.toname_wcpsw').html(jQuery('#comment_'+pid+' .avatar_mcfed').html()); - el.show(); - jQuery('#reply_pid_'+tid).val(pid); - }else{ - el.hide(); - jQuery('#reply_pid_'+tid).val('0'); - } - jQuery('#comment_'+tid+' textarea[name="message"]').val('').focus(); - jQuery('#message_'+tid).css('height',25); - }); - }else{ - var el=jQuery('#reply_who_'+tid); - if(pid>0){ - el.find('.toname_wcpsw').html(jQuery('#comment_'+pid+' .avatar_mcfed').html()); - el.show(); - jQuery('#reply_pid_'+tid).val(pid); - }else{ - el.hide(); - jQuery('#reply_pid_'+tid).val('0'); - } - jQuery('#reply_publish_'+tid).find('.publishsharewrap').show().end().slideDown(500); - jQuery('#comment_'+tid+' textarea[name="message"]').val('').focus(); - jQuery('#message_'+tid).css('height',25); - } - -} - -function feed_edit(cid,allowattach,allowat,allowsmiley){ - showWindow('publish_edit_'+cid,DZZSCRIPT+'?mod=comment&op=ajax&do=edit&cid='+cid+'&allowattach='+allowattach+'&allowat='+allowat+'&allowsmiley='+allowsmiley); -} -function feed_edit_finish(cid,allowattach,allowat,allowsmiley){ - jQuery.get(DZZSCRIPT+'?mod=comment&op=ajax&do=getcommentbycid&cid='+cid+'&allowattach='+allowattach+'&allowat='+allowat+'&allowsmiley='+allowsmiley,function(html){ - jQuery('#comment_'+cid).replaceWith(html); - - }); -} -function feed_delete(cid,domid,tid){ - var msg=''; - if(tid){ - msg=__lang.sure_want_delete_comment; - }else{ - msg=__lang.sure_want_delete_all_comment; - } - if(confirm(msg)){ - jQuery.getJSON(DZZSCRIPT+'?mod=comment&op=ajax&do=delete&cid='+cid,function(json){ - jQuery('#'+domid).slideUp(500,function(){ - jQuery(this).remove(); - if(tid ){ - var replysum=parseInt(jQuery('#comment_reply_'+tid+' .txt_cfed .num_cfed').html()); - if(replysum>0) jQuery('#comment_reply_'+tid+' .txt_cfed .num_cfed').html(replysum-1); - } - }); - try{ - callback_by_comment(domid,'delete'); - }catch(e){} - }); - } -} -function feed_addAttach(arr,el,tid){ - var html=''; - html+='
'; - html+='
'; - html+='
'; - if(arr['isimage']){ - html+='
'+arr['filename']+'
'; - }else{ - html+='
'+arr['filename']+'
'; - } - html+='
'; - html+='
'+arr['filename']+'
'; - html+=' '+__lang.del_adjunct+''; - //if(arr['aid - html+=' '; - html+=' '; - html+=' '; - html+=' '; - html+=' '; - html+='
'; - html+='
'; - html+='
'; - html+='
'; - - el.replaceWith(html); - check_attach_share_tid(tid); - //document.getElementById('attachmentViewBox_0').innerHTML+=html; - - //jQuery('#attachmentViewBox_0').html(html); -} -function feed_downAttach(qid){ - var url=DZZSCRIPT+'?mod=comment&op=down&qid='+qid; - if(BROWSER.ie){ - window.open(url); - }else{ - if(!window.frames['hidefram']) jQuery('').appendTo('body'); - window.frames['hideframe'].location=url; - } -} -function feed_attach_saveto(qid){ - var url=DZZSCRIPT+'?mod=comment&op=saveto&qid='+qid; - showWindow('saveto','index.php?mod=system&op=filewindow&type=2','get','0',function(fid,data){ - jQuery.post(url,{fid:fid},function(json){ - if(json.error){ - showmessage(json.error,'danger',3000,1); - }else{ - showmessage(__lang.savetosuccess+data.relativepath+json.filename,'success',3000,1); - } - },'json'); - }); - - -} -function feed_attach_preview(qid){ - var url=DZZSCRIPT+'?mod=comment&op=preview&qid='+qid; - if(!top._config) window.open(url); - else{ - if(!window.frames['hidefram']) jQuery('').appendTo('body'); - window.frames['hideframe'].location=url; - } -} -function feed_attach_del(qid){ - var url=DZZSCRIPT+'?mod=comment&op=delete&qid='+qid; - -} - -function check_attach_share_tid(tid){ - if(!tid) tid='0'; - var sum=jQuery('#attachmentViewBox_'+tid).find('.attachment_previewer').length; - var val=jQuery('#message_'+tid).val(); - var reg=/^__lang.share_the(\d+)__lang.js_a_file/ig; - if(sum<1){ - if(val!='') jQuery('#message_'+tid).val(val.replace(reg,'')); - }else{ - if(val=='' || val==jQuery('#message_'+tid).attr('tip')){ - jQuery('#message_'+tid).val(__lang.share_the+sum+__lang.js_a_file); - }else{ - jQuery('#message_'+tid).val(val.replace(reg,__lang.share_the+sum+__lang.js_a_file)); - } - } - check_publish_enable(tid); - jQuery('#message_'+tid).focus().caret('pos',document.getElementById('message_'+tid).value.length); - return sum; -} -function removeAttach(el,tid){ - el.slideUp(500,function(){jQuery(this).remove();check_attach_share_tid(tid);}); - -} - -//从桌面选择文件 -function uploadfrom_desktop(tid){ - if(!tid) tid='0'; - try{ - var openexts = { - attach:[__lang.typename_attach,["ATTACH","IMAGE","DOCUMENT","VIDEO","LINK","DZZDOC"],""], - image:[__lang.typename_image+"(*.jpg,*.jpeg,*.png,*.gif)",["IMAGE","JPG","JPEG","PNG","GIF"],""] - }; - var exts=JSON.stringify(openexts); - exts = exts.replace(/\"/g,'"'); - exts = exts.replace(/\(/g,'|'); - exts = exts.replace(/\)/g,'$'); - exts = encodeURIComponent(exts); - showWindow('openfile', 'index.php?mod=system&op=filewindow&handlekey=svaefile&mulitype=1&exts='+exts+'&callback=opencallback', 'get', '0',function(data){//只打开本地盘 - var datas=data; - - - for(var i in datas){ - var arr=datas[i]; - var html=''; - html+='
'; - html+='
'; - html+='
'; - html+='
'+arr['name']+'
'; - html+='
'; - html+='
'+arr['name']+'
'; - html+=' '+__lang.del_adjunct+''; - if(arr['type']=='image' || arr['type']=='attach' || arr['type']=='document'){ - html+=' '; - html+=' '; - html+=' '; - html+=' '; - }else{ - html+=' '; - html+=' '; - html+=' '; - html+=' '; - - } - html+=' '; - html+=' '; - - html+='
'; - html+='
'; - html+='
'; - html+='
'; - jQuery('#attachmentViewBox_'+tid).append(html); - check_attach_share_tid(tid); - } - }); - }catch(e){ - - } -} - -function check_publish_enable(tid){ - //统计字数 - if(!tid) tid='0'; - var str=document.getElementById('message_'+tid).value.replace(/[\r\n]/i,''); - var length=mb_strlen(str); - if(length>1000){ - length=1000-length; - } - document.getElementById('num_input_'+tid).innerHTML=length; - if(length>0 && length<1000){ - - jQuery('#publish_submit_'+tid).removeAttr('disabled','true'); - jQuery('#message_'+tid).addClass('writein'); - }else{ - jQuery('#publish_submit_'+tid).attr('disabled','true'); - jQuery('#message_'+tid).removeClass('writein'); - } -} - - - - - -(function($) { - - // jQuery plugin definition - $.fn.TextAreaExpander = function(minHeight, maxHeight) { - - var hCheck = !(BROWSER.ie || BROWSER.opera); - - // resize a textarea - function ResizeTextarea(e) { - - // event or initialize element?S - e = e.target || e; - - // find content length and box width - var vlen = e.value.length, ewidth = e.offsetWidth; - if (vlen != e.valLength || ewidth != e.boxWidth) { - - //if (hCheck && (vlen < e.valLength || ewidth != e.boxWidth)) e.style.height = ewidth+"px"; - var h = Math.max(e.expandMin, Math.min(e.scrollHeight, e.expandMax)); - - e.style.overflow = (e.scrollHeight > h ? "auto" : "hidden"); - e.style.height = h + "px"; - e.valLength = vlen; - e.boxWidth = ewidth; - } - - return true; - }; - - // initialize - this.each(function() { - - // is a textarea? - if (this.nodeName.toLowerCase() != "textarea") return; - // set height restrictions - var p = this.className.match(/expand(\d+)\-*(\d+)*/i); - this.expandMin = minHeight || (p ? parseInt('0'+p[1], 10) : 0); - this.expandMax = maxHeight || (p ? parseInt('0'+p[2], 10) : 99999); - - // initial resize - ResizeTextarea(this); - - // zero vertical padding and add events - if (!this.Initialized) { - this.Initialized = true; - //$(this).css("padding-top", 0).css("padding-bottom", 0); - $(this).bind("keyup", ResizeTextarea); - } - }); - - return this; - }; - -})(jQuery); \ No newline at end of file +function feed_publish(e,t,a){var i,d="";for(var s in d+='",a&&jQuery("#"+a).length)?(i=jQuery("#"+a+" > .card:first")).length>0?i.before(d):jQuery("#"+a).html(d):(i=jQuery("#comment_container > .card:first")).length>0?i.before(d):jQuery("#comment_container").html(d);jQuery("#comment_"+e.cid).slideDown(500),jQuery("#message_"+t).removeClass("writelock").removeClass("writein").val(""),jQuery("#publish_submit_"+t).removeAttr("disabled"),jQuery("#message_"+t).val(jQuery("#message_"+t).attr("tip")),jQuery("#message_"+t).css({height:25}),jQuery("#attachmentViewBox_"+t).empty(),jQuery("#comment_"+e.cid+" img[data-original]").dzzthumb();try{callback_by_comment("comment_"+e.cid,"add")}catch(e){}}function feed_reply(e){var t="";for(var a in t+='
',t+='
',t+=' ",t+='

',t+=' '+e.author+" "+__lang.reply+" "+e.dateline+'

',e.rpost&&(t+=' '+e.rpost.author+""),t+=' '+e.message+" ",t+="\t\t
",t+='\t
',e.attachs){var i=e.attachs[a];t+='\t\t
',"image"==i.type?(t+='\t\t
',t+='\t\t
'+i.title+'
',t+="\t\t
",t+='\t\t
'+i.title+'('+i.filesize+")",t+='\t\t\t

',i.downloads>0?t+='\t \t\t\t"+__lang.download+"("+i.downloads+__lang.degree+")":t+='\t \t\t\t"+__lang.download+"",t+='\t\t "+__lang.js_saved_my_documents+" ",t+="\t

",t+="\t
"):"video"==i.type?(t+='\t
',t+='
'+i.title+'
',t+='

'+i.title+"

",t+='

',t+='\t \t\t\t"+__lang.preview+"",t+="\t

",t+="\t
"):"dzzdoc"==i.type||"link"==i.type?(t+='\t
',t+='
'+i.title+'
',t+='

'+i.title+"

",t+='

',t+='\t \t\t\t"+__lang.preview+"",t+="\t

"):(t+='\t
',t+='
'+i.title+'
',t+='

'+i.title+"

",t+='

',i.preview>0&&(t+='\t \t\t\t"+__lang.preview+""),i.downloads>0?t+='\t \t\t\t"+__lang.download+"("+i.downloads+__lang.degree+")":t+='\t \t\t\t"+__lang.download+"",t+='\t\t "+__lang.js_saved_my_documents+" ",t+="\t

",t+="\t
"),t+="\t
"}if(t+="\t
",t+='
',t+='
',t+=" ",t+="
",t+="
",t+="
",t+="
",t+="
",document.getElementById("reply_list_"+e.pcid))jQuery("#reply_list_"+e.pcid).find(".cmt_fed:first").before(t);else{var d="";d+='
',d+='
',d+="
",d+='
'+t+"
",jQuery("#comment_reply_"+e.pcid).html(d)}jQuery("#comment_"+e.cid).on("mouseenter",function(){jQuery(this).addClass("hover_cmt_fed")}).on("mouseleave",function(){jQuery(this).removeClass("hover_cmt_fed")});var s=parseInt(jQuery("#comment_reply_"+e.pcid+" .txt_cfed .num_cfed").html());s>0&&jQuery("#comment_reply_"+e.pcid+" .txt_cfed .num_cfed").html(s+1),jQuery("#message_"+e.pcid).val(""),jQuery("#pulish_submit_"+e.pcid).removeAttr("disabled"),jQuery("#reply_publish_"+e.pcid).slideUp(500),jQuery("#attachmentViewBox_"+e.pcid).empty(),jQuery("#comment_"+e.cid+" img[data-original]").dzzthumb()}function getReplyForm(e,t,a,i,d){if(jQuery("#comment_container .card .publishsharewrap").hide(),document.getElementById("reply_publish_"+e)){s=jQuery("#reply_who_"+e);t>0?(s.find(".toname_wcpsw").html(jQuery("#comment_"+t+" .avatar_mcfed").html()),s.show(),jQuery("#reply_pid_"+e).val(t)):(s.hide(),jQuery("#reply_pid_"+e).val("0")),jQuery("#reply_publish_"+e).find(".publishsharewrap").show().end().slideDown(500),jQuery("#comment_"+e+' textarea[name="message"]').val("").focus(),jQuery("#message_"+e).css("height",25)}else{var s=jQuery('
').appendTo("#comment_"+e);ajaxget(DZZSCRIPT+"?mod=comment&op=ajax&do=getReplyForm&cid="+e+"&allowattach="+a+"&allowat="+i+"&allowsmiley="+d,"reply_publish_"+e,"reply_publish_"+e,"","",function(){var a=jQuery("#reply_who_"+e);t>0?(a.find(".toname_wcpsw").html(jQuery("#comment_"+t+" .avatar_mcfed").html()),a.show(),jQuery("#reply_pid_"+e).val(t)):(a.hide(),jQuery("#reply_pid_"+e).val("0")),jQuery("#comment_"+e+' textarea[name="message"]').val("").focus(),jQuery("#message_"+e).css("height",25)})}}function feed_edit(e,t,a,i){showWindow("publish_edit_"+e,DZZSCRIPT+"?mod=comment&op=ajax&do=edit&cid="+e+"&allowattach="+t+"&allowat="+a+"&allowsmiley="+i)}function feed_edit_finish(e,t,a,i){jQuery.get(DZZSCRIPT+"?mod=comment&op=ajax&do=getcommentbycid&cid="+e+"&allowattach="+t+"&allowat="+a+"&allowsmiley="+i,function(t){jQuery("#comment_"+e).replaceWith(t)})}function feed_delete(e,t,a){var i="";i=a?__lang.sure_want_delete_comment:__lang.sure_want_delete_all_comment,confirm(i)&&jQuery.getJSON(DZZSCRIPT+"?mod=comment&op=ajax&do=delete&cid="+e,function(e){jQuery("#"+t).slideUp(500,function(){if(jQuery(this).remove(),a){var e=parseInt(jQuery("#comment_reply_"+a+" .txt_cfed .num_cfed").html());e>0&&jQuery("#comment_reply_"+a+" .txt_cfed .num_cfed").html(e-1)}});try{callback_by_comment(t,"delete")}catch(e){}})}function feed_addAttach(e,t,a){var i="";i+='
',i+='
',i+='
',e.isimage?i+='
'+e.filename+'
':i+='
'+e.filename+'
',i+=' \t\t
',i+='
'+e.filename+"
",i+=' "+__lang.del_adjunct+"",i+=' ',i+=' ',i+=' ',i+=' ',i+=' ',i+="
",i+="
",i+="
",i+="
",t.replaceWith(i),check_attach_share_tid(a)}function feed_downAttach(e){var t=DZZSCRIPT+"?mod=comment&op=down&qid="+e;BROWSER.ie?window.open(t):(window.frames.hidefram||jQuery('').appendTo("body"),window.frames.hideframe.location=t)}function feed_attach_saveto(e){var t=DZZSCRIPT+"?mod=comment&op=saveto&qid="+e;showWindow("saveto","index.php?mod=system&op=filewindow&type=2","get","0",function(e,a){jQuery.post(t,{fid:e},function(e){e.error?showmessage(e.error,"danger",3e3,1):showmessage(__lang.savetosuccess+a.relativepath+e.filename,"success",3e3,1)},"json")})}function feed_attach_preview(e){var t=DZZSCRIPT+"?mod=comment&op=preview&qid="+e;top._config?(window.frames.hidefram||jQuery('').appendTo("body"),window.frames.hideframe.location=t):window.open(t)}function feed_attach_del(e){DZZSCRIPT}function check_attach_share_tid(e){e||(e="0");var t=jQuery("#attachmentViewBox_"+e).find(".attachment_previewer").length,a=jQuery("#message_"+e).val(),i=/^__lang.share_the(\d+)__lang.js_a_file/gi;return t<1?""!=a&&jQuery("#message_"+e).val(a.replace(i,"")):""==a||a==jQuery("#message_"+e).attr("tip")?jQuery("#message_"+e).val(__lang.share_the+t+__lang.js_a_file):jQuery("#message_"+e).val(a.replace(i,__lang.share_the+t+__lang.js_a_file)),check_publish_enable(e),jQuery("#message_"+e).focus().caret("pos",document.getElementById("message_"+e).value.length),t}function removeAttach(e,t){e.slideUp(500,function(){jQuery(this).remove(),check_attach_share_tid(t)})}function uploadfrom_desktop(e){e||(e="0");try{var t={attach:[__lang.typename_attach,["ATTACH","IMAGE","DOCUMENT","VIDEO","LINK","DZZDOC"],""],image:[__lang.typename_image+"(*.jpg,*.jpeg,*.png,*.gif)",["IMAGE","JPG","JPEG","PNG","GIF"],""]},a=JSON.stringify(t);a=(a=(a=a.replace(/\"/g,""")).replace(/\(/g,"|")).replace(/\)/g,"$"),a=encodeURIComponent(a),showWindow("openfile","index.php?mod=system&op=filewindow&handlekey=svaefile&mulitype=1&exts="+a+"&callback=opencallback","get","0",function(t){var a=t;for(var i in a){var d=a[i],s="";s+='
',s+='
',s+='
',s+='
'+d.name+'
',s+=' \t\t
',s+='
'+d.name+"
",s+=' "+__lang.del_adjunct+"","image"==d.type||"attach"==d.type||"document"==d.type?(s+=' ',s+=' ',s+=' ',s+=' '):(s+=' ',s+=' ',s+=' ',s+=' '),s+=' ',s+=' ',s+="
",s+="
",s+="
",s+="
",jQuery("#attachmentViewBox_"+e).append(s),check_attach_share_tid(e)}})}catch(e){}}function check_publish_enable(e){e||(e="0");var t=document.getElementById("message_"+e).value.replace(/[\r\n]/i,""),a=mb_strlen(t);a>1e3&&(a=1e3-a),document.getElementById("num_input_"+e).innerHTML=a,a>0&&a<1e3?(jQuery("#publish_submit_"+e).removeAttr("disabled","true"),jQuery("#message_"+e).addClass("writein")):(jQuery("#publish_submit_"+e).attr("disabled","true"),jQuery("#message_"+e).removeClass("writein"))}!function(e){e.fn.TextAreaExpander=function(t,a){BROWSER.ie||BROWSER.opera;function i(e){var t=(e=e.target||e).value.length,a=e.offsetWidth;if(t!=e.valLength||a!=e.boxWidth){var i=Math.max(e.expandMin,Math.min(e.scrollHeight,e.expandMax));e.style.overflow=e.scrollHeight>i?"auto":"hidden",e.style.height=i+"px",e.valLength=t,e.boxWidth=a}return!0}return this.each(function(){if("textarea"==this.nodeName.toLowerCase()){var d=this.className.match(/expand(\d+)\-*(\d+)*/i);this.expandMin=t||(d?parseInt("0"+d[1],10):0),this.expandMax=a||(d?parseInt("0"+d[2],10):99999),i(this),this.Initialized||(this.Initialized=!0,e(this).bind("keyup",i))}}),this}}(jQuery); \ No newline at end of file diff --git a/dzz/dzzvote/images/datepicker.css b/dzz/dzzvote/images/datepicker.css index 909b8ea..247b198 100644 --- a/dzz/dzzvote/images/datepicker.css +++ b/dzz/dzzvote/images/datepicker.css @@ -1,66 +1 @@ -.ui-datepicker{width:17em;padding:.2em .2em 0;display:none} -.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0} -.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em} -.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px} -.ui-datepicker .ui-datepicker-prev{left:2px} -.ui-datepicker .ui-datepicker-next{right:2px} -.ui-datepicker .ui-datepicker-prev-hover{left:1px} -.ui-datepicker .ui-datepicker-next-hover{right:1px} -.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px} -.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center} -.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0} -.ui-datepicker select.ui-datepicker-month-year{width:100%} -.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%} -.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em} -.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0} -.ui-datepicker td{border:0;padding:1px} -.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none} -.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0} -.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible} -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left} -.ui-datepicker.ui-datepicker-multi{width:auto} -.ui-datepicker-multi .ui-datepicker-group{float:left} -.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em} -.ui-datepicker-multi-2 .ui-datepicker-group{width:50%} -.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%} -.ui-datepicker-multi-4 .ui-datepicker-group{width:25%} -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0} -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0} -.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left} -.ui-datepicker-row-break{clear:both;width:100%;font-size:0} -.ui-datepicker-rtl{direction:rtl} -.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto} -.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto} -.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto} -.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto} -.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right} -.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left} -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right} -.ui-datepicker-rtl .ui-datepicker-group{float:right} -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px} -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px} -.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px;} - -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{ - border: 1px solid #d3d3d3; -background: #e6e6e6; -font-weight: normal; -color: #555; -} -.ui-datepicker{padding:10px;border:1px solid #CCC;box-shadow:0px 2px 5px #CCC} -.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:40%} -.ui-widget-header{border:0;background:none} -.ui-widget-header .ui-icon{background:none} -.ui-state-hover.ui-datepicker-prev-hover{background:none} -.ui-state-hover.ui-datepicker-next-hover{background:none} -.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px;color:#428bca;cursor:pointer;border-radius:0;padding:8px 10px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;color:#666;text-align:center} -.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev:active,.ui-datepicker .ui-datepicker-next:active,.ui-datepicker .ui-datepicker-prev[disabled],.ui-datepicker .ui-datepicker-next[disabled],fieldset[disabled] .ui-datepicker .ui-datepicker-prev,fieldset[disabled] .ui-datepicker .ui-datepicker-next{background-color:transparent;-webkit-box-shadow:none;box-shadow:none} -.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev:focus,.ui-datepicker .ui-datepicker-next:focus,.ui-datepicker .ui-datepicker-prev:active,.ui-datepicker .ui-datepicker-next:active{border-color:transparent} -.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev:focus,.ui-datepicker .ui-datepicker-next:focus{color:#2a6496;text-decoration:none;background-color:transparent} -.ui-datepicker .ui-datepicker-prev[disabled]:hover,.ui-datepicker .ui-datepicker-next[disabled]:hover,fieldset[disabled] .ui-datepicker .ui-datepicker-prev:hover,fieldset[disabled] .ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev[disabled]:focus,.ui-datepicker .ui-datepicker-next[disabled]:focus,fieldset[disabled] .ui-datepicker .ui-datepicker-prev:focus,fieldset[disabled] .ui-datepicker .ui-datepicker-next:focus{color:#999;text-decoration:none} -/*.ui-datepicker .ui-datepicker-prev:before,.ui-datepicker .ui-datepicker-next:before{content:"\f053"} -.ui-datepicker .ui-datepicker-next:before{content:"\f054"}*/ -.ui-widget-content{border:0;background:#fbfbfb} -.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border-color:#e1e1e1;background:none} -.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#fcf8e3} -.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{color:#fff;background-color:#006dcc} \ No newline at end of file +.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month-year{width:100%}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right}.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px;}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:#e6e6e6;font-weight:normal;color:#555;}.ui-datepicker{padding:10px;border:1px solid #CCC;box-shadow:0px 2px 5px #CCC}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:40%}.ui-widget-header{border:0;background:none}.ui-widget-header .ui-icon{background:none}.ui-state-hover.ui-datepicker-prev-hover{background:none}.ui-state-hover.ui-datepicker-next-hover{background:none}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px;color:#428bca;cursor:pointer;border-radius:0;padding:8px 10px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;color:#666;text-align:center}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev:active,.ui-datepicker .ui-datepicker-next:active,.ui-datepicker .ui-datepicker-prev[disabled],.ui-datepicker .ui-datepicker-next[disabled],fieldset[disabled] .ui-datepicker .ui-datepicker-prev,fieldset[disabled] .ui-datepicker .ui-datepicker-next{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev:focus,.ui-datepicker .ui-datepicker-next:focus,.ui-datepicker .ui-datepicker-prev:active,.ui-datepicker .ui-datepicker-next:active{border-color:transparent}.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev:focus,.ui-datepicker .ui-datepicker-next:focus{color:#2a6496;text-decoration:none;background-color:transparent}.ui-datepicker .ui-datepicker-prev[disabled]:hover,.ui-datepicker .ui-datepicker-next[disabled]:hover,fieldset[disabled] .ui-datepicker .ui-datepicker-prev:hover,fieldset[disabled] .ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev[disabled]:focus,.ui-datepicker .ui-datepicker-next[disabled]:focus,fieldset[disabled] .ui-datepicker .ui-datepicker-prev:focus,fieldset[disabled] .ui-datepicker .ui-datepicker-next:focus{color:#999;text-decoration:none}.ui-widget-content{border:0;background:#fbfbfb}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border-color:#e1e1e1;background:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#fcf8e3}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{color:#fff;background-color:#006dcc} \ No newline at end of file diff --git a/dzz/dzzvote/images/vote.css b/dzz/dzzvote/images/vote.css index 1fa7b13..f3ca09f 100644 --- a/dzz/dzzvote/images/vote.css +++ b/dzz/dzzvote/images/vote.css @@ -1,185 +1 @@ -@charset "utf-8"; -.dzzvote{ - padding:20px; - background-color: #f7f7f7; - border:1px solid #e7e7e7; - border-radius:5px; - box-shadow:inset 0 1px 1px #ffffff; - word-break:break-all -} -.dzzvote-container .nav-tabs li a{ - margin:0; -} -.dzzvote-container .tab-content{ - background:#FFF; - border-width:0 1px 1px 1px; - border-color:#DDD; - border-style:solid; - border-radius: var(--radius); -} - -.dzzvote-post-item-container { - -} -.dzzvote-post-image-item{ - height:175px; - float:left; - padding:10px; - position:relative; -} -.dzzvote-post-image-item .ibtn{ - display:none; -} -.dzzvote-post-image-item:hover .ibtn{ - display:block; -} -.dzzvote-post-image-item .thumbnail { - max-height:100%; - max-width: 100px; - float:left; - margin:0; -} -.dzzvote-post-image-item .thumbnail img { - max-height:100px; - max-width: 100px; -} -.dzzvote-post-image-item .thumbnail .caption { - max-width:200px; - padding:9px 9px 0 9px; -} -.dzzvote .dzzvote-header{ - padding:5px 0 15px 0; - border-bottom:1px solid #e7e7e7; -} -.dzzvote-header-plate{ - -webkit-border-radius: 4px; - -moz-border-radius: 4px; - border-radius: 4px; - -webkit-box-shadow: 0 1px 1px rgba(88, 88, 92, .3); - -moz-box-shadow: 0 1px 1px rgba(88, 88, 92, .3); - box-shadow: 0 1px 1px rgba(88, 88, 92, .3); - min-width: 60px; - height: 60px; - border: 1px solid #EBEFF6; - text-align: center; - margin-right:10px; -} -.dzzvote-header-plate span { - border-top-left-radius: 4px; - border-top-right-radius: 4px; - background-color: #3497DB; - font-size: 10px; - color: #FFF; - display: block; - -} -.dzzvote-header-plate em { - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - font-style: normal; - font-size: 20px; - padding:0 5px; - line-height: 2; - -} - -.dzzvote-header-body{ - padding-left: 75px; - padding-top:3px; - -} -.dzzvote-subject{ - font-size:24px; - font-weight:600; - -} -.dzzvote .dzzvote-body{ - padding:20px 0; - word-break:break-all -} -.dzzvote .dzzvote-body .radio,.dzzvote .dzzvote-body .checkbox{ - margin:0; -} -.dzzvote .dzzvote-body .progress{ - border:1px solid #e7e7e7; - background:#FBFBFB; - box-shadow:none; - - -} - -.dzzvote-user{ - margin-top:15px; - border-top:1px solid #e7e7e7; -} -.dzzvote-user .user-item-container{ - border-top:1px solid #FFF; - padding:10px 0 0; - margin:0; -} - -.dzzvote-image-body .dzzvote-image-item{ - height: 170px; - float: left; - padding: 10px; - position: relative; -} -.dzzvote-image-body .dzzvote-image-item.hasprogress{ - height: 195px; - float: left; - padding: 10px; - position: relative; - overflow:hidden; -} -.dzzvote-image-body .dzzvote-image-item .thumbnail { - max-height: 100%; - float: left; - margin: 0; -} -.dzzvote-image-body .dzzvote-image-item .ibtn{ - display:none; - -} -.dzzvote-image-body .dzzvote-image-item:hover .ibtn{ - display:block; - background:#F7F7F7; - color:#428bca -} -.dzzvote-image-body .dzzvote-image-item.active .thumbnail{ - border:1px solid #428bca -} -.dzzvote-image-body .dzzvote-image-item.active .ibtn{ - display:block; - background:#428bca; - color:#FFF; - opacity: 1; -} -.dzzvote-image-item .thumbnail .caption { - max-width: 178px; - padding: 9px 9px 0 9px; -} -.ie8 .dzzvote-image-item .thumbnail .caption { - max-width: 158px; - padding: 9px 9px 0 9px; -} -.dzzvote-image-item .thumbnail img { - max-height: 100px; -} - -.dzzvote-image-body .progress{ - margin-bottom:10px; -} -.dzzvote-body .progress{ - margin-bottom:0; -} -.dzzvote-image-body .content{ - overflow:hidden; - line-height:30px; - height:30px; -} -/*end 前台显示部分*/ - -.vote-user-item{ - height:35px; - overflow:hidden; -} \ No newline at end of file +@charset "utf-8";.dzzvote{padding:20px;background-color:#f7f7f7;border:1px solid #e7e7e7;border-radius:5px;box-shadow:inset 0 1px 1px #ffffff;word-break:break-all}.dzzvote-container .nav-tabs li a{margin:0;}.dzzvote-container .tab-content{background:#FFF;border-width:0 1px 1px 1px;border-color:#DDD;border-style:solid;border-radius:var(--radius);}.dzzvote-post-item-container{}.dzzvote-post-image-item{height:175px;float:left;padding:10px;position:relative;}.dzzvote-post-image-item .ibtn{display:none;}.dzzvote-post-image-item:hover .ibtn{display:block;}.dzzvote-post-image-item .thumbnail{max-height:100%;max-width:100px;float:left;margin:0;}.dzzvote-post-image-item .thumbnail img{max-height:100px;max-width:100px;}.dzzvote-post-image-item .thumbnail .caption{max-width:200px;padding:9px 9px 0 9px;}.dzzvote .dzzvote-header{padding:5px 0 15px 0;border-bottom:1px solid #e7e7e7;}.dzzvote-header-plate{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(88,88,92,.3);-moz-box-shadow:0 1px 1px rgba(88,88,92,.3);box-shadow:0 1px 1px rgba(88,88,92,.3);min-width:60px;height:60px;border:1px solid #EBEFF6;text-align:center;margin-right:10px;}.dzzvote-header-plate span{border-top-left-radius:4px;border-top-right-radius:4px;background-color:#3497DB;font-size:10px;color:#FFF;display:block;}.dzzvote-header-plate em{border-bottom-left-radius:4px;border-bottom-right-radius:4px;font-style:normal;font-size:20px;padding:0 5px;line-height:2;}.dzzvote-header-body{padding-left:75px;padding-top:3px;}.dzzvote-subject{font-size:24px;font-weight:600;}.dzzvote .dzzvote-body{padding:20px 0;word-break:break-all}.dzzvote .dzzvote-body .radio,.dzzvote .dzzvote-body .checkbox{margin:0;}.dzzvote .dzzvote-body .progress{border:1px solid #e7e7e7;background:#FBFBFB;box-shadow:none;}.dzzvote-user{margin-top:15px;border-top:1px solid #e7e7e7;}.dzzvote-user .user-item-container{border-top:1px solid #FFF;padding:10px 0 0;margin:0;}.dzzvote-image-body .dzzvote-image-item{height:170px;float:left;padding:10px;position:relative;}.dzzvote-image-body .dzzvote-image-item.hasprogress{height:195px;float:left;padding:10px;position:relative;overflow:hidden;}.dzzvote-image-body .dzzvote-image-item .thumbnail{max-height:100%;float:left;margin:0;}.dzzvote-image-body .dzzvote-image-item .ibtn{display:none;}.dzzvote-image-body .dzzvote-image-item:hover .ibtn{display:block;background:#F7F7F7;color:#428bca}.dzzvote-image-body .dzzvote-image-item.active .thumbnail{border:1px solid #428bca}.dzzvote-image-body .dzzvote-image-item.active .ibtn{display:block;background:#428bca;color:#FFF;opacity:1;}.dzzvote-image-item .thumbnail .caption{max-width:178px;padding:9px 9px 0 9px;}.ie8 .dzzvote-image-item .thumbnail .caption{max-width:158px;padding:9px 9px 0 9px;}.dzzvote-image-item .thumbnail img{max-height:100px;}.dzzvote-image-body .progress{margin-bottom:10px;}.dzzvote-body .progress{margin-bottom:0;}.dzzvote-image-body .content{overflow:hidden;line-height:30px;height:30px;}.vote-user-item{height:35px;overflow:hidden;} \ No newline at end of file diff --git a/dzz/dzzvote/scripts/jquery.dzzvote.js b/dzz/dzzvote/scripts/jquery.dzzvote.js index 0b356c5..8ca39bd 100644 --- a/dzz/dzzvote/scripts/jquery.dzzvote.js +++ b/dzz/dzzvote/scripts/jquery.dzzvote.js @@ -5,70 +5,4 @@ * @link http://www.dzzoffice.com * @author zyx(zyx@dzz.cc) */ -(function($) -{ - //左右分栏时,调用此,可以实现点击隐藏左侧分栏,拖动改变左侧分栏的宽度 - $.fn.dzzvote = function(options) - { - var opt={ ajaxurl:DZZSCRIPT+'?mod=dzzvote&op=ajax', - //uploadurl:null, - voteid:'', - } - options=$.extend(opt,options); - var container=$(this); - var $this=$(this); - var tmpl='
'; - tmpl+=' '; - tmpl+=' '; - tmpl+=' '; - tmpl+=' '; - tmpl+='
'; - var item_refresh=function(){ - container.find('#dzzvote_post_text_'+options['voteid']+' .dzzvote-post-item-container .badge').each(function(index){ - this.innerHTML=index+1; - }); - dzzvote_maxselect_num(); - } - var dzzvote_maxselect_num=function(){ - var val=parseInt(jQuery('#dzzvote_maxselect_num_'+options['voteid']+'').val()); - if(jQuery('#dzzvotetype_'+options['voteid']).val()>1){ - var sum=container.find('.dzzvote-post-image-item').length; - }else{ - var sum=container.find('.dzzvote-post-text-item').length; - } - var option=''; - for(var i=1 ;i<=sum; i++){ - if(i==val){ - option+=''; - }else{ - option+=''; - } - } - jQuery('#dzzvote_maxselect_num_'+options['voteid']+'').html(option); - } - var item_add=function(){ - - jQuery(tmpl).appendTo('#dzzvote_post_text_'+options['voteid']+' .dzzvote-post-item-container'); - item_refresh(); - } - var item_delete=function(){ - if($(this).data('itemid')>0){ - var self=this; - $.getJSON(options.ajaxurl+'&do=itemdelete&itemid='+$(this).data('itemid'),function(json){ - jQuery(self).closest('.dzzvote-post-image-item,.dzzvote-post-text-item').remove(); - item_refresh(); - }); - - }else{ - jQuery(this).closest('.dzzvote-post-image-item,.dzzvote-post-text-item').remove(); - item_refresh(); - } - } - var init=function(){ - container.on('click.dzzvote','.dzzvote-post-additem',item_add); - container.on('click.dzzvote','.dzzvote-post-delitem',item_delete); - } - init(); - } - -})(jQuery); +!function(t){t.fn.dzzvote=function(e){var o={ajaxurl:DZZSCRIPT+"?mod=dzzvote&op=ajax",voteid:""};e=t.extend(o,e);var i=t(this);t(this);var n=function(){i.find("#dzzvote_post_text_"+e.voteid+" .dzzvote-post-item-container .badge").each(function(t){this.innerHTML=t+1}),a()},a=function(){var t=parseInt(jQuery("#dzzvote_maxselect_num_"+e.voteid).val());if(jQuery("#dzzvotetype_"+e.voteid).val()>1)var o=i.find(".dzzvote-post-image-item").length;else o=i.find(".dzzvote-post-text-item").length;for(var n="",a=1;a<=o;a++)n+=a==t?'":'";jQuery("#dzzvote_maxselect_num_"+e.voteid).html(n)},d=function(){jQuery('
').appendTo("#dzzvote_post_text_"+e.voteid+" .dzzvote-post-item-container"),n()},s=function(){if(t(this).data("itemid")>0){var o=this;t.getJSON(e.ajaxurl+"&do=itemdelete&itemid="+t(this).data("itemid"),function(t){jQuery(o).closest(".dzzvote-post-image-item,.dzzvote-post-text-item").remove(),n()})}else jQuery(this).closest(".dzzvote-post-image-item,.dzzvote-post-text-item").remove(),n()};i.on("click.dzzvote",".dzzvote-post-additem",d),i.on("click.dzzvote",".dzzvote-post-delitem",s)}}(jQuery); \ No newline at end of file diff --git a/dzz/index/images/main.css b/dzz/index/images/main.css index 581074c..47c0ce9 100644 --- a/dzz/index/images/main.css +++ b/dzz/index/images/main.css @@ -1,78 +1 @@ -@charset "utf-8"; -/* CSS Document */ -.site-logo>img{ - max-height:30px; -} -.site-name{ - line-height: 30px; - padding-left:10px; -} -@media (max-width: 260px) { - .site-name{ - display: none -} -} -.bs-main-container{ - background: none; - background-size: cover; - box-shadow:none; -} -.main-content{ - padding:0; - height:100%; - width: 100%; - display:table; -} -.popup-index { - margin: 0; - padding: 0; - display:table-cell; - vertical-align: middle; - text-align: center; -} -.popup-index>li{ - margin:5px; -} -.popup-index>li .app-popup-li{ - padding: 10px; - background-color: rgba(255,255,255,0.55); -} - -.popup-index>li.ui-sortable-helper{ - border:1px solid transparent; - opacity: 0.6; -} -.popup-index>li.ui-state-default{ - display: inline-block; - border:1px solid #e1e1e1; - height:170px; - width:170px; - margin:-16px 30px; -} - -.popup-index>li .app-popup-li img { - display: inline-block; - vertical-align: top; - height: 100px; - width: 100px; -} -.popup-index>.popup-index-li:hover{ - border:1px solid transparent; - -} -.popup-index>li .app-popup-li:hover img { - opacity: 0.85; - transform: scale(1.01); -} - -.popup-index>li .app-popup-li .app-popup-li-appname { - margin: 0; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - width: 158px; - padding: 0 5px; - line-height: 30px; - font-size: 18px; - color: #333333; -} \ No newline at end of file +@charset "utf-8";.site-logo>img{max-height:30px;}.site-name{line-height:30px;padding-left:10px;}@media (max-width:260px){.site-name{display:none}}.bs-main-container{background:none;background-size:cover;box-shadow:none;}.main-content{padding:0;height:100%;width:100%;display:table;}.popup-index{margin:0;padding:0;display:table-cell;vertical-align:middle;text-align:center;}.popup-index>li{margin:5px;}.popup-index>li .app-popup-li{padding:10px;background-color:rgba(255,255,255,0.55);}.popup-index>li.ui-sortable-helper{border:1px solid transparent;opacity:0.6;}.popup-index>li.ui-state-default{display:inline-block;border:1px solid #e1e1e1;height:170px;width:170px;margin:-16px 30px;}.popup-index>li .app-popup-li img{display:inline-block;vertical-align:top;height:100px;width:100px;}.popup-index>.popup-index-li:hover{border:1px solid transparent;}.popup-index>li .app-popup-li:hover img{opacity:0.85;transform:scale(1.01);}.popup-index>li .app-popup-li .app-popup-li-appname{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:158px;padding:0 5px;line-height:30px;font-size:18px;color:#333333;} \ No newline at end of file diff --git a/dzz/index/scripts/jquery-ui.js b/dzz/index/scripts/jquery-ui.js index 31ee9cd..7dc679d 100644 --- a/dzz/index/scripts/jquery-ui.js +++ b/dzz/index/scripts/jquery-ui.js @@ -2,18 +2,7 @@ * http://jqueryui.com * Includes: core.js, widget.js, mouse.js, position.js, accordion.js, autocomplete.js, button.js, datepicker.js, dialog.js, draggable.js, droppable.js, effect.js, effect-blind.js, effect-bounce.js, effect-clip.js, effect-drop.js, effect-explode.js, effect-fade.js, effect-fold.js, effect-highlight.js, effect-puff.js, effect-pulsate.js, effect-scale.js, effect-shake.js, effect-size.js, effect-slide.js, effect-transfer.js, menu.js, progressbar.js, resizable.js, selectable.js, selectmenu.js, slider.js, sortable.js, spinner.js, tabs.js, tooltip.js * Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ - -(function( factory ) { - if ( typeof define === "function" && define.amd ) { - - // AMD. Register as an anonymous module. - define([ "jquery" ], factory ); - } else { - - // Browser globals - factory( jQuery ); - } -}(function( $ ) { +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){var e,i,s,n;function o(e,i){var s,n,o,r=e.nodeName.toLowerCase();return"area"===r?(n=(s=e.parentNode).name,!(!e.href||!n||"map"!==s.nodeName.toLowerCase())&&(!!(o=t("img[usemap='#"+n+"']")[0])&&a(o))):(/^(input|select|textarea|button|object)$/.test(r)?!e.disabled:"a"===r&&e.href||i)&&a(e)}function a(e){return t.expr.filters.visible(e)&&!t(e).parents().addBack().filter(function(){return"hidden"===t.css(this,"visibility")}).length} /*! * jQuery UI Core 1.11.4 * http://jqueryui.com @@ -24,290 +13,7 @@ * * http://api.jqueryui.com/category/ui-core/ */ - - -// $.ui might exist from components with no dependencies, e.g., $.ui.position -$.ui = $.ui || {}; - -$.extend( $.ui, { - version: "1.11.4", - - keyCode: { - BACKSPACE: 8, - COMMA: 188, - DELETE: 46, - DOWN: 40, - END: 35, - ENTER: 13, - ESCAPE: 27, - HOME: 36, - LEFT: 37, - PAGE_DOWN: 34, - PAGE_UP: 33, - PERIOD: 190, - RIGHT: 39, - SPACE: 32, - TAB: 9, - UP: 38 - } -}); - -// plugins -$.fn.extend({ - scrollParent: function( includeHidden ) { - var position = this.css( "position" ), - excludeStaticParent = position === "absolute", - overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, - scrollParent = this.parents().filter( function() { - var parent = $( this ); - if ( excludeStaticParent && parent.css( "position" ) === "static" ) { - return false; - } - return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); - }).eq( 0 ); - - return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; - }, - - uniqueId: (function() { - var uuid = 0; - - return function() { - return this.each(function() { - if ( !this.id ) { - this.id = "ui-id-" + ( ++uuid ); - } - }); - }; - })(), - - removeUniqueId: function() { - return this.each(function() { - if ( /^ui-id-\d+$/.test( this.id ) ) { - $( this ).removeAttr( "id" ); - } - }); - } -}); - -// selectors -function focusable( element, isTabIndexNotNaN ) { - var map, mapName, img, - nodeName = element.nodeName.toLowerCase(); - if ( "area" === nodeName ) { - map = element.parentNode; - mapName = map.name; - if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { - return false; - } - img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; - return !!img && visible( img ); - } - return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? - !element.disabled : - "a" === nodeName ? - element.href || isTabIndexNotNaN : - isTabIndexNotNaN) && - // the element and all of its ancestors must be visible - visible( element ); -} - -function visible( element ) { - return $.expr.filters.visible( element ) && - !$( element ).parents().addBack().filter(function() { - return $.css( this, "visibility" ) === "hidden"; - }).length; -} - -$.extend( $.expr[ ":" ], { - data: $.expr.createPseudo ? - $.expr.createPseudo(function( dataName ) { - return function( elem ) { - return !!$.data( elem, dataName ); - }; - }) : - // support: jQuery <1.8 - function( elem, i, match ) { - return !!$.data( elem, match[ 3 ] ); - }, - - focusable: function( element ) { - return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); - }, - - tabbable: function( element ) { - var tabIndex = $.attr( element, "tabindex" ), - isTabIndexNaN = isNaN( tabIndex ); - return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); - } -}); - -// support: jQuery <1.8 -if ( !$( "" ).outerWidth( 1 ).jquery ) { - $.each( [ "Width", "Height" ], function( i, name ) { - var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], - type = name.toLowerCase(), - orig = { - innerWidth: $.fn.innerWidth, - innerHeight: $.fn.innerHeight, - outerWidth: $.fn.outerWidth, - outerHeight: $.fn.outerHeight - }; - - function reduce( elem, size, border, margin ) { - $.each( side, function() { - size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; - if ( border ) { - size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; - } - if ( margin ) { - size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; - } - }); - return size; - } - - $.fn[ "inner" + name ] = function( size ) { - if ( size === undefined ) { - return orig[ "inner" + name ].call( this ); - } - - return this.each(function() { - $( this ).css( type, reduce( this, size ) + "px" ); - }); - }; - - $.fn[ "outer" + name] = function( size, margin ) { - if ( typeof size !== "number" ) { - return orig[ "outer" + name ].call( this, size ); - } - - return this.each(function() { - $( this).css( type, reduce( this, size, true, margin ) + "px" ); - }); - }; - }); -} - -// support: jQuery <1.8 -if ( !$.fn.addBack ) { - $.fn.addBack = function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - }; -} - -// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) -if ( $( "" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { - $.fn.removeData = (function( removeData ) { - return function( key ) { - if ( arguments.length ) { - return removeData.call( this, $.camelCase( key ) ); - } else { - return removeData.call( this ); - } - }; - })( $.fn.removeData ); -} - -// deprecated -$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); - -$.fn.extend({ - focus: (function( orig ) { - return function( delay, fn ) { - return typeof delay === "number" ? - this.each(function() { - var elem = this; - setTimeout(function() { - $( elem ).focus(); - if ( fn ) { - fn.call( elem ); - } - }, delay ); - }) : - orig.apply( this, arguments ); - }; - })( $.fn.focus ), - - disableSelection: (function() { - var eventType = "onselectstart" in document.createElement( "div" ) ? - "selectstart" : - "mousedown"; - - return function() { - return this.bind( eventType + ".ui-disableSelection", function( event ) { - event.preventDefault(); - }); - }; - })(), - - enableSelection: function() { - return this.unbind( ".ui-disableSelection" ); - }, - - zIndex: function( zIndex ) { - if ( zIndex !== undefined ) { - return this.css( "zIndex", zIndex ); - } - - if ( this.length ) { - var elem = $( this[ 0 ] ), position, value; - while ( elem.length && elem[ 0 ] !== document ) { - // Ignore z-index if position is set to a value where z-index is ignored by the browser - // This makes behavior of this function consistent across browsers - // WebKit always returns auto if the element is positioned - position = elem.css( "position" ); - if ( position === "absolute" || position === "relative" || position === "fixed" ) { - // IE returns 0 when zIndex is not specified - // other browsers return a string - // we ignore the case of nested elements with an explicit value of 0 - //
- value = parseInt( elem.css( "zIndex" ), 10 ); - if ( !isNaN( value ) && value !== 0 ) { - return value; - } - } - elem = elem.parent(); - } - } - - return 0; - } -}); - -// $.ui.plugin is deprecated. Use $.widget() extensions instead. -$.ui.plugin = { - add: function( module, option, set ) { - var i, - proto = $.ui[ module ].prototype; - for ( i in set ) { - proto.plugins[ i ] = proto.plugins[ i ] || []; - proto.plugins[ i ].push( [ option, set[ i ] ] ); - } - }, - call: function( instance, name, args, allowDisconnected ) { - var i, - set = instance.plugins[ name ]; - - if ( !set ) { - return; - } - - if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { - return; - } - - for ( i = 0; i < set.length; i++ ) { - if ( instance.options[ set[ i ][ 0 ] ] ) { - set[ i ][ 1 ].apply( instance.element, args ); - } - } - } -}; - - +t.ui=t.ui||{},t.extend(t.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),t.fn.extend({scrollParent:function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return(!s||"static"!==e.css("position"))&&n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},uniqueId:(e=0,function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])},focusable:function(e){return o(e,!isNaN(t.attr(e,"tabindex")))},tabbable:function(e){var i=t.attr(e,"tabindex"),s=isNaN(i);return(s||i>=0)&&o(e,!s)}}),t("
").outerWidth(1).jquery||t.each(["Width","Height"],function(e,i){var s="Width"===i?["Left","Right"]:["Top","Bottom"],n=i.toLowerCase(),o={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};function a(e,i,n,o){return t.each(s,function(){i-=parseFloat(t.css(e,"padding"+this))||0,n&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}t.fn["inner"+i]=function(e){return void 0===e?o["inner"+i].call(this):this.each(function(){t(this).css(n,a(this,e)+"px")})},t.fn["outer"+i]=function(e,s){return"number"!=typeof e?o["outer"+i].call(this,e):this.each(function(){t(this).css(n,a(this,e,!0,s)+"px")})}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t("").data("a-b","a").removeData("a-b").data("a-b")&&(t.fn.removeData=(i=t.fn.removeData,function(e){return arguments.length?i.call(this,t.camelCase(e)):i.call(this)})),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),t.fn.extend({focus:(n=t.fn.focus,function(e,i){return"number"==typeof e?this.each(function(){var s=this;setTimeout(function(){t(s).focus(),i&&i.call(s)},e)}):n.apply(this,arguments)}),disableSelection:(s="onselectstart"in document.createElement("div")?"selectstart":"mousedown",function(){return this.bind(s+".ui-disableSelection",function(t){t.preventDefault()})}),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(e){if(void 0!==e)return this.css("zIndex",e);if(this.length)for(var i,s,n=t(this[0]);n.length&&n[0]!==document;){if(("absolute"===(i=n.css("position"))||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;n", - options: { - disabled: false, - - // callbacks - create: null - }, - _createWidget: function( options, element ) { - element = $( element || this.defaultElement || this )[ 0 ]; - this.element = $( element ); - this.uuid = widget_uuid++; - this.eventNamespace = "." + this.widgetName + this.uuid; - - this.bindings = $(); - this.hoverable = $(); - this.focusable = $(); - - if ( element !== this ) { - $.data( element, this.widgetFullName, this ); - this._on( true, this.element, { - remove: function( event ) { - if ( event.target === element ) { - this.destroy(); - } - } - }); - this.document = $( element.style ? - // element within the document - element.ownerDocument : - // element is window or document - element.document || element ); - this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); - } - - this.options = $.widget.extend( {}, - this.options, - this._getCreateOptions(), - options ); - - this._create(); - this._trigger( "create", null, this._getCreateEventData() ); - this._init(); - }, - _getCreateOptions: $.noop, - _getCreateEventData: $.noop, - _create: $.noop, - _init: $.noop, - - destroy: function() { - this._destroy(); - // we can probably remove the unbind calls in 2.0 - // all event bindings should go through this._on() - this.element - .unbind( this.eventNamespace ) - .removeData( this.widgetFullName ) - // support: jquery <1.6.3 - // http://bugs.jquery.com/ticket/9413 - .removeData( $.camelCase( this.widgetFullName ) ); - this.widget() - .unbind( this.eventNamespace ) - .removeAttr( "aria-disabled" ) - .removeClass( - this.widgetFullName + "-disabled " + - "ui-state-disabled" ); - - // clean up events and states - this.bindings.unbind( this.eventNamespace ); - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - }, - _destroy: $.noop, - - widget: function() { - return this.element; - }, - - option: function( key, value ) { - var options = key, - parts, - curOption, - i; - - if ( arguments.length === 0 ) { - // don't return a reference to the internal hash - return $.widget.extend( {}, this.options ); - } - - if ( typeof key === "string" ) { - // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } - options = {}; - parts = key.split( "." ); - key = parts.shift(); - if ( parts.length ) { - curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); - for ( i = 0; i < parts.length - 1; i++ ) { - curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; - curOption = curOption[ parts[ i ] ]; - } - key = parts.pop(); - if ( arguments.length === 1 ) { - return curOption[ key ] === undefined ? null : curOption[ key ]; - } - curOption[ key ] = value; - } else { - if ( arguments.length === 1 ) { - return this.options[ key ] === undefined ? null : this.options[ key ]; - } - options[ key ] = value; - } - } - - this._setOptions( options ); - - return this; - }, - _setOptions: function( options ) { - var key; - - for ( key in options ) { - this._setOption( key, options[ key ] ); - } - - return this; - }, - _setOption: function( key, value ) { - this.options[ key ] = value; - - if ( key === "disabled" ) { - this.widget() - .toggleClass( this.widgetFullName + "-disabled", !!value ); - - // If the widget is becoming disabled, then nothing is interactive - if ( value ) { - this.hoverable.removeClass( "ui-state-hover" ); - this.focusable.removeClass( "ui-state-focus" ); - } - } - - return this; - }, - - enable: function() { - return this._setOptions({ disabled: false }); - }, - disable: function() { - return this._setOptions({ disabled: true }); - }, - - _on: function( suppressDisabledCheck, element, handlers ) { - var delegateElement, - instance = this; - - // no suppressDisabledCheck flag, shuffle arguments - if ( typeof suppressDisabledCheck !== "boolean" ) { - handlers = element; - element = suppressDisabledCheck; - suppressDisabledCheck = false; - } - - // no element argument, shuffle and use this.element - if ( !handlers ) { - handlers = element; - element = this.element; - delegateElement = this.widget(); - } else { - element = delegateElement = $( element ); - this.bindings = this.bindings.add( element ); - } - - $.each( handlers, function( event, handler ) { - function handlerProxy() { - // allow widgets to customize the disabled handling - // - disabled as an array instead of boolean - // - disabled class as method for disabling individual parts - if ( !suppressDisabledCheck && - ( instance.options.disabled === true || - $( this ).hasClass( "ui-state-disabled" ) ) ) { - return; - } - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - - // copy the guid so direct unbinding works - if ( typeof handler !== "string" ) { - handlerProxy.guid = handler.guid = - handler.guid || handlerProxy.guid || $.guid++; - } - - var match = event.match( /^([\w:-]*)\s*(.*)$/ ), - eventName = match[1] + instance.eventNamespace, - selector = match[2]; - if ( selector ) { - delegateElement.delegate( selector, eventName, handlerProxy ); - } else { - element.bind( eventName, handlerProxy ); - } - }); - }, - - _off: function( element, eventName ) { - eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + - this.eventNamespace; - element.unbind( eventName ).undelegate( eventName ); - - // Clear the stack to avoid memory leaks (#10056) - this.bindings = $( this.bindings.not( element ).get() ); - this.focusable = $( this.focusable.not( element ).get() ); - this.hoverable = $( this.hoverable.not( element ).get() ); - }, - - _delay: function( handler, delay ) { - function handlerProxy() { - return ( typeof handler === "string" ? instance[ handler ] : handler ) - .apply( instance, arguments ); - } - var instance = this; - return setTimeout( handlerProxy, delay || 0 ); - }, - - _hoverable: function( element ) { - this.hoverable = this.hoverable.add( element ); - this._on( element, { - mouseenter: function( event ) { - $( event.currentTarget ).addClass( "ui-state-hover" ); - }, - mouseleave: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-hover" ); - } - }); - }, - - _focusable: function( element ) { - this.focusable = this.focusable.add( element ); - this._on( element, { - focusin: function( event ) { - $( event.currentTarget ).addClass( "ui-state-focus" ); - }, - focusout: function( event ) { - $( event.currentTarget ).removeClass( "ui-state-focus" ); - } - }); - }, - - _trigger: function( type, event, data ) { - var prop, orig, - callback = this.options[ type ]; - - data = data || {}; - event = $.Event( event ); - event.type = ( type === this.widgetEventPrefix ? - type : - this.widgetEventPrefix + type ).toLowerCase(); - // the original event may come from any element - // so we need to reset the target on the new event - event.target = this.element[ 0 ]; - - // copy original event properties over to the new event - orig = event.originalEvent; - if ( orig ) { - for ( prop in orig ) { - if ( !( prop in event ) ) { - event[ prop ] = orig[ prop ]; - } - } - } - - this.element.trigger( event, data ); - return !( $.isFunction( callback ) && - callback.apply( this.element[0], [ event ].concat( data ) ) === false || - event.isDefaultPrevented() ); - } -}; - -$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { - $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { - if ( typeof options === "string" ) { - options = { effect: options }; - } - var hasOptions, - effectName = !options ? - method : - options === true || typeof options === "number" ? - defaultEffect : - options.effect || defaultEffect; - options = options || {}; - if ( typeof options === "number" ) { - options = { duration: options }; - } - hasOptions = !$.isEmptyObject( options ); - options.complete = callback; - if ( options.delay ) { - element.delay( options.delay ); - } - if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { - element[ method ]( options ); - } else if ( effectName !== method && element[ effectName ] ) { - element[ effectName ]( options.duration, options.easing, callback ); - } else { - element.queue(function( next ) { - $( this )[ method ](); - if ( callback ) { - callback.call( element[ 0 ] ); - } - next(); - }); - } - }; -}); - -var widget = $.widget; - - +var r=0,h=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{(s=t._data(n,"events"))&&s.remove&&t(n).triggerHandler("remove")}catch(t){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r,h={},l=e.split(".")[0];return e=e.split(".")[1],n=l+"-"+e,s||(s=i,i=t.Widget),t.expr[":"][n.toLowerCase()]=function(e){return!!t.data(e,n)},t[l]=t[l]||{},o=t[l][e],a=t[l][e]=function(t,e){if(!this._createWidget)return new a(t,e);arguments.length&&this._createWidget(t,e)},t.extend(a,o,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),(r=new i).options=t.widget.extend({},r.options),t.each(s,function(e,s){var n,o;t.isFunction(s)?h[e]=(n=function(){return i.prototype[e].apply(this,arguments)},o=function(t){return i.prototype[e].apply(this,t)},function(){var t,e=this._super,i=this._superApply;return this._super=n,this._superApply=o,t=s.apply(this,arguments),this._super=e,this._superApply=i,t}):h[e]=s}),a.prototype=t.widget.extend(r,{widgetEventPrefix:o&&r.widgetEventPrefix||e},h,{constructor:a,namespace:l,widgetName:e,widgetFullName:n}),o?(t.each(o._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,a,i._proto)}),delete o._childConstructors):i._childConstructors.push(a),t.widget.bridge(e,a),a},t.widget.extend=function(e){for(var i,s,n=h.call(arguments,1),o=0,a=n.length;o",options:{disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=r++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},e=(s=e.split(".")).shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;o= this.options.distance - ); - }, - - _mouseDelayMet: function(/* event */) { - return this.mouseDelayMet; - }, - - // These are placeholder methods, to be overriden by extending plugin - _mouseStart: function(/* event */) {}, - _mouseDrag: function(/* event */) {}, - _mouseStop: function(/* event */) {}, - _mouseCapture: function(/* event */) { return true; } -}); - - + */var l=!1;t(document).mouseup(function(){l=!1});t.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){if(!0===t.data(i.target,e.widgetName+".preventClickEvent"))return t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!l){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n=!("string"!=typeof this.options.cancel||!e.target.nodeName)&&t(e.target).closest(this.options.cancel).length;return!(s&&!n&&this._mouseCapture(e))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(e),!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),l=!0,!0))}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||document.documentMode<9)&&!e.button)return this._mouseUp(e);if(!e.which)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,e),this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),l=!1,!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}); /*! * jQuery UI Position 1.11.4 * http://jqueryui.com @@ -1052,503 +45,17 @@ var mouse = $.widget("ui.mouse", { * * http://api.jqueryui.com/position/ */ - -(function() { - -$.ui = $.ui || {}; - -var cachedScrollbarWidth, supportsOffsetFractions, - max = Math.max, - abs = Math.abs, - round = Math.round, - rhorizontal = /left|center|right/, - rvertical = /top|center|bottom/, - roffset = /[\+\-]\d+(\.[\d]+)?%?/, - rposition = /^\w+/, - rpercent = /%$/, - _position = $.fn.position; - -function getOffsets( offsets, width, height ) { - return [ - parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), - parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) - ]; -} - -function parseCss( element, property ) { - return parseInt( $.css( element, property ), 10 ) || 0; -} - -function getDimensions( elem ) { - var raw = elem[0]; - if ( raw.nodeType === 9 ) { - return { - width: elem.width(), - height: elem.height(), - offset: { top: 0, left: 0 } - }; - } - if ( $.isWindow( raw ) ) { - return { - width: elem.width(), - height: elem.height(), - offset: { top: elem.scrollTop(), left: elem.scrollLeft() } - }; - } - if ( raw.preventDefault ) { - return { - width: 0, - height: 0, - offset: { top: raw.pageY, left: raw.pageX } - }; - } - return { - width: elem.outerWidth(), - height: elem.outerHeight(), - offset: elem.offset() - }; -} - -$.position = { - scrollbarWidth: function() { - if ( cachedScrollbarWidth !== undefined ) { - return cachedScrollbarWidth; - } - var w1, w2, - div = $( "
" ), - innerDiv = div.children()[0]; - - $( "body" ).append( div ); - w1 = innerDiv.offsetWidth; - div.css( "overflow", "scroll" ); - - w2 = innerDiv.offsetWidth; - - if ( w1 === w2 ) { - w2 = div[0].clientWidth; - } - - div.remove(); - - return (cachedScrollbarWidth = w1 - w2); - }, - getScrollInfo: function( within ) { - var overflowX = within.isWindow || within.isDocument ? "" : - within.element.css( "overflow-x" ), - overflowY = within.isWindow || within.isDocument ? "" : - within.element.css( "overflow-y" ), - hasOverflowX = overflowX === "scroll" || - ( overflowX === "auto" && within.width < within.element[0].scrollWidth ), - hasOverflowY = overflowY === "scroll" || - ( overflowY === "auto" && within.height < within.element[0].scrollHeight ); - return { - width: hasOverflowY ? $.position.scrollbarWidth() : 0, - height: hasOverflowX ? $.position.scrollbarWidth() : 0 - }; - }, - getWithinInfo: function( element ) { - var withinElement = $( element || window ), - isWindow = $.isWindow( withinElement[0] ), - isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9; - return { - element: withinElement, - isWindow: isWindow, - isDocument: isDocument, - offset: withinElement.offset() || { left: 0, top: 0 }, - scrollLeft: withinElement.scrollLeft(), - scrollTop: withinElement.scrollTop(), - - // support: jQuery 1.6.x - // jQuery 1.6 doesn't support .outerWidth/Height() on documents or windows - width: isWindow || isDocument ? withinElement.width() : withinElement.outerWidth(), - height: isWindow || isDocument ? withinElement.height() : withinElement.outerHeight() - }; - } -}; - -$.fn.position = function( options ) { - if ( !options || !options.of ) { - return _position.apply( this, arguments ); - } - - // make a copy, we don't want to modify arguments - options = $.extend( {}, options ); - - var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, - target = $( options.of ), - within = $.position.getWithinInfo( options.within ), - scrollInfo = $.position.getScrollInfo( within ), - collision = ( options.collision || "flip" ).split( " " ), - offsets = {}; - - dimensions = getDimensions( target ); - if ( target[0].preventDefault ) { - // force left top to allow flipping - options.at = "left top"; - } - targetWidth = dimensions.width; - targetHeight = dimensions.height; - targetOffset = dimensions.offset; - // clone to reuse original targetOffset later - basePosition = $.extend( {}, targetOffset ); - - // force my and at to have valid horizontal and vertical positions - // if a value is missing or invalid, it will be converted to center - $.each( [ "my", "at" ], function() { - var pos = ( options[ this ] || "" ).split( " " ), - horizontalOffset, - verticalOffset; - - if ( pos.length === 1) { - pos = rhorizontal.test( pos[ 0 ] ) ? - pos.concat( [ "center" ] ) : - rvertical.test( pos[ 0 ] ) ? - [ "center" ].concat( pos ) : - [ "center", "center" ]; - } - pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; - pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; - - // calculate offsets - horizontalOffset = roffset.exec( pos[ 0 ] ); - verticalOffset = roffset.exec( pos[ 1 ] ); - offsets[ this ] = [ - horizontalOffset ? horizontalOffset[ 0 ] : 0, - verticalOffset ? verticalOffset[ 0 ] : 0 - ]; - - // reduce to just the positions without the offsets - options[ this ] = [ - rposition.exec( pos[ 0 ] )[ 0 ], - rposition.exec( pos[ 1 ] )[ 0 ] - ]; - }); - - // normalize collision option - if ( collision.length === 1 ) { - collision[ 1 ] = collision[ 0 ]; - } - - if ( options.at[ 0 ] === "right" ) { - basePosition.left += targetWidth; - } else if ( options.at[ 0 ] === "center" ) { - basePosition.left += targetWidth / 2; - } - - if ( options.at[ 1 ] === "bottom" ) { - basePosition.top += targetHeight; - } else if ( options.at[ 1 ] === "center" ) { - basePosition.top += targetHeight / 2; - } - - atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); - basePosition.left += atOffset[ 0 ]; - basePosition.top += atOffset[ 1 ]; - - return this.each(function() { - var collisionPosition, using, - elem = $( this ), - elemWidth = elem.outerWidth(), - elemHeight = elem.outerHeight(), - marginLeft = parseCss( this, "marginLeft" ), - marginTop = parseCss( this, "marginTop" ), - collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + scrollInfo.width, - collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + scrollInfo.height, - position = $.extend( {}, basePosition ), - myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); - - if ( options.my[ 0 ] === "right" ) { - position.left -= elemWidth; - } else if ( options.my[ 0 ] === "center" ) { - position.left -= elemWidth / 2; - } - - if ( options.my[ 1 ] === "bottom" ) { - position.top -= elemHeight; - } else if ( options.my[ 1 ] === "center" ) { - position.top -= elemHeight / 2; - } - - position.left += myOffset[ 0 ]; - position.top += myOffset[ 1 ]; - - // if the browser doesn't support fractions, then round for consistent results - if ( !supportsOffsetFractions ) { - position.left = round( position.left ); - position.top = round( position.top ); - } - - collisionPosition = { - marginLeft: marginLeft, - marginTop: marginTop - }; - - $.each( [ "left", "top" ], function( i, dir ) { - if ( $.ui.position[ collision[ i ] ] ) { - $.ui.position[ collision[ i ] ][ dir ]( position, { - targetWidth: targetWidth, - targetHeight: targetHeight, - elemWidth: elemWidth, - elemHeight: elemHeight, - collisionPosition: collisionPosition, - collisionWidth: collisionWidth, - collisionHeight: collisionHeight, - offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], - my: options.my, - at: options.at, - within: within, - elem: elem - }); - } - }); - - if ( options.using ) { - // adds feedback as second argument to using callback, if present - using = function( props ) { - var left = targetOffset.left - position.left, - right = left + targetWidth - elemWidth, - top = targetOffset.top - position.top, - bottom = top + targetHeight - elemHeight, - feedback = { - target: { - element: target, - left: targetOffset.left, - top: targetOffset.top, - width: targetWidth, - height: targetHeight - }, - element: { - element: elem, - left: position.left, - top: position.top, - width: elemWidth, - height: elemHeight - }, - horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", - vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" - }; - if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { - feedback.horizontal = "center"; - } - if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { - feedback.vertical = "middle"; - } - if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { - feedback.important = "horizontal"; - } else { - feedback.important = "vertical"; - } - options.using.call( this, props, feedback ); - }; - } - - elem.offset( $.extend( position, { using: using } ) ); - }); -}; - -$.ui.position = { - fit: { - left: function( position, data ) { - var within = data.within, - withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, - outerWidth = within.width, - collisionPosLeft = position.left - data.collisionPosition.marginLeft, - overLeft = withinOffset - collisionPosLeft, - overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, - newOverRight; - - // element is wider than within - if ( data.collisionWidth > outerWidth ) { - // element is initially over the left side of within - if ( overLeft > 0 && overRight <= 0 ) { - newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; - position.left += overLeft - newOverRight; - // element is initially over right side of within - } else if ( overRight > 0 && overLeft <= 0 ) { - position.left = withinOffset; - // element is initially over both left and right sides of within - } else { - if ( overLeft > overRight ) { - position.left = withinOffset + outerWidth - data.collisionWidth; - } else { - position.left = withinOffset; - } - } - // too far left -> align with left edge - } else if ( overLeft > 0 ) { - position.left += overLeft; - // too far right -> align with right edge - } else if ( overRight > 0 ) { - position.left -= overRight; - // adjust based on position and margin - } else { - position.left = max( position.left - collisionPosLeft, position.left ); - } - }, - top: function( position, data ) { - var within = data.within, - withinOffset = within.isWindow ? within.scrollTop : within.offset.top, - outerHeight = data.within.height, - collisionPosTop = position.top - data.collisionPosition.marginTop, - overTop = withinOffset - collisionPosTop, - overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, - newOverBottom; - - // element is taller than within - if ( data.collisionHeight > outerHeight ) { - // element is initially over the top of within - if ( overTop > 0 && overBottom <= 0 ) { - newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; - position.top += overTop - newOverBottom; - // element is initially over bottom of within - } else if ( overBottom > 0 && overTop <= 0 ) { - position.top = withinOffset; - // element is initially over both top and bottom of within - } else { - if ( overTop > overBottom ) { - position.top = withinOffset + outerHeight - data.collisionHeight; - } else { - position.top = withinOffset; - } - } - // too far up -> align with top - } else if ( overTop > 0 ) { - position.top += overTop; - // too far down -> align with bottom edge - } else if ( overBottom > 0 ) { - position.top -= overBottom; - // adjust based on position and margin - } else { - position.top = max( position.top - collisionPosTop, position.top ); - } - } - }, - flip: { - left: function( position, data ) { - var within = data.within, - withinOffset = within.offset.left + within.scrollLeft, - outerWidth = within.width, - offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, - collisionPosLeft = position.left - data.collisionPosition.marginLeft, - overLeft = collisionPosLeft - offsetLeft, - overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, - myOffset = data.my[ 0 ] === "left" ? - -data.elemWidth : - data.my[ 0 ] === "right" ? - data.elemWidth : - 0, - atOffset = data.at[ 0 ] === "left" ? - data.targetWidth : - data.at[ 0 ] === "right" ? - -data.targetWidth : - 0, - offset = -2 * data.offset[ 0 ], - newOverRight, - newOverLeft; - - if ( overLeft < 0 ) { - newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; - if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { - position.left += myOffset + atOffset + offset; - } - } else if ( overRight > 0 ) { - newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; - if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { - position.left += myOffset + atOffset + offset; - } - } - }, - top: function( position, data ) { - var within = data.within, - withinOffset = within.offset.top + within.scrollTop, - outerHeight = within.height, - offsetTop = within.isWindow ? within.scrollTop : within.offset.top, - collisionPosTop = position.top - data.collisionPosition.marginTop, - overTop = collisionPosTop - offsetTop, - overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, - top = data.my[ 1 ] === "top", - myOffset = top ? - -data.elemHeight : - data.my[ 1 ] === "bottom" ? - data.elemHeight : - 0, - atOffset = data.at[ 1 ] === "top" ? - data.targetHeight : - data.at[ 1 ] === "bottom" ? - -data.targetHeight : - 0, - offset = -2 * data.offset[ 1 ], - newOverTop, - newOverBottom; - if ( overTop < 0 ) { - newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; - if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { - position.top += myOffset + atOffset + offset; - } - } else if ( overBottom > 0 ) { - newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; - if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { - position.top += myOffset + atOffset + offset; - } - } - } - }, - flipfit: { - left: function() { - $.ui.position.flip.left.apply( this, arguments ); - $.ui.position.fit.left.apply( this, arguments ); - }, - top: function() { - $.ui.position.flip.top.apply( this, arguments ); - $.ui.position.fit.top.apply( this, arguments ); - } - } -}; - -// fraction support test -(function() { - var testElement, testElementParent, testElementStyle, offsetLeft, i, - body = document.getElementsByTagName( "body" )[ 0 ], - div = document.createElement( "div" ); - - //Create a "fake body" for testing based on method used in jQuery.support - testElement = document.createElement( body ? "div" : "body" ); - testElementStyle = { - visibility: "hidden", - width: 0, - height: 0, - border: 0, - margin: 0, - background: "none" - }; - if ( body ) { - $.extend( testElementStyle, { - position: "absolute", - left: "-1000px", - top: "-1000px" - }); - } - for ( i in testElementStyle ) { - testElement.style[ i ] = testElementStyle[ i ]; - } - testElement.appendChild( div ); - testElementParent = body || document.documentElement; - testElementParent.insertBefore( testElement, testElementParent.firstChild ); - - div.style.cssText = "position: absolute; left: 10.7432222px;"; - - offsetLeft = $( div ).offset().left; - supportsOffsetFractions = offsetLeft > 10 && offsetLeft < 11; - - testElement.innerHTML = ""; - testElementParent.removeChild( testElement ); -})(); - -})(); - -var position = $.ui.position; - - +/*! + * jQuery UI Position 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ +!function(){t.ui=t.ui||{};var e,i,s=Math.max,n=Math.abs,o=Math.round,a=/left|center|right/,r=/top|center|bottom/,h=/[\+\-]\d+(\.[\d]+)?%?/,l=/^\w+/,c=/%$/,u=t.fn.position;function d(t,e,i){return[parseFloat(t[0])*(c.test(t[0])?e/100:1),parseFloat(t[1])*(c.test(t[1])?i/100:1)]}function p(e,i){return parseInt(t.css(e,i),10)||0}t.position={scrollbarWidth:function(){if(void 0!==e)return e;var i,s,n=t("
"),o=n.children()[0];return t("body").append(n),i=o.offsetWidth,n.css("overflow","scroll"),i===(s=o.offsetWidth)&&(s=n[0].clientWidth),n.remove(),e=i-s},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width0?"right":"center",vertical:r<0?"top":a>0?"bottom":"middle"};fs(n(a),n(r))?c.important="horizontal":c.important="vertical",e.using.call(this,t,c)}),h.offset(t.extend(T,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollLeft:n.offset.left,a=n.width,r=t.left-e.collisionPosition.marginLeft,h=o-r,l=r+e.collisionWidth-a-o;e.collisionWidth>a?h>0&&l<=0?(i=t.left+h+e.collisionWidth-a-o,t.left+=h-i):t.left=l>0&&h<=0?o:h>l?o+a-e.collisionWidth:o:h>0?t.left+=h:l>0?t.left-=l:t.left=s(t.left-r,t.left)},top:function(t,e){var i,n=e.within,o=n.isWindow?n.scrollTop:n.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=o-r,l=r+e.collisionHeight-a-o;e.collisionHeight>a?h>0&&l<=0?(i=t.top+h+e.collisionHeight-a-o,t.top+=h-i):t.top=l>0&&h<=0?o:h>l?o+a-e.collisionHeight:o:h>0?t.top+=h:l>0?t.top-=l:t.top=s(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,o=e.within,a=o.offset.left+o.scrollLeft,r=o.width,h=o.isWindow?o.scrollLeft:o.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];c<0?((i=t.left+d+p+f+e.collisionWidth-r-a)<0||i0&&((s=t.left-e.collisionPosition.marginLeft+d+p+f-h)>0||n(s)0&&((i=t.top-e.collisionPosition.marginTop+d+p+f-h)>0||n(i)10&&o<11,e.innerHTML="",s.removeChild(e)}()}();t.ui.position,t.widget("ui.accordion",{version:"1.11.4",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||!1!==e.active&&null!=e.active||(e.active=0),this._processPanels(),e.active<0&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").css("display","").removeAttr("role").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){"active"!==t?("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||!1!==this.options.active||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&(this.element.toggleClass("ui-state-disabled",!!e).attr("aria-disabled",e),this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e))):this._activate(e)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),o.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),!1===e.active&&!0===e.collapsible||!this.headers.length?(e.active=!1,this.active=t()):!1===e.active?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-state-default ui-corner-all"),this.panels=this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide(),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){e=Math.max(e,t(this).css("height","").height())}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n[0]===s[0],a=o&&i.collapsible,r=a?t():n.next(),h={oldHeader:s,oldPanel:s.next(),newHeader:a?t():n,newPanel:r};e.preventDefault(),o&&!i.collapsible||!1===this._trigger("beforeActivate",e,h)||(i.active=!a&&this.headers.index(n),this.active=o?t():n,this._toggle(h),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),o||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},items:"> *",menus:"ul",position:{my:"left-1 top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target);!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&t(this.document[0].activeElement).closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.currentTarget);i.siblings(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-menu-icons ui-front").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").removeUniqueId().removeClass("ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",n=String.fromCharCode(e.keyCode),o=!1,clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),(i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i).length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.is("[aria-haspopup='true']")?this.expand(t):this.select(t))},refresh:function(){var e,i=this,s=this.options.icons.submenu,n=this.element.find(this.options.menus);this.element.toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length),n.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-front").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.parent(),n=t("").addClass("ui-menu-icon ui-icon "+s).data("ui-menu-submenu-carat",!0);i.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",i.attr("id"))}),(e=n.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var e=t(this);i._isDivider(e)&&e.addClass("ui-widget-content ui-menu-divider")}),e.not(".ui-menu-item, .ui-menu-divider").addClass("ui-menu-item").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),e.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),"disabled"===t&&this.element.toggleClass("ui-state-disabled",!!e).attr("aria-disabled",e),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.addClass("ui-state-focus").removeClass("ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),n<0?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find(".ui-state-active").not(".ui-state-focus").removeClass("ui-state-active")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;this.active?this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-s-n<0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())):this.next(e)},previousPage:function(e){var i,s,n;this.active?this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return(i=t(this)).offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())):this.next(e)},_hasScroll:function(){return this.element.outerHeight() li > :first-child,> :not(li):even", - heightStyle: "auto", - icons: { - activeHeader: "ui-icon-triangle-1-s", - header: "ui-icon-triangle-1-e" - }, - - // callbacks - activate: null, - beforeActivate: null - }, - - hideProps: { - borderTopWidth: "hide", - borderBottomWidth: "hide", - paddingTop: "hide", - paddingBottom: "hide", - height: "hide" - }, - - showProps: { - borderTopWidth: "show", - borderBottomWidth: "show", - paddingTop: "show", - paddingBottom: "show", - height: "show" - }, - - _create: function() { - var options = this.options; - this.prevShow = this.prevHide = $(); - this.element.addClass( "ui-accordion ui-widget ui-helper-reset" ) - // ARIA - .attr( "role", "tablist" ); - - // don't allow collapsible: false and active: false / null - if ( !options.collapsible && (options.active === false || options.active == null) ) { - options.active = 0; - } - - this._processPanels(); - // handle negative values - if ( options.active < 0 ) { - options.active += this.headers.length; - } - this._refresh(); - }, - - _getCreateEventData: function() { - return { - header: this.active, - panel: !this.active.length ? $() : this.active.next() - }; - }, - - _createIcons: function() { - var icons = this.options.icons; - if ( icons ) { - $( "" ) - .addClass( "ui-accordion-header-icon ui-icon " + icons.header ) - .prependTo( this.headers ); - this.active.children( ".ui-accordion-header-icon" ) - .removeClass( icons.header ) - .addClass( icons.activeHeader ); - this.headers.addClass( "ui-accordion-icons" ); - } - }, - - _destroyIcons: function() { - this.headers - .removeClass( "ui-accordion-icons" ) - .children( ".ui-accordion-header-icon" ) - .remove(); - }, - - _destroy: function() { - var contents; - - // clean up main element - this.element - .removeClass( "ui-accordion ui-widget ui-helper-reset" ) - .removeAttr( "role" ); - - // clean up headers - this.headers - .removeClass( "ui-accordion-header ui-accordion-header-active ui-state-default " + - "ui-corner-all ui-state-active ui-state-disabled ui-corner-top" ) - .removeAttr( "role" ) - .removeAttr( "aria-expanded" ) - .removeAttr( "aria-selected" ) - .removeAttr( "aria-controls" ) - .removeAttr( "tabIndex" ) - .removeUniqueId(); - - this._destroyIcons(); - - // clean up content panels - contents = this.headers.next() - .removeClass( "ui-helper-reset ui-widget-content ui-corner-bottom " + - "ui-accordion-content ui-accordion-content-active ui-state-disabled" ) - .css( "display", "" ) - .removeAttr( "role" ) - .removeAttr( "aria-hidden" ) - .removeAttr( "aria-labelledby" ) - .removeUniqueId(); - - if ( this.options.heightStyle !== "content" ) { - contents.css( "height", "" ); - } - }, - - _setOption: function( key, value ) { - if ( key === "active" ) { - // _activate() will handle invalid values and update this.options - this._activate( value ); - return; - } - - if ( key === "event" ) { - if ( this.options.event ) { - this._off( this.headers, this.options.event ); - } - this._setupEvents( value ); - } - - this._super( key, value ); - - // setting collapsible: false while collapsed; open first panel - if ( key === "collapsible" && !value && this.options.active === false ) { - this._activate( 0 ); - } - - if ( key === "icons" ) { - this._destroyIcons(); - if ( value ) { - this._createIcons(); - } - } - - // #5332 - opacity doesn't cascade to positioned elements in IE - // so we need to add the disabled class to the headers and panels - if ( key === "disabled" ) { - this.element - .toggleClass( "ui-state-disabled", !!value ) - .attr( "aria-disabled", value ); - this.headers.add( this.headers.next() ) - .toggleClass( "ui-state-disabled", !!value ); - } - }, - - _keydown: function( event ) { - if ( event.altKey || event.ctrlKey ) { - return; - } - - var keyCode = $.ui.keyCode, - length = this.headers.length, - currentIndex = this.headers.index( event.target ), - toFocus = false; - - switch ( event.keyCode ) { - case keyCode.RIGHT: - case keyCode.DOWN: - toFocus = this.headers[ ( currentIndex + 1 ) % length ]; - break; - case keyCode.LEFT: - case keyCode.UP: - toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; - break; - case keyCode.SPACE: - case keyCode.ENTER: - this._eventHandler( event ); - break; - case keyCode.HOME: - toFocus = this.headers[ 0 ]; - break; - case keyCode.END: - toFocus = this.headers[ length - 1 ]; - break; - } - - if ( toFocus ) { - $( event.target ).attr( "tabIndex", -1 ); - $( toFocus ).attr( "tabIndex", 0 ); - toFocus.focus(); - event.preventDefault(); - } - }, - - _panelKeyDown: function( event ) { - if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { - $( event.currentTarget ).prev().focus(); - } - }, - - refresh: function() { - var options = this.options; - this._processPanels(); - - // was collapsed or no panel - if ( ( options.active === false && options.collapsible === true ) || !this.headers.length ) { - options.active = false; - this.active = $(); - // active false only when collapsible is true - } else if ( options.active === false ) { - this._activate( 0 ); - // was active, but active panel is gone - } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { - // all remaining panel are disabled - if ( this.headers.length === this.headers.find(".ui-state-disabled").length ) { - options.active = false; - this.active = $(); - // activate previous panel - } else { - this._activate( Math.max( 0, options.active - 1 ) ); - } - // was active, active panel still exists - } else { - // make sure active index is correct - options.active = this.headers.index( this.active ); - } - - this._destroyIcons(); - - this._refresh(); - }, - - _processPanels: function() { - var prevHeaders = this.headers, - prevPanels = this.panels; - - this.headers = this.element.find( this.options.header ) - .addClass( "ui-accordion-header ui-state-default ui-corner-all" ); - - this.panels = this.headers.next() - .addClass( "ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom" ) - .filter( ":not(.ui-accordion-content-active)" ) - .hide(); - - // Avoid memory leaks (#10056) - if ( prevPanels ) { - this._off( prevHeaders.not( this.headers ) ); - this._off( prevPanels.not( this.panels ) ); - } - }, - - _refresh: function() { - var maxHeight, - options = this.options, - heightStyle = options.heightStyle, - parent = this.element.parent(); - - this.active = this._findActive( options.active ) - .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" ) - .removeClass( "ui-corner-all" ); - this.active.next() - .addClass( "ui-accordion-content-active" ) - .show(); - - this.headers - .attr( "role", "tab" ) - .each(function() { - var header = $( this ), - headerId = header.uniqueId().attr( "id" ), - panel = header.next(), - panelId = panel.uniqueId().attr( "id" ); - header.attr( "aria-controls", panelId ); - panel.attr( "aria-labelledby", headerId ); - }) - .next() - .attr( "role", "tabpanel" ); - - this.headers - .not( this.active ) - .attr({ - "aria-selected": "false", - "aria-expanded": "false", - tabIndex: -1 - }) - .next() - .attr({ - "aria-hidden": "true" - }) - .hide(); - - // make sure at least one header is in the tab order - if ( !this.active.length ) { - this.headers.eq( 0 ).attr( "tabIndex", 0 ); - } else { - this.active.attr({ - "aria-selected": "true", - "aria-expanded": "true", - tabIndex: 0 - }) - .next() - .attr({ - "aria-hidden": "false" - }); - } - - this._createIcons(); - - this._setupEvents( options.event ); - - if ( heightStyle === "fill" ) { - maxHeight = parent.height(); - this.element.siblings( ":visible" ).each(function() { - var elem = $( this ), - position = elem.css( "position" ); - - if ( position === "absolute" || position === "fixed" ) { - return; - } - maxHeight -= elem.outerHeight( true ); - }); - - this.headers.each(function() { - maxHeight -= $( this ).outerHeight( true ); - }); - - this.headers.next() - .each(function() { - $( this ).height( Math.max( 0, maxHeight - - $( this ).innerHeight() + $( this ).height() ) ); - }) - .css( "overflow", "auto" ); - } else if ( heightStyle === "auto" ) { - maxHeight = 0; - this.headers.next() - .each(function() { - maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); - }) - .height( maxHeight ); - } - }, - - _activate: function( index ) { - var active = this._findActive( index )[ 0 ]; - - // trying to activate the already active panel - if ( active === this.active[ 0 ] ) { - return; - } - - // trying to collapse, simulate a click on the currently active header - active = active || this.active[ 0 ]; - - this._eventHandler({ - target: active, - currentTarget: active, - preventDefault: $.noop - }); - }, - - _findActive: function( selector ) { - return typeof selector === "number" ? this.headers.eq( selector ) : $(); - }, - - _setupEvents: function( event ) { - var events = { - keydown: "_keydown" - }; - if ( event ) { - $.each( event.split( " " ), function( index, eventName ) { - events[ eventName ] = "_eventHandler"; - }); - } - - this._off( this.headers.add( this.headers.next() ) ); - this._on( this.headers, events ); - this._on( this.headers.next(), { keydown: "_panelKeyDown" }); - this._hoverable( this.headers ); - this._focusable( this.headers ); - }, - - _eventHandler: function( event ) { - var options = this.options, - active = this.active, - clicked = $( event.currentTarget ), - clickedIsActive = clicked[ 0 ] === active[ 0 ], - collapsing = clickedIsActive && options.collapsible, - toShow = collapsing ? $() : clicked.next(), - toHide = active.next(), - eventData = { - oldHeader: active, - oldPanel: toHide, - newHeader: collapsing ? $() : clicked, - newPanel: toShow - }; - - event.preventDefault(); - - if ( - // click on active header, but not collapsible - ( clickedIsActive && !options.collapsible ) || - // allow canceling activation - ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { - return; - } - - options.active = collapsing ? false : this.headers.index( clicked ); - - // when the call to ._toggle() comes after the class changes - // it causes a very odd bug in IE 8 (see #6720) - this.active = clickedIsActive ? $() : clicked; - this._toggle( eventData ); - - // switch classes - // corner classes on the previously active header stay after the animation - active.removeClass( "ui-accordion-header-active ui-state-active" ); - if ( options.icons ) { - active.children( ".ui-accordion-header-icon" ) - .removeClass( options.icons.activeHeader ) - .addClass( options.icons.header ); - } - - if ( !clickedIsActive ) { - clicked - .removeClass( "ui-corner-all" ) - .addClass( "ui-accordion-header-active ui-state-active ui-corner-top" ); - if ( options.icons ) { - clicked.children( ".ui-accordion-header-icon" ) - .removeClass( options.icons.header ) - .addClass( options.icons.activeHeader ); - } - - clicked - .next() - .addClass( "ui-accordion-content-active" ); - } - }, - - _toggle: function( data ) { - var toShow = data.newPanel, - toHide = this.prevShow.length ? this.prevShow : data.oldPanel; - - // handle activating a panel during the animation for another activation - this.prevShow.add( this.prevHide ).stop( true, true ); - this.prevShow = toShow; - this.prevHide = toHide; - - if ( this.options.animate ) { - this._animate( toShow, toHide, data ); - } else { - toHide.hide(); - toShow.show(); - this._toggleComplete( data ); - } - - toHide.attr({ - "aria-hidden": "true" - }); - toHide.prev().attr({ - "aria-selected": "false", - "aria-expanded": "false" - }); - // if we're switching panels, remove the old header from the tab order - // if we're opening from collapsed state, remove the previous header from the tab order - // if we're collapsing, then keep the collapsing header in the tab order - if ( toShow.length && toHide.length ) { - toHide.prev().attr({ - "tabIndex": -1, - "aria-expanded": "false" - }); - } else if ( toShow.length ) { - this.headers.filter(function() { - return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; - }) - .attr( "tabIndex", -1 ); - } - - toShow - .attr( "aria-hidden", "false" ) - .prev() - .attr({ - "aria-selected": "true", - "aria-expanded": "true", - tabIndex: 0 - }); - }, - - _animate: function( toShow, toHide, data ) { - var total, easing, duration, - that = this, - adjust = 0, - boxSizing = toShow.css( "box-sizing" ), - down = toShow.length && - ( !toHide.length || ( toShow.index() < toHide.index() ) ), - animate = this.options.animate || {}, - options = down && animate.down || animate, - complete = function() { - that._toggleComplete( data ); - }; - - if ( typeof options === "number" ) { - duration = options; - } - if ( typeof options === "string" ) { - easing = options; - } - // fall back from options to animation in case of partial down settings - easing = easing || options.easing || animate.easing; - duration = duration || options.duration || animate.duration; - - if ( !toHide.length ) { - return toShow.animate( this.showProps, duration, easing, complete ); - } - if ( !toShow.length ) { - return toHide.animate( this.hideProps, duration, easing, complete ); - } - - total = toShow.show().outerHeight(); - toHide.animate( this.hideProps, { - duration: duration, - easing: easing, - step: function( now, fx ) { - fx.now = Math.round( now ); - } - }); - toShow - .hide() - .animate( this.showProps, { - duration: duration, - easing: easing, - complete: complete, - step: function( now, fx ) { - fx.now = Math.round( now ); - if ( fx.prop !== "height" ) { - if ( boxSizing === "content-box" ) { - adjust += fx.now; - } - } else if ( that.options.heightStyle !== "content" ) { - fx.now = Math.round( total - toHide.outerHeight() - adjust ); - adjust = 0; - } - } - }); - }, - - _toggleComplete: function( data ) { - var toHide = data.oldPanel; - - toHide - .removeClass( "ui-accordion-content-active" ) - .prev() - .removeClass( "ui-corner-top" ) - .addClass( "ui-corner-all" ); - - // Work around for rendering bug in IE (#5421) - if ( toHide.length ) { - toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className; - } - this._trigger( "activate", null, data ); - } -}); - - -/*! - * jQuery UI Menu 1.11.4 - * http://jqueryui.com - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license. - * http://jquery.org/license - * - * http://api.jqueryui.com/menu/ - */ - - -var menu = $.widget( "ui.menu", { - version: "1.11.4", - defaultElement: "