settings application
.env db params+global settings in admin model ECVI plugin module
This commit is contained in:
19
staticfiles/material/css/fixedHeader.dataTables.css
Normal file
19
staticfiles/material/css/fixedHeader.dataTables.css
Normal file
@@ -0,0 +1,19 @@
|
||||
table.fixedHeader-floating {
|
||||
position: fixed !important;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
table.fixedHeader-floating.no-footer {
|
||||
border-bottom-width: 0;
|
||||
}
|
||||
|
||||
table.fixedHeader-locked {
|
||||
position: absolute !important;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
@media print {
|
||||
table.fixedHeader-floating {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
568
staticfiles/material/css/jquery.datetimepicker.css
Normal file
568
staticfiles/material/css/jquery.datetimepicker.css
Normal file
@@ -0,0 +1,568 @@
|
||||
.xdsoft_datetimepicker {
|
||||
box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506);
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #bbb;
|
||||
border-left: 1px solid #ccc;
|
||||
border-right: 1px solid #ccc;
|
||||
border-top: 1px solid #ccc;
|
||||
color: #333;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
padding: 8px;
|
||||
padding-left: 0;
|
||||
padding-top: 2px;
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
display: none;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl {
|
||||
padding: 8px 0 8px 8px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker iframe {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 75px;
|
||||
height: 210px;
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
/*For IE8 or lower*/
|
||||
.xdsoft_datetimepicker button {
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.xdsoft_noselect {
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
-o-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.xdsoft_noselect::selection { background: transparent }
|
||||
.xdsoft_noselect::-moz-selection { background: transparent }
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_inline {
|
||||
display: inline-block;
|
||||
position: static;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker * {
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker, .xdsoft_datetimepicker .xdsoft_timepicker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker.active, .xdsoft_datetimepicker .xdsoft_timepicker.active {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker {
|
||||
width: 224px;
|
||||
float: left;
|
||||
margin-left: 8px;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_datepicker {
|
||||
float: right;
|
||||
margin-right: 8px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_datepicker {
|
||||
width: 256px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker {
|
||||
width: 58px;
|
||||
float: left;
|
||||
text-align: center;
|
||||
margin-left: 8px;
|
||||
margin-top: 0;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker {
|
||||
float: right;
|
||||
margin-right: 8px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_datepicker.active+.xdsoft_timepicker {
|
||||
margin-top: 8px;
|
||||
margin-bottom: 3px
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_monthpicker {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label i,
|
||||
.xdsoft_datetimepicker .xdsoft_prev,
|
||||
.xdsoft_datetimepicker .xdsoft_next,
|
||||
.xdsoft_datetimepicker .xdsoft_today_button {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Q0NBRjI1NjM0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Q0NBRjI1NjQ0M0UwMTFFNDk4NkFGMzJFQkQzQjEwRUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDQ0FGMjU2MTQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDQ0FGMjU2MjQzRTAxMUU0OTg2QUYzMkVCRDNCMTBFQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PoNEP54AAAIOSURBVHja7Jq9TsMwEMcxrZD4WpBYeKUCe+kTMCACHZh4BFfHO/AAIHZGFhYkBBsSEqxsLCAgXKhbXYOTxh9pfJVP+qutnZ5s/5Lz2Y5I03QhWji2GIcgAokWgfCxNvcOCCGKqiSqhUp0laHOne05vdEyGMfkdxJDVjgwDlEQgYQBgx+ULJaWSXXS6r/ER5FBVR8VfGftTKcITNs+a1XpcFoExREIDF14AVIFxgQUS+h520cdud6wNkC0UBw6BCO/HoCYwBhD8QCkQ/x1mwDyD4plh4D6DDV0TAGyo4HcawLIBBSLDkHeH0Mg2yVP3l4TQMZQDDsEOl/MgHQqhMNuE0D+oBh0CIr8MAKyazBH9WyBuKxDWgbXfjNf32TZ1KWm/Ap1oSk/R53UtQ5xTh3LUlMmT8gt6g51Q9p+SobxgJQ/qmsfZhWywGFSl0yBjCLJCMgXail3b7+rumdVJ2YRss4cN+r6qAHDkPWjPjdJCF4n9RmAD/V9A/Wp4NQassDjwlB6XBiCxcJQWmZZb8THFilfy/lfrTvLghq2TqTHrRMTKNJ0sIhdo15RT+RpyWwFdY96UZ/LdQKBGjcXpcc1AlSFEfLmouD+1knuxBDUVrvOBmoOC/rEcN7OQxKVeJTCiAdUzUJhA2Oez9QTkp72OTVcxDcXY8iKNkxGAJXmJCOQwOa6dhyXsOa6XwEGAKdeb5ET3rQdAAAAAElFTkSuQmCC);
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label i {
|
||||
opacity: 0.5;
|
||||
background-position: -92px -19px;
|
||||
display: inline-block;
|
||||
width: 9px;
|
||||
height: 20px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_prev {
|
||||
float: left;
|
||||
background-position: -20px 0;
|
||||
}
|
||||
.xdsoft_datetimepicker .xdsoft_today_button {
|
||||
float: left;
|
||||
background-position: -70px 0;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_next {
|
||||
float: right;
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_next,
|
||||
.xdsoft_datetimepicker .xdsoft_prev ,
|
||||
.xdsoft_datetimepicker .xdsoft_today_button {
|
||||
background-color: transparent;
|
||||
background-repeat: no-repeat;
|
||||
border: 0 none;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
height: 30px;
|
||||
opacity: 0.5;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
|
||||
outline: medium none;
|
||||
overflow: hidden;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
text-indent: 100%;
|
||||
white-space: nowrap;
|
||||
width: 20px;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_next {
|
||||
float: none;
|
||||
background-position: -40px -15px;
|
||||
height: 15px;
|
||||
width: 30px;
|
||||
display: block;
|
||||
margin-left: 14px;
|
||||
margin-top: 7px;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_prev,
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_timepicker .xdsoft_next {
|
||||
float: none;
|
||||
margin-left: 0;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_prev {
|
||||
background-position: -40px 0;
|
||||
margin-bottom: 7px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box {
|
||||
height: 151px;
|
||||
overflow: hidden;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div {
|
||||
background: #f5f5f5;
|
||||
border-top: 1px solid #ddd;
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
border-collapse: collapse;
|
||||
cursor: pointer;
|
||||
border-bottom-width: 0;
|
||||
height: 25px;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div > div:first-child {
|
||||
border-top-width: 0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_today_button:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_next:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_prev:hover {
|
||||
opacity: 1;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label {
|
||||
display: inline;
|
||||
position: relative;
|
||||
z-index: 9999;
|
||||
margin: 0;
|
||||
padding: 5px 3px;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
font-weight: bold;
|
||||
background-color: #fff;
|
||||
float: left;
|
||||
width: 182px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label:hover>span {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label:hover i {
|
||||
opacity: 1.0;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {
|
||||
border: 1px solid #ccc;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 30px;
|
||||
z-index: 101;
|
||||
display: none;
|
||||
background: #fff;
|
||||
max-height: 160px;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_monthselect{ right: -7px }
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select.xdsoft_yearselect{ right: 2px }
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
|
||||
color: #fff;
|
||||
background: #ff8000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {
|
||||
padding: 2px 10px 2px 5px;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
|
||||
background: #33aaff;
|
||||
box-shadow: #178fe5 0 1px 3px 0 inset;
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_month {
|
||||
width: 100px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_year{
|
||||
width: 48px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td > div {
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td,.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
width: 14.2857142%;
|
||||
background: #f5f5f5;
|
||||
border: 1px solid #ddd;
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
padding: 0;
|
||||
border-collapse: collapse;
|
||||
cursor: pointer;
|
||||
height: 25px;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar td,.xdsoft_datetimepicker.xdsoft_showweeks .xdsoft_calendar th {
|
||||
width: 12.5%;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
background: #f1f1f1;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
|
||||
color: #33aaff;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_default {
|
||||
background: #ffe9d2;
|
||||
box-shadow: #ffb871 0 1px 4px 0 inset;
|
||||
color: #000;
|
||||
}
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_highlighted_mint {
|
||||
background: #c1ffc9;
|
||||
box-shadow: #00dd1c 0 1px 4px 0 inset;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_default,
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
|
||||
background: #33aaff;
|
||||
box-shadow: #178fe5 0 1px 3px 0 inset;
|
||||
color: #fff;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled,
|
||||
.xdsoft_datetimepicker .xdsoft_time_box >div >div.xdsoft_disabled {
|
||||
opacity: 0.5;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month.xdsoft_disabled {
|
||||
opacity: 0.2;
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
|
||||
color: #fff !important;
|
||||
background: #ff8000 !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current.xdsoft_disabled:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box>div>div.xdsoft_current.xdsoft_disabled:hover {
|
||||
background: #33aaff !important;
|
||||
box-shadow: #178fe5 0 1px 3px 0 inset !important;
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled:hover,
|
||||
.xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_disabled:hover {
|
||||
color: inherit !important;
|
||||
background: inherit !important;
|
||||
box-shadow: inherit !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_calendar th {
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
color: #999;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_copyright {
|
||||
color: #ccc !important;
|
||||
font-size: 10px;
|
||||
clear: both;
|
||||
float: none;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker .xdsoft_copyright a { color: #eee !important }
|
||||
.xdsoft_datetimepicker .xdsoft_copyright a:hover { color: #aaa !important }
|
||||
|
||||
.xdsoft_time_box {
|
||||
position: relative;
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
.xdsoft_scrollbar >.xdsoft_scroller {
|
||||
background: #ccc !important;
|
||||
height: 20px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.xdsoft_scrollbar {
|
||||
position: absolute;
|
||||
width: 7px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_rtl .xdsoft_scrollbar {
|
||||
left: 0;
|
||||
right: auto;
|
||||
}
|
||||
.xdsoft_scroller_box {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark {
|
||||
box-shadow: 0 5px 15px -5px rgba(255, 255, 255, 0.506);
|
||||
background: #000;
|
||||
border-bottom: 1px solid #444;
|
||||
border-left: 1px solid #333;
|
||||
border-right: 1px solid #333;
|
||||
border-top: 1px solid #333;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box {
|
||||
border-bottom: 1px solid #222;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div {
|
||||
background: #0a0a0a;
|
||||
border-top: 1px solid #222;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label {
|
||||
background-color: #000;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select {
|
||||
border: 1px solid #333;
|
||||
background: #000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
|
||||
color: #000;
|
||||
background: #007fff;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label > .xdsoft_select > div > .xdsoft_option.xdsoft_current {
|
||||
background: #cc5500;
|
||||
box-shadow: #b03e00 0 1px 3px 0 inset;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_label i,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_prev,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_next,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_today_button {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAeCAYAAADaW7vzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUExQUUzOTA0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUExQUUzOTE0M0UyMTFFNDlBM0FFQTJENTExRDVBODYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQTFBRTM4RTQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQTFBRTM4RjQzRTIxMUU0OUEzQUVBMkQ1MTFENUE4NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pp0VxGEAAAIASURBVHja7JrNSgMxEMebtgh+3MSLr1T1Xn2CHoSKB08+QmR8Bx9A8e7RixdB9CKCoNdexIugxFlJa7rNZneTbLIpM/CnNLsdMvNjM8l0mRCiQ9Ye61IKCAgZAUnH+mU3MMZaHYChBnJUDzWOFZdVfc5+ZFLbrWDeXPwbxIqrLLfaeS0hEBVGIRQCEiZoHQwtlGSByCCdYBl8g8egTTAWoKQMRBRBcZxYlhzhKegqMOageErsCHVkk3hXIFooDgHB1KkHIHVgzKB4ADJQ/A1jAFmAYhkQqA5TOBtocrKrgXwQA8gcFIuAIO8sQSA7hidvPwaQGZSaAYHOUWJABhWWw2EMIH9QagQERU4SArJXo0ZZL18uvaxejXt/Em8xjVBXmvFr1KVm/AJ10tRe2XnraNqaJvKE3KHuUbfK1E+VHB0q40/y3sdQSxY4FHWeKJCunP8UyDdqJZenT3ntVV5jIYCAh20vT7ioP8tpf6E2lfEMwERe+whV1MHjwZB7PBiCxcGQWwKZKD62lfGNnP/1poFAA60T7rF1UgcKd2id3KDeUS+oLWV8DfWAepOfq00CgQabi9zjcgJVYVD7PVzQUAUGAQkbNJTBICDhgwYTjDYD6XeW08ZKh+A4pYkzenOxXUbvZcWz7E8ykRMnIHGX1XPl+1m2vPYpL+2qdb8CDAARlKFEz/ZVkAAAAABJRU5ErkJggg==);
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
|
||||
background: #0a0a0a;
|
||||
border: 1px solid #222;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
|
||||
background: #0e0e0e;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_today {
|
||||
color: #cc5500;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_default {
|
||||
background: #ffe9d2;
|
||||
box-shadow: #ffb871 0 1px 4px 0 inset;
|
||||
color:#000;
|
||||
}
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_highlighted_mint {
|
||||
background: #c1ffc9;
|
||||
box-shadow: #00dd1c 0 1px 4px 0 inset;
|
||||
color:#000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_default,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td.xdsoft_current,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div.xdsoft_current {
|
||||
background: #cc5500;
|
||||
box-shadow: #b03e00 0 1px 3px 0 inset;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar td:hover,
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_timepicker .xdsoft_time_box >div >div:hover {
|
||||
color: #000 !important;
|
||||
background: #007fff !important;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_calendar th {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright { color: #333 !important }
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a { color: #111 !important }
|
||||
.xdsoft_datetimepicker.xdsoft_dark .xdsoft_copyright a:hover { color: #555 !important }
|
||||
|
||||
.xdsoft_dark .xdsoft_time_box {
|
||||
border: 1px solid #333;
|
||||
}
|
||||
|
||||
.xdsoft_dark .xdsoft_scrollbar >.xdsoft_scroller {
|
||||
background: #333 !important;
|
||||
}
|
||||
.xdsoft_datetimepicker .xdsoft_save_selected {
|
||||
display: block;
|
||||
border: 1px solid #dddddd !important;
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
color: #454551;
|
||||
font-size: 13px;
|
||||
}
|
||||
.xdsoft_datetimepicker .blue-gradient-button {
|
||||
font-family: "museo-sans", "Book Antiqua", sans-serif;
|
||||
font-size: 12px;
|
||||
font-weight: 300;
|
||||
color: #82878c;
|
||||
height: 28px;
|
||||
position: relative;
|
||||
padding: 4px 17px 4px 33px;
|
||||
border: 1px solid #d7d8da;
|
||||
background: -moz-linear-gradient(top, #fff 0%, #f4f8fa 73%);
|
||||
/* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(73%, #f4f8fa));
|
||||
/* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #fff 0%, #f4f8fa 73%);
|
||||
/* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #fff 0%, #f4f8fa 73%);
|
||||
/* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, #fff 0%, #f4f8fa 73%);
|
||||
/* IE10+ */
|
||||
background: linear-gradient(to bottom, #fff 0%, #f4f8fa 73%);
|
||||
/* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#f4f8fa',GradientType=0 );
|
||||
/* IE6-9 */
|
||||
}
|
||||
.xdsoft_datetimepicker .blue-gradient-button:hover, .xdsoft_datetimepicker .blue-gradient-button:focus, .xdsoft_datetimepicker .blue-gradient-button:hover span, .xdsoft_datetimepicker .blue-gradient-button:focus span {
|
||||
color: #454551;
|
||||
background: -moz-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
|
||||
/* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #f4f8fa), color-stop(73%, #FFF));
|
||||
/* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
|
||||
/* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
|
||||
/* Opera 11.10+ */
|
||||
background: -ms-linear-gradient(top, #f4f8fa 0%, #FFF 73%);
|
||||
/* IE10+ */
|
||||
background: linear-gradient(to bottom, #f4f8fa 0%, #FFF 73%);
|
||||
/* W3C */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f8fa', endColorstr='#FFF',GradientType=0 );
|
||||
/* IE6-9 */
|
||||
}
|
||||
165
staticfiles/material/css/material.forms.css
Normal file
165
staticfiles/material/css/material.forms.css
Normal file
@@ -0,0 +1,165 @@
|
||||
/* form .row { */
|
||||
/* margin-bottom: 0px; */
|
||||
/* } */
|
||||
/* input[type=number] { */
|
||||
/* -moz-appearance: textfield; */
|
||||
/* } */
|
||||
/* ::-webkit-inner-spin-button { */
|
||||
/* -webkit-appearance: none; */
|
||||
/* } */
|
||||
/* ::-webkit-outer-spin-button { */
|
||||
/* -webkit-appearance: none; */
|
||||
/* } */
|
||||
/* .card.form-card .section.row .layout-row.row>.col { */
|
||||
/* padding: 0; */
|
||||
/* } */
|
||||
/* .card.form-card .section h5 { */
|
||||
/* font-size: 1.2rem; */
|
||||
/* padding-bottom: 0.2rem; */
|
||||
/* border-bottom: 3px solid black; */
|
||||
/* margin: 0 0.75rem; */
|
||||
/* } */
|
||||
/* .card.data-card .card-content { */
|
||||
/* padding-left: 0px; */
|
||||
/* padding-right: 0px; */
|
||||
/* } */
|
||||
/* .input-field label { */
|
||||
/* white-space: nowrap; */
|
||||
/* text-overflow: ellipsis; */
|
||||
/* width: calc(100% - 21px); */
|
||||
/* overflow: hidden; */
|
||||
/* } */
|
||||
/* .input-field .prefix { */
|
||||
/* line-height: 45px; */
|
||||
/* } */
|
||||
/* .input-field .prefix ~ label { */
|
||||
/* width: calc(100% - 21px - 3rem); */
|
||||
/* } */
|
||||
/* textarea.materialize-textarea { */
|
||||
/* padding-top: 0.6rem; */
|
||||
/* } */
|
||||
/* .checkbox-field { */
|
||||
/* line-height: 35px; */
|
||||
/* } */
|
||||
/* .checkbox-field .prefix { */
|
||||
/* position: relative; */
|
||||
/* top: 5px; */
|
||||
/* width: 2.5rem; */
|
||||
/* font-size: 2rem; */
|
||||
/* } */
|
||||
/* .checkbox-field label { */
|
||||
/* font-size: 14px; */
|
||||
/* color: rgba(0,0,0,.84); */
|
||||
/* } */
|
||||
/* .checkbox-field .help-block { */
|
||||
/* padding-top: 5px; */
|
||||
/* padding-left: 35px; */
|
||||
/* font-size: 12px; */
|
||||
/* line-height: 16px; */
|
||||
/* display: block; */
|
||||
/* } */
|
||||
/* .readonly-password-field { */
|
||||
/* margin-top: 10px; */
|
||||
/* margin-bottom: 10px; */
|
||||
/* color: rgba(0, 0, 0, 0.3); */
|
||||
/* } */
|
||||
/* .readonly-password-field div { */
|
||||
/* margin-top: 10px; */
|
||||
/* margin-bottom: 15px; */
|
||||
/* padding-bottom: 10px; */
|
||||
/* border-bottom: 1px solid rgba(0, 0, 0, 0.3); */
|
||||
/* } */
|
||||
/* select.material-ignore { */
|
||||
/* display: block; */
|
||||
/* background: #fff; */
|
||||
/* } */
|
||||
/* .select-wrapper { */
|
||||
/* margin-top: 0px; */
|
||||
/* } */
|
||||
/* .select-wrapper input.select-dropdown { */
|
||||
/* margin-top: -7px; */
|
||||
/* } */
|
||||
/* .file-field .btn, .file-field .btn-large { */
|
||||
/* left: auto; */
|
||||
/* } */
|
||||
/* .file-field-clear { */
|
||||
/* float:right; */
|
||||
/* } */
|
||||
/* .file-field-clear label { */
|
||||
/* margin-right:25px; */
|
||||
/* width: auto; */
|
||||
/* } */
|
||||
/* .help-block { */
|
||||
/* line-height: 12px; */
|
||||
/* position: relative; */
|
||||
/* top: -10px; */
|
||||
/* color: rgba(0, 0, 0, 0.6); */
|
||||
/* } */
|
||||
/* .error { */
|
||||
/* line-height: 12px; */
|
||||
/* position: relative; */
|
||||
/* top: -10px; */
|
||||
/* color: #F44336; */
|
||||
/* } */
|
||||
/* .input-field .prefix ~ .errors .error { */
|
||||
/* margin-left: 3rem; */
|
||||
/* } */
|
||||
/* .input-field.has-error .prefix { */
|
||||
/* color: #F44336; */
|
||||
/* } */
|
||||
/* .select-field.has-error input { */
|
||||
/* border-bottom: 1px solid #F44336; */
|
||||
/* -webkit-box-shadow: 0 1px 0 0 #F44336; */
|
||||
/* -moz-box-shadow: 0 1px 0 0 #F44336; */
|
||||
/* box-shadow: 0 1px 0 0 #F44336; */
|
||||
/* } */
|
||||
/* .select-field .prefix { */
|
||||
/* position: absolute; */
|
||||
/* width: 3rem; */
|
||||
/* font-size: 2rem; */
|
||||
/* margin-top: 25px; */
|
||||
/* transition: color .2s; */
|
||||
/* } */
|
||||
/* .select-field .prefix ~ label { */
|
||||
/* margin-left: 3rem; */
|
||||
/* } */
|
||||
/* .radio-field label.item-label { */
|
||||
/* font-size: 14px; */
|
||||
/* color: rgba(0,0,0,.84); */
|
||||
/* } */
|
||||
/* .radio-field .prefix ~ label { */
|
||||
/* width: calc(100% - 21px - 3rem); */
|
||||
/* } */
|
||||
/* .radio-field .prefix { */
|
||||
/* position: relative; */
|
||||
/* top: 5px; */
|
||||
/* width: 2.5rem; */
|
||||
/* font-size: 2rem; */
|
||||
/* } */
|
||||
/* .radio-field .error, */
|
||||
/* .radio-field .help-block { */
|
||||
/* top: 0px; */
|
||||
/* left: 5px; */
|
||||
/* } */
|
||||
/* .radio-field .inline { */
|
||||
/* margin-top: 10px; */
|
||||
/* } */
|
||||
/* .radio-field .inline .radio { */
|
||||
/* display: inline; */
|
||||
/* margin-right: 20px; */
|
||||
/* } */
|
||||
/* .radio-field .radio { */
|
||||
/* padding-top: 10px; */
|
||||
/* } */
|
||||
/* .checkbox-field .checkbox { */
|
||||
/* padding-top: 10px; */
|
||||
/* } */
|
||||
/* .formset-field td { */
|
||||
/* vertical-align: top; */
|
||||
/* } */
|
||||
/* @media only screen and (max-width : 600px) { */
|
||||
/* .container.expand-on-small-only { */
|
||||
/* width: 100% !important; */
|
||||
/* padding: 0 0.8rem !important; */
|
||||
/* } */
|
||||
/* } */
|
||||
8486
staticfiles/material/css/materialize.css
vendored
Normal file
8486
staticfiles/material/css/materialize.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
174
staticfiles/material/css/materialize.forms.css
Normal file
174
staticfiles/material/css/materialize.forms.css
Normal file
@@ -0,0 +1,174 @@
|
||||
/* FORM LAYOUT */
|
||||
form .row {
|
||||
margin-bottom: 0px;
|
||||
margin-left: -0.75rem;
|
||||
margin-right: -0.75rem;
|
||||
}
|
||||
|
||||
/* COMMON ELEMENTS */
|
||||
form .help-block {
|
||||
line-height: 12px;
|
||||
position: relative;
|
||||
top: -10px;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
form .error {
|
||||
line-height: 12px;
|
||||
position: relative;
|
||||
top: -10px;
|
||||
color: #F44336;
|
||||
}
|
||||
|
||||
/* INPUT FIELD */
|
||||
.input-field {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.input-field label {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
.input-field.has-error .prefix {
|
||||
color: #F44336;
|
||||
}
|
||||
.input-field .prefix {
|
||||
line-height: 45px;
|
||||
}
|
||||
.input-field .prefix ~ label {
|
||||
width: calc(100% - 21px - 3rem);
|
||||
}
|
||||
.input-field .prefix ~ .errors .error {
|
||||
margin-left: 3rem;
|
||||
}
|
||||
.input-field input[type=number] {
|
||||
-moz-appearance: textfield;
|
||||
}
|
||||
.input-field .input-field-action {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
color: #555;
|
||||
padding: 0 0.75rem;
|
||||
line-height: 3rem;
|
||||
background: white;
|
||||
}
|
||||
.input-field .input-field-action i.material-icons {
|
||||
vertical-align: middle;
|
||||
}
|
||||
.input-field ::-webkit-inner-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
.input-field ::-webkit-outer-spin-button {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
input:-webkit-autofill + label {
|
||||
-webkit-transform: translateY(-140%);
|
||||
transform: translateY(-140%);
|
||||
}
|
||||
|
||||
/* SELECT FIELD */
|
||||
select.material-ignore {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.select-field .prefix {
|
||||
position: absolute;
|
||||
width: 3rem;
|
||||
font-size: 2rem;
|
||||
margin-top: 25px;
|
||||
-webkit-transition: color 0.2s;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
.select-field .prefix ~ label {
|
||||
margin-left: 3rem;
|
||||
}
|
||||
.select-field.has-error input {
|
||||
border-bottom: 1px solid #F44336;
|
||||
-webkit-box-shadow: 0 1px 0 0 #F44336;
|
||||
box-shadow: 0 1px 0 0 #F44336;
|
||||
}
|
||||
.select-field .select-wrapper {
|
||||
margin-top: 0px;
|
||||
}
|
||||
.select-field .select-wrapper input.select-dropdown {
|
||||
margin-top: -7px;
|
||||
}
|
||||
.select-field .select-wrapper .caret {
|
||||
z-index: 0;
|
||||
cursor: pointer;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* CHECHBOX FIELD */
|
||||
.checkbox-field {
|
||||
line-height: 35px;
|
||||
}
|
||||
.checkbox-field label {
|
||||
color: rgba(0, 0, 0, 0.84);
|
||||
}
|
||||
.checkbox-field .prefix {
|
||||
position: relative;
|
||||
top: 5px;
|
||||
width: 2.5rem;
|
||||
font-size: 2rem;
|
||||
}
|
||||
.checkbox-field .help-block {
|
||||
padding-top: 5px;
|
||||
padding-left: 35px;
|
||||
font-size: 12px;
|
||||
line-height: 16px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* RADIO FIELD */
|
||||
.radio-field .radio {
|
||||
padding-top: 10px;
|
||||
}
|
||||
.radio-field .error, .radio-field .help-block {
|
||||
top: 0px;
|
||||
left: 5px;
|
||||
}
|
||||
.radio-field label.item-label {
|
||||
font-size: 14px;
|
||||
color: rgba(0, 0, 0, 0.84);
|
||||
}
|
||||
.radio-field .prefix {
|
||||
position: relative;
|
||||
top: 5px;
|
||||
width: 2.5rem;
|
||||
font-size: 2rem;
|
||||
}
|
||||
.radio-field .prefix ~ label {
|
||||
width: calc(100% - 21px - 3rem);
|
||||
}
|
||||
.radio-field .inline {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.radio-field .inline .radio {
|
||||
display: inline;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
/* FILE FIELD */
|
||||
.file-field .btn,
|
||||
.file-field .btn-large {
|
||||
left: auto;
|
||||
}
|
||||
|
||||
.file-field-clear {
|
||||
float: right;
|
||||
margin-top: 15px;
|
||||
margin-left: 6px;
|
||||
}
|
||||
.file-field-clear label {
|
||||
margin-right: 5px;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* FORMSET*/
|
||||
.formset-field td {
|
||||
vertical-align: top;
|
||||
}
|
||||
415
staticfiles/material/css/materialize.frontend.css
Normal file
415
staticfiles/material/css/materialize.frontend.css
Normal file
@@ -0,0 +1,415 @@
|
||||
@charset "UTF-8";
|
||||
/* materialize.css variables */
|
||||
/* django-material variables */
|
||||
/* fixes */
|
||||
dmc-snackbar > * {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* MAIN */
|
||||
html, body, main {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
background: #efefef;
|
||||
}
|
||||
|
||||
th {
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
/* REGISTRATION */
|
||||
.registration {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: horizontal;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: row;
|
||||
flex-direction: row;
|
||||
background-size: cover !important;
|
||||
}
|
||||
.registration .sidebar {
|
||||
-webkit-box-align: center;
|
||||
-ms-flex-align: center;
|
||||
align-items: center;
|
||||
-ms-flex-item-align: start;
|
||||
align-self: flex-start;
|
||||
background: white;
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
-ms-flex-direction: column;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
-webkit-box-pack: center;
|
||||
-ms-flex-pack: center;
|
||||
justify-content: center;
|
||||
min-width: 400px;
|
||||
max-width: 400px;
|
||||
opacity: 0.85;
|
||||
text-align: center;
|
||||
}
|
||||
.registration .sidebar h4 {
|
||||
font-weight: 300;
|
||||
}
|
||||
.registration .sidebar form {
|
||||
width: 90%;
|
||||
}
|
||||
.registration .logo {
|
||||
-ms-flex-item-align: center;
|
||||
align-self: center;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
color: white;
|
||||
}
|
||||
.registration .logo .logo__icon {
|
||||
font-size: 20rem;
|
||||
}
|
||||
.registration .action button {
|
||||
width: calc(100% - 3rem);
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.registration .logo {
|
||||
display: none;
|
||||
}
|
||||
.registration .sidebar {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
/* LAYOUT */
|
||||
@media only screen and (min-width: 993px) {
|
||||
body {
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
main, footer {
|
||||
margin-left: 300px;
|
||||
}
|
||||
|
||||
nav {
|
||||
padding-left: 40px;
|
||||
}
|
||||
}
|
||||
.content {
|
||||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
max-width: 100%;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
|
||||
.left-panel {
|
||||
-ms-flex-preferred-size: 80%;
|
||||
flex-basis: 80%;
|
||||
margin-left: 0.375rem;
|
||||
}
|
||||
.left-panel.wide {
|
||||
-ms-flex-preferred-size: 100%;
|
||||
flex-basis: 100%;
|
||||
margin-right: 0.375rem;
|
||||
}
|
||||
.left-panel > .card {
|
||||
margin-bottom: 0.375rem;
|
||||
}
|
||||
|
||||
.right-panel {
|
||||
-ms-flex-preferred-size: 20%;
|
||||
flex-basis: 20%;
|
||||
min-width: 250px;
|
||||
margin-left: 0.375rem;
|
||||
margin-right: 0.375rem;
|
||||
}
|
||||
.right-panel > .card {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 993px) {
|
||||
.left-panel {
|
||||
-ms-flex-preferred-size: 100%;
|
||||
flex-basis: 100%;
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.left-panel > .card {
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.right-panel {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
/* SIDEBAR */
|
||||
.sidenav-fixed {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.sidenav-fixed li {
|
||||
min-height: 48px;
|
||||
}
|
||||
.sidenav-fixed > li.last {
|
||||
padding-bottom: 58px;
|
||||
}
|
||||
.sidenav-fixed .collapsible-body {
|
||||
padding: 0;
|
||||
}
|
||||
.sidenav-fixed .collapsible-body li a {
|
||||
padding-left: 70px;
|
||||
}
|
||||
.sidenav-fixed .collapsible-body li .collapsible li.active {
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.sidenav-fixed .collapsible-body li .collapsible li.active a {
|
||||
color: rgba(0, 0, 0, 0.87);
|
||||
}
|
||||
.sidenav-fixed .collapsible-body li:not(.active) > a.collapsible-header {
|
||||
color: rgba(0, 0, 0, 0.87);
|
||||
}
|
||||
.sidenav-fixed .collapsible-body li .collapsible-body li.active {
|
||||
background-color: #424242;
|
||||
}
|
||||
.sidenav-fixed .collapsible-body li .collapsible-body li.active a {
|
||||
color: #fff;
|
||||
}
|
||||
.sidenav-fixed .collapsible-body li .collapsible-body li a {
|
||||
color: rgba(0, 0, 0, 0.87);
|
||||
padding-left: 90px;
|
||||
}
|
||||
.sidenav-fixed .collapsible-body .collapsible li.active > a.active {
|
||||
color: rgba(0, 0, 0, 0.87);
|
||||
}
|
||||
.sidenav-fixed .collapsible-body .submenu.active {
|
||||
background-color: rgba(0, 0, 0, 0.05) !important;
|
||||
}
|
||||
.sidenav-fixed .collapsible-body .submenu.active .collapsible li.active > a.active,
|
||||
.sidenav-fixed .collapsible-body .submenu.active .collapsible li.active > .collapsible-header,
|
||||
.sidenav-fixed .collapsible-body .submenu.active .collapsible > li > .collapsible-header {
|
||||
color: rgba(0, 0, 0, 0.87);
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 993px) {
|
||||
nav.topbar a.sidenav-trigger {
|
||||
display: block;
|
||||
margin-left: -24px;
|
||||
}
|
||||
}
|
||||
/* TOPBAR */
|
||||
nav.topbar {
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
}
|
||||
nav.topbar i,
|
||||
nav.topbar a.button-collapse,
|
||||
nav.topbar a.button-collapse i {
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
}
|
||||
nav.topbar .brand-logo {
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
font-weight: 100;
|
||||
font-size: 2.5rem;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
/* BREADCRUMBS */
|
||||
nav.breadcrumbs {
|
||||
height: 48px;
|
||||
line-height: 48px;
|
||||
-webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 0px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 0px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -2px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
nav.breadcrumbs a:first-child {
|
||||
padding-left: 0px;
|
||||
}
|
||||
nav.breadcrumbs a {
|
||||
font-size: 1rem;
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
nav.breadcrumbs a.active {
|
||||
color: white;
|
||||
}
|
||||
nav.breadcrumbs a:not(:first-child):before {
|
||||
content: "";
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
font-family: "Material Icons";
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 20px;
|
||||
margin: 0 5px 0 4px;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 992px) {
|
||||
nav.breadcrumbs {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 600px) {
|
||||
nav.breadcrumbs {
|
||||
white-space: nowrap;
|
||||
}
|
||||
nav.breadcrumbs .nav-wrapper {
|
||||
width: 100%;
|
||||
overflow-x: hidden;
|
||||
padding: 0 20px 0 10px;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
}
|
||||
/* DATATABLE */
|
||||
.list-card .card-content {
|
||||
padding-left: 0px;
|
||||
padding-right: 0px;
|
||||
}
|
||||
.list-card .card-action {
|
||||
margin-top: -75px;
|
||||
border-top: none;
|
||||
padding: 10px 10px 10px 20px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
table[data-form-control=datatable] {
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
table[data-form-control=datatable] ~ .dataTables_paginate {
|
||||
margin-top: -60px;
|
||||
padding-right: 20px;
|
||||
min-height: 60px;
|
||||
text-align: right;
|
||||
}
|
||||
table[data-form-control=datatable] ~ .dataTables_paginate .paginate_button {
|
||||
display: inline-block;
|
||||
font-size: 1.2rem;
|
||||
padding: 0 10px;
|
||||
margin: 15px 2px;
|
||||
line-height: 30px;
|
||||
border-radius: 2px;
|
||||
text-align: center;
|
||||
color: #444;
|
||||
cursor: pointer;
|
||||
}
|
||||
table[data-form-control=datatable] ~ .dataTables_paginate .paginate_button.current {
|
||||
background-color: #424242;
|
||||
color: white;
|
||||
}
|
||||
table[data-form-control=datatable] ~ .dataTables_paginate .paginate_button.disabled {
|
||||
cursor: default;
|
||||
color: #999;
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th:first-child {
|
||||
padding-left: 20px;
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th:last-child {
|
||||
padding-right: 20px;
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th {
|
||||
padding-right: 30px;
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th.sorting, table[data-form-control=datatable] thead tr > th.sorting_asc, table[data-form-control=datatable] thead tr > th.sorting_desc {
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th.sorting_asc, table[data-form-control=datatable] thead tr > th.sorting_desc {
|
||||
font-weight: 500;
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th.sorting:before, table[data-form-control=datatable] thead tr > th.sorting:after, table[data-form-control=datatable] thead tr > th.sorting_asc:before, table[data-form-control=datatable] thead tr > th.sorting_asc:after, table[data-form-control=datatable] thead tr > th.sorting_desc:before, table[data-form-control=datatable] thead tr > th.sorting_desc:after, table[data-form-control=datatable] thead tr > th.sorting_asc_disabled:before, table[data-form-control=datatable] thead tr > th.sorting_asc_disabled:after, table[data-form-control=datatable] thead tr > th.sorting_desc_disabled:before, table[data-form-control=datatable] thead tr > th.sorting_desc_disabled:after {
|
||||
position: absolute;
|
||||
bottom: 11px;
|
||||
display: block;
|
||||
opacity: 0.3;
|
||||
font-size: 1.3em;
|
||||
margin: auto;
|
||||
height: 30px;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th.sorting:before, table[data-form-control=datatable] thead tr > th.sorting_asc:before, table[data-form-control=datatable] thead tr > th.sorting_desc:before, table[data-form-control=datatable] thead tr > th.sorting_asc_disabled:before, table[data-form-control=datatable] thead tr > th.sorting_desc_disabled:before {
|
||||
right: 1em;
|
||||
content: "↑";
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th.sorting:after, table[data-form-control=datatable] thead tr > th.sorting_asc:after, table[data-form-control=datatable] thead tr > th.sorting_desc:after, table[data-form-control=datatable] thead tr > th.sorting_asc_disabled:after, table[data-form-control=datatable] thead tr > th.sorting_desc_disabled:after {
|
||||
right: 0.5em;
|
||||
content: "↓";
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th.sorting_asc:before, table[data-form-control=datatable] thead tr > th.sorting_desc:after {
|
||||
opacity: 1;
|
||||
}
|
||||
table[data-form-control=datatable] thead tr > th.sorting_asc_disabled:before, table[data-form-control=datatable] thead tr > th.sorting_desc_disabled:after {
|
||||
opacity: 0;
|
||||
}
|
||||
table[data-form-control=datatable] tbody tr:hover,
|
||||
table[data-form-control=datatable] tbody tr.selected:hover {
|
||||
background-color: #eeeeee;
|
||||
}
|
||||
table[data-form-control=datatable] tbody tr.selected {
|
||||
background: #f5f5f5;
|
||||
}
|
||||
table[data-form-control=datatable] tbody .dt-body-center {
|
||||
padding-top: 10px;
|
||||
padding-bottom: 0px;
|
||||
}
|
||||
table[data-form-control=datatable] tbody tr > td:first-child {
|
||||
padding-left: 20px;
|
||||
}
|
||||
table[data-form-control=datatable] tbody tr > td:last-child {
|
||||
padding-right: 20px;
|
||||
}
|
||||
table[data-form-control=datatable] tbody tr > td > i.material-icons {
|
||||
height: 16px;
|
||||
margin-top: -8px;
|
||||
font-size: 22px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* ALERTS */
|
||||
.toast {
|
||||
-webkit-box-pack: start;
|
||||
-ms-flex-pack: start;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.toast a {
|
||||
color: white;
|
||||
}
|
||||
.toast a.alert-info {
|
||||
background-color: #0277bd;
|
||||
}
|
||||
.toast a.alert-warning {
|
||||
background-color: #ff8f00;
|
||||
}
|
||||
.toast a.alert-error {
|
||||
background-color: #bf360c;
|
||||
}
|
||||
|
||||
/* FORM CARD */
|
||||
.card form .section {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.card form .section h5 {
|
||||
font-size: 1.2rem;
|
||||
padding-bottom: 0.5rem;
|
||||
border-bottom: 2px solid black;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* HELPERS */
|
||||
.primary {
|
||||
background-color: #424242;
|
||||
}
|
||||
|
||||
.secondary {
|
||||
background-color: #37474f;
|
||||
}
|
||||
11
staticfiles/material/css/materialize.frontend.min.css
vendored
Normal file
11
staticfiles/material/css/materialize.frontend.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
35
staticfiles/material/css/materialize.frontend.print.css
Normal file
35
staticfiles/material/css/materialize.frontend.print.css
Normal file
@@ -0,0 +1,35 @@
|
||||
@media print {
|
||||
*,
|
||||
*:before,
|
||||
*:after,
|
||||
*:first-letter,
|
||||
p:first-line,
|
||||
div:first-line,
|
||||
blockquote:first-line,
|
||||
li:first-line {
|
||||
background: transparent !important;
|
||||
color: #000 !important;
|
||||
-webkit-box-shadow: none !important;
|
||||
box-shadow: none !important;
|
||||
text-shadow: none !important;
|
||||
}
|
||||
|
||||
header, footer,
|
||||
nav .sidenav-trigger,
|
||||
#nav-mobile,
|
||||
.right-panel,
|
||||
.breadcrumbs,
|
||||
.fixed-action-btn,
|
||||
.card-action {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.topbar {
|
||||
padding-left: 25px;
|
||||
}
|
||||
|
||||
.left-panel {
|
||||
-ms-flex-preferred-size: 100%;
|
||||
flex-basis: 100%;
|
||||
}
|
||||
}
|
||||
1
staticfiles/material/css/materialize.frontend.print.min.css
vendored
Normal file
1
staticfiles/material/css/materialize.frontend.print.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
||||
@media print{*,:after,:before,:first-letter,blockquote:first-line,div:first-line,li:first-line,p:first-line{background:transparent!important;color:#000!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}#nav-mobile,.breadcrumbs,.card-action,.fixed-action-btn,.right-panel,footer,header,nav .sidenav-trigger{display:none}.topbar{padding-left:25px}.left-panel{-ms-flex-preferred-size:100%;flex-basis:100%}}
|
||||
116
staticfiles/material/css/perfect-scrollbar.css
Normal file
116
staticfiles/material/css/perfect-scrollbar.css
Normal file
@@ -0,0 +1,116 @@
|
||||
/*
|
||||
* Container style
|
||||
*/
|
||||
.ps {
|
||||
overflow: hidden !important;
|
||||
overflow-anchor: none;
|
||||
-ms-overflow-style: none;
|
||||
touch-action: auto;
|
||||
-ms-touch-action: auto;
|
||||
}
|
||||
|
||||
/*
|
||||
* Scrollbar rail styles
|
||||
*/
|
||||
.ps__rail-x {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
transition: background-color .2s linear, opacity .2s linear;
|
||||
-webkit-transition: background-color .2s linear, opacity .2s linear;
|
||||
height: 15px;
|
||||
/* there must be 'bottom' or 'top' for ps__rail-x */
|
||||
bottom: 0px;
|
||||
/* please don't change 'position' */
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ps__rail-y {
|
||||
display: none;
|
||||
opacity: 0;
|
||||
transition: background-color .2s linear, opacity .2s linear;
|
||||
-webkit-transition: background-color .2s linear, opacity .2s linear;
|
||||
width: 15px;
|
||||
/* there must be 'right' or 'left' for ps__rail-y */
|
||||
right: 0;
|
||||
/* please don't change 'position' */
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ps--active-x > .ps__rail-x,
|
||||
.ps--active-y > .ps__rail-y {
|
||||
display: block;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.ps:hover > .ps__rail-x,
|
||||
.ps:hover > .ps__rail-y,
|
||||
.ps--focus > .ps__rail-x,
|
||||
.ps--focus > .ps__rail-y,
|
||||
.ps--scrolling-x > .ps__rail-x,
|
||||
.ps--scrolling-y > .ps__rail-y {
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.ps .ps__rail-x:hover,
|
||||
.ps .ps__rail-y:hover,
|
||||
.ps .ps__rail-x:focus,
|
||||
.ps .ps__rail-y:focus,
|
||||
.ps .ps__rail-x.ps--clicking,
|
||||
.ps .ps__rail-y.ps--clicking {
|
||||
background-color: #eee;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
/*
|
||||
* Scrollbar thumb styles
|
||||
*/
|
||||
.ps__thumb-x {
|
||||
background-color: #aaa;
|
||||
border-radius: 6px;
|
||||
transition: background-color .2s linear, height .2s ease-in-out;
|
||||
-webkit-transition: background-color .2s linear, height .2s ease-in-out;
|
||||
height: 6px;
|
||||
/* there must be 'bottom' for ps__thumb-x */
|
||||
bottom: 2px;
|
||||
/* please don't change 'position' */
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ps__thumb-y {
|
||||
background-color: #aaa;
|
||||
border-radius: 6px;
|
||||
transition: background-color .2s linear, width .2s ease-in-out;
|
||||
-webkit-transition: background-color .2s linear, width .2s ease-in-out;
|
||||
width: 6px;
|
||||
/* there must be 'right' for ps__thumb-y */
|
||||
right: 2px;
|
||||
/* please don't change 'position' */
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.ps__rail-x:hover > .ps__thumb-x,
|
||||
.ps__rail-x:focus > .ps__thumb-x,
|
||||
.ps__rail-x.ps--clicking .ps__thumb-x {
|
||||
background-color: #999;
|
||||
height: 11px;
|
||||
}
|
||||
|
||||
.ps__rail-y:hover > .ps__thumb-y,
|
||||
.ps__rail-y:focus > .ps__thumb-y,
|
||||
.ps__rail-y.ps--clicking .ps__thumb-y {
|
||||
background-color: #999;
|
||||
width: 11px;
|
||||
}
|
||||
|
||||
/* MS supports */
|
||||
@supports (-ms-overflow-style: none) {
|
||||
.ps {
|
||||
overflow: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
|
||||
.ps {
|
||||
overflow: auto !important;
|
||||
}
|
||||
}
|
||||
182
staticfiles/material/css/responsive.dataTables.css
Normal file
182
staticfiles/material/css/responsive.dataTables.css
Normal file
@@ -0,0 +1,182 @@
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty {
|
||||
cursor: default !important;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.child:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dataTables_empty:before {
|
||||
display: none !important;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control {
|
||||
position: relative;
|
||||
padding-left: 30px;
|
||||
cursor: pointer;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > td.dtr-control:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr > th.dtr-control:before {
|
||||
top: 50%;
|
||||
left: 5px;
|
||||
height: 1em;
|
||||
width: 1em;
|
||||
margin-top: -9px;
|
||||
display: block;
|
||||
position: absolute;
|
||||
color: white;
|
||||
border: 0.15em solid white;
|
||||
border-radius: 1em;
|
||||
box-shadow: 0 0 0.2em #444;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
text-indent: 0 !important;
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
line-height: 1em;
|
||||
content: "+";
|
||||
background-color: #31b131;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control:before,
|
||||
table.dataTable.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control:before {
|
||||
content: "-";
|
||||
background-color: #d33333;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control {
|
||||
padding-left: 27px;
|
||||
}
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > td.dtr-control:before,
|
||||
table.dataTable.dtr-inline.collapsed.compact > tbody > tr > th.dtr-control:before {
|
||||
left: 4px;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
border-radius: 14px;
|
||||
line-height: 14px;
|
||||
text-indent: 3px;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.dtr-control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.dtr-control,
|
||||
table.dataTable.dtr-column > tbody > tr > td.control,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr > td.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr > th.control:before {
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
height: 0.8em;
|
||||
width: 0.8em;
|
||||
margin-top: -0.5em;
|
||||
margin-left: -0.5em;
|
||||
display: block;
|
||||
position: absolute;
|
||||
color: white;
|
||||
border: 0.15em solid white;
|
||||
border-radius: 1em;
|
||||
box-shadow: 0 0 0.2em #444;
|
||||
box-sizing: content-box;
|
||||
text-align: center;
|
||||
text-indent: 0 !important;
|
||||
font-family: "Courier New", Courier, monospace;
|
||||
line-height: 1em;
|
||||
content: "+";
|
||||
background-color: #31b131;
|
||||
}
|
||||
table.dataTable.dtr-column > tbody > tr.parent td.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent th.dtr-control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent td.control:before,
|
||||
table.dataTable.dtr-column > tbody > tr.parent th.control:before {
|
||||
content: "-";
|
||||
background-color: #d33333;
|
||||
}
|
||||
table.dataTable > tbody > tr.child {
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
table.dataTable > tbody > tr.child:hover {
|
||||
background: transparent !important;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details {
|
||||
display: inline-block;
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li {
|
||||
border-bottom: 1px solid #efefef;
|
||||
padding: 0.5em 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
table.dataTable > tbody > tr.child ul.dtr-details > li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
table.dataTable > tbody > tr.child span.dtr-title {
|
||||
display: inline-block;
|
||||
min-width: 75px;
|
||||
font-weight: bold;
|
||||
}
|
||||
div.dtr-modal {
|
||||
position: fixed;
|
||||
box-sizing: border-box;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
z-index: 100;
|
||||
padding: 10em 1em;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
width: 50%;
|
||||
height: 50%;
|
||||
overflow: auto;
|
||||
margin: auto;
|
||||
z-index: 102;
|
||||
overflow: auto;
|
||||
background-color: #f5f5f7;
|
||||
border: 1px solid black;
|
||||
border-radius: 0.5em;
|
||||
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-content {
|
||||
position: relative;
|
||||
padding: 1em;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-close {
|
||||
position: absolute;
|
||||
top: 6px;
|
||||
right: 6px;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
border: 1px solid #eaeaea;
|
||||
background-color: #f9f9f9;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
z-index: 12;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-close:hover {
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
div.dtr-modal div.dtr-modal-background {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 101;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
div.dtr-modal div.dtr-modal-display {
|
||||
width: 95%;
|
||||
}
|
||||
}
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
4095
staticfiles/material/fonts/material-design-icons/material-icons.css
Normal file
4095
staticfiles/material/fonts/material-design-icons/material-icons.css
Normal file
File diff suppressed because it is too large
Load Diff
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Black.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Black.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Black.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Black.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Black.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Black.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Black.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Black.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BlackItalic.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BlackItalic.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BlackItalic.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BlackItalic.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BlackItalic.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BlackItalic.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BlackItalic.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BlackItalic.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Bold.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Bold.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Bold.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Bold.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Bold.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Bold.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Bold.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Bold.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BoldItalic.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BoldItalic.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BoldItalic.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BoldItalic.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BoldItalic.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BoldItalic.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BoldItalic.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-BoldItalic.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Italic.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Italic.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Italic.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Italic.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Italic.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Italic.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Italic.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Italic.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Light.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Light.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Light.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Light.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Light.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Light.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Light.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Light.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-LightItalic.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-LightItalic.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-LightItalic.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-LightItalic.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-LightItalic.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-LightItalic.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-LightItalic.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-LightItalic.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Medium.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Medium.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Medium.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Medium.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Medium.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Medium.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Medium.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Medium.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-MediumItalic.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-MediumItalic.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-MediumItalic.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-MediumItalic.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-MediumItalic.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-MediumItalic.woff
Normal file
Binary file not shown.
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Regular.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Regular.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Regular.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Regular.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Regular.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Regular.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Regular.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Regular.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Thin.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Thin.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Thin.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Thin.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Thin.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Thin.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Thin.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-Thin.woff2
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-ThinItalic.eot
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-ThinItalic.eot
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-ThinItalic.ttf
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-ThinItalic.ttf
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-ThinItalic.woff
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-ThinItalic.woff
Normal file
Binary file not shown.
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-ThinItalic.woff2
Normal file
BIN
staticfiles/material/fonts/roboto/fonts/Roboto-ThinItalic.woff2
Normal file
Binary file not shown.
11
staticfiles/material/fonts/roboto/roboto-black-italic.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-black-italic.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-BlackItalic.eot");
|
||||
src: local("Roboto Black Italic"), local("Roboto-BlackItalic"),
|
||||
url("fonts/Roboto-BlackItalic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-BlackItalic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-BlackItalic.woff") format("woff"),
|
||||
url("fonts/Roboto-BlackItalic.ttf") format("truetype");
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-black.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-black.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-Black.eot');
|
||||
src: local('Roboto Black'), local('Roboto-Black'),
|
||||
url('fonts/Roboto-Black.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-Black.woff2') format('woff2'),
|
||||
url('fonts/Roboto-Black.woff') format('woff'),
|
||||
url('fonts/Roboto-Black.ttf') format('truetype');
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-bold-italic.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-bold-italic.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-BoldItalic.eot');
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'),
|
||||
url('fonts/Roboto-BoldItalic.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-BoldItalic.woff2') format('woff2'),
|
||||
url('fonts/Roboto-BoldItalic.woff') format('woff'),
|
||||
url('fonts/Roboto-BoldItalic.ttf') format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-bold.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-bold.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-Bold.eot');
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'),
|
||||
url('fonts/Roboto-Bold.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-Bold.woff2') format('woff2'),
|
||||
url('fonts/Roboto-Bold.woff') format('woff'),
|
||||
url('fonts/Roboto-Bold.ttf') format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-italic.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-italic.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-Italic.eot');
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'),
|
||||
url('fonts/Roboto-Italic.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-Italic.woff2') format('woff2'),
|
||||
url('fonts/Roboto-Italic.woff') format('woff'),
|
||||
url('fonts/Roboto-Italic.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-light-italic.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-light-italic.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-LightItalic.eot');
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'),
|
||||
url('fonts/Roboto-LightItalic.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-LightItalic.woff2') format('woff2'),
|
||||
url('fonts/Roboto-LightItalic.woff') format('woff'),
|
||||
url('fonts/Roboto-LightItalic.ttf') format('truetype');
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-light.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-light.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-Light.eot');
|
||||
src: local('Roboto Light'), local('Roboto-Light'),
|
||||
url('fonts/Roboto-Light.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-Light.woff2') format('woff2'),
|
||||
url('fonts/Roboto-Light.woff') format('woff'),
|
||||
url('fonts/Roboto-Light.ttf') format('truetype');
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-medium-italic.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-medium-italic.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-MediumItalic.eot");
|
||||
src: local("Roboto Medium Italic"), local("Roboto-MediumItalic"),
|
||||
url("fonts/Roboto-MediumItalic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-MediumItalic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-MediumItalic.woff") format("woff"),
|
||||
url("fonts/Roboto-MediumItalic.ttf") format("truetype");
|
||||
font-weight: 500;
|
||||
font-style: italic;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-medium.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-medium.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-Medium.eot');
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'),
|
||||
url('fonts/Roboto-Medium.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-Medium.woff2') format('woff2'),
|
||||
url('fonts/Roboto-Medium.woff') format('woff'),
|
||||
url('fonts/Roboto-Medium.ttf') format('truetype');
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-thin-italic.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-thin-italic.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-ThinItalic.eot");
|
||||
src: local("Roboto Thin Italic"), local("Roboto-ThinItalic"),
|
||||
url("fonts/Roboto-ThinItalic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-ThinItalic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-ThinItalic.woff") format("woff"),
|
||||
url("fonts/Roboto-ThinItalic.ttf") format("truetype");
|
||||
font-weight: 100;
|
||||
font-style: italic;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto-thin.css
Normal file
11
staticfiles/material/fonts/roboto/roboto-thin.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-Thin.eot');
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'),
|
||||
url('fonts/Roboto-Thin.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-Thin.woff2') format('woff2'),
|
||||
url('fonts/Roboto-Thin.woff') format('woff'),
|
||||
url('fonts/Roboto-Thin.ttf') format('truetype');
|
||||
font-weight: 100;
|
||||
font-style: normal;
|
||||
}
|
||||
11
staticfiles/material/fonts/roboto/roboto.css
Normal file
11
staticfiles/material/fonts/roboto/roboto.css
Normal file
@@ -0,0 +1,11 @@
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('fonts/Roboto-Regular.eot');
|
||||
src: local('Roboto'), local('Roboto-Regular'),
|
||||
url('fonts/Roboto-Regular.eot?#iefix') format('embedded-opentype'),
|
||||
url('fonts/Roboto-Regular.woff2') format('woff2'),
|
||||
url('fonts/Roboto-Regular.woff') format('woff'),
|
||||
url('fonts/Roboto-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
143
staticfiles/material/fonts/roboto/style.css
Normal file
143
staticfiles/material/fonts/roboto/style.css
Normal file
@@ -0,0 +1,143 @@
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-Thin.eot");
|
||||
src: local("Roboto Thin"), local("Roboto-Thin"),
|
||||
url("fonts/Roboto-Thin.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-Thin.woff2") format("woff2"),
|
||||
url("fonts/Roboto-Thin.woff") format("woff"),
|
||||
url("fonts/Roboto-Thin.ttf") format("truetype");
|
||||
font-weight: 100;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-Regular.eot");
|
||||
src: local("Roboto"), local("Roboto-Regular"),
|
||||
url("fonts/Roboto-Regular.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-Regular.woff2") format("woff2"),
|
||||
url("fonts/Roboto-Regular.woff") format("woff"),
|
||||
url("fonts/Roboto-Regular.ttf") format("truetype");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-MediumItalic.eot");
|
||||
src: local("Roboto Medium Italic"), local("Roboto-MediumItalic"),
|
||||
url("fonts/Roboto-MediumItalic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-MediumItalic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-MediumItalic.woff") format("woff"),
|
||||
url("fonts/Roboto-MediumItalic.ttf") format("truetype");
|
||||
font-weight: 500;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-LightItalic.eot");
|
||||
src: local("Roboto Light Italic"), local("Roboto-LightItalic"),
|
||||
url("fonts/Roboto-LightItalic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-LightItalic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-LightItalic.woff") format("woff"),
|
||||
url("fonts/Roboto-LightItalic.ttf") format("truetype");
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-Bold.eot");
|
||||
src: local("Roboto Bold"), local("Roboto-Bold"),
|
||||
url("fonts/Roboto-Bold.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-Bold.woff2") format("woff2"),
|
||||
url("fonts/Roboto-Bold.woff") format("woff"),
|
||||
url("fonts/Roboto-Bold.ttf") format("truetype");
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-Medium.eot");
|
||||
src: local("Roboto Medium"), local("Roboto-Medium"),
|
||||
url("fonts/Roboto-Medium.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-Medium.woff2") format("woff2"),
|
||||
url("fonts/Roboto-Medium.woff") format("woff"),
|
||||
url("fonts/Roboto-Medium.ttf") format("truetype");
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-Italic.eot");
|
||||
src: local("Roboto Italic"), local("Roboto-Italic"),
|
||||
url("fonts/Roboto-Italic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-Italic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-Italic.woff") format("woff"),
|
||||
url("fonts/Roboto-Italic.ttf") format("truetype");
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-BoldItalic.eot");
|
||||
src: local("Roboto Bold Italic"), local("Roboto-BoldItalic"),
|
||||
url("fonts/Roboto-BoldItalic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-BoldItalic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-BoldItalic.woff") format("woff"),
|
||||
url("fonts/Roboto-BoldItalic.ttf") format("truetype");
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-BlackItalic.eot");
|
||||
src: local("Roboto Black Italic"), local("Roboto-BlackItalic"),
|
||||
url("fonts/Roboto-BlackItalic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-BlackItalic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-BlackItalic.woff") format("woff"),
|
||||
url("fonts/Roboto-BlackItalic.ttf") format("truetype");
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-Black.eot");
|
||||
src: local("Roboto Black"), local("Roboto-Black"),
|
||||
url("fonts/Roboto-Black.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-Black.woff2") format("woff2"),
|
||||
url("fonts/Roboto-Black.woff") format("woff"),
|
||||
url("fonts/Roboto-Black.ttf") format("truetype");
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-ThinItalic.eot");
|
||||
src: local("Roboto Thin Italic"), local("Roboto-ThinItalic"),
|
||||
url("fonts/Roboto-ThinItalic.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-ThinItalic.woff2") format("woff2"),
|
||||
url("fonts/Roboto-ThinItalic.woff") format("woff"),
|
||||
url("fonts/Roboto-ThinItalic.ttf") format("truetype");
|
||||
font-weight: 100;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Roboto";
|
||||
src: url("fonts/Roboto-Light.eot");
|
||||
src: local("Roboto Light"), local("Roboto-Light"),
|
||||
url("fonts/Roboto-Light.eot?#iefix") format("embedded-opentype"),
|
||||
url("fonts/Roboto-Light.woff2") format("woff2"),
|
||||
url("fonts/Roboto-Light.woff") format("woff"),
|
||||
url("fonts/Roboto-Light.ttf") format("truetype");
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
146
staticfiles/material/fonts/roboto/style.scss
Normal file
146
staticfiles/material/fonts/roboto/style.scss
Normal file
@@ -0,0 +1,146 @@
|
||||
// directory
|
||||
$roboto-npm-webfont-dir:"fonts" !default;
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-Thin.eot');
|
||||
src: local('Roboto Thin'), local('Roboto-Thin'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Thin.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Thin.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Thin.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Thin.ttf') format('truetype');
|
||||
font-weight: 100;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-Regular.eot');
|
||||
src: local('Roboto'), local('Roboto-Regular'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Regular.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Regular.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Regular.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-MediumItalic.eot');
|
||||
src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-MediumItalic.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-MediumItalic.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-MediumItalic.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-MediumItalic.ttf') format('truetype');
|
||||
font-weight: 500;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-LightItalic.eot');
|
||||
src: local('Roboto Light Italic'), local('Roboto-LightItalic'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-LightItalic.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-LightItalic.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-LightItalic.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-LightItalic.ttf') format('truetype');
|
||||
font-weight: 300;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-Bold.eot');
|
||||
src: local('Roboto Bold'), local('Roboto-Bold'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Bold.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Bold.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Bold.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Bold.ttf') format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-Medium.eot');
|
||||
src: local('Roboto Medium'), local('Roboto-Medium'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Medium.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Medium.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Medium.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Medium.ttf') format('truetype');
|
||||
font-weight: 500;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-Italic.eot');
|
||||
src: local('Roboto Italic'), local('Roboto-Italic'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Italic.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Italic.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Italic.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Italic.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-BoldItalic.eot');
|
||||
src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-BoldItalic.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-BoldItalic.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-BoldItalic.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-BoldItalic.ttf') format('truetype');
|
||||
font-weight: bold;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-BlackItalic.eot');
|
||||
src: local('Roboto Black Italic'), local('Roboto-BlackItalic'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-BlackItalic.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-BlackItalic.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-BlackItalic.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-BlackItalic.ttf') format('truetype');
|
||||
font-weight: 900;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-Black.eot');
|
||||
src: local('Roboto Black'), local('Roboto-Black'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Black.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Black.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Black.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Black.ttf') format('truetype');
|
||||
font-weight: 900;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-ThinItalic.eot');
|
||||
src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-ThinItalic.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-ThinItalic.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-ThinItalic.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-ThinItalic.ttf') format('truetype');
|
||||
font-weight: 100;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
src: url('#{$roboto-npm-webfont-dir}/Roboto-Light.eot');
|
||||
src: local('Roboto Light'), local('Roboto-Light'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Light.eot?#iefix') format('embedded-opentype'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Light.woff2') format('woff2'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Light.woff') format('woff'),
|
||||
url('#{$roboto-npm-webfont-dir}/Roboto-Light.ttf') format('truetype');
|
||||
font-weight: 300;
|
||||
font-style: normal;
|
||||
}
|
||||
1
staticfiles/material/imgs/background.svg
Normal file
1
staticfiles/material/imgs/background.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 72 KiB |
BIN
staticfiles/material/imgs/favicon.png
Normal file
BIN
staticfiles/material/imgs/favicon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 469 B |
BIN
staticfiles/material/imgs/logo.png
Normal file
BIN
staticfiles/material/imgs/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 726 B |
1
staticfiles/material/imgs/sidenav.svg
Normal file
1
staticfiles/material/imgs/sidenav.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 5.4 KiB |
BIN
staticfiles/material/imgs/user.png
Normal file
BIN
staticfiles/material/imgs/user.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.1 KiB |
41
staticfiles/material/js/custom-elements.min.js
vendored
Normal file
41
staticfiles/material/js/custom-elements.min.js
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
(function(){
|
||||
'use strict';var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function g(b){var a=aa.has(b);b=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(b);return!a&&b}function l(b){var a=b.isConnected;if(void 0!==a)return a;for(;b&&!(b.__CE_isImportDocument||b instanceof Document);)b=b.parentNode||(window.ShadowRoot&&b instanceof ShadowRoot?b.host:void 0);return!(!b||!(b.__CE_isImportDocument||b instanceof Document))}
|
||||
function p(b,a){for(;a&&a!==b&&!a.nextSibling;)a=a.parentNode;return a&&a!==b?a.nextSibling:null}
|
||||
function q(b,a,d){d=void 0===d?new Set:d;for(var c=b;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;a(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)q(c,a,d);c=p(b,e);continue}else if("template"===f){c=p(b,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)q(e,a,d)}c=c.firstChild?c.firstChild:p(b,c)}}function t(b,a,d){b[a]=d};function u(){this.a=new Map;this.f=new Map;this.c=[];this.b=!1}function ba(b,a,d){b.a.set(a,d);b.f.set(d.constructorFunction,d)}function v(b,a){b.b=!0;b.c.push(a)}function w(b,a){b.b&&q(a,function(a){return x(b,a)})}function x(b,a){if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var d=0;d<b.c.length;d++)b.c[d](a)}}function y(b,a){var d=[];q(a,function(a){return d.push(a)});for(a=0;a<d.length;a++){var c=d[a];1===c.__CE_state?b.connectedCallback(c):z(b,c)}}
|
||||
function A(b,a){var d=[];q(a,function(a){return d.push(a)});for(a=0;a<d.length;a++){var c=d[a];1===c.__CE_state&&b.disconnectedCallback(c)}}
|
||||
function B(b,a,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.h||function(a){return z(b,a)},f=[];q(a,function(a){if("link"===a.localName&&"import"===a.getAttribute("rel")){var d=a.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&"complete"===d.readyState?d.__CE_documentLoadHandled=!0:a.addEventListener("load",function(){var d=a.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);B(b,d,{u:f,h:e})}})}else f.push(a)},c);if(b.b)for(a=
|
||||
0;a<f.length;a++)x(b,f[a]);for(a=0;a<f.length;a++)e(f[a])}
|
||||
function z(b,a){if(void 0===a.__CE_state){var d=a.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=b.a.get(a.localName)){d.constructionStack.push(a);var c=d.constructorFunction;try{try{if(new c!==a)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{d.constructionStack.pop()}}catch(m){throw a.__CE_state=2,m;}a.__CE_state=1;a.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c<d.length;c++){var e=
|
||||
d[c],f=a.getAttribute(e);null!==f&&b.attributeChangedCallback(a,e,null,f,null)}l(a)&&b.connectedCallback(a)}}}u.prototype.connectedCallback=function(b){var a=b.__CE_definition;a.connectedCallback&&a.connectedCallback.call(b)};u.prototype.disconnectedCallback=function(b){var a=b.__CE_definition;a.disconnectedCallback&&a.disconnectedCallback.call(b)};
|
||||
u.prototype.attributeChangedCallback=function(b,a,d,c,e){var f=b.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(a)&&f.attributeChangedCallback.call(b,a,d,c,e)};function C(b){var a=document;this.c=b;this.a=a;this.b=void 0;B(this.c,this.a);"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function D(b){b.b&&b.b.disconnect()}C.prototype.f=function(b){var a=this.a.readyState;"interactive"!==a&&"complete"!==a||D(this);for(a=0;a<b.length;a++)for(var d=b[a].addedNodes,c=0;c<d.length;c++)B(this.c,d[c])};function ca(){var b=this;this.b=this.a=void 0;this.c=new Promise(function(a){b.b=a;b.a&&a(b.a)})}function E(b){if(b.a)throw Error("Already resolved.");b.a=void 0;b.b&&b.b(void 0)};function F(b){this.c=!1;this.a=b;this.j=new Map;this.f=function(a){return a()};this.b=!1;this.i=[];this.o=new C(b)}
|
||||
F.prototype.l=function(b,a){var d=this;if(!(a instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!g(b))throw new SyntaxError("The element name '"+b+"' is not valid.");if(this.a.a.get(b))throw Error("A custom element with name '"+b+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var c=function(a){var b=e[a];if(void 0!==b&&!(b instanceof Function))throw Error("The '"+a+"' callback must be a function.");
|
||||
return b},e=a.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=c("connectedCallback");var m=c("disconnectedCallback");var k=c("adoptedCallback");var h=c("attributeChangedCallback");var n=a.observedAttributes||[]}catch(r){return}finally{this.c=!1}a={localName:b,constructorFunction:a,connectedCallback:f,disconnectedCallback:m,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:n,constructionStack:[]};ba(this.a,
|
||||
b,a);this.i.push(a);this.b||(this.b=!0,this.f(function(){return da(d)}))};F.prototype.h=function(b){B(this.a,b)};
|
||||
function da(b){if(!1!==b.b){b.b=!1;for(var a=b.i,d=[],c=new Map,e=0;e<a.length;e++)c.set(a[e].localName,[]);B(b.a,document,{h:function(a){if(void 0===a.__CE_state){var e=a.localName,f=c.get(e);f?f.push(a):b.a.a.get(e)&&d.push(a)}}});for(e=0;e<d.length;e++)z(b.a,d[e]);for(;0<a.length;){var f=a.shift();e=f.localName;f=c.get(f.localName);for(var m=0;m<f.length;m++)z(b.a,f[m]);(e=b.j.get(e))&&E(e)}}}F.prototype.get=function(b){if(b=this.a.a.get(b))return b.constructorFunction};
|
||||
F.prototype.m=function(b){if(!g(b))return Promise.reject(new SyntaxError("'"+b+"' is not a valid custom element name."));var a=this.j.get(b);if(a)return a.c;a=new ca;this.j.set(b,a);this.a.a.get(b)&&!this.i.some(function(a){return a.localName===b})&&E(a);return a.c};F.prototype.s=function(b){D(this.o);var a=this.f;this.f=function(d){return b(function(){return a(d)})}};window.CustomElementRegistry=F;F.prototype.define=F.prototype.l;F.prototype.upgrade=F.prototype.h;F.prototype.get=F.prototype.get;
|
||||
F.prototype.whenDefined=F.prototype.m;F.prototype.polyfillWrapFlushCallback=F.prototype.s;var G=window.Document.prototype.createElement,H=window.Document.prototype.createElementNS,ea=window.Document.prototype.importNode,fa=window.Document.prototype.prepend,ha=window.Document.prototype.append,ia=window.DocumentFragment.prototype.prepend,ja=window.DocumentFragment.prototype.append,I=window.Node.prototype.cloneNode,J=window.Node.prototype.appendChild,K=window.Node.prototype.insertBefore,L=window.Node.prototype.removeChild,M=window.Node.prototype.replaceChild,N=Object.getOwnPropertyDescriptor(window.Node.prototype,
|
||||
"textContent"),O=window.Element.prototype.attachShadow,P=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),Q=window.Element.prototype.getAttribute,R=window.Element.prototype.setAttribute,S=window.Element.prototype.removeAttribute,T=window.Element.prototype.getAttributeNS,U=window.Element.prototype.setAttributeNS,ka=window.Element.prototype.removeAttributeNS,la=window.Element.prototype.insertAdjacentElement,ma=window.Element.prototype.insertAdjacentHTML,na=window.Element.prototype.prepend,
|
||||
oa=window.Element.prototype.append,V=window.Element.prototype.before,pa=window.Element.prototype.after,qa=window.Element.prototype.replaceWith,ra=window.Element.prototype.remove,sa=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),ta=window.HTMLElement.prototype.insertAdjacentElement,ua=window.HTMLElement.prototype.insertAdjacentHTML;var va=new function(){};function wa(){var b=X;window.HTMLElement=function(){function a(){var a=this.constructor,c=b.f.get(a);if(!c)throw Error("The custom element being constructed was not registered with `customElements`.");var e=c.constructionStack;if(0===e.length)return e=G.call(document,c.localName),Object.setPrototypeOf(e,a.prototype),e.__CE_state=1,e.__CE_definition=c,x(b,e),e;c=e.length-1;var f=e[c];if(f===va)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
|
||||
e[c]=va;Object.setPrototypeOf(f,a.prototype);x(b,f);return f}a.prototype=sa.prototype;Object.defineProperty(a.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:a});return a}()};function Y(b,a,d){function c(a){return function(d){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],n=0;n<e.length;n++){var r=e[n];r instanceof Element&&l(r)&&f.push(r);if(r instanceof DocumentFragment)for(r=r.firstChild;r;r=r.nextSibling)c.push(r);else c.push(r)}a.apply(this,e);for(e=0;e<f.length;e++)A(b,f[e]);if(l(this))for(e=0;e<c.length;e++)f=c[e],f instanceof Element&&y(b,f)}}void 0!==d.g&&(a.prepend=c(d.g));void 0!==d.append&&(a.append=c(d.append))};function xa(){var b=X;t(Document.prototype,"createElement",function(a){if(this.__CE_hasRegistry){var d=b.a.get(a);if(d)return new d.constructorFunction}a=G.call(this,a);x(b,a);return a});t(Document.prototype,"importNode",function(a,d){a=ea.call(this,a,!!d);this.__CE_hasRegistry?B(b,a):w(b,a);return a});t(Document.prototype,"createElementNS",function(a,d){if(this.__CE_hasRegistry&&(null===a||"http://www.w3.org/1999/xhtml"===a)){var c=b.a.get(d);if(c)return new c.constructorFunction}a=H.call(this,a,
|
||||
d);x(b,a);return a});Y(b,Document.prototype,{g:fa,append:ha})};function ya(){function b(b,c){Object.defineProperty(b,"textContent",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(b){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,b);else{var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0<k&&l(this)){d=Array(k);for(var h=0;h<k;h++)d[h]=e[h]}}c.set.call(this,b);if(d)for(b=0;b<d.length;b++)A(a,d[b])}}})}var a=X;t(Node.prototype,"insertBefore",function(b,c){if(b instanceof DocumentFragment){var e=Array.prototype.slice.apply(b.childNodes);
|
||||
b=K.call(this,b,c);if(l(this))for(c=0;c<e.length;c++)y(a,e[c]);return b}e=l(b);c=K.call(this,b,c);e&&A(a,b);l(this)&&y(a,b);return c});t(Node.prototype,"appendChild",function(b){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=J.call(this,b);if(l(this))for(var e=0;e<c.length;e++)y(a,c[e]);return b}c=l(b);e=J.call(this,b);c&&A(a,b);l(this)&&y(a,b);return e});t(Node.prototype,"cloneNode",function(b){b=I.call(this,!!b);this.ownerDocument.__CE_hasRegistry?B(a,b):w(a,
|
||||
b);return b});t(Node.prototype,"removeChild",function(b){var c=l(b),e=L.call(this,b);c&&A(a,b);return e});t(Node.prototype,"replaceChild",function(b,c){if(b instanceof DocumentFragment){var e=Array.prototype.slice.apply(b.childNodes);b=M.call(this,b,c);if(l(this))for(A(a,c),c=0;c<e.length;c++)y(a,e[c]);return b}e=l(b);var f=M.call(this,b,c),d=l(this);d&&A(a,c);e&&A(a,b);d&&y(a,b);return f});N&&N.get?b(Node.prototype,N):v(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){for(var b=[],
|
||||
a=0;a<this.childNodes.length;a++)b.push(this.childNodes[a].textContent);return b.join("")},set:function(b){for(;this.firstChild;)L.call(this,this.firstChild);J.call(this,document.createTextNode(b))}})})};function za(b){function a(a){return function(e){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h<c.length;h++){var n=c[h];n instanceof Element&&l(n)&&k.push(n);if(n instanceof DocumentFragment)for(n=n.firstChild;n;n=n.nextSibling)d.push(n);else d.push(n)}a.apply(this,c);for(c=0;c<k.length;c++)A(b,k[c]);if(l(this))for(c=0;c<d.length;c++)k=d[c],k instanceof Element&&y(b,k)}}var d=Element.prototype;void 0!==V&&(d.before=a(V));void 0!==V&&(d.after=a(pa));void 0!==qa&&
|
||||
t(d,"replaceWith",function(a){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var m=[],k=0;k<c.length;k++){var h=c[k];h instanceof Element&&l(h)&&m.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)d.push(h);else d.push(h)}k=l(this);qa.apply(this,c);for(c=0;c<m.length;c++)A(b,m[c]);if(k)for(A(b,this),c=0;c<d.length;c++)m=d[c],m instanceof Element&&y(b,m)});void 0!==ra&&t(d,"remove",function(){var a=l(this);ra.call(this);a&&A(b,this)})};function Aa(){function b(a,b){Object.defineProperty(a,"innerHTML",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var d=this,e=void 0;l(this)&&(e=[],q(this,function(a){a!==d&&e.push(a)}));b.set.call(this,a);if(e)for(var f=0;f<e.length;f++){var m=e[f];1===m.__CE_state&&c.disconnectedCallback(m)}this.ownerDocument.__CE_hasRegistry?B(c,this):w(c,this);return a}})}function a(a,b){t(a,"insertAdjacentElement",function(a,d){var e=l(d);a=b.call(this,a,d);e&&A(c,d);l(a)&&y(c,d);return a})}
|
||||
function d(a,b){function d(a,b){for(var d=[];a!==b;a=a.nextSibling)d.push(a);for(b=0;b<d.length;b++)B(c,d[b])}t(a,"insertAdjacentHTML",function(a,c){a=a.toLowerCase();if("beforebegin"===a){var e=this.previousSibling;b.call(this,a,c);d(e||this.parentNode.firstChild,this)}else if("afterbegin"===a)e=this.firstChild,b.call(this,a,c),d(this.firstChild,e);else if("beforeend"===a)e=this.lastChild,b.call(this,a,c),d(e||this.firstChild,null);else if("afterend"===a)e=this.nextSibling,b.call(this,a,c),d(this.nextSibling,
|
||||
e);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}var c=X;O&&t(Element.prototype,"attachShadow",function(a){return this.__CE_shadowRoot=a=O.call(this,a)});P&&P.get?b(Element.prototype,P):W&&W.get?b(HTMLElement.prototype,W):v(c,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){return I.call(this,!0).innerHTML},set:function(a){var b="template"===this.localName,c=b?this.content:this,d=H.call(document,
|
||||
this.namespaceURI,this.localName);for(d.innerHTML=a;0<c.childNodes.length;)L.call(c,c.childNodes[0]);for(a=b?d.content:d;0<a.childNodes.length;)J.call(c,a.childNodes[0])}})});t(Element.prototype,"setAttribute",function(a,b){if(1!==this.__CE_state)return R.call(this,a,b);var d=Q.call(this,a);R.call(this,a,b);b=Q.call(this,a);c.attributeChangedCallback(this,a,d,b,null)});t(Element.prototype,"setAttributeNS",function(a,b,d){if(1!==this.__CE_state)return U.call(this,a,b,d);var e=T.call(this,a,b);U.call(this,
|
||||
a,b,d);d=T.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a)});t(Element.prototype,"removeAttribute",function(a){if(1!==this.__CE_state)return S.call(this,a);var b=Q.call(this,a);S.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null)});t(Element.prototype,"removeAttributeNS",function(a,b){if(1!==this.__CE_state)return ka.call(this,a,b);var d=T.call(this,a,b);ka.call(this,a,b);var e=T.call(this,a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a)});ta?a(HTMLElement.prototype,
|
||||
ta):la?a(Element.prototype,la):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");ua?d(HTMLElement.prototype,ua):ma?d(Element.prototype,ma):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Y(c,Element.prototype,{g:na,append:oa});za(c)};/*
|
||||
|
||||
Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
|
||||
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
Code distributed by Google as part of the polymer project is also
|
||||
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var X=new u;wa();xa();Y(X,DocumentFragment.prototype,{g:ia,append:ja});ya();Aa();window.addEventListener("turbolinks:before-render",function(){A(X,document.body)});window.addEventListener("turbolinks:load",function(){y(X,document.body)});document.__CE_hasRegistry=!0;var customElements=new F(X);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};
|
||||
}).call(self);
|
||||
|
||||
//# sourceMappingURL=custom-elements.min.js.map
|
||||
1
staticfiles/material/js/custom-elements.min.js.map
Normal file
1
staticfiles/material/js/custom-elements.min.js.map
Normal file
File diff suppressed because one or more lines are too long
675
staticfiles/material/js/dataTables.fixedHeader.js
Normal file
675
staticfiles/material/js/dataTables.fixedHeader.js
Normal file
@@ -0,0 +1,675 @@
|
||||
/*! FixedHeader 3.1.3-dev
|
||||
* ©2009-2016 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
|
||||
/**
|
||||
* @summary FixedHeader
|
||||
* @description Fix a table's header or footer, so it is always visible while
|
||||
* scrolling
|
||||
* @version 3.1.3-dev
|
||||
* @file dataTables.fixedHeader.js
|
||||
* @author SpryMedia Ltd (www.sprymedia.co.uk)
|
||||
* @contact www.sprymedia.co.uk/contact
|
||||
* @copyright Copyright 2009-2016 SpryMedia Ltd.
|
||||
*
|
||||
* This source file is free software, available under the following license:
|
||||
* MIT license - http://datatables.net/license/mit
|
||||
*
|
||||
* This source file is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
||||
*
|
||||
* For details please refer to: http://www.datatables.net
|
||||
*/
|
||||
|
||||
(function( factory ){
|
||||
if ( typeof define === 'function' && define.amd ) {
|
||||
// AMD
|
||||
define( ['jquery', 'datatables.net'], function ( $ ) {
|
||||
return factory( $, window, document );
|
||||
} );
|
||||
}
|
||||
else if ( typeof exports === 'object' ) {
|
||||
// CommonJS
|
||||
module.exports = function (root, $) {
|
||||
if ( ! root ) {
|
||||
root = window;
|
||||
}
|
||||
|
||||
if ( ! $ || ! $.fn.dataTable ) {
|
||||
$ = require('datatables.net')(root, $).$;
|
||||
}
|
||||
|
||||
return factory( $, root, root.document );
|
||||
};
|
||||
}
|
||||
else {
|
||||
// Browser
|
||||
factory( jQuery, window, document );
|
||||
}
|
||||
}(function( $, window, document, undefined ) {
|
||||
'use strict';
|
||||
var DataTable = $.fn.dataTable;
|
||||
|
||||
|
||||
var _instCounter = 0;
|
||||
|
||||
var FixedHeader = function ( dt, config ) {
|
||||
// Sanity check - you just know it will happen
|
||||
if ( ! (this instanceof FixedHeader) ) {
|
||||
throw "FixedHeader must be initialised with the 'new' keyword.";
|
||||
}
|
||||
|
||||
// Allow a boolean true for defaults
|
||||
if ( config === true ) {
|
||||
config = {};
|
||||
}
|
||||
|
||||
dt = new DataTable.Api( dt );
|
||||
|
||||
this.c = $.extend( true, {}, FixedHeader.defaults, config );
|
||||
|
||||
this.s = {
|
||||
dt: dt,
|
||||
position: {
|
||||
theadTop: 0,
|
||||
tbodyTop: 0,
|
||||
tfootTop: 0,
|
||||
tfootBottom: 0,
|
||||
width: 0,
|
||||
left: 0,
|
||||
tfootHeight: 0,
|
||||
theadHeight: 0,
|
||||
windowHeight: $(window).height(),
|
||||
visible: true
|
||||
},
|
||||
headerMode: null,
|
||||
footerMode: null,
|
||||
autoWidth: dt.settings()[0].oFeatures.bAutoWidth,
|
||||
namespace: '.dtfc'+(_instCounter++),
|
||||
scrollLeft: {
|
||||
header: -1,
|
||||
footer: -1
|
||||
},
|
||||
enable: true
|
||||
};
|
||||
|
||||
this.dom = {
|
||||
floatingHeader: null,
|
||||
thead: $(dt.table().header()),
|
||||
tbody: $(dt.table().body()),
|
||||
tfoot: $(dt.table().footer()),
|
||||
header: {
|
||||
host: null,
|
||||
floating: null,
|
||||
placeholder: null
|
||||
},
|
||||
footer: {
|
||||
host: null,
|
||||
floating: null,
|
||||
placeholder: null
|
||||
}
|
||||
};
|
||||
|
||||
this.dom.header.host = this.dom.thead.parent();
|
||||
this.dom.footer.host = this.dom.tfoot.parent();
|
||||
|
||||
var dtSettings = dt.settings()[0];
|
||||
if ( dtSettings._fixedHeader ) {
|
||||
throw "FixedHeader already initialised on table "+dtSettings.nTable.id;
|
||||
}
|
||||
|
||||
dtSettings._fixedHeader = this;
|
||||
|
||||
this._constructor();
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* Variable: FixedHeader
|
||||
* Purpose: Prototype for FixedHeader
|
||||
* Scope: global
|
||||
*/
|
||||
$.extend( FixedHeader.prototype, {
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* API methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* Enable / disable the fixed elements
|
||||
*
|
||||
* @param {boolean} enable `true` to enable, `false` to disable
|
||||
*/
|
||||
enable: function ( enable )
|
||||
{
|
||||
this.s.enable = enable;
|
||||
|
||||
if ( this.c.header ) {
|
||||
this._modeChange( 'in-place', 'header', true );
|
||||
}
|
||||
|
||||
if ( this.c.footer && this.dom.tfoot.length ) {
|
||||
this._modeChange( 'in-place', 'footer', true );
|
||||
}
|
||||
|
||||
this.update();
|
||||
},
|
||||
|
||||
/**
|
||||
* Set header offset
|
||||
*
|
||||
* @param {int} new value for headerOffset
|
||||
*/
|
||||
headerOffset: function ( offset )
|
||||
{
|
||||
if ( offset !== undefined ) {
|
||||
this.c.headerOffset = offset;
|
||||
this.update();
|
||||
}
|
||||
|
||||
return this.c.headerOffset;
|
||||
},
|
||||
|
||||
/**
|
||||
* Set footer offset
|
||||
*
|
||||
* @param {int} new value for footerOffset
|
||||
*/
|
||||
footerOffset: function ( offset )
|
||||
{
|
||||
if ( offset !== undefined ) {
|
||||
this.c.footerOffset = offset;
|
||||
this.update();
|
||||
}
|
||||
|
||||
return this.c.footerOffset;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Recalculate the position of the fixed elements and force them into place
|
||||
*/
|
||||
update: function ()
|
||||
{
|
||||
this._positions();
|
||||
this._scroll( true );
|
||||
},
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* Constructor
|
||||
*/
|
||||
|
||||
/**
|
||||
* FixedHeader constructor - adding the required event listeners and
|
||||
* simple initialisation
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
_constructor: function ()
|
||||
{
|
||||
var that = this;
|
||||
var dt = this.s.dt;
|
||||
|
||||
$(window)
|
||||
.on( 'scroll'+this.s.namespace, function () {
|
||||
that._scroll();
|
||||
} )
|
||||
.on( 'resize'+this.s.namespace, function () {
|
||||
that.s.position.windowHeight = $(window).height();
|
||||
that.update();
|
||||
} );
|
||||
|
||||
var autoHeader = $('.fh-fixedHeader');
|
||||
if ( ! this.c.headerOffset && autoHeader.length ) {
|
||||
this.c.headerOffset = autoHeader.outerHeight();
|
||||
}
|
||||
|
||||
var autoFooter = $('.fh-fixedFooter');
|
||||
if ( ! this.c.footerOffset && autoFooter.length ) {
|
||||
this.c.footerOffset = autoFooter.outerHeight();
|
||||
}
|
||||
|
||||
dt.on( 'column-reorder.dt.dtfc column-visibility.dt.dtfc draw.dt.dtfc column-sizing.dt.dtfc', function () {
|
||||
that.update();
|
||||
} );
|
||||
|
||||
dt.on( 'destroy.dtfc', function () {
|
||||
dt.off( '.dtfc' );
|
||||
$(window).off( that.s.namespace );
|
||||
} );
|
||||
|
||||
this._positions();
|
||||
this._scroll();
|
||||
},
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* Private methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* Clone a fixed item to act as a place holder for the original element
|
||||
* which is moved into a clone of the table element, and moved around the
|
||||
* document to give the fixed effect.
|
||||
*
|
||||
* @param {string} item 'header' or 'footer'
|
||||
* @param {boolean} force Force the clone to happen, or allow automatic
|
||||
* decision (reuse existing if available)
|
||||
* @private
|
||||
*/
|
||||
_clone: function ( item, force )
|
||||
{
|
||||
var dt = this.s.dt;
|
||||
var itemDom = this.dom[ item ];
|
||||
var itemElement = item === 'header' ?
|
||||
this.dom.thead :
|
||||
this.dom.tfoot;
|
||||
|
||||
if ( ! force && itemDom.floating ) {
|
||||
// existing floating element - reuse it
|
||||
itemDom.floating.removeClass( 'fixedHeader-floating fixedHeader-locked' );
|
||||
}
|
||||
else {
|
||||
if ( itemDom.floating ) {
|
||||
itemDom.placeholder.remove();
|
||||
this._unsize( item );
|
||||
itemDom.floating.children().detach();
|
||||
itemDom.floating.remove();
|
||||
}
|
||||
|
||||
itemDom.floating = $( dt.table().node().cloneNode( false ) )
|
||||
.css( 'table-layout', 'fixed' )
|
||||
.removeAttr( 'id' )
|
||||
.append( itemElement )
|
||||
.appendTo( 'body' );
|
||||
|
||||
// Insert a fake thead/tfoot into the DataTable to stop it jumping around
|
||||
var clonedElement = itemElement.clone( false )
|
||||
clonedElement.find("*[id]").attr('id',function(i,id){ return id+"_cloned"; });
|
||||
clonedElement.find("*[for]").attr('for',function(i,id){ return id+"_cloned"; });
|
||||
itemDom.placeholder = clonedElement;
|
||||
itemDom.host.prepend( itemDom.placeholder );
|
||||
|
||||
// Clone widths
|
||||
this._matchWidths( itemDom.placeholder, itemDom.floating );
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Copy widths from the cells in one element to another. This is required
|
||||
* for the footer as the footer in the main table takes its sizes from the
|
||||
* header columns. That isn't present in the footer so to have it still
|
||||
* align correctly, the sizes need to be copied over. It is also required
|
||||
* for the header when auto width is not enabled
|
||||
*
|
||||
* @param {jQuery} from Copy widths from
|
||||
* @param {jQuery} to Copy widths to
|
||||
* @private
|
||||
*/
|
||||
_matchWidths: function ( from, to ) {
|
||||
var get = function ( name ) {
|
||||
return $(name, from)
|
||||
.map( function () {
|
||||
return $(this).outerWidth();
|
||||
} ).toArray();
|
||||
};
|
||||
|
||||
var set = function ( name, toWidths ) {
|
||||
$(name, to).each( function ( i ) {
|
||||
$(this).css( {
|
||||
width: toWidths[i],
|
||||
minWidth: toWidths[i]
|
||||
} );
|
||||
} );
|
||||
};
|
||||
|
||||
var thWidths = get( 'th' );
|
||||
var tdWidths = get( 'td' );
|
||||
|
||||
set( 'th', thWidths );
|
||||
set( 'td', tdWidths );
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove assigned widths from the cells in an element. This is required
|
||||
* when inserting the footer back into the main table so the size is defined
|
||||
* by the header columns and also when auto width is disabled in the
|
||||
* DataTable.
|
||||
*
|
||||
* @param {string} item The `header` or `footer`
|
||||
* @private
|
||||
*/
|
||||
_unsize: function ( item ) {
|
||||
var el = this.dom[ item ].floating;
|
||||
|
||||
if ( el && (item === 'footer' || (item === 'header' && ! this.s.autoWidth)) ) {
|
||||
$('th, td', el).css( {
|
||||
width: '',
|
||||
minWidth: ''
|
||||
} );
|
||||
}
|
||||
else if ( el && item === 'header' ) {
|
||||
$('th, td', el).css( 'min-width', '' );
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Reposition the floating elements to take account of horizontal page
|
||||
* scroll
|
||||
*
|
||||
* @param {string} item The `header` or `footer`
|
||||
* @param {int} scrollLeft Document scrollLeft
|
||||
* @private
|
||||
*/
|
||||
_horizontal: function ( item, scrollLeft )
|
||||
{
|
||||
var itemDom = this.dom[ item ];
|
||||
var position = this.s.position;
|
||||
var lastScrollLeft = this.s.scrollLeft;
|
||||
|
||||
if ( itemDom.floating && lastScrollLeft[ item ] !== scrollLeft ) {
|
||||
itemDom.floating.css( 'left', position.left - scrollLeft );
|
||||
|
||||
lastScrollLeft[ item ] = scrollLeft;
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Change from one display mode to another. Each fixed item can be in one
|
||||
* of:
|
||||
*
|
||||
* * `in-place` - In the main DataTable
|
||||
* * `in` - Floating over the DataTable
|
||||
* * `below` - (Header only) Fixed to the bottom of the table body
|
||||
* * `above` - (Footer only) Fixed to the top of the table body
|
||||
*
|
||||
* @param {string} mode Mode that the item should be shown in
|
||||
* @param {string} item 'header' or 'footer'
|
||||
* @param {boolean} forceChange Force a redraw of the mode, even if already
|
||||
* in that mode.
|
||||
* @private
|
||||
*/
|
||||
_modeChange: function ( mode, item, forceChange )
|
||||
{
|
||||
var dt = this.s.dt;
|
||||
var itemDom = this.dom[ item ];
|
||||
var position = this.s.position;
|
||||
|
||||
// Record focus. Browser's will cause input elements to loose focus if
|
||||
// they are inserted else where in the doc
|
||||
var tablePart = this.dom[ item==='footer' ? 'tfoot' : 'thead' ];
|
||||
var focus = $.contains( tablePart[0], document.activeElement ) ?
|
||||
document.activeElement :
|
||||
null;
|
||||
|
||||
if ( mode === 'in-place' ) {
|
||||
// Insert the header back into the table's real header
|
||||
if ( itemDom.placeholder ) {
|
||||
itemDom.placeholder.remove();
|
||||
itemDom.placeholder = null;
|
||||
}
|
||||
|
||||
this._unsize( item );
|
||||
|
||||
if ( item === 'header' ) {
|
||||
itemDom.host.prepend( this.dom.thead );
|
||||
}
|
||||
else {
|
||||
itemDom.host.append( this.dom.tfoot );
|
||||
}
|
||||
|
||||
if ( itemDom.floating ) {
|
||||
itemDom.floating.remove();
|
||||
itemDom.floating = null;
|
||||
}
|
||||
}
|
||||
else if ( mode === 'in' ) {
|
||||
// Remove the header from the read header and insert into a fixed
|
||||
// positioned floating table clone
|
||||
this._clone( item, forceChange );
|
||||
|
||||
itemDom.floating
|
||||
.addClass( 'fixedHeader-floating' )
|
||||
.css( item === 'header' ? 'top' : 'bottom', this.c[item+'Offset'] )
|
||||
.css( 'left', position.left+'px' )
|
||||
.css( 'width', position.width+'px' );
|
||||
|
||||
if ( item === 'footer' ) {
|
||||
itemDom.floating.css( 'top', '' );
|
||||
}
|
||||
}
|
||||
else if ( mode === 'below' ) { // only used for the header
|
||||
// Fix the position of the floating header at base of the table body
|
||||
this._clone( item, forceChange );
|
||||
|
||||
itemDom.floating
|
||||
.addClass( 'fixedHeader-locked' )
|
||||
.css( 'top', position.tfootTop - position.theadHeight )
|
||||
.css( 'left', position.left+'px' )
|
||||
.css( 'width', position.width+'px' );
|
||||
}
|
||||
else if ( mode === 'above' ) { // only used for the footer
|
||||
// Fix the position of the floating footer at top of the table body
|
||||
this._clone( item, forceChange );
|
||||
|
||||
itemDom.floating
|
||||
.addClass( 'fixedHeader-locked' )
|
||||
.css( 'top', position.tbodyTop )
|
||||
.css( 'left', position.left+'px' )
|
||||
.css( 'width', position.width+'px' );
|
||||
}
|
||||
|
||||
// Restore focus if it was lost
|
||||
if ( focus && focus !== document.activeElement ) {
|
||||
focus.focus();
|
||||
}
|
||||
|
||||
this.s.scrollLeft.header = -1;
|
||||
this.s.scrollLeft.footer = -1;
|
||||
this.s[item+'Mode'] = mode;
|
||||
},
|
||||
|
||||
/**
|
||||
* Cache the positional information that is required for the mode
|
||||
* calculations that FixedHeader performs.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
_positions: function ()
|
||||
{
|
||||
var dt = this.s.dt;
|
||||
var table = dt.table();
|
||||
var position = this.s.position;
|
||||
var dom = this.dom;
|
||||
var tableNode = $(table.node());
|
||||
|
||||
// Need to use the header and footer that are in the main table,
|
||||
// regardless of if they are clones, since they hold the positions we
|
||||
// want to measure from
|
||||
var thead = tableNode.children('thead');
|
||||
var tfoot = tableNode.children('tfoot');
|
||||
var tbody = dom.tbody;
|
||||
|
||||
position.visible = tableNode.is(':visible');
|
||||
position.width = tableNode.outerWidth();
|
||||
position.left = tableNode.offset().left;
|
||||
position.theadTop = thead.offset().top;
|
||||
position.tbodyTop = tbody.offset().top;
|
||||
position.theadHeight = position.tbodyTop - position.theadTop;
|
||||
|
||||
if ( tfoot.length ) {
|
||||
position.tfootTop = tfoot.offset().top;
|
||||
position.tfootBottom = position.tfootTop + tfoot.outerHeight();
|
||||
position.tfootHeight = position.tfootBottom - position.tfootTop;
|
||||
}
|
||||
else {
|
||||
position.tfootTop = position.tbodyTop + tbody.outerHeight();
|
||||
position.tfootBottom = position.tfootTop;
|
||||
position.tfootHeight = position.tfootTop;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* Mode calculation - determine what mode the fixed items should be placed
|
||||
* into.
|
||||
*
|
||||
* @param {boolean} forceChange Force a redraw of the mode, even if already
|
||||
* in that mode.
|
||||
* @private
|
||||
*/
|
||||
_scroll: function ( forceChange )
|
||||
{
|
||||
var windowTop = $(document).scrollTop();
|
||||
var windowLeft = $(document).scrollLeft();
|
||||
var position = this.s.position;
|
||||
var headerMode, footerMode;
|
||||
|
||||
if ( ! this.s.enable ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( this.c.header ) {
|
||||
if ( ! position.visible || windowTop <= position.theadTop - this.c.headerOffset ) {
|
||||
headerMode = 'in-place';
|
||||
}
|
||||
else if ( windowTop <= position.tfootTop - position.theadHeight - this.c.headerOffset ) {
|
||||
headerMode = 'in';
|
||||
}
|
||||
else {
|
||||
headerMode = 'below';
|
||||
}
|
||||
|
||||
if ( forceChange || headerMode !== this.s.headerMode ) {
|
||||
this._modeChange( headerMode, 'header', forceChange );
|
||||
}
|
||||
|
||||
this._horizontal( 'header', windowLeft );
|
||||
}
|
||||
|
||||
if ( this.c.footer && this.dom.tfoot.length ) {
|
||||
if ( ! position.visible || windowTop + position.windowHeight >= position.tfootBottom + this.c.footerOffset ) {
|
||||
footerMode = 'in-place';
|
||||
}
|
||||
else if ( position.windowHeight + windowTop > position.tbodyTop + position.tfootHeight + this.c.footerOffset ) {
|
||||
footerMode = 'in';
|
||||
}
|
||||
else {
|
||||
footerMode = 'above';
|
||||
}
|
||||
|
||||
if ( forceChange || footerMode !== this.s.footerMode ) {
|
||||
this._modeChange( footerMode, 'footer', forceChange );
|
||||
}
|
||||
|
||||
this._horizontal( 'footer', windowLeft );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
|
||||
/**
|
||||
* Version
|
||||
* @type {String}
|
||||
* @static
|
||||
*/
|
||||
FixedHeader.version = "3.1.3-dev";
|
||||
|
||||
/**
|
||||
* Defaults
|
||||
* @type {Object}
|
||||
* @static
|
||||
*/
|
||||
FixedHeader.defaults = {
|
||||
header: true,
|
||||
footer: false,
|
||||
headerOffset: 0,
|
||||
footerOffset: 0
|
||||
};
|
||||
|
||||
|
||||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||
* DataTables interfaces
|
||||
*/
|
||||
|
||||
// Attach for constructor access
|
||||
$.fn.dataTable.FixedHeader = FixedHeader;
|
||||
$.fn.DataTable.FixedHeader = FixedHeader;
|
||||
|
||||
|
||||
// DataTables creation - check if the FixedHeader option has been defined on the
|
||||
// table and if so, initialise
|
||||
$(document).on( 'init.dt.dtfh', function (e, settings, json) {
|
||||
if ( e.namespace !== 'dt' ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var init = settings.oInit.fixedHeader;
|
||||
var defaults = DataTable.defaults.fixedHeader;
|
||||
|
||||
if ( (init || defaults) && ! settings._fixedHeader ) {
|
||||
var opts = $.extend( {}, defaults, init );
|
||||
|
||||
if ( init !== false ) {
|
||||
new FixedHeader( settings, opts );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
// DataTables API methods
|
||||
DataTable.Api.register( 'fixedHeader()', function () {} );
|
||||
|
||||
DataTable.Api.register( 'fixedHeader.adjust()', function () {
|
||||
return this.iterator( 'table', function ( ctx ) {
|
||||
var fh = ctx._fixedHeader;
|
||||
|
||||
if ( fh ) {
|
||||
fh.update();
|
||||
}
|
||||
} );
|
||||
} );
|
||||
|
||||
DataTable.Api.register( 'fixedHeader.enable()', function ( flag ) {
|
||||
return this.iterator( 'table', function ( ctx ) {
|
||||
var fh = ctx._fixedHeader;
|
||||
|
||||
if ( fh ) {
|
||||
fh.enable( flag !== undefined ? flag : true );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
|
||||
DataTable.Api.register( 'fixedHeader.disable()', function ( ) {
|
||||
return this.iterator( 'table', function ( ctx ) {
|
||||
var fh = ctx._fixedHeader;
|
||||
|
||||
if ( fh ) {
|
||||
fh.enable( false );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
|
||||
$.each( ['header', 'footer'], function ( i, el ) {
|
||||
DataTable.Api.register( 'fixedHeader.'+el+'Offset()', function ( offset ) {
|
||||
var ctx = this.context;
|
||||
|
||||
if ( offset === undefined ) {
|
||||
return ctx.length && ctx[0]._fixedHeader ?
|
||||
ctx[0]._fixedHeader[el +'Offset']() :
|
||||
undefined;
|
||||
}
|
||||
|
||||
return this.iterator( 'table', function ( ctx ) {
|
||||
var fh = ctx._fixedHeader;
|
||||
|
||||
if ( fh ) {
|
||||
fh[ el +'Offset' ]( offset );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
} );
|
||||
|
||||
|
||||
return FixedHeader;
|
||||
}));
|
||||
1474
staticfiles/material/js/dataTables.responsive.js
Normal file
1474
staticfiles/material/js/dataTables.responsive.js
Normal file
File diff suppressed because it is too large
Load Diff
41
staticfiles/material/js/jquery.activeNavigation.js
Normal file
41
staticfiles/material/js/jquery.activeNavigation.js
Normal file
@@ -0,0 +1,41 @@
|
||||
(function( $ ) {
|
||||
function getUrlParameter(sParam)
|
||||
{
|
||||
var sPageURL = window.location.search.substring(1);
|
||||
var sURLVariables = sPageURL.split('&');
|
||||
for (var i = 0; i < sURLVariables.length; i++)
|
||||
{
|
||||
var sParameterName = sURLVariables[i].split('=');
|
||||
if (sParameterName[0] == sParam)
|
||||
{
|
||||
return decodeURIComponent(sParameterName[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$.fn.activeNavigation = function(selector) {
|
||||
var pathname = getUrlParameter('back') || window.location.pathname;
|
||||
|
||||
var hrefs = [];
|
||||
$(selector).find("a:not(.no-navigation)").each(function() {
|
||||
if (pathname.indexOf($(this).attr("href")) > -1)
|
||||
hrefs.push($(this));
|
||||
})
|
||||
|
||||
if (hrefs.length) {
|
||||
hrefs.sort(function(a,b){
|
||||
return b.attr("href").length - a.attr("href").length;
|
||||
})
|
||||
var href = hrefs[0];
|
||||
for(var i=1; i< hrefs.length; i++) {
|
||||
if(hrefs[i].attr('href') === href.attr('href')) {
|
||||
href = hrefs[i];
|
||||
}
|
||||
}
|
||||
$(selector).find("li").removeClass("active");
|
||||
href.parents('li').addClass('active');
|
||||
href.parent('li').closest('.collapsible-body').css('display', "block");
|
||||
href.parent('li').closest('.collapsible-body').parent('li').addClass('active');
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
||||
15296
staticfiles/material/js/jquery.dataTables.js
vendored
Normal file
15296
staticfiles/material/js/jquery.dataTables.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2911
staticfiles/material/js/jquery.datetimepicker.full.js
Normal file
2911
staticfiles/material/js/jquery.datetimepicker.full.js
Normal file
File diff suppressed because one or more lines are too long
227
staticfiles/material/js/jquery.formset.js
Normal file
227
staticfiles/material/js/jquery.formset.js
Normal file
@@ -0,0 +1,227 @@
|
||||
/**
|
||||
* Django formset helper
|
||||
* Copyright (c) 2013, Ionata Web Solutions
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this
|
||||
* list of conditions and the following disclaimer in the documentation and/or
|
||||
* other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
(function($) {
|
||||
"use strict";
|
||||
|
||||
var pluginName = 'formset';
|
||||
|
||||
/**
|
||||
* Wraps up a formset, allowing adding, and removing forms
|
||||
*/
|
||||
var Formset = function(el, options) {
|
||||
var _this = this;
|
||||
|
||||
//Defaults:
|
||||
this.opts = $.extend({}, Formset.defaults, options);
|
||||
|
||||
this.$formset = $(el);
|
||||
this.$emptyForm = this.$formset.find(this.opts.emptyForm);
|
||||
this.$body = this.$formset.find(this.opts.body);
|
||||
this.$add = this.$formset.find(this.opts.add);
|
||||
|
||||
this.formsetPrefix = $(el).data('formset-prefix');
|
||||
|
||||
// Bind to the `Add form` button
|
||||
this.addForm = $.proxy(this, 'addForm');
|
||||
this.$add.click(this.addForm);
|
||||
|
||||
// Bind receiver to `formAdded` and `formDeleted` events
|
||||
this.$formset.on('formAdded formDeleted', this.opts.form, $.proxy(this, 'checkMaxForms'));
|
||||
|
||||
// Set up the existing forms
|
||||
this.$forms().each(function(i, form) {
|
||||
var $form = $(form);
|
||||
_this.bindForm($(this), i);
|
||||
});
|
||||
|
||||
// Store a reference to this in the formset element
|
||||
this.$formset.data(pluginName, this);
|
||||
|
||||
var extras = ['animateForms'];
|
||||
$.each(extras, function(i, extra) {
|
||||
if ((extra in _this.opts) && (_this.opts[extra])) {
|
||||
_this[extra]();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Formset.defaults = {
|
||||
form: '[data-formset-form]',
|
||||
emptyForm: 'script[type=form-template][data-formset-empty-form]',
|
||||
body: '[data-formset-body]',
|
||||
add: '[data-formset-add]',
|
||||
deleteButton: '[data-formset-delete-button]',
|
||||
hasMaxFormsClass: 'has-max-forms',
|
||||
animateForms: false,
|
||||
newFormCallback: false
|
||||
};
|
||||
|
||||
Formset.prototype.addForm = function() {
|
||||
// Don't proceed if the number of maximum forms has been reached
|
||||
if (this.hasMaxForms()) {
|
||||
throw new Error("MAX_NUM_FORMS reached");
|
||||
}
|
||||
|
||||
var newIndex = this.totalFormCount();
|
||||
this.$managementForm('TOTAL_FORMS').val(newIndex + 1);
|
||||
|
||||
var newFormHtml = this.$emptyForm.html()
|
||||
.replace(new RegExp('__prefix__', 'g'), newIndex)
|
||||
.replace(new RegExp('<\\\\/script>', 'g'), '</script>');
|
||||
|
||||
var $newFormFragment = $($.parseHTML(newFormHtml, this.$body.document, true));
|
||||
this.$body.append($newFormFragment);
|
||||
|
||||
var $newForm = $newFormFragment.filter(this.opts.form);
|
||||
this.bindForm($newForm, newIndex);
|
||||
if(this.opts.newFormCallback) {
|
||||
this.opts.newFormCallback($newForm);
|
||||
}
|
||||
return $newForm;
|
||||
};
|
||||
|
||||
/**
|
||||
* Attach any events needed to a new form
|
||||
*/
|
||||
Formset.prototype.bindForm = function($form, index) {
|
||||
var prefix = this.formsetPrefix + '-' + index;
|
||||
$form.data(pluginName + '__formPrefix', prefix);
|
||||
|
||||
var $delete = $form.find('[name=' + prefix + '-DELETE]');
|
||||
|
||||
// Trigger `formAdded` / `formDeleted` events when delete checkbox value changes
|
||||
$delete.change(function(event) {
|
||||
if ($delete.is(':checked')) {
|
||||
$form.attr('data-formset-form-deleted', '');
|
||||
// Remove required property and pattern attribute to allow submit, back it up to data field
|
||||
$form.find(':required').data(pluginName + '-required-field', true).prop('required', false);
|
||||
$form.find('input[pattern]').each(function() {
|
||||
var pattern = $(this).attr('pattern');
|
||||
$(this).data(pluginName + '-field-pattern', pattern).removeAttr('pattern');
|
||||
});
|
||||
$form.trigger('formDeleted');
|
||||
} else {
|
||||
$form.removeAttr('data-formset-form-deleted');
|
||||
// Restore required property and pattern attributes from data field
|
||||
$form.find('*').filter(function() {
|
||||
return $(this).data(pluginName + '-required-field') === true;
|
||||
}).prop('required', true);
|
||||
$form.find('input').each(function() {
|
||||
var pattern = $(this).data(pluginName + '-field-pattern');
|
||||
if (pattern) {
|
||||
$(this).attr('pattern', pattern);
|
||||
}
|
||||
});
|
||||
$form.trigger('formAdded');
|
||||
}
|
||||
}).trigger('change');
|
||||
|
||||
var $deleteButton = $form.find(this.opts.deleteButton);
|
||||
|
||||
$deleteButton.bind('click', function() {
|
||||
$delete.attr('checked', true).change();
|
||||
});
|
||||
};
|
||||
|
||||
Formset.prototype.$forms = function() {
|
||||
return this.$body.find(this.opts.form);
|
||||
};
|
||||
Formset.prototype.$managementForm = function(name) {
|
||||
return this.$formset.find('[name=' + this.formsetPrefix + '-' + name + ']');
|
||||
};
|
||||
|
||||
Formset.prototype.totalFormCount = function() {
|
||||
return this.$forms().length;
|
||||
};
|
||||
|
||||
Formset.prototype.deletedFormCount = function() {
|
||||
return this.$forms().filter('[data-formset-form-deleted]').length;
|
||||
};
|
||||
|
||||
Formset.prototype.activeFormCount = function() {
|
||||
return this.totalFormCount() - this.deletedFormCount();
|
||||
};
|
||||
|
||||
Formset.prototype.hasMaxForms = function() {
|
||||
var maxForms = parseInt(this.$managementForm('MAX_NUM_FORMS').val(), 10) || 1000;
|
||||
return this.activeFormCount() >= maxForms;
|
||||
};
|
||||
|
||||
Formset.prototype.checkMaxForms = function() {
|
||||
if (this.hasMaxForms()) {
|
||||
this.$formset.addClass(this.opts.hasMaxFormsClass);
|
||||
this.$add.attr('disabled', 'disabled');
|
||||
} else {
|
||||
this.$formset.removeClass(this.opts.hasMaxFormsClass);
|
||||
this.$add.removeAttr('disabled');
|
||||
}
|
||||
};
|
||||
|
||||
Formset.prototype.animateForms = function() {
|
||||
this.$formset.on('formAdded', this.opts.form, function() {
|
||||
var $form = $(this);
|
||||
$form.slideUp(0);
|
||||
$form.slideDown();
|
||||
}).on('formDeleted', this.opts.form, function() {
|
||||
var $form = $(this);
|
||||
$form.slideUp();
|
||||
});
|
||||
this.$forms().filter('[data-formset-form-deleted]').slideUp(0);
|
||||
};
|
||||
|
||||
Formset.getOrCreate = function(el, options) {
|
||||
var rev = $(el).data(pluginName);
|
||||
if (!rev) {
|
||||
rev = new Formset(el, options);
|
||||
}
|
||||
|
||||
return rev;
|
||||
};
|
||||
|
||||
$.fn[pluginName] = function() {
|
||||
var options, fn, args;
|
||||
// Create a new Formset for each element
|
||||
if (arguments.length === 0 || (arguments.length === 1 && $.type(arguments[0]) != 'string')) {
|
||||
options = arguments[0];
|
||||
return this.each(function() {
|
||||
return Formset.getOrCreate(this, options);
|
||||
});
|
||||
}
|
||||
|
||||
// Call a function on each Formset in the selector
|
||||
fn = arguments[0];
|
||||
args = $.makeArray(arguments).slice(1);
|
||||
|
||||
if (fn in Formset) {
|
||||
// Call the Formset class method if it exists
|
||||
args.unshift(this);
|
||||
return Formset[fn].apply(Formset, args);
|
||||
} else {
|
||||
throw new Error("Unknown function call " + fn + " for $.fn.formset");
|
||||
}
|
||||
};
|
||||
})(jQuery);
|
||||
10881
staticfiles/material/js/jquery.js
vendored
Normal file
10881
staticfiles/material/js/jquery.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1050
staticfiles/material/js/materialize.components.js
Normal file
1050
staticfiles/material/js/materialize.components.js
Normal file
File diff suppressed because it is too large
Load Diff
104
staticfiles/material/js/materialize.frontend.min.js
vendored
Normal file
104
staticfiles/material/js/materialize.frontend.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
12382
staticfiles/material/js/materialize.js
vendored
Normal file
12382
staticfiles/material/js/materialize.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
36
staticfiles/material/js/native-shim.js
Normal file
36
staticfiles/material/js/native-shim.js
Normal file
@@ -0,0 +1,36 @@
|
||||
'use strict';
|
||||
|
||||
/**
|
||||
* @license
|
||||
* Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
|
||||
* This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
|
||||
* The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
|
||||
* The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
|
||||
* Code distributed by Google as part of the polymer project is also
|
||||
* subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
|
||||
*/
|
||||
|
||||
/**
|
||||
* This shim allows elements written in, or compiled to, ES5 to work on native
|
||||
* implementations of Custom Elements v1. It sets new.target to the value of
|
||||
* this.constructor so that the native HTMLElement constructor can access the
|
||||
* current under-construction element's definition.
|
||||
*/
|
||||
(function () {
|
||||
if (
|
||||
// No Reflect, no classes, no need for shim because native custom elements
|
||||
// require ES2015 classes or Reflect.
|
||||
window.Reflect === undefined || window.customElements === undefined ||
|
||||
// The webcomponentsjs custom elements polyfill doesn't require
|
||||
// ES2015-compatible construction (`super()` or `Reflect.construct`).
|
||||
window.customElements.hasOwnProperty('polyfillWrapFlushCallback')) {
|
||||
return;
|
||||
}
|
||||
var BuiltInHTMLElement = HTMLElement;
|
||||
window.HTMLElement = function HTMLElement() {
|
||||
return Reflect.construct(BuiltInHTMLElement, [], this.constructor);
|
||||
};
|
||||
HTMLElement.prototype = BuiltInHTMLElement.prototype;
|
||||
HTMLElement.prototype.constructor = HTMLElement;
|
||||
Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement);
|
||||
})();
|
||||
20
staticfiles/material/js/perfect-scrollbar.min.js
vendored
Normal file
20
staticfiles/material/js/perfect-scrollbar.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
staticfiles/material/js/perfect-scrollbar.min.js.map
Normal file
1
staticfiles/material/js/perfect-scrollbar.min.js.map
Normal file
File diff suppressed because one or more lines are too long
6
staticfiles/material/js/turbolinks.js
Normal file
6
staticfiles/material/js/turbolinks.js
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user