moved all backbone/bootstrap files to _backboneApp

This commit is contained in:
kay.one 2013-01-21 21:40:26 -08:00
parent f34a8edcbc
commit 2112a8f9fa
125 changed files with 326 additions and 46502 deletions

View File

@ -1,75 +0,0 @@
using Cassette;
using Cassette.Scripts;
using Cassette.Stylesheets;
namespace NzbDrone.Web
{
/// <summary>
/// Configures the Cassette asset bundles for the web application.
/// </summary>
public class CassetteBundleConfiguration : IConfiguration<BundleCollection>
{
public const string BASE_STYLE = "BASE_STYLE";
public const string BASE_SCRIPT = "BASE_SCRIPT";
public const string BACKBONE = "BACKBONE";
public const string FONTS = "FONTS";
public const string VALIDATION_SCRIPTS = "VALIDATION_SCRIPTS";
public const string FILEBROWSER_SCRIPT = "FILEBROWSER_SCRIPT";
public const string FILEBROWSER_STYLE = "FILEBROWSER_STYLE";
public void Configure(BundleCollection bundles)
{
bundles.AddUrlWithAlias<StylesheetBundle>("//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,400,600,300'", FONTS);
bundles.Add<StylesheetBundle>(BASE_STYLE, new[]{
"content2\\Bootstrap\\bootstrap.less",
//"content2\\Bootstrap\\responsive.less",
//"content2\\bootstrap-metro.css",
"content2\\base.css",
"content2\\menu.css",
"content2\\bootstrap-overrides.css"},
bundle => bundle.AddReference("/" + FONTS));
bundles.Add<ScriptBundle>(BASE_SCRIPT, new[]{
"scripts2\\jquery-1.8.2.js",
"scripts2\\jquery.livequery.js",
"scripts2\\bootstrap-mvc.js",
"scripts2\\bootstrap.js",
"scripts2\\metro\\jquery.metro.js"});
bundles.Add<ScriptBundle>(BACKBONE, new[]{
"JsLibraries\\underscore.js",
"JsLibraries\\backbone.js",
"JsLibraries\\backbone.marionette.js",
"app.js",
"AddSeries\\Views\\addSeriesView.js"},
bundle => bundle.AddReference("/" + BASE_SCRIPT));
bundles.AddPerSubDirectory<StylesheetBundle>("AddSeries", bundle => bundle.AddReference("/" + BASE_STYLE));
bundles.Add<StylesheetBundle>(FILEBROWSER_STYLE, new[]{
"content2\\stats.css",
"content2\\file-browser.css",
"content2\\FancyBox\\jquery.fancybox.css"},
bundle => bundle.AddReference("/" + BASE_STYLE));
bundles.Add<ScriptBundle>(FILEBROWSER_SCRIPT, new[]{
"content2\\FancyBox\\jquery.fancybox.js"},
bundle => bundle.AddReference("/" + BASE_SCRIPT));
bundles.Add<ScriptBundle>(VALIDATION_SCRIPTS, new[]{
"scripts2\\jquery.livequery.js",
"scripts2\\jquery.validate.js",
"scripts2\\jquery.validate.unobtrusive.js",
"scripts2\\bootstrap-mvc.js"},
bundle => bundle.AddReference("/" + BASE_SCRIPT));
}
}
}

View File

@ -1,246 +0,0 @@
/*! fancyBox v2.1.0 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-wrap,
.fancybox-skin,
.fancybox-outer,
.fancybox-inner,
.fancybox-image,
.fancybox-wrap iframe,
.fancybox-wrap object,
.fancybox-nav,
.fancybox-nav span,
.fancybox-tmp
{
padding: 0;
margin: 0;
border: 0;
outline: none;
vertical-align: top;
}
.fancybox-wrap {
position: absolute;
top: 0;
left: 0;
z-index: 8020;
}
.fancybox-skin {
position: relative;
background: #f9f9f9;
color: #444;
text-shadow: none;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.fancybox-opened {
z-index: 8030;
}
.fancybox-opened .fancybox-skin {
-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}
.fancybox-outer, .fancybox-inner {
position: relative;
}
.fancybox-inner {
overflow: hidden;
}
.fancybox-type-iframe .fancybox-inner {
-webkit-overflow-scrolling: touch;
}
.fancybox-error {
color: #444;
font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
margin: 0;
padding: 15px;
white-space: nowrap;
}
.fancybox-image, .fancybox-iframe {
display: block;
width: 100%;
height: 100%;
}
.fancybox-image {
max-width: 100%;
max-height: 100%;
}
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
background-image: url('fancybox_sprite.png');
}
#fancybox-loading {
position: fixed;
top: 50%;
left: 50%;
margin-top: -22px;
margin-left: -22px;
background-position: 0 -108px;
opacity: 0.8;
cursor: pointer;
z-index: 8060;
}
#fancybox-loading div {
width: 44px;
height: 44px;
background: url('fancybox_loading.gif') center center no-repeat;
}
.fancybox-close {
position: absolute;
top: -18px;
right: -18px;
width: 36px;
height: 36px;
cursor: pointer;
z-index: 8040;
}
.fancybox-nav {
position: absolute;
top: 0;
width: 40%;
height: 100%;
cursor: pointer;
text-decoration: none;
background: transparent url('blank.gif'); /* helps IE */
-webkit-tap-highlight-color: rgba(0,0,0,0);
z-index: 8040;
}
.fancybox-prev {
left: 0;
}
.fancybox-next {
right: 0;
}
.fancybox-nav span {
position: absolute;
top: 50%;
width: 36px;
height: 34px;
margin-top: -18px;
cursor: pointer;
z-index: 8040;
visibility: hidden;
}
.fancybox-prev span {
left: 10px;
background-position: 0 -36px;
}
.fancybox-next span {
right: 10px;
background-position: 0 -72px;
}
.fancybox-nav:hover span {
visibility: visible;
}
.fancybox-tmp {
position: absolute;
top: -9999px;
left: -9999px;
visibility: hidden;
}
/* Overlay helper */
.fancybox-lock {
overflow: hidden;
}
.fancybox-overlay {
position: absolute;
top: 0;
left: 0;
overflow: hidden;
display: none;
z-index: 8010;
background: url('fancybox_overlay.png');
}
.fancybox-overlay-fixed {
position: fixed;
bottom: 0;
right: 0;
}
.fancybox-lock .fancybox-overlay {
overflow: auto;
overflow-y: scroll;
}
/* Title helper */
.fancybox-title {
visibility: hidden;
font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
position: relative;
text-shadow: none;
z-index: 8050;
}
.fancybox-opened .fancybox-title {
visibility: visible;
}
.fancybox-title-float-wrap {
position: absolute;
bottom: 0;
right: 50%;
margin-bottom: -35px;
z-index: 8050;
text-align: center;
}
.fancybox-title-float-wrap .child {
display: inline-block;
margin-right: -100%;
padding: 2px 20px;
background: transparent; /* Fallback for web browsers that doesn't support RGBa */
background: rgba(0, 0, 0, 0.8);
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
text-shadow: 0 1px 2px #222;
color: #FFF;
font-weight: bold;
line-height: 24px;
white-space: nowrap;
}
.fancybox-title-outside-wrap {
position: relative;
margin-top: 10px;
color: #fff;
}
.fancybox-title-inside-wrap {
padding-top: 10px;
}
.fancybox-title-over-wrap {
position: absolute;
bottom: 0;
left: 0;
color: #fff;
padding: 10px;
background: #000;
background: rgba(0, 0, 0, .8);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,833 +0,0 @@
/* === UTILS ==={ */
/* }=== UTILS === */
/* === COLOR - AZURE ==={ */
/* }=== COLOR - AZURE === */
/* === MADMIN MENU ==={ */
/* general setup & list styles reset */
.sidebar-menu,
.sidebar-menu ul,
.sidebar-menu li
{
position: relative;
list-style: none;
padding: 0;
margin: 0;
}
.sidebar-menu > li,
.sidebar-menu > li > div
{
width: 220px;
}
.sidebar-menu li > a
{
white-space: nowrap;
}
/* drop sub-menu mix-in */
/* main menu styles */
.sidebar-menu
{
/* level 0 */
/* levels 1+ */
}
.sidebar-menu > li > div
{
position: relative;
}
.sidebar-menu > li > div > a
{
display: block;
height: 30px;
padding: 10px;
color: #ffffff;
}
.sidebar-menu > li > div > a > i
{
position: relative;
top: 5px;
margin-right: 10px;
font-size: 30px;
font-weight: normal;
}
.sidebar-menu > li:hover > div > a,
.sidebar-menu > li.open > div > a
{
background: #6bbef6;
}
.sidebar-menu > li.parent > div > a > span:before
{
content: "";
display: inline-block;
width: 0px;
height: 0px;
border-width: 5px;
border-style: solid;
border-color: #61b0e9 #61b0e9 #61b0e9 #ffffff;
margin-right: 5px;
}
.sidebar-menu > li.parent:hover > div > a > span:before,
.sidebar-menu > li.parent.open > div > a > span:before
{
content: "";
display: inline-block;
width: 0px;
height: 0px;
border-width: 5px;
border-style: solid;
border-color: #6bbef6 #6bbef6 #6bbef6 #ffffff;
}
.sidebar-menu > li.active > div > a
{
background: #ffffff;
color: #20202f;
}
.sidebar-menu > li.parent.active > div > a > span:before
{
content: "";
display: inline-block;
width: 0px;
height: 0px;
border-width: 5px;
border-style: solid;
border-color: #20202f #ffffff #ffffff #ffffff;
position: relative;
top: 1px;
}
.sidebar-menu ul
{
display: none;
}
.sidebar-menu ul > li > a
{
display: block;
height: 20px;
padding: 5px;
}
/* drop-right */
.sidebar-menu.on-hover > li.parent.inactive:hover > div > ul,
.sidebar-menu > li.parent.inactive.open > div > ul
{
display: block;
position: absolute;
top: 0 !important;
left: 100% !important;
padding: 10px 0;
background: #6bbef6;
}
.sidebar-menu.on-hover > li.parent.inactive:hover > div > ul > li a,
.sidebar-menu > li.parent.inactive.open > div > ul > li a
{
padding: 5px 16px;
height: 20px;
color: #ffffff;
}
.sidebar-menu.on-hover > li.parent.inactive:hover > div > ul > li:hover a,
.sidebar-menu > li.parent.inactive.open > div > ul > li:hover a,
.sidebar-menu.on-hover > li.parent.inactive:hover > div > ul > li.active a,
.sidebar-menu > li.parent.inactive.open > div > ul > li.active a,
.sidebar-menu.on-hover > li.parent.inactive:hover > div > ul > li.active a:hover,
.sidebar-menu > li.parent.inactive.open > div > ul > li.active a:hover
{
padding-left: 8px;
border-left: 8px solid #aedcfb;
}
.sidebar-menu.on-hover > li.parent.inactive:hover > div > ul > li.active a,
.sidebar-menu > li.parent.inactive.open > div > ul > li.active a,
.sidebar-menu.on-hover > li.parent.inactive:hover > div > ul > li.active a:hover,
.sidebar-menu > li.parent.inactive.open > div > ul > li.active a:hover
{
color: #20202f;
border-color: #20202f;
}
/* maximized sidebar - active's item submenu */
.sidebar-max .sidebar-menu .active ul
{
display: block;
padding-bottom: 10px;
background: #ffffff;
}
.sidebar-max .sidebar-menu .active ul > li > a
{
margin-left: 72px;
color: #61b0e9;
border-color: #61b0e9;
}
.sidebar-max .sidebar-menu .active ul > li > a:hover,
.sidebar-max .sidebar-menu .active ul > li.active > a
{
border-left: 8px solid;
padding-left: 7px;
margin-left: 62px;
}
.sidebar-max .sidebar-menu .active ul > li.active > a
{
color: #20202f;
border-color: #20202f;
}
/* minimized sidebar */
.sidebar-min .sidebar-menu > li
{
width: 60px;
overflow: hidden;
}
.sidebar-min .sidebar-menu > li.parent > div.sidebar-menu-item-wrapper > ul,
.sidebar-min .sidebar-menu > li.parent.active > div.sidebar-menu-item-wrapper > ul
{
display: block;
position: absolute;
top: 50px !important;
left: 60px !important;
padding: 10px 0;
background: #6bbef6;
min-width: 160px;
padding-top: 0 !important;
}
.sidebar-min .sidebar-menu > li.parent > div.sidebar-menu-item-wrapper > ul > li a,
.sidebar-min .sidebar-menu > li.parent.active > div.sidebar-menu-item-wrapper > ul > li a
{
padding: 5px 16px;
height: 20px;
color: #ffffff;
}
.sidebar-min .sidebar-menu > li.parent > div.sidebar-menu-item-wrapper > ul > li:hover a,
.sidebar-min .sidebar-menu > li.parent.active > div.sidebar-menu-item-wrapper > ul > li:hover a,
.sidebar-min .sidebar-menu > li.parent > div.sidebar-menu-item-wrapper > ul > li.active a,
.sidebar-min .sidebar-menu > li.parent.active > div.sidebar-menu-item-wrapper > ul > li.active a,
.sidebar-min .sidebar-menu > li.parent > div.sidebar-menu-item-wrapper > ul > li.active a:hover,
.sidebar-min .sidebar-menu > li.parent.active > div.sidebar-menu-item-wrapper > ul > li.active a:hover
{
padding-left: 8px;
border-left: 8px solid #aedcfb;
}
.sidebar-min .sidebar-menu > li.parent > div.sidebar-menu-item-wrapper > ul > li.active a,
.sidebar-min .sidebar-menu > li.parent.active > div.sidebar-menu-item-wrapper > ul > li.active a,
.sidebar-min .sidebar-menu > li.parent > div.sidebar-menu-item-wrapper > ul > li.active a:hover,
.sidebar-min .sidebar-menu > li.parent.active > div.sidebar-menu-item-wrapper > ul > li.active a:hover
{
color: #20202f;
border-color: #20202f;
}
.sidebar-min .sidebar-menu.on-hover > li:hover,
.sidebar-min .sidebar-menu > li.open
{
overflow: visible;
}
.sidebar-min .sidebar-menu.on-hover > li:hover > div > a,
.sidebar-min .sidebar-menu > li.open > div > a
{
background: #6bbef6;
}
.sidebar-min .sidebar-menu.on-hover > li.parent.active:hover > div > a > span:before,
.sidebar-min .sidebar-menu > li.parent.active.open > div > a > span:before
{
content: "";
display: inline-block;
width: 0px;
height: 0px;
border-width: 5px;
border-style: solid;
border-color: #20202f #6bbef6 #6bbef6 #6bbef6;
position: relative;
top: 1px;
}
.sidebar-min .sidebar-menu.on-hover > li.parent:hover > div > a > span:before,
.sidebar-min .sidebar-menu > li.parent.open > div > a > span:before
{
content: "";
display: inline-block;
width: 0px;
height: 0px;
border-width: 5px;
border-style: solid;
border-color: #ffffff #6bbef6 #6bbef6 #6bbef6;
position: relative;
top: 1px;
}
/* }=== MADMIN MENU === */
/* === LAYOUT ==={ */
body
{
padding: 30px 0 40px 0;
}
body.help-page
{
padding: 0;
}
.row-fluid
{
position: relative;
}
#topbar
{
position: fixed;
top: 0;
width: 100%;
height: 30px;
padding: 0 3px;
border: 0;
margin: 0;
text-align: center;
z-index: 5000;
}
#topbar > li
{
display: inline-block;
position: relative;
}
#sidebar
{
position: absolute;
width: 220px;
padding: 10px 0 70px 0;
z-index: 1000;
}
#sidebar.fixed
{
position: fixed !important;
top: 30px;
left: 0;
bottom: 0;
}
.sidebar-min #sidebar
{
width: 60px;
}
.sidebar-min #content
{
left: 0;
margin-left: 80px;
}
#container
{
padding: 0;
}
#content
{
position: absolute;
top: 20px;
left: 240px;
right: 20px;
width: auto;
min-width: 600px;
margin: 0;
}
.page.hidden
{
position: absolute;
left: -10000px;
top: -10000px;
}
.panel
{
margin: 0 auto 20px auto;
}
.panel header
{
padding: 0 10px;
height: 30px;
}
.panel header i
{
position: relative;
top: 5px;
margin-right: 5px;
}
.panel header span
{
position: relative;
top: 5px;
}
.panel .content
{
padding: 10px;
}
#panel-login
{
width: 345px;
}
#panel-login .content
{
padding: 30px;
}
/* }=== LAYOUT === */
/* === LOOKS ==={ */
body.help-page
{
background-color: #FDFCE4;
}
.hero-unit,
input,
button,
select,
textarea
{
border-radius: 0 !important;
}
/* Top Bar */
#topbar
{
background: #3a4450;
color: #ffffff;
}
#topbar h1
{
position: relative;
top: -6px;
font-size: 14px;
font-weight: normal;
}
#topbar h1 i
{
position: relative;
top: 3px;
margin-right: 5px;
font-size: 20px;
color: #6ac8fb;
}
#topbar h1 a
{
color: #ffffff;
}
#topbar h1 a:hover
{
text-decoration: none;
}
#topbar > li > a
{
display: inline-block;
padding: 6px 10px 0 10px;
font-size: 11px;
font-weight: bold;
text-transform: uppercase;
color: #ffffff;
height: 24px;
line-height: 20px;
}
#topbar > li > a:hover
{
text-decoration: none;
background: #4b5867;
}
#topbar > li.pull-right > a
{
margin-left: 10px;
}
#topbar > li.parent > a > span:after
{
content: "";
display: inline-block;
width: 0px;
height: 0px;
border-width: 5px;
border-style: solid;
border-color: #ffffff #3a4450 #3a4450 #3a4450;
position: relative;
top: 1px;
position: relative;
top: 2px;
margin-left: 5px;
}
#topbar > li.parent > a:hover > span:after
{
content: "";
display: inline-block;
width: 0px;
height: 0px;
border-width: 5px;
border-style: solid;
border-color: #ffffff #4b5867 #4b5867 #4b5867;
position: relative;
top: 1px;
position: relative;
top: 2px;
margin-left: 5px;
}
#topbar .dropdown-menu
{
top: 98%;
right: 0;
padding: 0 0 0 0;
background: #3a4450;
border: 0;
border-radius: 0;
box-shadow: none;
text-align: left;
}
#topbar .dropdown-menu *
{
color: #ffffff;
}
#topbar .dropdown-menu > li > a
{
height: 24px;
}
#topbar .dropdown-menu > li > a:hover
{
background: #4b5867;
}
#topbar .dropdown-menu > li.divider
{
background: none;
border-bottom-color: #4b5867;
}
/* Bootstrap drop-downs behavior enhancement */
ul.on-hover > li.parent:hover > .dropdown-menu
{
display: block;
}
/* Sidebar Resizer */
#sidebar-resizer
{
display: block;
position: absolute;
bottom: 0;
padding: 10px;
width: 200px;
height: 30px;
text-align: center;
font-size: 32px;
color: #20202f;
margin: 10px 0 10px 0;
}
#sidebar-resizer:hover
{
text-decoration: none;
}
#sidebar-resizer i.max
{
display: none;
}
.sidebar-min #sidebar-resizer
{
width: 40px;
}
.sidebar-min #sidebar-resizer i.max
{
display: inline-block;
}
.sidebar-min #sidebar-resizer i.min
{
display: none;
}
/* Sidebar Mini-Search */
.search-mini
{
position: relative;
margin: 10px 0 20px 0;
}
.search-mini input
{
border: 0;
margin: 0 10px;
width: 192px;
height: 22px;
background: #3a4450;
color: #ffffff;
}
.search-mini button
{
position: absolute;
width: 30px;
height: 30px;
padding: 0;
border: 0;
margin: 0;
background: #3a4450;
color: #ffffff;
top: 0;
right: 10px;
font-size: 18px;
}
.sidebar-min .search-mini input
{
width: 32px;
}
.sidebar-min .search-mini :-webkit-input-placeholder,
.sidebar-min .search-mini :-moz-placeholder
{
display: none;
}
.sidebar-min .search-mini button
{
right: 24.5%;
}
.sidebar-min .search-mini:hover input
{
width: 162px;
}
.sidebar-min .search-mini:hover button
{
left: 162px;
}
/* Panels */
.panel header,
.accordion-heading
{
background: #3a4450;
}
.panel header *,
.accordion-heading *,
.panel header a:hover,
.accordion-heading a:hover
{
color: #ffffff;
text-decoration: none;
}
.panel .content
{
background: #f7f7fd;
color: #3a4450;
border: 1px solid #f0f0fb;
}
.hero-unit,
.form-actions
{
background: #f7f7fd;
}
/* Table of Key Numbers */
.table-key-numbers
{
width: 100%;
text-align: center;
}
.table-key-numbers td
{
font-size: 30px;
font-weight: bold;
line-height: 1.6em;
color: #20202f;
}
.table-key-numbers th
{
color: #666;
font-weight: normal;
color: #8b9198;
}
/* Demo Charts */
#stats-area-chart,
#dashboard-dynamic-chart,
#stats-pie-chart
{
margin: 10px;
height: 200px;
}
#stats-pie-chart
{
margin: 10px auto 10px auto;
width: 400px;
overflow: hidden;
}
/* Sidebar */
#sidebar
{
background: #61b0e9;
}
/* Tablesorter Plugin */
table.tablesorter thead tr .headerSortDown,
table.tablesorter thead tr .headerSortUp
{
background-color: #aedcfb;
}
table.tablesorter thead tr th,
table.tablesorter tfoot tr th
{
background-color: #61b0e9;
}
table.tablesorter
{
background-color: #f7f7fd;
}
/* Accordions */
.accordion-group,
.accordion-inner
{
border: 0;
}
.sidebar-menu a:hover
{
text-decoration: none;
}
.sidebar-menu > li > div > a
{
font-weight: bold;
text-transform: uppercase;
font-size: 12px;
}
.hero-unit h1
{
margin-bottom: 0.15em;
}
/* }=== TYPO === */
/* === FORMS ==={ */
/* }=== FORMS === */
/* === BUTTONS ==={ */
.btn
{
filter: none;
border-radius: 0;
}
.btn-madmin.btn.btn-primary
{
background: #61b0e9;
color: #ffffff;
text-transform: uppercase;
font-size: 14px;
border-color: #389ae2;
text-shadow: none;
}
.btn-madmin.btn.btn-primary:hover
{
border-color: #6bbef6;
background: #6bbef6;
color: #ffffff;
}
.btn-madmin.btn.btn-primary.btn-large
{
font-size: 16px;
}
.btn-madmin.btn.btn-primary.btn-small
{
font-size: 12px;
}
.btn-madmin.btn.btn-primary.btn-mini
{
font-size: 10px;
}
.btn-madmin.btn
{
background: #DCE0F1;
text-shadow: none;
border-color: #C1C1E3;
}
.btn-madmin.btn:hover
{
background: #E3EAF9;
border-color: #CECEF4;
}
/* Tile buttons */
.tile-btn
{
display: inline-block;
width: 105px;
height: 85px;
margin: 5px;
background: #61b0e9;
color: #ffffff;
text-align: center;
}
.tile-btn:hover
{
text-decoration: none;
background: #6bbef6;
color: #ffffff;
}
.tile-btn i
{
display: block;
font-size: 32px;
margin-top: 20px;
}
.tile-btn span
{
display: block;
margin-top: 10px;
}
.tiles-container
{
text-align: center;
}
/* }=== BUTTONS === */
/* === FIXES ==={ */
/* }=== FIXES === */

View File

@ -1,83 +0,0 @@
body {
padding-top: 0px;
color: #57606b;
}
div, table, ul {
-moz-border-radius: 0 !important;
-webkit-border-radius: 0 !important;
border-radius: 0 !important;
}
table {
font-size: 16px;
}
table th, .table th {
font-size: 20px;
font-weight: 100;
text-transform: lowercase;
}
h1 {
font-size: 60px;
padding-bottom: 50px;
}
h2 {
font-size: 40px;
}
h3 {
font-size: 30px;
}
h1, h2, h3 {
text-transform: lowercase;
}
input,
textarea,
.uneditable-input {
width: 400px;
}
.field-validation-error {
color: rgb(207, 27, 27);
}
.alert-error ul {
margin: 0px;
list-style-type: none;
}
:not([class^="alert-"]:before),
:not([class*="alert-"]:before),
[class^="icon-"]:before,
[class*=" icon-"]:before {
color: #57606b;
}
[class^="icon-"]:before,
[class*=" icon-"]:before {
margin-right: 7px;
}
form input[type=submit] {
margin-top: 30px;
}
.btn {
margin-right: 10px;
}
.btn-hover {
padding: 7px 15px;
}
.btn-hover:hover {
background: white;
color: #57606b;
text-decoration: none;
}

View File

@ -1,19 +0,0 @@
/*
[class^="icon-"]:before,
[class*=" icon-"]:before {
font-size: 30px;
}
*/
#main > .icon-folder-open, .icon-file, .icon-download-alt {
font-size: 25px;
}
.link-download {
margin-right: 10px;
}
.file-browser-message {
text-align: center;
}

View File

@ -1,830 +0,0 @@
.accent {
color: #1ba1e2;
}
.white {
color: #fff;
}
.black {
color: #000;
}
.blue {
color: #1ba1e2;
}
.brown {
color: #a05000;
}
.green {
color: #393;
}
.lime {
color: #8cbf26;
}
.magenta {
color: #ff0097;
}
.orange {
color: #f09609;
}
.pink {
color: #e671b8;
}
.purple {
color: #a200ff;
}
.red {
color: #e51400;
}
.teal {
color: #00aba9;
}
.whitebg {
background-color: #fff;
}
.blackbg {
background-color: #000;
}
.bluebg {
background-color: #1ba1e2;
}
.brownbg {
background-color: #a05000;
}
.greenbg {
background-color: #393;
}
.limebg {
background-color: #8cbf26;
}
.magentabg {
background-color: #ff0097;
}
.orangebg {
background-color: #f09609;
}
.pinkbg {
background-color: #e671b8;
}
.purplebg {
background-color: #a200ff;
}
.redbg {
background-color: #e51400;
}
.tealbg {
background-color: #00aba9;
}
@font-face {
font-family: 'RobotoRegular';
src: url('../fonts/Roboto-Regular-webfont.eot');
src: url('../fonts/Roboto-Regular-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Regular-webfont.woff') format('woff'),url('../fonts/Roboto-Regular-webfont.ttf') format('truetype'),url('../fonts/Roboto-Regular-webfont.svg#RobotoRegular') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'RobotoLight';
src: url('../fonts/Roboto-Light-webfont.eot');
src: url('../fonts/Roboto-Light-webfont.eot?#iefix') format('embedded-opentype'),url('../fonts/Roboto-Light-webfont.woff') format('woff'),url('../fonts/Roboto-Light-webfont.ttf') format('truetype'),url('../fonts/Roboto-Light-webfont.svg#RobotoLight') format('svg');
font-weight: normal;
font-style: normal;
}
#headingstyles {
font-family: "Segoe UI Light","Helvetica Neue",'RobotoLight',"Segoe UI","Segoe WP",sans-serif;
font-weight: 100;
margin-top: 5px;
margin-bottom: 0px;
text-transform: lowercase;
}
body {
font-family: "Segoe UI","Segoe WP","Helvetica Neue",'RobotoRegular',sans-serif;
font-size: 14px;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Segoe UI Light","Helvetica Neue",'RobotoLight',"Segoe UI","Segoe WP",sans-serif;
font-weight: 100;
margin-top: 5px;
margin-bottom: 0px;
text-transform: lowercase;
}
h1 {
font-size: 56px;
}
h2 {
font-size: 42px;
}
h3 {
font-size: 28px;
}
h4, h5, h6 {
font-weight: normal;
text-transform: uppercase;
}
ul.metro-list, ol.metro-list {
padding: 0;
}
ul.metro-list li, ol.metro-list li {
display: block;
list-style-type: none;
border-left: solid 30px #1ba1e2;
height: 20px;
list-style-position: inside;
margin: 10px 0;
padding: 5px;
}
ul.metro-list {
overflow: hidden;
}
ol.metro-list {
text-indent: -25px;
counter-reset: item;
}
ol.metro-list li:before {
color: white;
margin-right: 25px;
content: counter(item) " ";
counter-increment: item;
}
.tile {
-webkit-perspective: 0;
-webkit-transform-style: preserve- 3 d;
-webkit-transition: -webkit-transform 0.2s;
float: left;
margin-right: 10px;
margin-bottom: 10px;
text-align: center;
padding: 5px;
opacity: 0.75;
}
.tile h1, .tile h2, .tile h3, .tile h4, .tile h5, .tile h6 {
color: #fff;
-webkit-user-select: none;
}
.tile h2 {
font-size: 1.75em;
margin-top: -10px;
margin-left: 0px;
}
.tile a:hover {
text-decoration: none;
}
.tile img {
border: 0;
}
.tile:hover {
opacity: 1;
}
.tiles {
clear: both;
}
.tilerow {
float: left;
-webkit-perspective: 0;
-webkit-transform-style: preserve- 3 d;
-webkit-user-select: none;
}
.one {
width: 130px;
height: 130px;
}
.two-h {
width: 280px;
height: 130px;
}
.two-v {
width: 130px;
height: 280px;
}
.firstcol, .secondcol, .thirdcol, .fourthcol, .fifthcol {
position: absolute;
}
.secondcol {
margin-left: 150px;
}
.thirdcol {
margin-left: 300px;
}
.fourthcol {
margin-left: 450px;
}
.fifthcol {
margin-left: 600px;
}
metro-pivot .headers {
clear: both;
display: block;
white-space: nowrap;
}
.metro-pivot .pivot-item h3, .metro-pivot .headers .header {
font-family: "Segoe UI Light","Helvetica Neue",'RobotoLight',"Segoe UI","Segoe WP",sans-serif;
font-weight: 100;
margin-top: 5px;
margin-bottom: 0px;
text-transform: lowercase;
cursor: pointer;
display: inline-block;
font-size: 42px;
margin-right: 24px;
padding: 0;
vertical-align: top;
}
.metro-pivot .headers {
white-space: nowrap;
display: block;
clear: both;
}
.metro-pivot .pivot-item h3, .metro-pivot .headers .header {
font-family: "Segoe UI Light","Helvetica Neue",'RobotoLight',"Segoe UI","Segoe WP",sans-serif;
font-weight: 100;
margin-top: 5px;
margin-bottom: 0px;
text-transform: lowercase;
font-size: 42px;
display: inline-block;
vertical-align: top;
padding: 0;
cursor: pointer;
margin-right: 24px;
}
.metro-pivot .items {
position: relative;
}
.metro-pivot .items .pivotItem {
display: block;
white-space: normal;
text-align: justify;
width: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
display: block;
}
audio, canvas, video {
display: inline-block;
*display: inline;
*zoom: 1;
}
audio:not([controls]) {
display: none;
}
html {
font-size: 100%;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
a:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
a:hover, a:active {
outline: 0;
}
sub, sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
img {
max-width: 100%;
height: auto;
border: 0;
-ms-interpolation-mode: bicubic;
}
button, input, select, textarea {
margin: 0;
font-size: 100%;
vertical-align: middle;
}
button, input {
*overflow: visible;
line-height: normal;
}
button::-moz-focus-inner, input::-moz-focus-inner {
padding: 0;
border: 0;
}
button, input[type="button"], input[type="reset"], input[type="submit"] {
cursor: pointer;
-webkit-appearance: button;
}
input[type="search"] {
-webkit-appearance: textfield;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
-webkit-appearance: none;
}
textarea {
overflow: auto;
vertical-align: top;
}
.container {
width: 940px;
margin-left: auto;
margin-right: auto;
*zoom: 1;
}
.container:before, .container:after {
display: table;
content: "";
}
.container:after {
clear: both;
}
.container-fluid {
padding-left: 20px;
padding-right: 20px;
*zoom: 1;
}
.container-fluid:before, .container-fluid:after {
display: table;
content: "";
}
.container-fluid:after {
clear: both;
}
.row {
margin-left: -20px;
*zoom: 1;
}
.row:before, .row:after {
display: table;
content: "";
}
.row:after {
clear: both;
}
[class*="span"] {
float: left;
margin-left: 20px;
}
.span1 {
width: 60px;
}
.span2 {
width: 140px;
}
.span3 {
width: 220px;
}
.span4 {
width: 300px;
}
.span5 {
width: 380px;
}
.span6 {
width: 460px;
}
.span7 {
width: 540px;
}
.span8 {
width: 620px;
}
.span9 {
width: 700px;
}
.span10 {
width: 780px;
}
.span11 {
width: 860px;
}
.span12, .container {
width: 940px;
}
.offset1 {
margin-left: 100px;
}
.offset2 {
margin-left: 180px;
}
.offset3 {
margin-left: 260px;
}
.offset4 {
margin-left: 340px;
}
.offset5 {
margin-left: 420px;
}
.offset6 {
margin-left: 500px;
}
.offset7 {
margin-left: 580px;
}
.offset8 {
margin-left: 660px;
}
.offset9 {
margin-left: 740px;
}
.offset10 {
margin-left: 820px;
}
.offset11 {
margin-left: 900px;
}
.row-fluid {
width: 100%;
*zoom: 1;
}
.row-fluid:before, .row-fluid:after {
display: table;
content: "";
}
.row-fluid:after {
clear: both;
}
.row-fluid > [class*="span"] {
float: left;
margin-left: 2.13%;
}
.row-fluid > [class*="span"]:first-child {
margin-left: 0;
}
.row-fluid .span1 {
width: 6.38%;
}
.row-fluid .span2 {
width: 14.89%;
}
.row-fluid .span3 {
width: 23.4%;
}
.row-fluid .span4 {
width: 31.91%;
}
.row-fluid .span5 {
width: 40.43%;
}
.row-fluid .span6 {
width: 48.94%;
}
.row-fluid .span7 {
width: 57.45%;
}
.row-fluid .span8 {
width: 65.96%;
}
.row-fluid .span9 {
width: 74.47%;
}
.row-fluid .span10 {
width: 82.98%;
}
.row-fluid .span11 {
width: 91.49%;
}
.row-fluid .span12 {
width: 100%;
}
@-webkit-keyframes progress-bar-stripes {
from {
background-position: 0 0;
}
to {
background-position: 40px 0;
}
}
@-moz-keyframes progress-bar-stripes {
from {
background-position: 0 0;
}
to {
background-position: 40px 0;
}
}
@keyframes progress-bar-stripes {
from {
background-position: 0 0;
}
to {
background-position: 40px 0;
}
}
.progress {
overflow: hidden;
height: 18px;
margin-bottom: 18px;
background-color: #f7f7f7;
background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
background-image: linear-gradient(top, #f5f5f5, #f9f9f9);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.progress .bar {
width: 0%;
height: 18px;
color: #fff;
font-size: 12px;
text-align: center;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #5ebdeb;
background-image: -moz-linear-gradient(top, #8bd0f1, #1ba1e2);
background-image: -ms-linear-gradient(top, #8bd0f1, #1ba1e2);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#8bd0f1), to(#1ba1e2));
background-image: -webkit-linear-gradient(top, #8bd0f1, #1ba1e2);
background-image: -o-linear-gradient(top, #8bd0f1, #1ba1e2);
background-image: linear-gradient(top, #8bd0f1, #1ba1e2);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#8bd0f1', endColorstr='#1ba1e2', GradientType=0);
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: width 0.6s ease;
-moz-transition: width 0.6s ease;
-ms-transition: width 0.6s ease;
-o-transition: width 0.6s ease;
transition: width 0.6s ease;
}
.progress-striped .bar {
background-color: #1ba1e2;
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-webkit-background-size: 40px 40px;
-moz-background-size: 40px 40px;
-o-background-size: 40px 40px;
background-size: 40px 40px;
}
.progress.active .bar {
-webkit-animation: progress-bar-stripes 2s linear infinite;
-moz-animation: progress-bar-stripes 2s linear infinite;
animation: progress-bar-stripes 2s linear infinite;
}
.progress-danger .bar {
background-color: #dd514c;
background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
background-image: linear-gradient(top, #ee5f5b, #c43c35);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
}
.progress-danger.progress-striped .bar {
background-color: #ee5f5b;
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-success .bar {
background-color: #5eb95e;
background-image: -moz-linear-gradient(top, #62c462, #57a957);
background-image: -ms-linear-gradient(top, #62c462, #57a957);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
background-image: -webkit-linear-gradient(top, #62c462, #57a957);
background-image: -o-linear-gradient(top, #62c462, #57a957);
background-image: linear-gradient(top, #62c462, #57a957);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
}
.progress-success.progress-striped .bar {
background-color: #62c462;
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-info .bar {
background-color: #4bb1cf;
background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
background-image: linear-gradient(top, #5bc0de, #339bb9);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
}
.progress-info.progress-striped .bar {
background-color: #5bc0de;
background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.pull-right {
float: right;
}
.pull-left {
float: left;
}
.hide {
display: none;
}
.show {
display: block;
}
.invisible {
visibility: hidden;
}
a {
color: #1ba1e2;
text-decoration: none;
}
a:hover {
color: #13709e;
text-decoration: underline;
}
pre {
padding: 15px;
border: 1px solid #aaa;
background: #fafafa;
}
code {
background: #fafafa;
border: 1px solid #aaa;
padding-left: 5px;
padding-right: 5px;
}
.clear {
clear: both;
}

View File

@ -1,160 +0,0 @@
body>h1{
font:60px 'Ubuntu Condensed', sans-serif;
font-weight:lighter;
color:#fff;
cursor:default;
margin:40px 0 0 5%;
}
#center{
margin:0 auto;
width:2100px;
padding:50px;
}
#center a:focus{ outline:0 }
#center section{
width:910px;
display:inline-block;
margin-right:100px;
}
#center a{
display:block;
float:left;
margin:4px;
height:100px;
width:250px;
padding:25px;
background:#5fbfbf;
z-index:0;
color:#fff;
font-size:18px;
font:18px 'Cantarell', sans-serif;
text-decoration:none;
}
#center a span{
letter-spacing:-3px;
font-size:50px;
text-transform:uppercase
}
#center a img{
display:inline;
margin:-25px 0 0 -25px
}
#center a.normal, #center a.numbers{
background: #479ea8;
background: -moz-linear-gradient(left, #479ea8 1%, #53b6bc 98%);
background: -webkit-gradient(linear, left top, right top, color-stop(1%,#479ea8), color-stop(98%,#53b6bc));
background: -webkit-linear-gradient(left, #479ea8 1%,#53b6bc 98%);
background: -o-linear-gradient(left, #479ea8 1%,#53b6bc 98%);
background: -ms-linear-gradient(left, #479ea8 1%,#53b6bc 98%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#479ea8', endColorstr='#53b6bc',GradientType=1 );
background: linear-gradient(left, #479ea8 1%,#53b6bc 98%);
border:1px solid #59b0b6
}
#center a.normal:hover, #center a.numbers:hover{
background:#53b6bc;
}
#center a.fulltext{
background: #de8211; /* Old browsers */
background: -moz-linear-gradient(left, #de8211 0%, #e3a419 94%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%,#de8211), color-stop(94%,#e3a419));
background: -webkit-linear-gradient(left, #de8211 0%,#e3a419 94%);
background: -o-linear-gradient(left, #de8211 0%,#e3a419 94%);
background: -ms-linear-gradient(left, #de8211 0%,#e3a419 94%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#de8211', endColorstr='#e3a419',GradientType=1 );
background: linear-gradient(left, #de8211 0%,#e3a419 94%);
border:1px solid #d8923d;
font-size:16px;
}
#center a.fulltext:hover{
background:#e3a419;
}
#center a.icon{
background: #7ca024;
background: -moz-linear-gradient(left, #7ca024 3%, #9ab92f 98%);
background: -webkit-gradient(linear, left top, right top, color-stop(3%,#7ca024), color-stop(98%,#9ab92f));
background: -webkit-linear-gradient(left, #7ca024 3%,#9ab92f 98%);
background: -o-linear-gradient(left, #7ca024 3%,#9ab92f 98%);
background: -ms-linear-gradient(left, #7ca024 3%,#9ab92f 98%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7ca024', endColorstr='#9ab92f',GradientType=1 );
background: linear-gradient(left, #7ca024 3%,#9ab92f 98%);
width:100px;
border:1px solid #aab662
}
#center a.icon:hover{
background:#9ab92f;
}
#center a.preview{
background: #c74430; /* Old browsers */
background: -moz-linear-gradient(left, #c74430 0%, #d85636 95%);
background: -webkit-gradient(linear, left top, right top, color-stop(0%,#c74430), color-stop(95%,#d85636));
background: -webkit-linear-gradient(left, #c74430 0%,#d85636 95%);
background: -o-linear-gradient(left, #c74430 0%,#d85636 95%);
background: -ms-linear-gradient(left, #c74430 0%,#d85636 95%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c74430', endColorstr='#d85636',GradientType=1 );
background: linear-gradient(left, #c74430 0%,#d85636 95%);
font-size:30px;
border:1px solid #d55b46;
border-top:0
}
#center a.preview:hover{
background:#d85636;
}
#center a.preview img{
display:block;
margin-bottom:5px
}
#center a.search{
background: #631254; /* Old browsers */
background: -moz-linear-gradient(left, #631254 4%, #7c1d6e 98%);
background: -webkit-gradient(linear, left top, right top, color-stop(4%,#631254), color-stop(98%,#7c1d6e));
background: -webkit-linear-gradient(left, #631254 4%,#7c1d6e 98%);
background: -o-linear-gradient(left, #631254 4%,#7c1d6e 98%);
background: -ms-linear-gradient(left, #631254 4%,#7c1d6e 98%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#631254', endColorstr='#7c1d6e',GradientType=1 );
background: linear-gradient(left, #631254 4%,#7c1d6e 98%);
border:1px solid #7b387f;
width:100px;
}
#center a.search:hover{
background:#7c1d6e;
}
#center a.twitter{
background: #652d9a;
background: -moz-linear-gradient(left, #652d9a 3%, #7f37b5 98%);
background: -webkit-gradient(linear, left top, right top, color-stop(3%,#652d9a), color-stop(98%,#7f37b5));
background: -webkit-linear-gradient(left, #652d9a 3%,#7f37b5 98%);
background: -o-linear-gradient(left, #652d9a 3%,#7f37b5 98%);
background: -ms-linear-gradient(left, #652d9a 3%,#7f37b5 98%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#652d9a', endColorstr='#7f37b5',GradientType=1 );
background: linear-gradient(left, #652d9a 3%,#7f37b5 98%);
border:1px solid #8148b1;
font-size:16px;
text-shadow:1px 1px 2px ##652d9a;
width:260px;
height:110px;
padding-top:15px;
padding-left:15px;
}
#center a.twitter:hover{background:#7f37b5}
#center a.twitter>span{font-size:20px;letter-spacing:-3px}
#center a.twitter>i{font-size:.9em;font-style:italic;}
#center a.twitter>img{
float:left;
margin:0 5px 0 0;
}
#center a.images{
padding:0;
width:302px;
height:152px;
}

View File

@ -1,36 +0,0 @@
.stat-item {
background: whiteSmoke;
font-weight: 100;
}
.user-stats {
margin-bottom: 30px;
}
.stat-value {
font-size: 50px;
padding-bottom: 20px;
padding-left: 5px;
border-bottom-style: solid;
border-bottom-width: 10px;
}
.stat-size {
color: #1081CD;
}
.stat-count {
color: #8EBD40;
}
.stat-last-backup {
color: #988CC3;
}
.stat-lable {
color: #57606B;
margin-bottom: 15px;
padding-left: 5px;
}

View File

@ -0,0 +1,21 @@

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace NzbDrone.Web.Controllers
{
public class V2Controller : Controller
{
//
// GET: /V2/
public ActionResult Index()
{
return View();
}
}
}

View File

@ -182,102 +182,91 @@
<ItemGroup>
<Compile Include="App_Start\DataTablesMvc.cs" />
<Compile Include="App_Start\MiniProfiler.cs" />
<Compile Include="CassetteConfiguration.cs" />
<Content Include="_backboneApp\JsLibraries\backbone.marionette.extend.js" />
<Compile Include="_backboneApp\CassetteConfiguration.cs" />
<Compile Include="Controllers\ImageController.cs" />
<Compile Include="Controllers\SearchHistoryController.cs" />
<Compile Include="Controllers\V2Controller.cs" />
<Compile Include="Helpers\Binders\QualityTypesBinder.cs" />
<Compile Include="Helpers\RenderActionHelper.cs" />
<Compile Include="Helpers\Validation\RequiredIfAnyAttribute.cs" />
<Compile Include="Helpers\Validation\RequiredIfAttribute.cs" />
<Content Include="AddSeries\Views\addSeriesView.js" />
<Content Include="AddSeries\Views\addSeries.css" />
<Content Include="app.js" />
<Content Include="Content2\base.css" />
<Content Include="Content2\bootstrap-metro.css" />
<Content Include="Content2\bootstrap-overrides.css" />
<Content Include="Content2\Bootstrap\accordion.less" />
<Content Include="Content2\Bootstrap\alerts.less" />
<Content Include="Content2\Bootstrap\bootstrap.less" />
<Content Include="Content2\Bootstrap\breadcrumbs.less" />
<Content Include="Content2\Bootstrap\bundle.txt" />
<Content Include="Content2\Bootstrap\button-groups.less" />
<Content Include="Content2\Bootstrap\buttons.less" />
<Content Include="Content2\Bootstrap\carousel.less" />
<Content Include="Content2\Bootstrap\close.less" />
<Content Include="Content2\Bootstrap\code.less" />
<Content Include="Content2\Bootstrap\component-animations.less" />
<Content Include="Content2\Bootstrap\dropdowns.less" />
<Content Include="Content2\Bootstrap\font-awesome-ie7.less" />
<Content Include="Content2\Bootstrap\font-awesome.less" />
<Content Include="Content2\Bootstrap\forms.less" />
<Content Include="Content2\Bootstrap\grid.less" />
<Content Include="Content2\Bootstrap\hero-unit.less" />
<Content Include="Content2\Bootstrap\labels-badges.less" />
<Content Include="Content2\Bootstrap\layouts.less" />
<Content Include="Content2\Bootstrap\mixins.less" />
<Content Include="Content2\Bootstrap\mixins.min.css">
<DependentUpon>mixins.less</DependentUpon>
</Content>
<Content Include="Content2\Bootstrap\modals.less" />
<Content Include="Content2\Bootstrap\navbar.less" />
<Content Include="Content2\Bootstrap\navs.less" />
<Content Include="Content2\Bootstrap\pager.less" />
<Content Include="Content2\Bootstrap\pagination.less" />
<Content Include="Content2\Bootstrap\popovers.less" />
<Content Include="Content2\Bootstrap\progress-bars.less" />
<Content Include="Content2\Bootstrap\reset.less" />
<Content Include="Content2\Bootstrap\responsive-1200px-min.less" />
<Content Include="Content2\Bootstrap\responsive-767px-max.less" />
<Content Include="Content2\Bootstrap\responsive-768px-979px.less" />
<Content Include="Content2\Bootstrap\responsive-navbar.less" />
<Content Include="Content2\Bootstrap\responsive-utilities.less" />
<Content Include="Content2\Bootstrap\responsive.less" />
<Content Include="Content2\Bootstrap\scaffolding.less" />
<Content Include="Content2\Bootstrap\sprites.less" />
<Content Include="Content2\Bootstrap\tables.less" />
<Content Include="Content2\Bootstrap\thumbnails.less" />
<Content Include="Content2\Bootstrap\tooltip.less" />
<Content Include="Content2\Bootstrap\type.less" />
<Content Include="Content2\Bootstrap\utilities.less" />
<Content Include="Content2\Bootstrap\variables.less" />
<Content Include="Content2\Bootstrap\wells.less" />
<Content Include="Content2\FancyBox\jquery.fancybox.css" />
<Content Include="Content2\FancyBox\jquery.fancybox.js" />
<Content Include="Content2\file-browser.css" />
<Content Include="Content2\font\fontawesome-webfont.eot" />
<Content Include="Content2\font\fontawesome-webfont.svg" />
<Content Include="Content2\font\fontawesome-webfont.ttf" />
<Content Include="Content2\font\fontawesome-webfont.woff" />
<Content Include="Content2\Images\ajax-loader.gif" />
<Content Include="Content2\Images\apple-touch-icon-114.png" />
<Content Include="Content2\Images\apple-touch-icon-144.png" />
<Content Include="Content2\Images\azure.gif" />
<Content Include="Content2\Images\background.jpg" />
<Content Include="Content2\Images\gritter.png" />
<Content Include="Content2\Images\icons.png" />
<Content Include="Content2\Images\Indexers\FileSharingTalk.png" />
<Content Include="Content2\Images\Indexers\Newznab.png" />
<Content Include="Content2\Images\Indexers\Newznab_dognzb.cr.png" />
<Content Include="Content2\Images\Indexers\Newznab_nzb.su.png" />
<Content Include="Content2\Images\Indexers\Newznab_Nzbs.org.png" />
<Content Include="Content2\Images\Indexers\NzbClub.png" />
<Content Include="Content2\Images\Indexers\NzbIndex.png" />
<Content Include="Content2\Images\Indexers\NzbsRus.png" />
<Content Include="Content2\Images\Indexers\Unknown.png" />
<Content Include="Content2\Images\Indexers\WomblesIndex.png" />
<Content Include="Content2\Images\logo.png" />
<Content Include="Content2\Images\logo_small.png" />
<Content Include="Content2\Images\spinner.gif" />
<Content Include="Content2\Images\thetvdb.png" />
<Content Include="Content2\Intelisense\bootstrap-responsive.css" />
<Content Include="Content2\Intelisense\bootstrap.css" />
<Content Include="Content2\Menu.css" />
<Content Include="Content2\metro.blue.css" />
<Content Include="Content2\metro.css" />
<Content Include="Content2\New folder\jquery.lhpMegaImgViewer.1.1.js" />
<Content Include="Content2\New folder\jquery.lhpMegaImgViewer.2.0.js" />
<Content Include="Content2\SmothZoomPan\smothzoompan.js" />
<Content Include="Content2\stats.css" />
<Content Include="_backboneApp\AddSeries\addSeriesView.js" />
<Content Include="_backboneApp\AddSeries\addSeries.css" />
<Content Include="_backboneApp\app.js" />
<Content Include="_backboneApp\Content\base.css" />
<Content Include="_backboneApp\Content\Bootstrap\accordion.less" />
<Content Include="_backboneApp\Content\Bootstrap\alerts.less" />
<Content Include="_backboneApp\Content\Bootstrap\bootstrap.less" />
<Content Include="_backboneApp\Content\Bootstrap\breadcrumbs.less" />
<Content Include="_backboneApp\Content\Bootstrap\bundle.txt" />
<Content Include="_backboneApp\Content\Bootstrap\button-groups.less" />
<Content Include="_backboneApp\Content\Bootstrap\buttons.less" />
<Content Include="_backboneApp\Content\Bootstrap\carousel.less" />
<Content Include="_backboneApp\Content\Bootstrap\close.less" />
<Content Include="_backboneApp\Content\Bootstrap\code.less" />
<Content Include="_backboneApp\Content\Bootstrap\component-animations.less" />
<Content Include="_backboneApp\Content\Bootstrap\dropdowns.less" />
<Content Include="_backboneApp\Content\Bootstrap\font-awesome-ie7.less" />
<Content Include="_backboneApp\Content\Bootstrap\font-awesome.less" />
<Content Include="_backboneApp\Content\Bootstrap\forms.less" />
<Content Include="_backboneApp\Content\Bootstrap\grid.less" />
<Content Include="_backboneApp\Content\Bootstrap\hero-unit.less" />
<Content Include="_backboneApp\Content\Bootstrap\labels-badges.less" />
<Content Include="_backboneApp\Content\Bootstrap\layouts.less" />
<Content Include="_backboneApp\Content\Bootstrap\mixins.less" />
<Content Include="_backboneApp\Content\Bootstrap\modals.less" />
<Content Include="_backboneApp\Content\Bootstrap\navbar.less" />
<Content Include="_backboneApp\Content\Bootstrap\navs.less" />
<Content Include="_backboneApp\Content\Bootstrap\pager.less" />
<Content Include="_backboneApp\Content\Bootstrap\pagination.less" />
<Content Include="_backboneApp\Content\Bootstrap\popovers.less" />
<Content Include="_backboneApp\Content\Bootstrap\progress-bars.less" />
<Content Include="_backboneApp\Content\Bootstrap\reset.less" />
<Content Include="_backboneApp\Content\Bootstrap\responsive-1200px-min.less" />
<Content Include="_backboneApp\Content\Bootstrap\responsive-767px-max.less" />
<Content Include="_backboneApp\Content\Bootstrap\responsive-768px-979px.less" />
<Content Include="_backboneApp\Content\Bootstrap\responsive-navbar.less" />
<Content Include="_backboneApp\Content\Bootstrap\responsive-utilities.less" />
<Content Include="_backboneApp\Content\Bootstrap\responsive.less" />
<Content Include="_backboneApp\Content\Bootstrap\scaffolding.less" />
<Content Include="_backboneApp\Content\Bootstrap\sprites.less" />
<Content Include="_backboneApp\Content\Bootstrap\tables.less" />
<Content Include="_backboneApp\Content\Bootstrap\thumbnails.less" />
<Content Include="_backboneApp\Content\Bootstrap\tooltip.less" />
<Content Include="_backboneApp\Content\Bootstrap\type.less" />
<Content Include="_backboneApp\Content\Bootstrap\utilities.less" />
<Content Include="_backboneApp\Content\Bootstrap\variables.less" />
<Content Include="_backboneApp\Content\Bootstrap\wells.less" />
<Content Include="_backboneApp\Content\font\fontawesome-webfont.eot" />
<Content Include="_backboneApp\Content\font\fontawesome-webfont.svg" />
<Content Include="_backboneApp\Content\font\fontawesome-webfont.ttf" />
<Content Include="_backboneApp\Content\font\fontawesome-webfont.woff" />
<Content Include="_backboneApp\Content\Images\ajax-loader.gif" />
<Content Include="_backboneApp\Content\Images\apple-touch-icon-114.png" />
<Content Include="_backboneApp\Content\Images\apple-touch-icon-144.png" />
<Content Include="_backboneApp\Content\Images\azure.gif" />
<Content Include="_backboneApp\Content\Images\background.jpg" />
<Content Include="_backboneApp\Content\Images\gritter.png" />
<Content Include="_backboneApp\Content\Images\icons.png" />
<Content Include="_backboneApp\Content\Images\Indexers\FileSharingTalk.png" />
<Content Include="_backboneApp\Content\Images\Indexers\Newznab.png" />
<Content Include="_backboneApp\Content\Images\Indexers\Newznab_dognzb.cr.png" />
<Content Include="_backboneApp\Content\Images\Indexers\Newznab_nzb.su.png" />
<Content Include="_backboneApp\Content\Images\Indexers\Newznab_Nzbs.org.png" />
<Content Include="_backboneApp\Content\Images\Indexers\NzbClub.png" />
<Content Include="_backboneApp\Content\Images\Indexers\NzbIndex.png" />
<Content Include="_backboneApp\Content\Images\Indexers\NzbsRus.png" />
<Content Include="_backboneApp\Content\Images\Indexers\Unknown.png" />
<Content Include="_backboneApp\Content\Images\Indexers\WomblesIndex.png" />
<Content Include="_backboneApp\Content\Images\logo.png" />
<Content Include="_backboneApp\Content\Images\logo_small.png" />
<Content Include="_backboneApp\Content\Images\spinner.gif" />
<Content Include="_backboneApp\Content\Images\thetvdb.png" />
<Content Include="_backboneApp\Content\Intelisense\bootstrap-responsive.css" />
<Content Include="_backboneApp\Content\Intelisense\bootstrap.css" />
<Content Include="_backboneApp\Content\Menu.css" />
<Content Include="_backboneApp\JsLibraries\bootstrap.js" />
<Content Include="Content\DataTables-NzbDrone\media\images\sort_both.png" />
<Content Include="Content\DataTables-NzbDrone\media\images\sort_desc_disabled.png" />
<Content Include="Content\font-awesome-ie7.css" />
@ -386,36 +375,19 @@
<Compile Include="Models\UpcomingEpisodeModel.cs" />
<Compile Include="Models\UpdateModel.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="JsLibraries\backbone.js" />
<Content Include="JsLibraries\backbone.marionette.js" />
<None Include="JsLibraries\jquery-1.8.2.intellisense.js" />
<Content Include="JsLibraries\jquery-1.8.2.js" />
<Content Include="JsLibraries\jquery-ui-1.9.0.js" />
<Content Include="JsLibraries\underscore.js" />
<Content Include="Scripts2\bootstrap-mvc.js" />
<Content Include="Scripts2\bootstrap.js" />
<None Include="Scripts2\jquery-1.8.2.intellisense.js" />
<Content Include="Scripts2\jquery-1.8.2.js" />
<Content Include="Scripts2\jquery-ui-1.8.23.js" />
<Content Include="Scripts2\jquery.livequery.js" />
<Content Include="Scripts2\jquery.unobtrusive-ajax.js" />
<None Include="Scripts2\jquery.validate-vsdoc.js" />
<Content Include="Scripts2\jquery.validate.js" />
<Content Include="Scripts2\jquery.validate.unobtrusive.js" />
<Content Include="Scripts2\Metro\jquery.metro.js" />
<Content Include="Scripts2\Metro\tilt.js" />
<Content Include="Scripts2\MicrosoftAjax.debug.js" />
<Content Include="Scripts2\MicrosoftAjax.js" />
<Content Include="Scripts2\MicrosoftMvcAjax.debug.js" />
<Content Include="Scripts2\MicrosoftMvcAjax.js" />
<Content Include="Scripts2\MicrosoftMvcValidation.debug.js" />
<Content Include="Scripts2\MicrosoftMvcValidation.js" />
<Content Include="Scripts2\modernizr-2.6.2.js" />
<Content Include="_backboneApp\JsLibraries\backbone.js" />
<Content Include="_backboneApp\JsLibraries\backbone.marionette.js" />
<Content Include="_backboneApp\AddSeries\addSeriesTemplate.html" />
<None Include="_backboneApp\JsLibraries\jquery-1.8.2.intellisense.js" />
<Content Include="_backboneApp\JsLibraries\jquery-1.8.2.js" />
<Content Include="_backboneApp\JsLibraries\jquery-ui-1.9.0.js" />
<Content Include="_backboneApp\JsLibraries\underscore.js" />
<Content Include="Views\System\Index.cshtml" />
<Content Include="Views\System\Logs.cshtml" />
<Content Include="Views\Settings\Nzbget.cshtml" />
<Content Include="Views\Shared\_Bootstrap.cshtml" />
<Content Include="Views\AddSeries\bt.cshtml" />
<Content Include="Views\V2\Index.cshtml" />
<None Include="_bin_deployableAssemblies\x86\sqlcese40.dll" />
<None Include="_bin_deployableAssemblies\x86\sqlceqp40.dll" />
<None Include="_bin_deployableAssemblies\x86\sqlceme40.dll" />

View File

@ -1,162 +0,0 @@
/**
* jqMetro
* JQUERY PLUGIN FOR METRO UI CONTROLS
*
* Copyright (c) 2011 Mohammad Valipour (http://manorey.net/mohblog)
* Licensed under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
*
*/
;(function ($) {
var defaults = {
animationDuration: 150,
headerOpacity: 0.5,
fixedHeaders: false,
headerSelector: function (item) { return item.children("h3").first(); },
itemSelector: function (item) { return item.children(".pivot-item"); },
headerItemTemplate: function () { return $("<span class='header' />"); },
pivotItemTemplate: function () { return $("<div class='pivotItem' />"); },
itemsTemplate: function () { return $("<div class='items' />"); },
headersTemplate: function () { return $("<div class='headers' />"); },
controlInitialized: undefined,
selectedItemChanged: undefined
};
$.fn.metroPivot = function (settings) {
if(this.length > 1)
{
return this.each(function(index, el){ $(el).wp7Pivot(settings); });
}
$.extend(this, defaults, settings);
$.extend(this,{
animating : false,
headers : undefined,
items : undefined,
goToNext: function(){
if(this.animating) return;
this.headers.children(".current").next().trigger("click");
},
goToPrevious: function(){
if(this.animating) return;
this.headers.children(".header").last().trigger("click");
},
goToItemByName:function(header){
if(this.animating) return;
this.headers.children(":contains("+header+")").first().trigger("click");
},
goToItemByIndex:function(index){
if(this.animating) return;
this.headers.children().eq(index).trigger("click");
},
initialize : function () {
var pivot = this;
// define sections
var headers = pivot.headersTemplate();
var items = pivot.itemsTemplate();
pivot.itemSelector(pivot).each(function (index, el) {
el = $(el);
var h3Element = pivot.headerSelector(el);
if (h3Element.length == 0) return;
var headerItem = pivot.headerItemTemplate().html(h3Element.html()).fadeTo(0, pivot.headerOpacity);
var pivotItem = pivot.pivotItemTemplate().append(el).hide();
if (index == 0) {
headerItem.addClass("current").fadeTo(0, 1);
pivotItem.addClass("current").show();
}
headerItem.attr("index", index);
headerItem.click(function() { pivot.pivotHeader_Click($(this)); });
headers.append(headerItem);
items.append(pivotItem);
h3Element.remove();
});
pivot.append(headers).append(items);
pivot.headers = headers;
pivot.items = items;
this.data("controller", pivot);
if(this.controlInitialized != undefined)
{
this.controlInitialized();
}
},
setCurrentHeader: function(header){
var pivot = this;
// make current header a normal one
this.headers.children(".header.current").removeClass("current").fadeTo(0, this.headerOpacity);
// make selected header to current
header.addClass("current").fadeTo(0, 1);
if(pivot.fixedHeaders == false)
{
// create a copy for fadeout navigation
var copy = header.prevAll().clone();
// detach items to move to end of headers
var detached = $(header.prevAll().detach().toArray().reverse());
// copy animation items to beginning and animate them
$("<span />").append(copy).prependTo(pivot.headers).animate({ width: 0, opacity: 0 }, pivot.animationDuration, function () {
// when finished: delete animation objects
$(this).remove();
// and attach detached items to the end of headers
detached.fadeTo(0, 0).appendTo(pivot.headers).fadeTo(200, pivot.headerOpacity);
});
}
},
setCurrentItem: function(item, index){
var pivot = this;
// hide current item immediately
pivot.items.children(".pivotItem.current").hide().removeClass("current");
// after a little delay
setTimeout(function () {
// move the item to far right and make it visible
item.css({ marginLeft: item.outerWidth() }).show().addClass("current");
// animate it to left
item.animate( { marginLeft: 0 }, pivot.animationDuration, function() { pivot.currentItemChanged(index);});
}, 200);
},
currentItemChanged: function(index) {
this.animating = false;
if(this.selectedItemChanged != undefined)
{
this.selectedItemChanged(index);
}
},
pivotHeader_Click : function (me) {
// ignore if already current
if (me.is(".current")) return;
// ignore if still animating
if (this.animating) return;
this.animating = true;
// set current header
this.setCurrentHeader(me);
var index = me.attr("index");
// find and set current item
var item = this.items.children(".pivotItem:nth(" + index + ")");
this.setCurrentItem(item, index);
},
});
return this.initialize();
};
})(jQuery);

View File

@ -1,60 +0,0 @@
/*
Base off Tim Holman's tile tilt: http://tholman.com/experiments/css3/metro-tiles/
*/
function addTileTilt()
{
var tile = this;
var mouse = {x: 0, y: 0, down: false};
var maxRotation = 16;
var setRotation = function(){
var width = tile.offsetWidth;
var height = tile.offsetHeight;
//Rotations as percentages
var yRotation = (mouse.x - (width / 2)) / (width / 2);
var xRotation = (mouse.y - (height / 2)) / (height / 2);
tile.style.webkitTransform = "rotateX(" + -xRotation * maxRotation + "deg)" +
" rotateY(" + yRotation * maxRotation + "deg)";
tile.style.mozTransform = "rotateX(" + -xRotation * maxRotation + "deg)" +
" rotateY(" + yRotation * maxRotation + "deg)";
tile.style.transform = "rotateX(" + -xRotation * maxRotation + "deg)" +
" rotateY(" + yRotation * maxRotation + "deg)";
}
var MouseDown = function(e){
mouse.x = e.offsetX;
mouse.y = e.offsetY;
mouse.down = true;
setRotation();
}
var MouseUp = function(e){
mouse.down = false;
tile.style.webkitTransform = "rotateX(0deg)" +
" rotateY(0deg)";
tile.style.mozTransform = "rotateX(0deg)" +
" rotateY(0deg)";
tile.style.transform = "rotateX(0deg)" +
" rotateY(0deg)";
}
var MouseMove = function(e){
mouse.x = e.offsetX;
mouse.y = e.offsetY;
if (mouse.down == true){
setRotation();
}
}
tile.addEventListener('mousemove', MouseMove, false);
tile.addEventListener('mousedown', MouseDown, false);
tile.addEventListener('mouseup', MouseUp, false);
tile.addEventListener('mouseout', MouseUp, false);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -1,408 +0,0 @@
//!----------------------------------------------------------
//! Copyright (C) Microsoft Corporation. All rights reserved.
//!----------------------------------------------------------
//! MicrosoftMvcAjax.js
Type.registerNamespace('Sys.Mvc');
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.AjaxOptions
Sys.Mvc.$create_AjaxOptions = function Sys_Mvc_AjaxOptions() { return {}; }
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.InsertionMode
Sys.Mvc.InsertionMode = function() {
/// <field name="replace" type="Number" integer="true" static="true">
/// </field>
/// <field name="insertBefore" type="Number" integer="true" static="true">
/// </field>
/// <field name="insertAfter" type="Number" integer="true" static="true">
/// </field>
};
Sys.Mvc.InsertionMode.prototype = {
replace: 0,
insertBefore: 1,
insertAfter: 2
}
Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode', false);
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.AjaxContext
Sys.Mvc.AjaxContext = function Sys_Mvc_AjaxContext(request, updateTarget, loadingElement, insertionMode) {
/// <param name="request" type="Sys.Net.WebRequest">
/// </param>
/// <param name="updateTarget" type="Object" domElement="true">
/// </param>
/// <param name="loadingElement" type="Object" domElement="true">
/// </param>
/// <param name="insertionMode" type="Sys.Mvc.InsertionMode">
/// </param>
/// <field name="_insertionMode" type="Sys.Mvc.InsertionMode">
/// </field>
/// <field name="_loadingElement" type="Object" domElement="true">
/// </field>
/// <field name="_response" type="Sys.Net.WebRequestExecutor">
/// </field>
/// <field name="_request" type="Sys.Net.WebRequest">
/// </field>
/// <field name="_updateTarget" type="Object" domElement="true">
/// </field>
this._request = request;
this._updateTarget = updateTarget;
this._loadingElement = loadingElement;
this._insertionMode = insertionMode;
}
Sys.Mvc.AjaxContext.prototype = {
_insertionMode: 0,
_loadingElement: null,
_response: null,
_request: null,
_updateTarget: null,
get_data: function Sys_Mvc_AjaxContext$get_data() {
/// <value type="String"></value>
if (this._response) {
return this._response.get_responseData();
}
else {
return null;
}
},
get_insertionMode: function Sys_Mvc_AjaxContext$get_insertionMode() {
/// <value type="Sys.Mvc.InsertionMode"></value>
return this._insertionMode;
},
get_loadingElement: function Sys_Mvc_AjaxContext$get_loadingElement() {
/// <value type="Object" domElement="true"></value>
return this._loadingElement;
},
get_object: function Sys_Mvc_AjaxContext$get_object() {
/// <value type="Object"></value>
var executor = this.get_response();
return (executor) ? executor.get_object() : null;
},
get_response: function Sys_Mvc_AjaxContext$get_response() {
/// <value type="Sys.Net.WebRequestExecutor"></value>
return this._response;
},
set_response: function Sys_Mvc_AjaxContext$set_response(value) {
/// <value type="Sys.Net.WebRequestExecutor"></value>
this._response = value;
return value;
},
get_request: function Sys_Mvc_AjaxContext$get_request() {
/// <value type="Sys.Net.WebRequest"></value>
return this._request;
},
get_updateTarget: function Sys_Mvc_AjaxContext$get_updateTarget() {
/// <value type="Object" domElement="true"></value>
return this._updateTarget;
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.AsyncHyperlink
Sys.Mvc.AsyncHyperlink = function Sys_Mvc_AsyncHyperlink() {
}
Sys.Mvc.AsyncHyperlink.handleClick = function Sys_Mvc_AsyncHyperlink$handleClick(anchor, evt, ajaxOptions) {
/// <param name="anchor" type="Object" domElement="true">
/// </param>
/// <param name="evt" type="Sys.UI.DomEvent">
/// </param>
/// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
/// </param>
evt.preventDefault();
Sys.Mvc.MvcHelpers._asyncRequest(anchor.href, 'post', '', anchor, ajaxOptions);
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.MvcHelpers
Sys.Mvc.MvcHelpers = function Sys_Mvc_MvcHelpers() {
}
Sys.Mvc.MvcHelpers._serializeSubmitButton = function Sys_Mvc_MvcHelpers$_serializeSubmitButton(element, offsetX, offsetY) {
/// <param name="element" type="Object" domElement="true">
/// </param>
/// <param name="offsetX" type="Number" integer="true">
/// </param>
/// <param name="offsetY" type="Number" integer="true">
/// </param>
/// <returns type="String"></returns>
if (element.disabled) {
return null;
}
var name = element.name;
if (name) {
var tagName = element.tagName.toUpperCase();
var encodedName = encodeURIComponent(name);
var inputElement = element;
if (tagName === 'INPUT') {
var type = inputElement.type;
if (type === 'submit') {
return encodedName + '=' + encodeURIComponent(inputElement.value);
}
else if (type === 'image') {
return encodedName + '.x=' + offsetX + '&' + encodedName + '.y=' + offsetY;
}
}
else if ((tagName === 'BUTTON') && (name.length) && (inputElement.type === 'submit')) {
return encodedName + '=' + encodeURIComponent(inputElement.value);
}
}
return null;
}
Sys.Mvc.MvcHelpers._serializeForm = function Sys_Mvc_MvcHelpers$_serializeForm(form) {
/// <param name="form" type="Object" domElement="true">
/// </param>
/// <returns type="String"></returns>
var formElements = form.elements;
var formBody = new Sys.StringBuilder();
var count = formElements.length;
for (var i = 0; i < count; i++) {
var element = formElements[i];
var name = element.name;
if (!name || !name.length) {
continue;
}
var tagName = element.tagName.toUpperCase();
if (tagName === 'INPUT') {
var inputElement = element;
var type = inputElement.type;
if ((type === 'text') || (type === 'password') || (type === 'hidden') || (((type === 'checkbox') || (type === 'radio')) && element.checked)) {
formBody.append(encodeURIComponent(name));
formBody.append('=');
formBody.append(encodeURIComponent(inputElement.value));
formBody.append('&');
}
}
else if (tagName === 'SELECT') {
var selectElement = element;
var optionCount = selectElement.options.length;
for (var j = 0; j < optionCount; j++) {
var optionElement = selectElement.options[j];
if (optionElement.selected) {
formBody.append(encodeURIComponent(name));
formBody.append('=');
formBody.append(encodeURIComponent(optionElement.value));
formBody.append('&');
}
}
}
else if (tagName === 'TEXTAREA') {
formBody.append(encodeURIComponent(name));
formBody.append('=');
formBody.append(encodeURIComponent((element.value)));
formBody.append('&');
}
}
var additionalInput = form._additionalInput;
if (additionalInput) {
formBody.append(additionalInput);
formBody.append('&');
}
return formBody.toString();
}
Sys.Mvc.MvcHelpers._asyncRequest = function Sys_Mvc_MvcHelpers$_asyncRequest(url, verb, body, triggerElement, ajaxOptions) {
/// <param name="url" type="String">
/// </param>
/// <param name="verb" type="String">
/// </param>
/// <param name="body" type="String">
/// </param>
/// <param name="triggerElement" type="Object" domElement="true">
/// </param>
/// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
/// </param>
if (ajaxOptions.confirm) {
if (!confirm(ajaxOptions.confirm)) {
return;
}
}
if (ajaxOptions.url) {
url = ajaxOptions.url;
}
if (ajaxOptions.httpMethod) {
verb = ajaxOptions.httpMethod;
}
if (body.length > 0 && !body.endsWith('&')) {
body += '&';
}
body += 'X-Requested-With=XMLHttpRequest';
var upperCaseVerb = verb.toUpperCase();
var isGetOrPost = (upperCaseVerb === 'GET' || upperCaseVerb === 'POST');
if (!isGetOrPost) {
body += '&';
body += 'X-HTTP-Method-Override=' + upperCaseVerb;
}
var requestBody = '';
if (upperCaseVerb === 'GET' || upperCaseVerb === 'DELETE') {
if (url.indexOf('?') > -1) {
if (!url.endsWith('&')) {
url += '&';
}
url += body;
}
else {
url += '?';
url += body;
}
}
else {
requestBody = body;
}
var request = new Sys.Net.WebRequest();
request.set_url(url);
if (isGetOrPost) {
request.set_httpVerb(verb);
}
else {
request.set_httpVerb('POST');
request.get_headers()['X-HTTP-Method-Override'] = upperCaseVerb;
}
request.set_body(requestBody);
if (verb.toUpperCase() === 'PUT') {
request.get_headers()['Content-Type'] = 'application/x-www-form-urlencoded;';
}
request.get_headers()['X-Requested-With'] = 'XMLHttpRequest';
var updateElement = null;
if (ajaxOptions.updateTargetId) {
updateElement = $get(ajaxOptions.updateTargetId);
}
var loadingElement = null;
if (ajaxOptions.loadingElementId) {
loadingElement = $get(ajaxOptions.loadingElementId);
}
var ajaxContext = new Sys.Mvc.AjaxContext(request, updateElement, loadingElement, ajaxOptions.insertionMode);
var continueRequest = true;
if (ajaxOptions.onBegin) {
continueRequest = ajaxOptions.onBegin(ajaxContext) !== false;
}
if (loadingElement) {
Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), true);
}
if (continueRequest) {
request.add_completed(Function.createDelegate(null, function(executor) {
Sys.Mvc.MvcHelpers._onComplete(request, ajaxOptions, ajaxContext);
}));
request.invoke();
}
}
Sys.Mvc.MvcHelpers._onComplete = function Sys_Mvc_MvcHelpers$_onComplete(request, ajaxOptions, ajaxContext) {
/// <param name="request" type="Sys.Net.WebRequest">
/// </param>
/// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
/// </param>
/// <param name="ajaxContext" type="Sys.Mvc.AjaxContext">
/// </param>
ajaxContext.set_response(request.get_executor());
if (ajaxOptions.onComplete && ajaxOptions.onComplete(ajaxContext) === false) {
return;
}
var statusCode = ajaxContext.get_response().get_statusCode();
if ((statusCode >= 200 && statusCode < 300) || statusCode === 304 || statusCode === 1223) {
if (statusCode !== 204 && statusCode !== 304 && statusCode !== 1223) {
var contentType = ajaxContext.get_response().getResponseHeader('Content-Type');
if ((contentType) && (contentType.indexOf('application/x-javascript') !== -1)) {
eval(ajaxContext.get_data());
}
else {
Sys.Mvc.MvcHelpers.updateDomElement(ajaxContext.get_updateTarget(), ajaxContext.get_insertionMode(), ajaxContext.get_data());
}
}
if (ajaxOptions.onSuccess) {
ajaxOptions.onSuccess(ajaxContext);
}
}
else {
if (ajaxOptions.onFailure) {
ajaxOptions.onFailure(ajaxContext);
}
}
if (ajaxContext.get_loadingElement()) {
Sys.UI.DomElement.setVisible(ajaxContext.get_loadingElement(), false);
}
}
Sys.Mvc.MvcHelpers.updateDomElement = function Sys_Mvc_MvcHelpers$updateDomElement(target, insertionMode, content) {
/// <param name="target" type="Object" domElement="true">
/// </param>
/// <param name="insertionMode" type="Sys.Mvc.InsertionMode">
/// </param>
/// <param name="content" type="String">
/// </param>
if (target) {
switch (insertionMode) {
case Sys.Mvc.InsertionMode.replace:
target.innerHTML = content;
break;
case Sys.Mvc.InsertionMode.insertBefore:
if (content && content.length > 0) {
target.innerHTML = content + target.innerHTML.trimStart();
}
break;
case Sys.Mvc.InsertionMode.insertAfter:
if (content && content.length > 0) {
target.innerHTML = target.innerHTML.trimEnd() + content;
}
break;
}
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.AsyncForm
Sys.Mvc.AsyncForm = function Sys_Mvc_AsyncForm() {
}
Sys.Mvc.AsyncForm.handleClick = function Sys_Mvc_AsyncForm$handleClick(form, evt) {
/// <param name="form" type="Object" domElement="true">
/// </param>
/// <param name="evt" type="Sys.UI.DomEvent">
/// </param>
var additionalInput = Sys.Mvc.MvcHelpers._serializeSubmitButton(evt.target, evt.offsetX, evt.offsetY);
form._additionalInput = additionalInput;
}
Sys.Mvc.AsyncForm.handleSubmit = function Sys_Mvc_AsyncForm$handleSubmit(form, evt, ajaxOptions) {
/// <param name="form" type="Object" domElement="true">
/// </param>
/// <param name="evt" type="Sys.UI.DomEvent">
/// </param>
/// <param name="ajaxOptions" type="Sys.Mvc.AjaxOptions">
/// </param>
evt.preventDefault();
var validationCallbacks = form.validationCallbacks;
if (validationCallbacks) {
for (var i = 0; i < validationCallbacks.length; i++) {
var callback = validationCallbacks[i];
if (!callback()) {
return;
}
}
}
var body = Sys.Mvc.MvcHelpers._serializeForm(form);
Sys.Mvc.MvcHelpers._asyncRequest(form.action, form.method || 'post', body, form, ajaxOptions);
}
Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');
Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');
Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');
Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');
// ---- Do not remove this footer ----
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
// -----------------------------------

View File

@ -1,25 +0,0 @@
//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftMvcAjax.js
Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};}
Sys.Mvc.InsertionMode=function(){};Sys.Mvc.InsertionMode.prototype = {replace:0,insertBefore:1,insertAfter:2}
Sys.Mvc.InsertionMode.registerEnum('Sys.Mvc.InsertionMode',false);Sys.Mvc.AjaxContext=function(request,updateTarget,loadingElement,insertionMode){this.$3=request;this.$4=updateTarget;this.$1=loadingElement;this.$0=insertionMode;}
Sys.Mvc.AjaxContext.prototype={$0:0,$1:null,$2:null,$3:null,$4:null,get_data:function(){if(this.$2){return this.$2.get_responseData();}else{return null;}},get_insertionMode:function(){return this.$0;},get_loadingElement:function(){return this.$1;},get_object:function(){var $0=this.get_response();return ($0)?$0.get_object():null;},get_response:function(){return this.$2;},set_response:function(value){this.$2=value;return value;},get_request:function(){return this.$3;},get_updateTarget:function(){return this.$4;}}
Sys.Mvc.AsyncHyperlink=function(){}
Sys.Mvc.AsyncHyperlink.handleClick=function(anchor,evt,ajaxOptions){evt.preventDefault();Sys.Mvc.MvcHelpers.$2(anchor.href,'post','',anchor,ajaxOptions);}
Sys.Mvc.MvcHelpers=function(){}
Sys.Mvc.MvcHelpers.$0=function($p0,$p1,$p2){if($p0.disabled){return null;}var $0=$p0.name;if($0){var $1=$p0.tagName.toUpperCase();var $2=encodeURIComponent($0);var $3=$p0;if($1==='INPUT'){var $4=$3.type;if($4==='submit'){return $2+'='+encodeURIComponent($3.value);}else if($4==='image'){return $2+'.x='+$p1+'&'+$2+'.y='+$p2;}}else if(($1==='BUTTON')&&($0.length)&&($3.type==='submit')){return $2+'='+encodeURIComponent($3.value);}}return null;}
Sys.Mvc.MvcHelpers.$1=function($p0){var $0=$p0.elements;var $1=new Sys.StringBuilder();var $2=$0.length;for(var $4=0;$4<$2;$4++){var $5=$0[$4];var $6=$5.name;if(!$6||!$6.length){continue;}var $7=$5.tagName.toUpperCase();if($7==='INPUT'){var $8=$5;var $9=$8.type;if(($9==='text')||($9==='password')||($9==='hidden')||((($9==='checkbox')||($9==='radio'))&&$5.checked)){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($8.value));$1.append('&');}}else if($7==='SELECT'){var $A=$5;var $B=$A.options.length;for(var $C=0;$C<$B;$C++){var $D=$A.options[$C];if($D.selected){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent($D.value));$1.append('&');}}}else if($7==='TEXTAREA'){$1.append(encodeURIComponent($6));$1.append('=');$1.append(encodeURIComponent(($5.value)));$1.append('&');}}var $3=$p0._additionalInput;if($3){$1.append($3);$1.append('&');}return $1.toString();}
Sys.Mvc.MvcHelpers.$2=function($p0,$p1,$p2,$p3,$p4){if($p4.confirm){if(!confirm($p4.confirm)){return;}}if($p4.url){$p0=$p4.url;}if($p4.httpMethod){$p1=$p4.httpMethod;}if($p2.length>0&&!$p2.endsWith('&')){$p2+='&';}$p2+='X-Requested-With=XMLHttpRequest';var $0=$p1.toUpperCase();var $1=($0==='GET'||$0==='POST');if(!$1){$p2+='&';$p2+='X-HTTP-Method-Override='+$0;}var $2='';if($0==='GET'||$0==='DELETE'){if($p0.indexOf('?')>-1){if(!$p0.endsWith('&')){$p0+='&';}$p0+=$p2;}else{$p0+='?';$p0+=$p2;}}else{$2=$p2;}var $3=new Sys.Net.WebRequest();$3.set_url($p0);if($1){$3.set_httpVerb($p1);}else{$3.set_httpVerb('POST');$3.get_headers()['X-HTTP-Method-Override']=$0;}$3.set_body($2);if($p1.toUpperCase()==='PUT'){$3.get_headers()['Content-Type']='application/x-www-form-urlencoded;';}$3.get_headers()['X-Requested-With']='XMLHttpRequest';var $4=null;if($p4.updateTargetId){$4=$get($p4.updateTargetId);}var $5=null;if($p4.loadingElementId){$5=$get($p4.loadingElementId);}var $6=new Sys.Mvc.AjaxContext($3,$4,$5,$p4.insertionMode);var $7=true;if($p4.onBegin){$7=$p4.onBegin($6)!==false;}if($5){Sys.UI.DomElement.setVisible($6.get_loadingElement(),true);}if($7){$3.add_completed(Function.createDelegate(null,function($p1_0){
Sys.Mvc.MvcHelpers.$3($3,$p4,$6);}));$3.invoke();}}
Sys.Mvc.MvcHelpers.$3=function($p0,$p1,$p2){$p2.set_response($p0.get_executor());if($p1.onComplete&&$p1.onComplete($p2)===false){return;}var $0=$p2.get_response().get_statusCode();if(($0>=200&&$0<300)||$0===304||$0===1223){if($0!==204&&$0!==304&&$0!==1223){var $1=$p2.get_response().getResponseHeader('Content-Type');if(($1)&&($1.indexOf('application/x-javascript')!==-1)){eval($p2.get_data());}else{Sys.Mvc.MvcHelpers.updateDomElement($p2.get_updateTarget(),$p2.get_insertionMode(),$p2.get_data());}}if($p1.onSuccess){$p1.onSuccess($p2);}}else{if($p1.onFailure){$p1.onFailure($p2);}}if($p2.get_loadingElement()){Sys.UI.DomElement.setVisible($p2.get_loadingElement(),false);}}
Sys.Mvc.MvcHelpers.updateDomElement=function(target,insertionMode,content){if(target){switch(insertionMode){case 0:target.innerHTML=content;break;case 1:if(content&&content.length>0){target.innerHTML=content+target.innerHTML.trimStart();}break;case 2:if(content&&content.length>0){target.innerHTML=target.innerHTML.trimEnd()+content;}break;}}}
Sys.Mvc.AsyncForm=function(){}
Sys.Mvc.AsyncForm.handleClick=function(form,evt){var $0=Sys.Mvc.MvcHelpers.$0(evt.target,evt.offsetX,evt.offsetY);form._additionalInput = $0;}
Sys.Mvc.AsyncForm.handleSubmit=function(form,evt,ajaxOptions){evt.preventDefault();var $0=form.validationCallbacks;if($0){for(var $2=0;$2<$0.length;$2++){var $3=$0[$2];if(!$3()){return;}}}var $1=Sys.Mvc.MvcHelpers.$1(form);Sys.Mvc.MvcHelpers.$2(form.action,form.method||'post',$1,form,ajaxOptions);}
Sys.Mvc.AjaxContext.registerClass('Sys.Mvc.AjaxContext');Sys.Mvc.AsyncHyperlink.registerClass('Sys.Mvc.AsyncHyperlink');Sys.Mvc.MvcHelpers.registerClass('Sys.Mvc.MvcHelpers');Sys.Mvc.AsyncForm.registerClass('Sys.Mvc.AsyncForm');
// ---- Do not remove this footer ----
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
// -----------------------------------

View File

@ -1,883 +0,0 @@
//!----------------------------------------------------------
//! Copyright (C) Microsoft Corporation. All rights reserved.
//!----------------------------------------------------------
//! MicrosoftMvcValidation.js
Type.registerNamespace('Sys.Mvc');
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.Validation
Sys.Mvc.$create_Validation = function Sys_Mvc_Validation() { return {}; }
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.JsonValidationField
Sys.Mvc.$create_JsonValidationField = function Sys_Mvc_JsonValidationField() { return {}; }
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.JsonValidationOptions
Sys.Mvc.$create_JsonValidationOptions = function Sys_Mvc_JsonValidationOptions() { return {}; }
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.JsonValidationRule
Sys.Mvc.$create_JsonValidationRule = function Sys_Mvc_JsonValidationRule() { return {}; }
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.ValidationContext
Sys.Mvc.$create_ValidationContext = function Sys_Mvc_ValidationContext() { return {}; }
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.NumberValidator
Sys.Mvc.NumberValidator = function Sys_Mvc_NumberValidator() {
}
Sys.Mvc.NumberValidator.create = function Sys_Mvc_NumberValidator$create(rule) {
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
/// </param>
/// <returns type="Sys.Mvc.Validator"></returns>
return Function.createDelegate(new Sys.Mvc.NumberValidator(), new Sys.Mvc.NumberValidator().validate);
}
Sys.Mvc.NumberValidator.prototype = {
validate: function Sys_Mvc_NumberValidator$validate(value, context) {
/// <param name="value" type="String">
/// </param>
/// <param name="context" type="Sys.Mvc.ValidationContext">
/// </param>
/// <returns type="Object"></returns>
if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
return true;
}
var n = Number.parseLocale(value);
return (!isNaN(n));
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.FormContext
Sys.Mvc.FormContext = function Sys_Mvc_FormContext(formElement, validationSummaryElement) {
/// <param name="formElement" type="Object" domElement="true">
/// </param>
/// <param name="validationSummaryElement" type="Object" domElement="true">
/// </param>
/// <field name="_validationSummaryErrorCss" type="String" static="true">
/// </field>
/// <field name="_validationSummaryValidCss" type="String" static="true">
/// </field>
/// <field name="_formValidationTag" type="String" static="true">
/// </field>
/// <field name="_onClickHandler" type="Sys.UI.DomEventHandler">
/// </field>
/// <field name="_onSubmitHandler" type="Sys.UI.DomEventHandler">
/// </field>
/// <field name="_errors" type="Array">
/// </field>
/// <field name="_submitButtonClicked" type="Object" domElement="true">
/// </field>
/// <field name="_validationSummaryElement" type="Object" domElement="true">
/// </field>
/// <field name="_validationSummaryULElement" type="Object" domElement="true">
/// </field>
/// <field name="fields" type="Array" elementType="FieldContext">
/// </field>
/// <field name="_formElement" type="Object" domElement="true">
/// </field>
/// <field name="replaceValidationSummary" type="Boolean">
/// </field>
this._errors = [];
this.fields = new Array(0);
this._formElement = formElement;
this._validationSummaryElement = validationSummaryElement;
formElement[Sys.Mvc.FormContext._formValidationTag] = this;
if (validationSummaryElement) {
var ulElements = validationSummaryElement.getElementsByTagName('ul');
if (ulElements.length > 0) {
this._validationSummaryULElement = ulElements[0];
}
}
this._onClickHandler = Function.createDelegate(this, this._form_OnClick);
this._onSubmitHandler = Function.createDelegate(this, this._form_OnSubmit);
}
Sys.Mvc.FormContext._Application_Load = function Sys_Mvc_FormContext$_Application_Load() {
var allFormOptions = window.mvcClientValidationMetadata;
if (allFormOptions) {
while (allFormOptions.length > 0) {
var thisFormOptions = allFormOptions.pop();
Sys.Mvc.FormContext._parseJsonOptions(thisFormOptions);
}
}
}
Sys.Mvc.FormContext._getFormElementsWithName = function Sys_Mvc_FormContext$_getFormElementsWithName(formElement, name) {
/// <param name="formElement" type="Object" domElement="true">
/// </param>
/// <param name="name" type="String">
/// </param>
/// <returns type="Array" elementType="Object" elementDomElement="true"></returns>
var allElementsWithNameInForm = [];
var allElementsWithName = document.getElementsByName(name);
for (var i = 0; i < allElementsWithName.length; i++) {
var thisElement = allElementsWithName[i];
if (Sys.Mvc.FormContext._isElementInHierarchy(formElement, thisElement)) {
Array.add(allElementsWithNameInForm, thisElement);
}
}
return allElementsWithNameInForm;
}
Sys.Mvc.FormContext.getValidationForForm = function Sys_Mvc_FormContext$getValidationForForm(formElement) {
/// <param name="formElement" type="Object" domElement="true">
/// </param>
/// <returns type="Sys.Mvc.FormContext"></returns>
return formElement[Sys.Mvc.FormContext._formValidationTag];
}
Sys.Mvc.FormContext._isElementInHierarchy = function Sys_Mvc_FormContext$_isElementInHierarchy(parent, child) {
/// <param name="parent" type="Object" domElement="true">
/// </param>
/// <param name="child" type="Object" domElement="true">
/// </param>
/// <returns type="Boolean"></returns>
while (child) {
if (parent === child) {
return true;
}
child = child.parentNode;
}
return false;
}
Sys.Mvc.FormContext._parseJsonOptions = function Sys_Mvc_FormContext$_parseJsonOptions(options) {
/// <param name="options" type="Sys.Mvc.JsonValidationOptions">
/// </param>
/// <returns type="Sys.Mvc.FormContext"></returns>
var formElement = $get(options.FormId);
var validationSummaryElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(options.ValidationSummaryId)) ? $get(options.ValidationSummaryId) : null;
var formContext = new Sys.Mvc.FormContext(formElement, validationSummaryElement);
formContext.enableDynamicValidation();
formContext.replaceValidationSummary = options.ReplaceValidationSummary;
for (var i = 0; i < options.Fields.length; i++) {
var field = options.Fields[i];
var fieldElements = Sys.Mvc.FormContext._getFormElementsWithName(formElement, field.FieldName);
var validationMessageElement = (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(field.ValidationMessageId)) ? $get(field.ValidationMessageId) : null;
var fieldContext = new Sys.Mvc.FieldContext(formContext);
Array.addRange(fieldContext.elements, fieldElements);
fieldContext.validationMessageElement = validationMessageElement;
fieldContext.replaceValidationMessageContents = field.ReplaceValidationMessageContents;
for (var j = 0; j < field.ValidationRules.length; j++) {
var rule = field.ValidationRules[j];
var validator = Sys.Mvc.ValidatorRegistry.getValidator(rule);
if (validator) {
var validation = Sys.Mvc.$create_Validation();
validation.fieldErrorMessage = rule.ErrorMessage;
validation.validator = validator;
Array.add(fieldContext.validations, validation);
}
}
fieldContext.enableDynamicValidation();
Array.add(formContext.fields, fieldContext);
}
var registeredValidatorCallbacks = formElement.validationCallbacks;
if (!registeredValidatorCallbacks) {
registeredValidatorCallbacks = [];
formElement.validationCallbacks = registeredValidatorCallbacks;
}
registeredValidatorCallbacks.push(Function.createDelegate(null, function() {
return Sys.Mvc._validationUtil.arrayIsNullOrEmpty(formContext.validate('submit'));
}));
return formContext;
}
Sys.Mvc.FormContext.prototype = {
_onClickHandler: null,
_onSubmitHandler: null,
_submitButtonClicked: null,
_validationSummaryElement: null,
_validationSummaryULElement: null,
_formElement: null,
replaceValidationSummary: false,
addError: function Sys_Mvc_FormContext$addError(message) {
/// <param name="message" type="String">
/// </param>
this.addErrors([ message ]);
},
addErrors: function Sys_Mvc_FormContext$addErrors(messages) {
/// <param name="messages" type="Array" elementType="String">
/// </param>
if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) {
Array.addRange(this._errors, messages);
this._onErrorCountChanged();
}
},
clearErrors: function Sys_Mvc_FormContext$clearErrors() {
Array.clear(this._errors);
this._onErrorCountChanged();
},
_displayError: function Sys_Mvc_FormContext$_displayError() {
if (this._validationSummaryElement) {
if (this._validationSummaryULElement) {
Sys.Mvc._validationUtil.removeAllChildren(this._validationSummaryULElement);
for (var i = 0; i < this._errors.length; i++) {
var liElement = document.createElement('li');
Sys.Mvc._validationUtil.setInnerText(liElement, this._errors[i]);
this._validationSummaryULElement.appendChild(liElement);
}
}
Sys.UI.DomElement.removeCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss);
Sys.UI.DomElement.addCssClass(this._validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss);
}
},
_displaySuccess: function Sys_Mvc_FormContext$_displaySuccess() {
var validationSummaryElement = this._validationSummaryElement;
if (validationSummaryElement) {
var validationSummaryULElement = this._validationSummaryULElement;
if (validationSummaryULElement) {
validationSummaryULElement.innerHTML = '';
}
Sys.UI.DomElement.removeCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryErrorCss);
Sys.UI.DomElement.addCssClass(validationSummaryElement, Sys.Mvc.FormContext._validationSummaryValidCss);
}
},
enableDynamicValidation: function Sys_Mvc_FormContext$enableDynamicValidation() {
Sys.UI.DomEvent.addHandler(this._formElement, 'click', this._onClickHandler);
Sys.UI.DomEvent.addHandler(this._formElement, 'submit', this._onSubmitHandler);
},
_findSubmitButton: function Sys_Mvc_FormContext$_findSubmitButton(element) {
/// <param name="element" type="Object" domElement="true">
/// </param>
/// <returns type="Object" domElement="true"></returns>
if (element.disabled) {
return null;
}
var tagName = element.tagName.toUpperCase();
var inputElement = element;
if (tagName === 'INPUT') {
var type = inputElement.type;
if (type === 'submit' || type === 'image') {
return inputElement;
}
}
else if ((tagName === 'BUTTON') && (inputElement.type === 'submit')) {
return inputElement;
}
return null;
},
_form_OnClick: function Sys_Mvc_FormContext$_form_OnClick(e) {
/// <param name="e" type="Sys.UI.DomEvent">
/// </param>
this._submitButtonClicked = this._findSubmitButton(e.target);
},
_form_OnSubmit: function Sys_Mvc_FormContext$_form_OnSubmit(e) {
/// <param name="e" type="Sys.UI.DomEvent">
/// </param>
var form = e.target;
var submitButton = this._submitButtonClicked;
if (submitButton && submitButton.disableValidation) {
return;
}
var errorMessages = this.validate('submit');
if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(errorMessages)) {
e.preventDefault();
}
},
_onErrorCountChanged: function Sys_Mvc_FormContext$_onErrorCountChanged() {
if (!this._errors.length) {
this._displaySuccess();
}
else {
this._displayError();
}
},
validate: function Sys_Mvc_FormContext$validate(eventName) {
/// <param name="eventName" type="String">
/// </param>
/// <returns type="Array" elementType="String"></returns>
var fields = this.fields;
var errors = [];
for (var i = 0; i < fields.length; i++) {
var field = fields[i];
if (!field.elements[0].disabled) {
var thisErrors = field.validate(eventName);
if (thisErrors) {
Array.addRange(errors, thisErrors);
}
}
}
if (this.replaceValidationSummary) {
this.clearErrors();
this.addErrors(errors);
}
return errors;
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.FieldContext
Sys.Mvc.FieldContext = function Sys_Mvc_FieldContext(formContext) {
/// <param name="formContext" type="Sys.Mvc.FormContext">
/// </param>
/// <field name="_hasTextChangedTag" type="String" static="true">
/// </field>
/// <field name="_hasValidationFiredTag" type="String" static="true">
/// </field>
/// <field name="_inputElementErrorCss" type="String" static="true">
/// </field>
/// <field name="_inputElementValidCss" type="String" static="true">
/// </field>
/// <field name="_validationMessageErrorCss" type="String" static="true">
/// </field>
/// <field name="_validationMessageValidCss" type="String" static="true">
/// </field>
/// <field name="_onBlurHandler" type="Sys.UI.DomEventHandler">
/// </field>
/// <field name="_onChangeHandler" type="Sys.UI.DomEventHandler">
/// </field>
/// <field name="_onInputHandler" type="Sys.UI.DomEventHandler">
/// </field>
/// <field name="_onPropertyChangeHandler" type="Sys.UI.DomEventHandler">
/// </field>
/// <field name="_errors" type="Array">
/// </field>
/// <field name="defaultErrorMessage" type="String">
/// </field>
/// <field name="elements" type="Array" elementType="Object" elementDomElement="true">
/// </field>
/// <field name="formContext" type="Sys.Mvc.FormContext">
/// </field>
/// <field name="replaceValidationMessageContents" type="Boolean">
/// </field>
/// <field name="validationMessageElement" type="Object" domElement="true">
/// </field>
/// <field name="validations" type="Array" elementType="Validation">
/// </field>
this._errors = [];
this.elements = new Array(0);
this.validations = new Array(0);
this.formContext = formContext;
this._onBlurHandler = Function.createDelegate(this, this._element_OnBlur);
this._onChangeHandler = Function.createDelegate(this, this._element_OnChange);
this._onInputHandler = Function.createDelegate(this, this._element_OnInput);
this._onPropertyChangeHandler = Function.createDelegate(this, this._element_OnPropertyChange);
}
Sys.Mvc.FieldContext.prototype = {
_onBlurHandler: null,
_onChangeHandler: null,
_onInputHandler: null,
_onPropertyChangeHandler: null,
defaultErrorMessage: null,
formContext: null,
replaceValidationMessageContents: false,
validationMessageElement: null,
addError: function Sys_Mvc_FieldContext$addError(message) {
/// <param name="message" type="String">
/// </param>
this.addErrors([ message ]);
},
addErrors: function Sys_Mvc_FieldContext$addErrors(messages) {
/// <param name="messages" type="Array" elementType="String">
/// </param>
if (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(messages)) {
Array.addRange(this._errors, messages);
this._onErrorCountChanged();
}
},
clearErrors: function Sys_Mvc_FieldContext$clearErrors() {
Array.clear(this._errors);
this._onErrorCountChanged();
},
_displayError: function Sys_Mvc_FieldContext$_displayError() {
var validationMessageElement = this.validationMessageElement;
if (validationMessageElement) {
if (this.replaceValidationMessageContents) {
Sys.Mvc._validationUtil.setInnerText(validationMessageElement, this._errors[0]);
}
Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss);
Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss);
}
var elements = this.elements;
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss);
Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss);
}
},
_displaySuccess: function Sys_Mvc_FieldContext$_displaySuccess() {
var validationMessageElement = this.validationMessageElement;
if (validationMessageElement) {
if (this.replaceValidationMessageContents) {
Sys.Mvc._validationUtil.setInnerText(validationMessageElement, '');
}
Sys.UI.DomElement.removeCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageErrorCss);
Sys.UI.DomElement.addCssClass(validationMessageElement, Sys.Mvc.FieldContext._validationMessageValidCss);
}
var elements = this.elements;
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
Sys.UI.DomElement.removeCssClass(element, Sys.Mvc.FieldContext._inputElementErrorCss);
Sys.UI.DomElement.addCssClass(element, Sys.Mvc.FieldContext._inputElementValidCss);
}
},
_element_OnBlur: function Sys_Mvc_FieldContext$_element_OnBlur(e) {
/// <param name="e" type="Sys.UI.DomEvent">
/// </param>
if (e.target[Sys.Mvc.FieldContext._hasTextChangedTag] || e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) {
this.validate('blur');
}
},
_element_OnChange: function Sys_Mvc_FieldContext$_element_OnChange(e) {
/// <param name="e" type="Sys.UI.DomEvent">
/// </param>
e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true;
},
_element_OnInput: function Sys_Mvc_FieldContext$_element_OnInput(e) {
/// <param name="e" type="Sys.UI.DomEvent">
/// </param>
e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true;
if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) {
this.validate('input');
}
},
_element_OnPropertyChange: function Sys_Mvc_FieldContext$_element_OnPropertyChange(e) {
/// <param name="e" type="Sys.UI.DomEvent">
/// </param>
if (e.rawEvent.propertyName === 'value') {
e.target[Sys.Mvc.FieldContext._hasTextChangedTag] = true;
if (e.target[Sys.Mvc.FieldContext._hasValidationFiredTag]) {
this.validate('input');
}
}
},
enableDynamicValidation: function Sys_Mvc_FieldContext$enableDynamicValidation() {
var elements = this.elements;
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
if (Sys.Mvc._validationUtil.elementSupportsEvent(element, 'onpropertychange')) {
var compatMode = document.documentMode;
if (compatMode && compatMode >= 8) {
Sys.UI.DomEvent.addHandler(element, 'propertychange', this._onPropertyChangeHandler);
}
}
else {
Sys.UI.DomEvent.addHandler(element, 'input', this._onInputHandler);
}
Sys.UI.DomEvent.addHandler(element, 'change', this._onChangeHandler);
Sys.UI.DomEvent.addHandler(element, 'blur', this._onBlurHandler);
}
},
_getErrorString: function Sys_Mvc_FieldContext$_getErrorString(validatorReturnValue, fieldErrorMessage) {
/// <param name="validatorReturnValue" type="Object">
/// </param>
/// <param name="fieldErrorMessage" type="String">
/// </param>
/// <returns type="String"></returns>
var fallbackErrorMessage = fieldErrorMessage || this.defaultErrorMessage;
if (Boolean.isInstanceOfType(validatorReturnValue)) {
return (validatorReturnValue) ? null : fallbackErrorMessage;
}
if (String.isInstanceOfType(validatorReturnValue)) {
return ((validatorReturnValue).length) ? validatorReturnValue : fallbackErrorMessage;
}
return null;
},
_getStringValue: function Sys_Mvc_FieldContext$_getStringValue() {
/// <returns type="String"></returns>
var elements = this.elements;
return (elements.length > 0) ? elements[0].value : null;
},
_markValidationFired: function Sys_Mvc_FieldContext$_markValidationFired() {
var elements = this.elements;
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
element[Sys.Mvc.FieldContext._hasValidationFiredTag] = true;
}
},
_onErrorCountChanged: function Sys_Mvc_FieldContext$_onErrorCountChanged() {
if (!this._errors.length) {
this._displaySuccess();
}
else {
this._displayError();
}
},
validate: function Sys_Mvc_FieldContext$validate(eventName) {
/// <param name="eventName" type="String">
/// </param>
/// <returns type="Array" elementType="String"></returns>
var validations = this.validations;
var errors = [];
var value = this._getStringValue();
for (var i = 0; i < validations.length; i++) {
var validation = validations[i];
var context = Sys.Mvc.$create_ValidationContext();
context.eventName = eventName;
context.fieldContext = this;
context.validation = validation;
var retVal = validation.validator(value, context);
var errorMessage = this._getErrorString(retVal, validation.fieldErrorMessage);
if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(errorMessage)) {
Array.add(errors, errorMessage);
}
}
this._markValidationFired();
this.clearErrors();
this.addErrors(errors);
return errors;
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.RangeValidator
Sys.Mvc.RangeValidator = function Sys_Mvc_RangeValidator(minimum, maximum) {
/// <param name="minimum" type="Number">
/// </param>
/// <param name="maximum" type="Number">
/// </param>
/// <field name="_minimum" type="Number">
/// </field>
/// <field name="_maximum" type="Number">
/// </field>
this._minimum = minimum;
this._maximum = maximum;
}
Sys.Mvc.RangeValidator.create = function Sys_Mvc_RangeValidator$create(rule) {
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
/// </param>
/// <returns type="Sys.Mvc.Validator"></returns>
var min = rule.ValidationParameters['min'];
var max = rule.ValidationParameters['max'];
return Function.createDelegate(new Sys.Mvc.RangeValidator(min, max), new Sys.Mvc.RangeValidator(min, max).validate);
}
Sys.Mvc.RangeValidator.prototype = {
_minimum: null,
_maximum: null,
validate: function Sys_Mvc_RangeValidator$validate(value, context) {
/// <param name="value" type="String">
/// </param>
/// <param name="context" type="Sys.Mvc.ValidationContext">
/// </param>
/// <returns type="Object"></returns>
if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
return true;
}
var n = Number.parseLocale(value);
return (!isNaN(n) && this._minimum <= n && n <= this._maximum);
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.RegularExpressionValidator
Sys.Mvc.RegularExpressionValidator = function Sys_Mvc_RegularExpressionValidator(pattern) {
/// <param name="pattern" type="String">
/// </param>
/// <field name="_pattern" type="String">
/// </field>
this._pattern = pattern;
}
Sys.Mvc.RegularExpressionValidator.create = function Sys_Mvc_RegularExpressionValidator$create(rule) {
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
/// </param>
/// <returns type="Sys.Mvc.Validator"></returns>
var pattern = rule.ValidationParameters['pattern'];
return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator(pattern), new Sys.Mvc.RegularExpressionValidator(pattern).validate);
}
Sys.Mvc.RegularExpressionValidator.prototype = {
_pattern: null,
validate: function Sys_Mvc_RegularExpressionValidator$validate(value, context) {
/// <param name="value" type="String">
/// </param>
/// <param name="context" type="Sys.Mvc.ValidationContext">
/// </param>
/// <returns type="Object"></returns>
if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
return true;
}
var regExp = new RegExp(this._pattern);
var matches = regExp.exec(value);
return (!Sys.Mvc._validationUtil.arrayIsNullOrEmpty(matches) && matches[0].length === value.length);
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.RequiredValidator
Sys.Mvc.RequiredValidator = function Sys_Mvc_RequiredValidator() {
}
Sys.Mvc.RequiredValidator.create = function Sys_Mvc_RequiredValidator$create(rule) {
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
/// </param>
/// <returns type="Sys.Mvc.Validator"></returns>
return Function.createDelegate(new Sys.Mvc.RequiredValidator(), new Sys.Mvc.RequiredValidator().validate);
}
Sys.Mvc.RequiredValidator._isRadioInputElement = function Sys_Mvc_RequiredValidator$_isRadioInputElement(element) {
/// <param name="element" type="Object" domElement="true">
/// </param>
/// <returns type="Boolean"></returns>
if (element.tagName.toUpperCase() === 'INPUT') {
var inputType = (element.type).toUpperCase();
if (inputType === 'RADIO') {
return true;
}
}
return false;
}
Sys.Mvc.RequiredValidator._isSelectInputElement = function Sys_Mvc_RequiredValidator$_isSelectInputElement(element) {
/// <param name="element" type="Object" domElement="true">
/// </param>
/// <returns type="Boolean"></returns>
if (element.tagName.toUpperCase() === 'SELECT') {
return true;
}
return false;
}
Sys.Mvc.RequiredValidator._isTextualInputElement = function Sys_Mvc_RequiredValidator$_isTextualInputElement(element) {
/// <param name="element" type="Object" domElement="true">
/// </param>
/// <returns type="Boolean"></returns>
if (element.tagName.toUpperCase() === 'INPUT') {
var inputType = (element.type).toUpperCase();
switch (inputType) {
case 'TEXT':
case 'PASSWORD':
case 'FILE':
return true;
}
}
if (element.tagName.toUpperCase() === 'TEXTAREA') {
return true;
}
return false;
}
Sys.Mvc.RequiredValidator._validateRadioInput = function Sys_Mvc_RequiredValidator$_validateRadioInput(elements) {
/// <param name="elements" type="Array" elementType="Object" elementDomElement="true">
/// </param>
/// <returns type="Object"></returns>
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
if (element.checked) {
return true;
}
}
return false;
}
Sys.Mvc.RequiredValidator._validateSelectInput = function Sys_Mvc_RequiredValidator$_validateSelectInput(optionElements) {
/// <param name="optionElements" type="DOMElementCollection">
/// </param>
/// <returns type="Object"></returns>
for (var i = 0; i < optionElements.length; i++) {
var element = optionElements[i];
if (element.selected) {
if (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value)) {
return true;
}
}
}
return false;
}
Sys.Mvc.RequiredValidator._validateTextualInput = function Sys_Mvc_RequiredValidator$_validateTextualInput(element) {
/// <param name="element" type="Object" domElement="true">
/// </param>
/// <returns type="Object"></returns>
return (!Sys.Mvc._validationUtil.stringIsNullOrEmpty(element.value));
}
Sys.Mvc.RequiredValidator.prototype = {
validate: function Sys_Mvc_RequiredValidator$validate(value, context) {
/// <param name="value" type="String">
/// </param>
/// <param name="context" type="Sys.Mvc.ValidationContext">
/// </param>
/// <returns type="Object"></returns>
var elements = context.fieldContext.elements;
if (!elements.length) {
return true;
}
var sampleElement = elements[0];
if (Sys.Mvc.RequiredValidator._isTextualInputElement(sampleElement)) {
return Sys.Mvc.RequiredValidator._validateTextualInput(sampleElement);
}
if (Sys.Mvc.RequiredValidator._isRadioInputElement(sampleElement)) {
return Sys.Mvc.RequiredValidator._validateRadioInput(elements);
}
if (Sys.Mvc.RequiredValidator._isSelectInputElement(sampleElement)) {
return Sys.Mvc.RequiredValidator._validateSelectInput((sampleElement).options);
}
return true;
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.StringLengthValidator
Sys.Mvc.StringLengthValidator = function Sys_Mvc_StringLengthValidator(minLength, maxLength) {
/// <param name="minLength" type="Number" integer="true">
/// </param>
/// <param name="maxLength" type="Number" integer="true">
/// </param>
/// <field name="_maxLength" type="Number" integer="true">
/// </field>
/// <field name="_minLength" type="Number" integer="true">
/// </field>
this._minLength = minLength;
this._maxLength = maxLength;
}
Sys.Mvc.StringLengthValidator.create = function Sys_Mvc_StringLengthValidator$create(rule) {
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
/// </param>
/// <returns type="Sys.Mvc.Validator"></returns>
var minLength = (rule.ValidationParameters['min'] || 0);
var maxLength = (rule.ValidationParameters['max'] || Number.MAX_VALUE);
return Function.createDelegate(new Sys.Mvc.StringLengthValidator(minLength, maxLength), new Sys.Mvc.StringLengthValidator(minLength, maxLength).validate);
}
Sys.Mvc.StringLengthValidator.prototype = {
_maxLength: 0,
_minLength: 0,
validate: function Sys_Mvc_StringLengthValidator$validate(value, context) {
/// <param name="value" type="String">
/// </param>
/// <param name="context" type="Sys.Mvc.ValidationContext">
/// </param>
/// <returns type="Object"></returns>
if (Sys.Mvc._validationUtil.stringIsNullOrEmpty(value)) {
return true;
}
return (this._minLength <= value.length && value.length <= this._maxLength);
}
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc._validationUtil
Sys.Mvc._validationUtil = function Sys_Mvc__validationUtil() {
}
Sys.Mvc._validationUtil.arrayIsNullOrEmpty = function Sys_Mvc__validationUtil$arrayIsNullOrEmpty(array) {
/// <param name="array" type="Array" elementType="Object">
/// </param>
/// <returns type="Boolean"></returns>
return (!array || !array.length);
}
Sys.Mvc._validationUtil.stringIsNullOrEmpty = function Sys_Mvc__validationUtil$stringIsNullOrEmpty(value) {
/// <param name="value" type="String">
/// </param>
/// <returns type="Boolean"></returns>
return (!value || !value.length);
}
Sys.Mvc._validationUtil.elementSupportsEvent = function Sys_Mvc__validationUtil$elementSupportsEvent(element, eventAttributeName) {
/// <param name="element" type="Object" domElement="true">
/// </param>
/// <param name="eventAttributeName" type="String">
/// </param>
/// <returns type="Boolean"></returns>
return (eventAttributeName in element);
}
Sys.Mvc._validationUtil.removeAllChildren = function Sys_Mvc__validationUtil$removeAllChildren(element) {
/// <param name="element" type="Object" domElement="true">
/// </param>
while (element.firstChild) {
element.removeChild(element.firstChild);
}
}
Sys.Mvc._validationUtil.setInnerText = function Sys_Mvc__validationUtil$setInnerText(element, innerText) {
/// <param name="element" type="Object" domElement="true">
/// </param>
/// <param name="innerText" type="String">
/// </param>
var textNode = document.createTextNode(innerText);
Sys.Mvc._validationUtil.removeAllChildren(element);
element.appendChild(textNode);
}
////////////////////////////////////////////////////////////////////////////////
// Sys.Mvc.ValidatorRegistry
Sys.Mvc.ValidatorRegistry = function Sys_Mvc_ValidatorRegistry() {
/// <field name="validators" type="Object" static="true">
/// </field>
}
Sys.Mvc.ValidatorRegistry.getValidator = function Sys_Mvc_ValidatorRegistry$getValidator(rule) {
/// <param name="rule" type="Sys.Mvc.JsonValidationRule">
/// </param>
/// <returns type="Sys.Mvc.Validator"></returns>
var creator = Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType];
return (creator) ? creator(rule) : null;
}
Sys.Mvc.ValidatorRegistry._getDefaultValidators = function Sys_Mvc_ValidatorRegistry$_getDefaultValidators() {
/// <returns type="Object"></returns>
return { required: Function.createDelegate(null, Sys.Mvc.RequiredValidator.create), length: Function.createDelegate(null, Sys.Mvc.StringLengthValidator.create), regex: Function.createDelegate(null, Sys.Mvc.RegularExpressionValidator.create), range: Function.createDelegate(null, Sys.Mvc.RangeValidator.create), number: Function.createDelegate(null, Sys.Mvc.NumberValidator.create) };
}
Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator');
Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext');
Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext');
Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator');
Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator');
Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator');
Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator');
Sys.Mvc._validationUtil.registerClass('Sys.Mvc._validationUtil');
Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');
Sys.Mvc.FormContext._validationSummaryErrorCss = 'validation-summary-errors';
Sys.Mvc.FormContext._validationSummaryValidCss = 'validation-summary-valid';
Sys.Mvc.FormContext._formValidationTag = '__MVC_FormValidation';
Sys.Mvc.FieldContext._hasTextChangedTag = '__MVC_HasTextChanged';
Sys.Mvc.FieldContext._hasValidationFiredTag = '__MVC_HasValidationFired';
Sys.Mvc.FieldContext._inputElementErrorCss = 'input-validation-error';
Sys.Mvc.FieldContext._inputElementValidCss = 'input-validation-valid';
Sys.Mvc.FieldContext._validationMessageErrorCss = 'field-validation-error';
Sys.Mvc.FieldContext._validationMessageValidCss = 'field-validation-valid';
Sys.Mvc.ValidatorRegistry.validators = Sys.Mvc.ValidatorRegistry._getDefaultValidators();
// ---- Do not remove this footer ----
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
// -----------------------------------
// register validation
Sys.Application.add_load(function() {
Sys.Application.remove_load(arguments.callee);
Sys.Mvc.FormContext._Application_Load();
});

View File

@ -1,55 +0,0 @@
//----------------------------------------------------------
// Copyright (C) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------
// MicrosoftMvcValidation.js
Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_Validation=function(){return {};}
Sys.Mvc.$create_JsonValidationField=function(){return {};}
Sys.Mvc.$create_JsonValidationOptions=function(){return {};}
Sys.Mvc.$create_JsonValidationRule=function(){return {};}
Sys.Mvc.$create_ValidationContext=function(){return {};}
Sys.Mvc.NumberValidator=function(){}
Sys.Mvc.NumberValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.NumberValidator(),new Sys.Mvc.NumberValidator().validate);}
Sys.Mvc.NumberValidator.prototype={validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0));}}
Sys.Mvc.FormContext=function(formElement,validationSummaryElement){this.$5=[];this.fields=new Array(0);this.$9=formElement;this.$7=validationSummaryElement;formElement['__MVC_FormValidation'] = this;if(validationSummaryElement){var $0=validationSummaryElement.getElementsByTagName('ul');if($0.length>0){this.$8=$0[0];}}this.$3=Function.createDelegate(this,this.$D);this.$4=Function.createDelegate(this,this.$E);}
Sys.Mvc.FormContext._Application_Load=function(){var $0=window.mvcClientValidationMetadata;if($0){while($0.length>0){var $1=$0.pop();Sys.Mvc.FormContext.$12($1);}}}
Sys.Mvc.FormContext.$F=function($p0,$p1){var $0=[];var $1=document.getElementsByName($p1);for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];if(Sys.Mvc.FormContext.$10($p0,$3)){Array.add($0,$3);}}return $0;}
Sys.Mvc.FormContext.getValidationForForm=function(formElement){return formElement['__MVC_FormValidation'];}
Sys.Mvc.FormContext.$10=function($p0,$p1){while($p1){if($p0===$p1){return true;}$p1=$p1.parentNode;}return false;}
Sys.Mvc.FormContext.$12=function($p0){var $0=$get($p0.FormId);var $1=(!Sys.Mvc._ValidationUtil.$1($p0.ValidationSummaryId))?$get($p0.ValidationSummaryId):null;var $2=new Sys.Mvc.FormContext($0,$1);$2.enableDynamicValidation();$2.replaceValidationSummary=$p0.ReplaceValidationSummary;for(var $4=0;$4<$p0.Fields.length;$4++){var $5=$p0.Fields[$4];var $6=Sys.Mvc.FormContext.$F($0,$5.FieldName);var $7=(!Sys.Mvc._ValidationUtil.$1($5.ValidationMessageId))?$get($5.ValidationMessageId):null;var $8=new Sys.Mvc.FieldContext($2);Array.addRange($8.elements,$6);$8.validationMessageElement=$7;$8.replaceValidationMessageContents=$5.ReplaceValidationMessageContents;for(var $9=0;$9<$5.ValidationRules.length;$9++){var $A=$5.ValidationRules[$9];var $B=Sys.Mvc.ValidatorRegistry.getValidator($A);if($B){var $C=Sys.Mvc.$create_Validation();$C.fieldErrorMessage=$A.ErrorMessage;$C.validator=$B;Array.add($8.validations,$C);}}$8.enableDynamicValidation();Array.add($2.fields,$8);}var $3=$0.validationCallbacks;if(!$3){$3=[];$0.validationCallbacks = $3;}$3.push(Function.createDelegate(null,function(){
return Sys.Mvc._ValidationUtil.$0($2.validate('submit'));}));return $2;}
Sys.Mvc.FormContext.prototype={$3:null,$4:null,$6:null,$7:null,$8:null,$9:null,replaceValidationSummary:false,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$5,messages);this.$11();}},clearErrors:function(){Array.clear(this.$5);this.$11();},$A:function(){if(this.$7){if(this.$8){Sys.Mvc._ValidationUtil.$3(this.$8);for(var $0=0;$0<this.$5.length;$0++){var $1=document.createElement('li');Sys.Mvc._ValidationUtil.$4($1,this.$5[$0]);this.$8.appendChild($1);}}Sys.UI.DomElement.removeCssClass(this.$7,'validation-summary-valid');Sys.UI.DomElement.addCssClass(this.$7,'validation-summary-errors');}},$B:function(){var $0=this.$7;if($0){var $1=this.$8;if($1){$1.innerHTML='';}Sys.UI.DomElement.removeCssClass($0,'validation-summary-errors');Sys.UI.DomElement.addCssClass($0,'validation-summary-valid');}},enableDynamicValidation:function(){Sys.UI.DomEvent.addHandler(this.$9,'click',this.$3);Sys.UI.DomEvent.addHandler(this.$9,'submit',this.$4);},$C:function($p0){if($p0.disabled){return null;}var $0=$p0.tagName.toUpperCase();var $1=$p0;if($0==='INPUT'){var $2=$1.type;if($2==='submit'||$2==='image'){return $1;}}else if(($0==='BUTTON')&&($1.type==='submit')){return $1;}return null;},$D:function($p0){this.$6=this.$C($p0.target);},$E:function($p0){var $0=$p0.target;var $1=this.$6;if($1&&$1.disableValidation){return;}var $2=this.validate('submit');if(!Sys.Mvc._ValidationUtil.$0($2)){$p0.preventDefault();}},$11:function(){if(!this.$5.length){this.$B();}else{this.$A();}},validate:function(eventName){var $0=this.fields;var $1=[];for(var $2=0;$2<$0.length;$2++){var $3=$0[$2];if(!$3.elements[0].disabled){var $4=$3.validate(eventName);if($4){Array.addRange($1,$4);}}}if(this.replaceValidationSummary){this.clearErrors();this.addErrors($1);}return $1;}}
Sys.Mvc.FieldContext=function(formContext){this.$A=[];this.elements=new Array(0);this.validations=new Array(0);this.formContext=formContext;this.$6=Function.createDelegate(this,this.$D);this.$7=Function.createDelegate(this,this.$E);this.$8=Function.createDelegate(this,this.$F);this.$9=Function.createDelegate(this,this.$10);}
Sys.Mvc.FieldContext.prototype={$6:null,$7:null,$8:null,$9:null,defaultErrorMessage:null,formContext:null,replaceValidationMessageContents:false,validationMessageElement:null,addError:function(message){this.addErrors([message]);},addErrors:function(messages){if(!Sys.Mvc._ValidationUtil.$0(messages)){Array.addRange(this.$A,messages);this.$14();}},clearErrors:function(){Array.clear(this.$A);this.$14();},$B:function(){var $0=this.validationMessageElement;if($0){if(this.replaceValidationMessageContents){Sys.Mvc._ValidationUtil.$4($0,this.$A[0]);}Sys.UI.DomElement.removeCssClass($0,'field-validation-valid');Sys.UI.DomElement.addCssClass($0,'field-validation-error');}var $1=this.elements;for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];Sys.UI.DomElement.removeCssClass($3,'input-validation-valid');Sys.UI.DomElement.addCssClass($3,'input-validation-error');}},$C:function(){var $0=this.validationMessageElement;if($0){if(this.replaceValidationMessageContents){Sys.Mvc._ValidationUtil.$4($0,'');}Sys.UI.DomElement.removeCssClass($0,'field-validation-error');Sys.UI.DomElement.addCssClass($0,'field-validation-valid');}var $1=this.elements;for(var $2=0;$2<$1.length;$2++){var $3=$1[$2];Sys.UI.DomElement.removeCssClass($3,'input-validation-error');Sys.UI.DomElement.addCssClass($3,'input-validation-valid');}},$D:function($p0){if($p0.target['__MVC_HasTextChanged']||$p0.target['__MVC_HasValidationFired']){this.validate('blur');}},$E:function($p0){$p0.target['__MVC_HasTextChanged'] = true;},$F:function($p0){$p0.target['__MVC_HasTextChanged'] = true;if($p0.target['__MVC_HasValidationFired']){this.validate('input');}},$10:function($p0){if($p0.rawEvent.propertyName==='value'){$p0.target['__MVC_HasTextChanged'] = true;if($p0.target['__MVC_HasValidationFired']){this.validate('input');}}},enableDynamicValidation:function(){var $0=this.elements;for(var $1=0;$1<$0.length;$1++){var $2=$0[$1];if(Sys.Mvc._ValidationUtil.$2($2,'onpropertychange')){var $3=document.documentMode;if($3&&$3>=8){Sys.UI.DomEvent.addHandler($2,'propertychange',this.$9);}}else{Sys.UI.DomEvent.addHandler($2,'input',this.$8);}Sys.UI.DomEvent.addHandler($2,'change',this.$7);Sys.UI.DomEvent.addHandler($2,'blur',this.$6);}},$11:function($p0,$p1){var $0=$p1||this.defaultErrorMessage;if(Boolean.isInstanceOfType($p0)){return ($p0)?null:$0;}if(String.isInstanceOfType($p0)){return (($p0).length)?$p0:$0;}return null;},$12:function(){var $0=this.elements;return ($0.length>0)?$0[0].value:null;},$13:function(){var $0=this.elements;for(var $1=0;$1<$0.length;$1++){var $2=$0[$1];$2['__MVC_HasValidationFired'] = true;}},$14:function(){if(!this.$A.length){this.$C();}else{this.$B();}},validate:function(eventName){var $0=this.validations;var $1=[];var $2=this.$12();for(var $3=0;$3<$0.length;$3++){var $4=$0[$3];var $5=Sys.Mvc.$create_ValidationContext();$5.eventName=eventName;$5.fieldContext=this;$5.validation=$4;var $6=$4.validator($2,$5);var $7=this.$11($6,$4.fieldErrorMessage);if(!Sys.Mvc._ValidationUtil.$1($7)){Array.add($1,$7);}}this.$13();this.clearErrors();this.addErrors($1);return $1;}}
Sys.Mvc.RangeValidator=function(minimum,maximum){this.$0=minimum;this.$1=maximum;}
Sys.Mvc.RangeValidator.create=function(rule){var $0=rule.ValidationParameters['min'];var $1=rule.ValidationParameters['max'];return Function.createDelegate(new Sys.Mvc.RangeValidator($0,$1),new Sys.Mvc.RangeValidator($0,$1).validate);}
Sys.Mvc.RangeValidator.prototype={$0:null,$1:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=Number.parseLocale(value);return (!isNaN($0)&&this.$0<=$0&&$0<=this.$1);}}
Sys.Mvc.RegularExpressionValidator=function(pattern){this.$0=pattern;}
Sys.Mvc.RegularExpressionValidator.create=function(rule){var $0=rule.ValidationParameters['pattern'];return Function.createDelegate(new Sys.Mvc.RegularExpressionValidator($0),new Sys.Mvc.RegularExpressionValidator($0).validate);}
Sys.Mvc.RegularExpressionValidator.prototype={$0:null,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}var $0=new RegExp(this.$0);var $1=$0.exec(value);return (!Sys.Mvc._ValidationUtil.$0($1)&&$1[0].length===value.length);}}
Sys.Mvc.RequiredValidator=function(){}
Sys.Mvc.RequiredValidator.create=function(rule){return Function.createDelegate(new Sys.Mvc.RequiredValidator(),new Sys.Mvc.RequiredValidator().validate);}
Sys.Mvc.RequiredValidator.$0=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();if($0==='RADIO'){return true;}}return false;}
Sys.Mvc.RequiredValidator.$1=function($p0){if($p0.tagName.toUpperCase()==='SELECT'){return true;}return false;}
Sys.Mvc.RequiredValidator.$2=function($p0){if($p0.tagName.toUpperCase()==='INPUT'){var $0=($p0.type).toUpperCase();switch($0){case 'TEXT':case 'PASSWORD':case 'FILE':return true;}}if($p0.tagName.toUpperCase()==='TEXTAREA'){return true;}return false;}
Sys.Mvc.RequiredValidator.$3=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.checked){return true;}}return false;}
Sys.Mvc.RequiredValidator.$4=function($p0){for(var $0=0;$0<$p0.length;$0++){var $1=$p0[$0];if($1.selected){if(!Sys.Mvc._ValidationUtil.$1($1.value)){return true;}}}return false;}
Sys.Mvc.RequiredValidator.$5=function($p0){return (!Sys.Mvc._ValidationUtil.$1($p0.value));}
Sys.Mvc.RequiredValidator.prototype={validate:function(value,context){var $0=context.fieldContext.elements;if(!$0.length){return true;}var $1=$0[0];if(Sys.Mvc.RequiredValidator.$2($1)){return Sys.Mvc.RequiredValidator.$5($1);}if(Sys.Mvc.RequiredValidator.$0($1)){return Sys.Mvc.RequiredValidator.$3($0);}if(Sys.Mvc.RequiredValidator.$1($1)){return Sys.Mvc.RequiredValidator.$4(($1).options);}return true;}}
Sys.Mvc.StringLengthValidator=function(minLength,maxLength){this.$1=minLength;this.$0=maxLength;}
Sys.Mvc.StringLengthValidator.create=function(rule){var $0=(rule.ValidationParameters['min']||0);var $1=(rule.ValidationParameters['max']||Number.MAX_VALUE);return Function.createDelegate(new Sys.Mvc.StringLengthValidator($0,$1),new Sys.Mvc.StringLengthValidator($0,$1).validate);}
Sys.Mvc.StringLengthValidator.prototype={$0:0,$1:0,validate:function(value,context){if(Sys.Mvc._ValidationUtil.$1(value)){return true;}return (this.$1<=value.length&&value.length<=this.$0);}}
Sys.Mvc._ValidationUtil=function(){}
Sys.Mvc._ValidationUtil.$0=function($p0){return (!$p0||!$p0.length);}
Sys.Mvc._ValidationUtil.$1=function($p0){return (!$p0||!$p0.length);}
Sys.Mvc._ValidationUtil.$2=function($p0,$p1){return ($p1 in $p0);}
Sys.Mvc._ValidationUtil.$3=function($p0){while($p0.firstChild){$p0.removeChild($p0.firstChild);}}
Sys.Mvc._ValidationUtil.$4=function($p0,$p1){var $0=document.createTextNode($p1);Sys.Mvc._ValidationUtil.$3($p0);$p0.appendChild($0);}
Sys.Mvc.ValidatorRegistry=function(){}
Sys.Mvc.ValidatorRegistry.getValidator=function(rule){var $0=Sys.Mvc.ValidatorRegistry.validators[rule.ValidationType];return ($0)?$0(rule):null;}
Sys.Mvc.ValidatorRegistry.$0=function(){return {required:Function.createDelegate(null,Sys.Mvc.RequiredValidator.create),length:Function.createDelegate(null,Sys.Mvc.StringLengthValidator.create),regex:Function.createDelegate(null,Sys.Mvc.RegularExpressionValidator.create),range:Function.createDelegate(null,Sys.Mvc.RangeValidator.create),number:Function.createDelegate(null,Sys.Mvc.NumberValidator.create)};}
Sys.Mvc.NumberValidator.registerClass('Sys.Mvc.NumberValidator');Sys.Mvc.FormContext.registerClass('Sys.Mvc.FormContext');Sys.Mvc.FieldContext.registerClass('Sys.Mvc.FieldContext');Sys.Mvc.RangeValidator.registerClass('Sys.Mvc.RangeValidator');Sys.Mvc.RegularExpressionValidator.registerClass('Sys.Mvc.RegularExpressionValidator');Sys.Mvc.RequiredValidator.registerClass('Sys.Mvc.RequiredValidator');Sys.Mvc.StringLengthValidator.registerClass('Sys.Mvc.StringLengthValidator');Sys.Mvc._ValidationUtil.registerClass('Sys.Mvc._ValidationUtil');Sys.Mvc.ValidatorRegistry.registerClass('Sys.Mvc.ValidatorRegistry');Sys.Mvc.ValidatorRegistry.validators=Sys.Mvc.ValidatorRegistry.$0();
// ---- Do not remove this footer ----
// Generated using Script# v0.5.0.0 (http://projects.nikhilk.net)
// -----------------------------------
Sys.Application.add_load(function(){Sys.Application.remove_load(arguments.callee);Sys.Mvc.FormContext._Application_Load();});

View File

@ -1,33 +0,0 @@

jQuery(document).ready(function ($) {
$('span.field-validation-valid, span.field-validation-error').each(function () {
$(this).addClass('help-inline');
});
$("button, input[type='submit'],input[type='button']").each(function () {
$(this).addClass('btn btn-madmin');
});
$(".btn").each(function () {
$(this).addClass('btn-madmin');
});
$("input[type='submit']").each(function () {
$(this).addClass('btn-primary btn-large');
});
$('.validation-summary-errors').livequery(function () {
$(this).addClass('alert alert-error');
});
$('.field-validation-error').livequery(function () {
$('.control-group').each(function () {
if ($(this).find('span.field-validation-error').length == 0) {
$(this).removeClass('error');
} else {
$(this).addClass('error');
}
});
});
});

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,226 +0,0 @@
/*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
* Dual licensed under the MIT (MIT_LICENSE.txt)
* and GPL Version 2 (GPL_LICENSE.txt) licenses.
*
* Version: 1.1.1
* Requires jQuery 1.3+
* Docs: http://docs.jquery.com/Plugins/livequery
*/
(function($) {
$.extend($.fn, {
livequery: function(type, fn, fn2) {
var self = this, q;
// Handle different call patterns
if ($.isFunction(type))
fn2 = fn, fn = type, type = undefined;
// See if Live Query already exists
$.each( $.livequery.queries, function(i, query) {
if ( self.selector == query.selector && self.context == query.context &&
type == query.type && (!fn || fn.$lqguid == query.fn.$lqguid) && (!fn2 || fn2.$lqguid == query.fn2.$lqguid) )
// Found the query, exit the each loop
return (q = query) && false;
});
// Create new Live Query if it wasn't found
q = q || new $.livequery(this.selector, this.context, type, fn, fn2);
// Make sure it is running
q.stopped = false;
// Run it immediately for the first time
q.run();
// Contnue the chain
return this;
},
expire: function(type, fn, fn2) {
var self = this;
// Handle different call patterns
if ($.isFunction(type))
fn2 = fn, fn = type, type = undefined;
// Find the Live Query based on arguments and stop it
$.each( $.livequery.queries, function(i, query) {
if ( self.selector == query.selector && self.context == query.context &&
(!type || type == query.type) && (!fn || fn.$lqguid == query.fn.$lqguid) && (!fn2 || fn2.$lqguid == query.fn2.$lqguid) && !this.stopped )
$.livequery.stop(query.id);
});
// Continue the chain
return this;
}
});
$.livequery = function(selector, context, type, fn, fn2) {
this.selector = selector;
this.context = context;
this.type = type;
this.fn = fn;
this.fn2 = fn2;
this.elements = [];
this.stopped = false;
// The id is the index of the Live Query in $.livequery.queries
this.id = $.livequery.queries.push(this)-1;
// Mark the functions for matching later on
fn.$lqguid = fn.$lqguid || $.livequery.guid++;
if (fn2) fn2.$lqguid = fn2.$lqguid || $.livequery.guid++;
// Return the Live Query
return this;
};
$.livequery.prototype = {
stop: function() {
var query = this;
if ( this.type )
// Unbind all bound events
this.elements.unbind(this.type, this.fn);
else if (this.fn2)
// Call the second function for all matched elements
this.elements.each(function(i, el) {
query.fn2.apply(el);
});
// Clear out matched elements
this.elements = [];
// Stop the Live Query from running until restarted
this.stopped = true;
},
run: function() {
// Short-circuit if stopped
if ( this.stopped ) return;
var query = this;
var oEls = this.elements,
els = $(this.selector, this.context),
nEls = els.not(oEls);
// Set elements to the latest set of matched elements
this.elements = els;
if (this.type) {
// Bind events to newly matched elements
nEls.bind(this.type, this.fn);
// Unbind events to elements no longer matched
if (oEls.length > 0)
$.each(oEls, function(i, el) {
if ( $.inArray(el, els) < 0 )
$.event.remove(el, query.type, query.fn);
});
}
else {
// Call the first function for newly matched elements
nEls.each(function() {
query.fn.apply(this);
});
// Call the second function for elements no longer matched
if ( this.fn2 && oEls.length > 0 )
$.each(oEls, function(i, el) {
if ( $.inArray(el, els) < 0 )
query.fn2.apply(el);
});
}
}
};
$.extend($.livequery, {
guid: 0,
queries: [],
queue: [],
running: false,
timeout: null,
checkQueue: function() {
if ( $.livequery.running && $.livequery.queue.length ) {
var length = $.livequery.queue.length;
// Run each Live Query currently in the queue
while ( length-- )
$.livequery.queries[ $.livequery.queue.shift() ].run();
}
},
pause: function() {
// Don't run anymore Live Queries until restarted
$.livequery.running = false;
},
play: function() {
// Restart Live Queries
$.livequery.running = true;
// Request a run of the Live Queries
$.livequery.run();
},
registerPlugin: function() {
$.each( arguments, function(i,n) {
// Short-circuit if the method doesn't exist
if (!$.fn[n]) return;
// Save a reference to the original method
var old = $.fn[n];
// Create a new method
$.fn[n] = function() {
// Call the original method
var r = old.apply(this, arguments);
// Request a run of the Live Queries
$.livequery.run();
// Return the original methods result
return r;
}
});
},
run: function(id) {
if (id != undefined) {
// Put the particular Live Query in the queue if it doesn't already exist
if ( $.inArray(id, $.livequery.queue) < 0 )
$.livequery.queue.push( id );
}
else
// Put each Live Query in the queue if it doesn't already exist
$.each( $.livequery.queries, function(id) {
if ( $.inArray(id, $.livequery.queue) < 0 )
$.livequery.queue.push( id );
});
// Clear timeout if it already exists
if ($.livequery.timeout) clearTimeout($.livequery.timeout);
// Create a timeout to check the queue and actually run the Live Queries
$.livequery.timeout = setTimeout($.livequery.checkQueue, 20);
},
stop: function(id) {
if (id != undefined)
// Stop are particular Live Query
$.livequery.queries[ id ].stop();
else
// Stop all Live Queries
$.each( $.livequery.queries, function(id) {
$.livequery.queries[ id ].stop();
});
}
});
// Register core DOM manipulation methods
$.livequery.registerPlugin('append', 'prepend', 'after', 'before', 'wrap', 'attr', 'removeAttr', 'addClass', 'removeClass', 'toggleClass', 'empty', 'remove', 'html');
// Run Live Queries when the Document is ready
$(function() { $.livequery.play(); });
})(jQuery);

View File

@ -1,165 +0,0 @@
/// <reference path="jquery-1.7.1.js" />
/*!
** Unobtrusive Ajax support library for jQuery
** Copyright (C) Microsoft Corporation. All rights reserved.
*/
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
/*global window: false, jQuery: false */
(function ($) {
var data_click = "unobtrusiveAjaxClick",
data_validation = "unobtrusiveValidation";
function getFunction(code, argNames) {
var fn = window, parts = (code || "").split(".");
while (fn && parts.length) {
fn = fn[parts.shift()];
}
if (typeof (fn) === "function") {
return fn;
}
argNames.push(code);
return Function.constructor.apply(null, argNames);
}
function isMethodProxySafe(method) {
return method === "GET" || method === "POST";
}
function asyncOnBeforeSend(xhr, method) {
if (!isMethodProxySafe(method)) {
xhr.setRequestHeader("X-HTTP-Method-Override", method);
}
}
function asyncOnSuccess(element, data, contentType) {
var mode;
if (contentType.indexOf("application/x-javascript") !== -1) { // jQuery already executes JavaScript for us
return;
}
mode = (element.getAttribute("data-ajax-mode") || "").toUpperCase();
$(element.getAttribute("data-ajax-update")).each(function (i, update) {
var top;
switch (mode) {
case "BEFORE":
top = update.firstChild;
$("<div />").html(data).contents().each(function () {
update.insertBefore(this, top);
});
break;
case "AFTER":
$("<div />").html(data).contents().each(function () {
update.appendChild(this);
});
break;
default:
$(update).html(data);
break;
}
});
}
function asyncRequest(element, options) {
var confirm, loading, method, duration;
confirm = element.getAttribute("data-ajax-confirm");
if (confirm && !window.confirm(confirm)) {
return;
}
loading = $(element.getAttribute("data-ajax-loading"));
duration = element.getAttribute("data-ajax-loading-duration") || 0;
$.extend(options, {
type: element.getAttribute("data-ajax-method") || undefined,
url: element.getAttribute("data-ajax-url") || undefined,
beforeSend: function (xhr) {
var result;
asyncOnBeforeSend(xhr, method);
result = getFunction(element.getAttribute("data-ajax-begin"), ["xhr"]).apply(this, arguments);
if (result !== false) {
loading.show(duration);
}
return result;
},
complete: function () {
loading.hide(duration);
getFunction(element.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(this, arguments);
},
success: function (data, status, xhr) {
asyncOnSuccess(element, data, xhr.getResponseHeader("Content-Type") || "text/html");
getFunction(element.getAttribute("data-ajax-success"), ["data", "status", "xhr"]).apply(this, arguments);
},
error: getFunction(element.getAttribute("data-ajax-failure"), ["xhr", "status", "error"])
});
options.data.push({ name: "X-Requested-With", value: "XMLHttpRequest" });
method = options.type.toUpperCase();
if (!isMethodProxySafe(method)) {
options.type = "POST";
options.data.push({ name: "X-HTTP-Method-Override", value: method });
}
$.ajax(options);
}
function validate(form) {
var validationInfo = $(form).data(data_validation);
return !validationInfo || !validationInfo.validate || validationInfo.validate();
}
$("a[data-ajax=true]").live("click", function (evt) {
evt.preventDefault();
asyncRequest(this, {
url: this.href,
type: "GET",
data: []
});
});
$("form[data-ajax=true] input[type=image]").live("click", function (evt) {
var name = evt.target.name,
$target = $(evt.target),
form = $target.parents("form")[0],
offset = $target.offset();
$(form).data(data_click, [
{ name: name + ".x", value: Math.round(evt.pageX - offset.left) },
{ name: name + ".y", value: Math.round(evt.pageY - offset.top) }
]);
setTimeout(function () {
$(form).removeData(data_click);
}, 0);
});
$("form[data-ajax=true] :submit").live("click", function (evt) {
var name = evt.target.name,
form = $(evt.target).parents("form")[0];
$(form).data(data_click, name ? [{ name: name, value: evt.target.value }] : []);
setTimeout(function () {
$(form).removeData(data_click);
}, 0);
});
$("form[data-ajax=true]").live("submit", function (evt) {
var clickInfo = $(this).data(data_click) || [];
evt.preventDefault();
if (!validate(this)) {
return;
}
asyncRequest(this, {
url: this.action,
type: this.method || "GET",
data: clickInfo.concat($(this).serializeArray())
});
});
}(jQuery));

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,365 +0,0 @@
/*!
** Unobtrusive validation support library for jQuery and jQuery Validate
** Copyright (C) Microsoft Corporation. All rights reserved.
*/
/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */
/*global document: false, jQuery: false */
(function ($) {
var $jQval = $.validator,
adapters,
data_validation = "unobtrusiveValidation";
function setValidationValues(options, ruleName, value) {
options.rules[ruleName] = value;
if (options.message) {
options.messages[ruleName] = options.message;
}
}
function splitAndTrim(value) {
return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g);
}
function escapeAttributeValue(value) {
// As mentioned on http://api.jquery.com/category/selectors/
return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1");
}
function getModelPrefix(fieldName) {
return fieldName.substr(0, fieldName.lastIndexOf(".") + 1);
}
function appendModelPrefix(value, prefix) {
if (value.indexOf("*.") === 0) {
value = value.replace("*.", prefix);
}
return value;
}
function onError(error, inputElement) { // 'this' is the form element
var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"),
replace = $.parseJSON(container.attr("data-valmsg-replace")) !== false;
container.removeClass("field-validation-valid").addClass("field-validation-error");
error.data("unobtrusiveContainer", container);
if (replace) {
container.empty();
error.removeClass("input-validation-error").appendTo(container);
}
else {
error.hide();
}
}
function onErrors(event, validator) { // 'this' is the form element
var container = $(this).find("[data-valmsg-summary=true]"),
list = container.find("ul");
if (list && list.length && validator.errorList.length) {
list.empty();
container.addClass("validation-summary-errors").removeClass("validation-summary-valid");
$.each(validator.errorList, function () {
$("<li />").html(this.message).appendTo(list);
});
}
}
function onSuccess(error) { // 'this' is the form element
var container = error.data("unobtrusiveContainer"),
replace = $.parseJSON(container.attr("data-valmsg-replace"));
if (container) {
container.addClass("field-validation-valid").removeClass("field-validation-error");
error.removeData("unobtrusiveContainer");
if (replace) {
container.empty();
}
}
}
function onReset(event) { // 'this' is the form element
var $form = $(this);
$form.data("validator").resetForm();
$form.find(".validation-summary-errors")
.addClass("validation-summary-valid")
.removeClass("validation-summary-errors");
$form.find(".field-validation-error")
.addClass("field-validation-valid")
.removeClass("field-validation-error")
.removeData("unobtrusiveContainer")
.find(">*") // If we were using valmsg-replace, get the underlying error
.removeData("unobtrusiveContainer");
}
function validationInfo(form) {
var $form = $(form),
result = $form.data(data_validation),
onResetProxy = $.proxy(onReset, form);
if (!result) {
result = {
options: { // options structure passed to jQuery Validate's validate() method
errorClass: "input-validation-error",
errorElement: "span",
errorPlacement: $.proxy(onError, form),
invalidHandler: $.proxy(onErrors, form),
messages: {},
rules: {},
success: $.proxy(onSuccess, form)
},
attachValidation: function () {
$form
.unbind("reset." + data_validation, onResetProxy)
.bind("reset." + data_validation, onResetProxy)
.validate(this.options);
},
validate: function () { // a validation function that is called by unobtrusive Ajax
$form.validate();
return $form.valid();
}
};
$form.data(data_validation, result);
}
return result;
}
$jQval.unobtrusive = {
adapters: [],
parseElement: function (element, skipAttach) {
/// <summary>
/// Parses a single HTML element for unobtrusive validation attributes.
/// </summary>
/// <param name="element" domElement="true">The HTML element to be parsed.</param>
/// <param name="skipAttach" type="Boolean">[Optional] true to skip attaching the
/// validation to the form. If parsing just this single element, you should specify true.
/// If parsing several elements, you should specify false, and manually attach the validation
/// to the form when you are finished. The default is false.</param>
var $element = $(element),
form = $element.parents("form")[0],
valInfo, rules, messages;
if (!form) { // Cannot do client-side validation without a form
return;
}
valInfo = validationInfo(form);
valInfo.options.rules[element.name] = rules = {};
valInfo.options.messages[element.name] = messages = {};
$.each(this.adapters, function () {
var prefix = "data-val-" + this.name,
message = $element.attr(prefix),
paramValues = {};
if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)
prefix += "-";
$.each(this.params, function () {
paramValues[this] = $element.attr(prefix + this);
});
this.adapt({
element: element,
form: form,
message: message,
params: paramValues,
rules: rules,
messages: messages
});
}
});
$.extend(rules, { "__dummy__": true });
if (!skipAttach) {
valInfo.attachValidation();
}
},
parse: function (selector) {
/// <summary>
/// Parses all the HTML elements in the specified selector. It looks for input elements decorated
/// with the [data-val=true] attribute value and enables validation according to the data-val-*
/// attribute values.
/// </summary>
/// <param name="selector" type="String">Any valid jQuery selector.</param>
var $forms = $(selector)
.parents("form")
.andSelf()
.add($(selector).find("form"))
.filter("form");
$(selector).find(":input[data-val=true]").each(function () {
$jQval.unobtrusive.parseElement(this, true);
});
$forms.each(function () {
var info = validationInfo(this);
if (info) {
info.attachValidation();
}
});
}
};
adapters = $jQval.unobtrusive.adapters;
adapters.add = function (adapterName, params, fn) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="params" type="Array" optional="true">[Optional] An array of parameter names (strings) that will
/// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and
/// mmmm is the parameter name).</param>
/// <param name="fn" type="Function">The function to call, which adapts the values from the HTML
/// attributes into jQuery Validate rules and/or messages.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
if (!fn) { // Called with no params, just a function
fn = params;
params = [];
}
this.push({ name: adapterName, params: params, adapt: fn });
return this;
};
adapters.addBool = function (adapterName, ruleName) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation rule has no parameter values.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
/// of adapterName will be used instead.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, function (options) {
setValidationValues(options, ruleName || adapterName, true);
});
};
adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and
/// one for min-and-max). The HTML parameters are expected to be named -min and -max.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).</param>
/// <param name="minRuleName" type="String">The name of the jQuery Validate rule to be used when you only
/// have a minimum value.</param>
/// <param name="maxRuleName" type="String">The name of the jQuery Validate rule to be used when you only
/// have a maximum value.</param>
/// <param name="minMaxRuleName" type="String">The name of the jQuery Validate rule to be used when you
/// have both a minimum and maximum value.</param>
/// <param name="minAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
/// contains the minimum value. The default is "min".</param>
/// <param name="maxAttribute" type="String" optional="true">[Optional] The name of the HTML attribute that
/// contains the maximum value. The default is "max".</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) {
var min = options.params.min,
max = options.params.max;
if (min && max) {
setValidationValues(options, minMaxRuleName, [min, max]);
}
else if (min) {
setValidationValues(options, minRuleName, min);
}
else if (max) {
setValidationValues(options, maxRuleName, max);
}
});
};
adapters.addSingleVal = function (adapterName, attribute, ruleName) {
/// <summary>Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where
/// the jQuery Validate validation rule has a single value.</summary>
/// <param name="adapterName" type="String">The name of the adapter to be added. This matches the name used
/// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).</param>
/// <param name="attribute" type="String">[Optional] The name of the HTML attribute that contains the value.
/// The default is "val".</param>
/// <param name="ruleName" type="String" optional="true">[Optional] The name of the jQuery Validate rule. If not provided, the value
/// of adapterName will be used instead.</param>
/// <returns type="jQuery.validator.unobtrusive.adapters" />
return this.add(adapterName, [attribute || "val"], function (options) {
setValidationValues(options, ruleName || adapterName, options.params[attribute]);
});
};
$jQval.addMethod("__dummy__", function (value, element, params) {
return true;
});
$jQval.addMethod("regex", function (value, element, params) {
var match;
if (this.optional(element)) {
return true;
}
match = new RegExp(params).exec(value);
return (match && (match.index === 0) && (match[0].length === value.length));
});
$jQval.addMethod("nonalphamin", function (value, element, nonalphamin) {
var match;
if (nonalphamin) {
match = value.match(/\W/g);
match = match && match.length >= nonalphamin;
}
return match;
});
adapters.addSingleVal("accept", "exts").addSingleVal("regex", "pattern");
adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");
adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range");
adapters.add("equalto", ["other"], function (options) {
var prefix = getModelPrefix(options.element.name),
other = options.params.other,
fullOtherName = appendModelPrefix(other, prefix),
element = $(options.form).find(":input[name='" + escapeAttributeValue(fullOtherName) + "']")[0];
setValidationValues(options, "equalTo", element);
});
adapters.add("required", function (options) {
// jQuery Validate equates "required" with "mandatory" for checkbox elements
if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") {
setValidationValues(options, "required", true);
}
});
adapters.add("remote", ["url", "type", "additionalfields"], function (options) {
var value = {
url: options.params.url,
type: options.params.type || "GET",
data: {}
},
prefix = getModelPrefix(options.element.name);
$.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {
var paramName = appendModelPrefix(fieldName, prefix);
value.data[paramName] = function () {
return $(options.form).find(":input[name='" + escapeAttributeValue(paramName) + "']").val();
};
});
setValidationValues(options, "remote", value);
});
adapters.add("password", ["min", "nonalphamin", "regex"], function (options) {
if (options.params.min) {
setValidationValues(options, "minlength", options.params.min);
}
if (options.params.nonalphamin) {
setValidationValues(options, "nonalphamin", options.params.nonalphamin);
}
if (options.params.regex) {
setValidationValues(options, "regex", options.params.regex);
}
});
$(function () {
$jQval.unobtrusive.parse(document);
});
} (jQuery));

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,7 @@
@using Cassette.Scripts
@using Cassette.Stylesheets
@using NzbDrone.Web
@using NzbDrone.Web.Backbone.NzbDrone
@using NzbDrone.Web.Helpers
@{
Bundles.Reference<StylesheetBundle>(CassetteBundleConfiguration.BASE_STYLE);

View File

@ -0,0 +1,70 @@
@{
Layout = null;
}
@using Cassette.Scripts
@using Cassette.Stylesheets
@using NzbDrone.Web
@using NzbDrone.Web.Backbone.NzbDrone
@using NzbDrone.Web.Helpers
@{
Bundles.Reference<StylesheetBundle>(CassetteBundleConfiguration.BASE_STYLE);
Bundles.Reference<ScriptBundle>(CassetteBundleConfiguration.NZBDRONE);
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>@ViewBag.Title - NzbDrone</title>
<link rel="SHORTCUT ICON" href="../../favicon.ico" />
<link rel="apple-touch-icon" sizes="57x57" href="../../Content/Images/apple-touch-icon-114.png" />
<link rel="apple-touch-icon" sizes="114x114" href="../../Content/Images/apple-touch-icon-114.png" />
<link rel="apple-touch-icon" sizes="72x72" href="../../Content/Images/apple-touch-icon-144.png" />
<link rel="apple-touch-icon" sizes="144x144" href="../../Content/Images/apple-touch-icon-144.png" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300' rel='stylesheet' type='text/css'>
@Bundles.RenderStylesheets()
</head>
<body>
<div class="container">
<div id="menu" class="row">
<div class="span20">
<ul>
@MvcHtmlString.Create(Html.CurrentControllerLink("Series", "Index", "Series"))
@MvcHtmlString.Create(Html.CurrentControllerLink("Upcoming", "Index", "Upcoming"))
@MvcHtmlString.Create(Html.CurrentControllerLink("History", "Index", "History"))
@MvcHtmlString.Create(Html.CurrentControllerLink("Missing", "Index", "Missing"))
@MvcHtmlString.Create(Html.CurrentControllerLink("Settings", "Index", "Settings"))
@MvcHtmlString.Create(Html.CurrentControllerLink("System", "Index", "System"))
<li id="donate" title="Donate to support the development of NzbDrone">
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KRTE52U3XJDSQ" target="_blank">Donate</a>
</li>
</ul>
<input id="localSeriesLookup" type="text" class="pull-right" placeholder="Search..." />
</div>
</div>
<div id="logo" class="row">
<div class="span18 offset2">
Single page
</div>
</div>
<div id="content" class="row">
<div class="span20">
<div id="sub-menu-region" class="row">
</div>
<div class="row">
<div id="main-region" class="span20 nz-center">
</div>
</div>
</div>
</div>
<div id="footer" class="row nz-center">
<div id="footer-region" class="span20"></div>
</div>
</div>
@Bundles.RenderScripts()
<script type="text/javascript">
NzbDrone.start();
</script>
</body>
</html>

View File

@ -0,0 +1,15 @@
<ul class="nav nav-tabs" id="myTab">
<li class="active"><a href="#add-new">Add New Series</a></li>
<li><a href="#import-existing">Import Existing Series</a></li>
<li><a href="#root-folders">Root Folders</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="add-new">
<div class="input-prepend search">
<i class="add-on icon-search"></i>
<input type="text" class="span10" placeholder="Start typing the name of series you want to add ...">
</div>
</div>
<div class="tab-pane" id="import-existing">Import existing.</div>
<div class="tab-pane" id="root-folders">Manage root folders</div>
</div>

View File

@ -1,5 +1,5 @@
NzbDrone.AddSeriesView = Backbone.Marionette.ItemView.extend({
template: "#add-series-tmpl",
template: "AddSeries/addSeriesTemplate",
initialise: function () {
},

View File

@ -0,0 +1,47 @@
using System.Linq;
using Cassette;
using Cassette.Scripts;
using Cassette.Stylesheets;
namespace NzbDrone.Web.Backbone.NzbDrone
{
public class CassetteBundleConfiguration : IConfiguration<BundleCollection>
{
public const string BASE_STYLE = "BASE_STYLE";
public const string BACKBONE = "BACKBONE";
public const string NZBDRONE = "NZBDRONE";
internal const string FONTS = "FONTS";
private const string APP_PATH = "_backboneApp";
public void Configure(BundleCollection bundles)
{
bundles.AddUrlWithAlias<StylesheetBundle>("//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,400,600,300'", FONTS);
//bundles.AddPerSubDirectory<StylesheetBundle>("Backbone.NzbDrone");
bundles.Add<StylesheetBundle>(BASE_STYLE, new[]{
APP_PATH + "\\Content\\Bootstrap\\bootstrap.less",
APP_PATH + "\\Content\\base.css",
APP_PATH + "\\Content\\menu.css",
APP_PATH + "\\AddSeries\\addSeries.css"
},
bundle => bundle.AddReference("/" + FONTS));
bundles.Add<ScriptBundle>(BACKBONE, new[]{
APP_PATH + "\\JsLibraries\\jquery-1.8.2.js",
APP_PATH + "\\JsLibraries\\bootstrap.js",
APP_PATH + "\\JsLibraries\\underscore.js",
APP_PATH + "\\JsLibraries\\backbone.js",
APP_PATH + "\\JsLibraries\\backbone.marionette.js",
APP_PATH + "\\JsLibraries\\backbone.marionette.extend.js",
});
bundles.Add<ScriptBundle>(NZBDRONE, new[]{
APP_PATH + "\\app.js",
APP_PATH + "\\AddSeries\\addSeriesView.js"},
bundle => bundle.AddReference("/" + BACKBONE));
}
}
}

View File

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 152 B

View File

Before

Width:  |  Height:  |  Size: 172 B

After

Width:  |  Height:  |  Size: 172 B

View File

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 198 B

View File

Before

Width:  |  Height:  |  Size: 250 B

After

Width:  |  Height:  |  Size: 250 B

View File

Before

Width:  |  Height:  |  Size: 136 B

After

Width:  |  Height:  |  Size: 136 B

View File

Before

Width:  |  Height:  |  Size: 603 B

After

Width:  |  Height:  |  Size: 603 B

View File

Before

Width:  |  Height:  |  Size: 260 B

After

Width:  |  Height:  |  Size: 260 B

View File

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 264 B

View File

Before

Width:  |  Height:  |  Size: 816 B

After

Width:  |  Height:  |  Size: 816 B

View File

Before

Width:  |  Height:  |  Size: 385 B

After

Width:  |  Height:  |  Size: 385 B

View File

Before

Width:  |  Height:  |  Size: 665 B

After

Width:  |  Height:  |  Size: 665 B

View File

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 491 B

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Some files were not shown because too many files have changed in this diff Show More