More fixes
- Legacy-Id: 19759
1
ietf/secr/static/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/dist
|
786
ietf/secr/static/css/base.css
Normal file
|
@ -0,0 +1,786 @@
|
|||
/*
|
||||
DJANGO Admin styles
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 12px;
|
||||
font-family: "Lucida Grande","DejaVu Sans","Bitstream Vera Sans",Verdana,Arial,sans-serif;
|
||||
color: #333;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* LINKS */
|
||||
|
||||
a:link, a:visited {
|
||||
color: #5b80b2;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #036;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
|
||||
a.section:link, a.section:visited {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* GLOBAL DEFAULTS */
|
||||
|
||||
p, ol, ul, dl {
|
||||
margin: .2em 0 .8em 0;
|
||||
}
|
||||
|
||||
p {
|
||||
padding: 0;
|
||||
line-height: 140%;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5 {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 18px;
|
||||
color: #666;
|
||||
padding: 0 6px 0 0;
|
||||
margin: 0 0 .2em 0;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 16px;
|
||||
margin: 1em 0 .5em 0;
|
||||
}
|
||||
|
||||
h2.subhead {
|
||||
font-weight: normal;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 14px;
|
||||
margin: .8em 0 .3em 0;
|
||||
color: #666;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 12px;
|
||||
margin: 1em 0 .8em 0;
|
||||
padding-bottom: 3px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 10px;
|
||||
margin: 1.5em 0 .5em 0;
|
||||
color: #666;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
ul li {
|
||||
list-style-type: square;
|
||||
padding: 1px 0;
|
||||
}
|
||||
|
||||
ul.plainlist {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
|
||||
ul.plainlist li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
li ul {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
li, dt, dd {
|
||||
font-size: 11px;
|
||||
line-height: 14px;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
form {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
margin: 0;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
font-size: 11px;
|
||||
color: #777;
|
||||
margin-left: 2px;
|
||||
padding-left: 10px;
|
||||
border-left: 5px solid #ddd;
|
||||
}
|
||||
|
||||
code, pre {
|
||||
font-family: "Bitstream Vera Sans Mono", Monaco, "Courier New", Courier, monospace;
|
||||
background: inherit;
|
||||
color: #666;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
pre.literal-block {
|
||||
margin: 10px;
|
||||
background: #eee;
|
||||
padding: 6px 8px;
|
||||
}
|
||||
|
||||
code strong {
|
||||
color: #930;
|
||||
}
|
||||
|
||||
hr {
|
||||
clear: both;
|
||||
color: #eee;
|
||||
background-color: #eee;
|
||||
height: 1px;
|
||||
border: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-size: 1px;
|
||||
line-height: 1px;
|
||||
}
|
||||
|
||||
/* TEXT STYLES & MODIFIERS */
|
||||
|
||||
.small {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.tiny {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
p.tiny {
|
||||
margin-top: -2px;
|
||||
}
|
||||
|
||||
.mini {
|
||||
font-size: 9px;
|
||||
}
|
||||
|
||||
p.mini {
|
||||
margin-top: -3px;
|
||||
}
|
||||
|
||||
.help, p.help {
|
||||
font-size: 10px !important;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
p img, h1 img, h2 img, h3 img, h4 img, td img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.quiet, a.quiet:link, a.quiet:visited {
|
||||
color: #999 !important;
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
.quiet strong {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
.float-right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.float-left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.align-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.align-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.example {
|
||||
margin: 10px 0;
|
||||
padding: 5px 10px;
|
||||
background: #efefef;
|
||||
}
|
||||
|
||||
.nowrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* TABLES */
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-color: #ccc;
|
||||
}
|
||||
|
||||
td, th {
|
||||
font-size: 11px;
|
||||
line-height: 13px;
|
||||
border-bottom: 1px solid #eee;
|
||||
vertical-align: top;
|
||||
padding: 5px;
|
||||
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: left;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
thead th,
|
||||
tfoot td {
|
||||
color: #666;
|
||||
padding: 2px 5px;
|
||||
font-size: 11px;
|
||||
background: #e1e1e1 url(../images/nav-bg.webp) top left repeat-x;
|
||||
border-left: 1px solid #ddd;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
tfoot td {
|
||||
border-bottom: none;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
thead th:first-child,
|
||||
tfoot td:first-child {
|
||||
border-left: none !important;
|
||||
}
|
||||
|
||||
thead th.optional {
|
||||
font-weight: normal !important;
|
||||
}
|
||||
|
||||
fieldset table {
|
||||
border-right: 1px solid #eee;
|
||||
}
|
||||
|
||||
tr.row-label td {
|
||||
font-size: 9px;
|
||||
padding-top: 2px;
|
||||
padding-bottom: 0;
|
||||
border-bottom: none;
|
||||
color: #666;
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
tr.alt {
|
||||
background: #f6f6f6;
|
||||
}
|
||||
|
||||
.row1 {
|
||||
background: #EDF3FE;
|
||||
}
|
||||
|
||||
.row2 {
|
||||
background: white;
|
||||
}
|
||||
|
||||
/* SORTABLE TABLES */
|
||||
|
||||
thead th a:link, thead th a:visited {
|
||||
color: #666;
|
||||
display: block;
|
||||
}
|
||||
|
||||
table thead th.sorted {
|
||||
background-position: bottom left !important;
|
||||
}
|
||||
|
||||
table thead th.sorted a {
|
||||
padding-right: 13px;
|
||||
}
|
||||
|
||||
table thead th.ascending a {
|
||||
background: url(../images/arrow-down.webp) right .4em no-repeat;
|
||||
}
|
||||
|
||||
table thead th.descending a {
|
||||
background: url(../images/arrow-up.webp) right .4em no-repeat;
|
||||
}
|
||||
|
||||
/* ORDERABLE TABLES */
|
||||
|
||||
table.orderable tbody tr td:hover {
|
||||
cursor: move;
|
||||
}
|
||||
|
||||
table.orderable tbody tr td:first-child {
|
||||
padding-left: 14px;
|
||||
background-image: url(../images/nav-bg-grabber.webp);
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
|
||||
table.orderable-initalized .order-cell, body>tr>td.order-cell {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* FORM DEFAULTS */
|
||||
|
||||
input, textarea, select {
|
||||
margin: 2px 0;
|
||||
padding: 2px 3px;
|
||||
vertical-align: middle;
|
||||
font-family: "Lucida Grande", Verdana, Arial, sans-serif;
|
||||
font-weight: normal;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
textarea {
|
||||
vertical-align: top !important;
|
||||
}
|
||||
|
||||
input[type=text], input[type=password], textarea, select, .vTextField {
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
/* FORM BUTTONS */
|
||||
|
||||
.button, input[type=submit], input[type=button], .submit-row input {
|
||||
background: white url(../images/nav-bg.webp) bottom repeat-x;
|
||||
padding: 3px;
|
||||
color: black;
|
||||
border: 1px solid #bbb;
|
||||
border-color: #ddd #aaa #aaa #ddd;
|
||||
}
|
||||
|
||||
.button:active, input[type=submit]:active, input[type=button]:active {
|
||||
background-image: url(../images/nav-bg-reverse.webp);
|
||||
background-position: top;
|
||||
}
|
||||
|
||||
.button.default, input[type=submit].default, .submit-row input.default {
|
||||
border: 2px solid #5b80b2;
|
||||
background: #7CA0C7 url(../images/default-bg.webp) bottom repeat-x;
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.button.default:active, input[type=submit].default:active {
|
||||
background-image: url(../images/default-bg-reverse.webp);
|
||||
background-position: top;
|
||||
}
|
||||
|
||||
/* MODULES */
|
||||
|
||||
.module {
|
||||
border: 1px solid #ccc;
|
||||
margin-bottom: 5px;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.module p, .module ul, .module h3, .module h4, .module dl, .module pre {
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.module blockquote {
|
||||
margin-left: 12px;
|
||||
}
|
||||
|
||||
.module ul, .module ol {
|
||||
margin-left: 1.5em;
|
||||
}
|
||||
|
||||
.module h3 {
|
||||
margin-top: .6em;
|
||||
}
|
||||
|
||||
.module h2, .module caption, .inline-group h2 {
|
||||
margin: 0;
|
||||
padding: 2px 5px 3px 5px;
|
||||
font-size: 11px;
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
background: #7CA0C7 url(../images/default-bg.webp) top left repeat-x;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.module table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
/* MESSAGES & ERRORS */
|
||||
|
||||
ul.messagelist {
|
||||
padding: 0 0 5px 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul.messagelist li {
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
padding: 4px 5px 4px 25px;
|
||||
margin: 0 0 3px 0;
|
||||
border-bottom: 1px solid #ddd;
|
||||
color: #666;
|
||||
background: #ffc url(../images/icon_success.webp) 5px .3em no-repeat;
|
||||
}
|
||||
/******** User feedback messages ********/
|
||||
ul.messages {
|
||||
padding: 0 0 5px 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
ul.messages li {
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
padding: 4px 5px 4px 25px;
|
||||
margin: 0 0 3px 0;
|
||||
border-bottom: 1px solid #ddd;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.info,
|
||||
.success,
|
||||
.warning,
|
||||
.error,
|
||||
.validation {
|
||||
padding: 4px 5px 4px 25px;
|
||||
margin: 0 0 3px 0;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.info {
|
||||
background: #ffc url(../images/icon_success.webp) 5px .3em no-repeat;
|
||||
}
|
||||
|
||||
.success {
|
||||
background: #ffc url(../images/icon_success.webp) 5px .3em no-repeat;
|
||||
}
|
||||
|
||||
.warning {
|
||||
background: #ffc url(../images/icon_alert.webp) 5px .3em no-repeat;
|
||||
}
|
||||
|
||||
.error {
|
||||
background: #ffc url(../images/icon_error.webp) 5px .3em no-repeat;
|
||||
}
|
||||
/******** /User feedback messages ********/
|
||||
|
||||
.errornote {
|
||||
font-size: 12px !important;
|
||||
display: block;
|
||||
padding: 4px 5px 4px 25px;
|
||||
margin: 0 0 3px 0;
|
||||
border: 1px solid red;
|
||||
color: red;
|
||||
background: #ffc url(../images/icon_error.webp) 5px .3em no-repeat;
|
||||
}
|
||||
|
||||
ul.errorlist {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.errorlist li {
|
||||
font-size: 12px !important;
|
||||
display: block;
|
||||
padding: 4px 5px 4px 25px;
|
||||
margin: 0 0 3px 0;
|
||||
border: 1px solid red;
|
||||
color: white;
|
||||
background: red url(../images/icon_alert.webp) 5px .3em no-repeat;
|
||||
}
|
||||
|
||||
td ul.errorlist {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
td ul.errorlist li {
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.errors {
|
||||
background: #ffc;
|
||||
}
|
||||
|
||||
.errors input, .errors select {
|
||||
border: 1px solid red;
|
||||
}
|
||||
|
||||
div.system-message {
|
||||
background: #ffc;
|
||||
margin: 10px;
|
||||
padding: 6px 8px;
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
div.system-message p.system-message-title {
|
||||
padding: 4px 5px 4px 25px;
|
||||
margin: 0;
|
||||
color: red;
|
||||
background: #ffc url(../images/icon_error.webp) 5px .3em no-repeat;
|
||||
}
|
||||
|
||||
.description {
|
||||
font-size: 12px;
|
||||
padding: 5px 0 0 12px;
|
||||
}
|
||||
|
||||
/* BREADCRUMBS */
|
||||
|
||||
div.breadcrumbs {
|
||||
background: white url(../images/nav-bg-reverse.webp) 0 -10px repeat-x;
|
||||
padding: 2px 8px 3px 8px;
|
||||
font-size: 11px;
|
||||
color: #999;
|
||||
border-top: 1px solid white;
|
||||
border-bottom: 1px solid #ccc;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
/* ACTION ICONS */
|
||||
|
||||
.addlink {
|
||||
padding-left: 12px;
|
||||
background: url(../images/icon_addlink.webp) 0 .2em no-repeat;
|
||||
}
|
||||
|
||||
.changelink {
|
||||
padding-left: 12px;
|
||||
background: url(../images/icon_changelink.webp) 0 .2em no-repeat;
|
||||
}
|
||||
|
||||
.deletelink {
|
||||
padding-left: 12px;
|
||||
background: url(../images/icon_deletelink.webp) 0 .25em no-repeat;
|
||||
}
|
||||
|
||||
a.deletelink:link, a.deletelink:visited {
|
||||
color: #CC3434;
|
||||
}
|
||||
|
||||
a.deletelink:hover {
|
||||
color: #993333;
|
||||
}
|
||||
|
||||
/* OBJECT TOOLS */
|
||||
|
||||
.object-tools {
|
||||
font-size: 10px;
|
||||
font-weight: bold;
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
padding-left: 0;
|
||||
float: right;
|
||||
position: relative;
|
||||
margin-top: -2.4em;
|
||||
margin-bottom: -2em;
|
||||
}
|
||||
|
||||
.form-row .object-tools {
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
float: none;
|
||||
height: 2em;
|
||||
padding-left: 3.5em;
|
||||
}
|
||||
|
||||
.object-tools li {
|
||||
display: block;
|
||||
float: left;
|
||||
background: url(../images/tool-left.webp) 0 0 no-repeat;
|
||||
padding: 0 0 0 8px;
|
||||
margin-left: 2px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.object-tools li:hover {
|
||||
background: url(../images/tool-left_over.webp) 0 0 no-repeat;
|
||||
}
|
||||
|
||||
.object-tools a:link, .object-tools a:visited {
|
||||
display: block;
|
||||
float: left;
|
||||
color: white;
|
||||
padding: .1em 14px .1em 8px;
|
||||
height: 14px;
|
||||
background: #999 url(../images/tool-right.webp) 100% 0 no-repeat;
|
||||
}
|
||||
|
||||
.object-tools a:hover, .object-tools li:hover a {
|
||||
background: #5b80b2 url(../images/tool-right_over.webp) 100% 0 no-repeat;
|
||||
}
|
||||
|
||||
.object-tools a.viewsitelink, .object-tools a.golink {
|
||||
background: #999 url(../images/tooltag-arrowright.webp) top right no-repeat;
|
||||
padding-right: 28px;
|
||||
}
|
||||
|
||||
.object-tools a.viewsitelink:hover, .object-tools a.golink:hover {
|
||||
background: #5b80b2 url(../images/tooltag-arrowright_over.webp) top right no-repeat;
|
||||
}
|
||||
|
||||
.object-tools a.addlink {
|
||||
background: #999 url(../images/tooltag-add.webp) top right no-repeat;
|
||||
padding-right: 28px;
|
||||
}
|
||||
|
||||
.object-tools a.addlink:hover {
|
||||
background: #5b80b2 url(../images/tooltag-add_over.webp) top right no-repeat;
|
||||
}
|
||||
|
||||
/* OBJECT HISTORY */
|
||||
|
||||
table#change-history {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table#change-history tbody th {
|
||||
width: 16em;
|
||||
}
|
||||
|
||||
/* PAGE STRUCTURE */
|
||||
|
||||
#container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-width: 760px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#content {
|
||||
margin: 10px 15px;
|
||||
}
|
||||
|
||||
#header {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#content-main {
|
||||
float: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#content-related {
|
||||
float: right;
|
||||
width: 18em;
|
||||
position: relative;
|
||||
margin-right: -19em;
|
||||
}
|
||||
|
||||
#footer {
|
||||
clear: both;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* COLUMN TYPES */
|
||||
|
||||
.colMS {
|
||||
margin-right: 20em !important;
|
||||
}
|
||||
|
||||
.colSM {
|
||||
margin-left: 20em !important;
|
||||
}
|
||||
|
||||
.colSM #content-related {
|
||||
float: left;
|
||||
margin-right: 0;
|
||||
margin-left: -19em;
|
||||
}
|
||||
|
||||
.colSM #content-main {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.popup .colM {
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
.subcol {
|
||||
float: left;
|
||||
width: 46%;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.dashboard #content {
|
||||
width: 500px;
|
||||
}
|
||||
|
||||
/* HEADER */
|
||||
|
||||
#header {
|
||||
background: #417690;
|
||||
color: #ffc;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#header a:link, #header a:visited {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#header a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#branding h1 {
|
||||
padding: 0 10px;
|
||||
font-size: 18px;
|
||||
margin: 8px 0;
|
||||
font-weight: normal;
|
||||
color: #f4f379;
|
||||
}
|
||||
|
||||
#branding h2 {
|
||||
padding: 0 10px;
|
||||
font-size: 14px;
|
||||
margin: -8px 0 8px 0;
|
||||
font-weight: normal;
|
||||
color: #ffc;
|
||||
}
|
||||
|
||||
#user-tools {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 1.2em 10px;
|
||||
font-size: 11px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* SIDEBAR */
|
||||
|
||||
#content-related h3 {
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
|
||||
#content-related h4 {
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
#content-related .module h2 {
|
||||
background: #eee url(../images/nav-bg.webp) bottom left repeat-x;
|
||||
color: #666;
|
||||
}
|
845
ietf/secr/static/css/custom.css
Normal file
|
@ -0,0 +1,845 @@
|
|||
/*
|
||||
Overrides (override existing properties from Django admin css)
|
||||
*/
|
||||
|
||||
#container {
|
||||
margin: 0 auto;
|
||||
width: 760px;
|
||||
}
|
||||
|
||||
#content {
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
#footer {
|
||||
/* background-color: #DDDDDD;
|
||||
background-color: #EEEEFF; */
|
||||
color: #888888;
|
||||
margin-top: 8px;
|
||||
padding: 6px 0;
|
||||
text-align: left;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
#footer-logo {
|
||||
border-top: 1px solid #DDDDDD;
|
||||
padding-top: 9px;
|
||||
}
|
||||
|
||||
#footer-version {
|
||||
float: left;
|
||||
border-top: 1px solid #DDDDDD;
|
||||
padding-top: 9px;
|
||||
}
|
||||
|
||||
#footer ul {
|
||||
margin: 0;
|
||||
padding: 0 0 9px;
|
||||
}
|
||||
|
||||
#footer li {
|
||||
list-style-type: none;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
/*.inline-group th, td {
|
||||
padding: 3px;
|
||||
}*/
|
||||
|
||||
.object-tools {
|
||||
float: left;
|
||||
margin-bottom: 0;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.errorlist li {
|
||||
background: #FF8080 url(../images/icon_alert.webp) no-repeat scroll 5px 0.3em;
|
||||
border: 1px solid #FF8080;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
General Styles
|
||||
========================================================================== */
|
||||
|
||||
.alert {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.breadcrumbs td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.internal-form {
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.message-right {
|
||||
float: right;
|
||||
color: Red;
|
||||
}
|
||||
|
||||
.locked {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.locked a {
|
||||
color: Red;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.locked a:hover {
|
||||
color: Blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.unlocked {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.unlocked a {
|
||||
color: White;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.unlocked a:hover {
|
||||
color: Blue;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.login {
|
||||
float: right;
|
||||
color: white;
|
||||
font-size: 12px;
|
||||
vertical-align: bottom;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.menu li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
ul.none li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.required {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.loading {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
td.border-right {
|
||||
border-right: #ccc 1px solid;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
tr.green-row {
|
||||
background-color: #A5EEAA;
|
||||
}
|
||||
|
||||
tr.red-row {
|
||||
background-color: #FF66FF;
|
||||
}
|
||||
|
||||
table.full-width {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.center {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.new-style th {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Buttons
|
||||
========================================================================== */
|
||||
|
||||
.action-group ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 7px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.action-group li {
|
||||
list-style-type: none;
|
||||
padding: 4px;}
|
||||
|
||||
.button.standard, input.standard[type="submit"] {
|
||||
background: none;
|
||||
}
|
||||
|
||||
.button-group {
|
||||
clear: both;
|
||||
width: auto;
|
||||
height: 2.5em;
|
||||
padding: 4px 7px;
|
||||
background: white url(../images/nav-bg.webp) 0 100% repeat-x;
|
||||
border: 0 solid #ccc;
|
||||
border-top: 1px solid #ccc;
|
||||
margin: 5px 0 0 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.button-group ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 7px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.button-group li {
|
||||
display: inline;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
button.fancy:hover {
|
||||
background-color: #ffc;
|
||||
}
|
||||
|
||||
/* Navigation Bar
|
||||
========================================================================== */
|
||||
|
||||
#nav {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.list-nav {
|
||||
padding-left: 0;
|
||||
margin-left: 0;
|
||||
background-color: #36648B;
|
||||
color: White;
|
||||
width: 100%;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.list-nav li { display: inline; }
|
||||
|
||||
.list-nav li a {
|
||||
padding: 0.2em;
|
||||
width: 19%;
|
||||
background-color: #36648B;
|
||||
color: White;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
float: left;
|
||||
border-left: 1px solid #fff;
|
||||
}
|
||||
|
||||
.rooms-times-nav .list-nav li a {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
.list-nav li.selected a {
|
||||
background-color: #4F94CD;
|
||||
}
|
||||
|
||||
.list-nav li.leftmost a {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
.list-nav li a:hover {
|
||||
background-color: #4F94CD;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.list-nav a.current {
|
||||
background-color: #7CA0C7;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Announcement Tool
|
||||
========================================================================== */
|
||||
|
||||
#announce-table input[type="text"] {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#announce-table #id_body {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#announce-table td {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
#announce-table th {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
#announce-confirm {
|
||||
color: black;
|
||||
font-family: "Courier New",Courier,monospace;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Area Tool
|
||||
========================================================================== */
|
||||
|
||||
#areas-list-table td {
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
#area-awp-table input[type="text"] {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#area-add-table #id_comments {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#area-add-table #id_name {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Draft Tool
|
||||
========================================================================== */
|
||||
|
||||
input.draft-file-input {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
.draft-container #id_title {
|
||||
height: 4em;
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
.draft-container #id_pages {
|
||||
width: 4em;
|
||||
}
|
||||
|
||||
.draft-container #id_internal_comments {
|
||||
height: 4em;
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
.draft-container #id_abstract {
|
||||
height: 15em;
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#draft-confirm-email th {
|
||||
text-align: right;
|
||||
font-weight: normal;
|
||||
padding-right: 2em;
|
||||
}
|
||||
|
||||
#draft-file-table label {
|
||||
width: 12em;
|
||||
/* text-align: right;
|
||||
margin-right: 0.5em; */
|
||||
margin-left: 1em;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#draft-search-table th {
|
||||
width: 15em;
|
||||
}
|
||||
|
||||
#draft-view-col1 {
|
||||
float: left;
|
||||
width: 600px;
|
||||
margin: 0;
|
||||
border-right: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
#draft-view-col2 {
|
||||
float: left;
|
||||
width: 157px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#draft-edit-col1 {
|
||||
float: left;
|
||||
width: 620px;
|
||||
margin: 0;
|
||||
border-right: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
#draft-edit-col2 {
|
||||
float: left;
|
||||
width: 137px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#draft-edit-table #id_name {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
#draft-email-table #id_cc {
|
||||
width: 60em;
|
||||
}
|
||||
|
||||
#draft-email-table #id_subject {
|
||||
width: 60em;
|
||||
}
|
||||
|
||||
#draft-email-table #id_to {
|
||||
width: 60em;
|
||||
}
|
||||
|
||||
#draft-email-table #id_body {
|
||||
width: 60em;
|
||||
}
|
||||
|
||||
#draft-search-form #id_document_title {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#draft-search-form #id_group {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#draft-search-form #id_filename {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#draft-obsoletes-table input[type="text"] {
|
||||
width: 3.5em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Group Tool
|
||||
========================================================================== */
|
||||
|
||||
.awp-form input {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
#groups-table #id_name,#id_list_email,#id_list_subscribe,#id_list_archive {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#groups-table #id_comments {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
#group-description-form #id_description {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
#group-search-results td {
|
||||
font-size: xx-small;
|
||||
}
|
||||
|
||||
#groups-people-col1 {
|
||||
width: 75%;
|
||||
}
|
||||
|
||||
#groups-people-col2 {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
#groups-view-col1 {
|
||||
float: left;
|
||||
width: 620px;
|
||||
margin: 0;
|
||||
border-right: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
#groups-view-col2 {
|
||||
float: left;
|
||||
width: 137px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Meeting Tool
|
||||
========================================================================== */
|
||||
|
||||
#misc-sessions .from-base-schedule {
|
||||
text-align: centeR;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
#misc-session-edit-form input[type="text"] {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
#additional-info-form #id_text {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
#meetings-schedule-form input[type="text"] {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
#timeslot-form #id_time,#id_duration {
|
||||
width: 5em;
|
||||
}
|
||||
|
||||
#timeslot-form #id_name {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
#timeslot-form th {
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
#id_duration input {
|
||||
width: 5em;
|
||||
}
|
||||
|
||||
tr.break td {
|
||||
border-top: 2px solid black;
|
||||
}
|
||||
|
||||
tr.cancelled {
|
||||
background-color: #e12817;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#id_schedule_selector {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#id_rooms_table input[type="number"] {
|
||||
width: 4em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Proceedings Tool
|
||||
========================================================================== */
|
||||
|
||||
input#id_slide_name {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
input#id_title {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
div.interim-scroll {
|
||||
height: 300px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
color: #FF0000;
|
||||
}
|
||||
|
||||
.internal-form label {
|
||||
float: left;
|
||||
width: 100px;
|
||||
text-align: right;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.internal-form select {
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
#interim-directory-table td {
|
||||
padding-left: 2em;
|
||||
padding-right: 2em;
|
||||
}
|
||||
|
||||
#proceedings-interim-table td {
|
||||
white-space:pre-wrap;
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
/* font-family: "Courier",monospace; */
|
||||
}
|
||||
|
||||
#proceedings-list-table td {
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
}
|
||||
|
||||
#proceedings-add-table th {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
#proceedings-edit-table th {
|
||||
width: 25%;
|
||||
}
|
||||
|
||||
#proceedings-upload-table th {
|
||||
text-align: right;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
#proceedings-view-first-col {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
#proceedings-left-col {
|
||||
float: left;
|
||||
width: 378px;
|
||||
margin: 0;
|
||||
border-right: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
#proceedings-right-col {
|
||||
float: left;
|
||||
width: 377px;
|
||||
margin: 0;
|
||||
border-right: 1px solid #CCCCCC;
|
||||
border-left: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
#recording-form #id_external_url {
|
||||
width: 40em;
|
||||
}
|
||||
|
||||
td.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
td.document-name {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Role Tool
|
||||
========================================================================== */
|
||||
|
||||
.name-autocomplete {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Rolodex Tool
|
||||
========================================================================== */
|
||||
|
||||
form[id^="rolodex-"] input[type=text] {
|
||||
width: 25em;
|
||||
}
|
||||
|
||||
form[id^="rolodex-"] #id_address {
|
||||
width: 25em;
|
||||
height: 7em;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Session Request Tool
|
||||
========================================================================== */
|
||||
|
||||
tr.bg1 {
|
||||
background: #CCCCCC;
|
||||
}
|
||||
|
||||
tr.bg2 {
|
||||
background: #EEEEEE;
|
||||
}
|
||||
|
||||
tr.bg3 {
|
||||
background: #DDDDDD;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
table#sessions-new-table td {
|
||||
padding: 2px;
|
||||
border-spacing: 2px;
|
||||
border: 1;
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
#id_number_attendee {
|
||||
width: 3em;
|
||||
}
|
||||
|
||||
input.wg_constraint { width: 37em; }
|
||||
|
||||
input.wg_constraint:disabled {
|
||||
background-color: #ffe0e0;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
ul.session-buttons {
|
||||
padding-left: 2px;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.session-buttons li {
|
||||
list-style-type: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Telechat Tool
|
||||
========================================================================== */
|
||||
|
||||
#telechat-sidebar {
|
||||
float: left;
|
||||
width: 294px;
|
||||
background: url("../images/default-bg.webp") repeat-x scroll left top #7CA0C7;
|
||||
color: white;
|
||||
min-height: 500px;
|
||||
padding: 0 0 0 6px;
|
||||
}
|
||||
|
||||
#telechat-sidebar h2 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#telechat-sidebar ul {
|
||||
/*list-style-type: none;*/
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#telechat-sidebar ul.doc-list {
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
#telechat-sidebar ul.doc-list {
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
|
||||
ul.doc-list li {
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
#telechat-sidebar ul ul {
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
#telechat-sidebar a:link {
|
||||
color: #FFFF99;
|
||||
}
|
||||
|
||||
#telechat-sidebar a:visited {
|
||||
color: #FFFF99;
|
||||
}
|
||||
|
||||
#telechat-sidebar a:hover {
|
||||
color: #FF0000;
|
||||
}
|
||||
|
||||
#telechat-sidebar li.level1 {
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
#telechat-sidebar li.level3 + li.level2 {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
#telechat-sidebar li.level3 + li.level1 {
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
#telechat-sidebar li div {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
#telechat-positions-table td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/*
|
||||
#telechat-sidebar ol {
|
||||
list-style-position: outside;
|
||||
counter-reset: item;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
#telechat-sidebar li { display: block }
|
||||
#telechat-sidebar li li { display: block; padding: 3px 3px 3px 3px; }
|
||||
#telechat-sidebar li:before { content: counters(item, ".") " "; counter-increment: item }
|
||||
*/
|
||||
|
||||
#telechat-main {
|
||||
float: left;
|
||||
padding-left: 20px;
|
||||
width: 640px;
|
||||
}
|
||||
|
||||
#telechat-main pre {
|
||||
white-space: pre-wrap; /* css-3 */
|
||||
white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
}
|
||||
|
||||
.right-nav {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.telechat-warn h3 {
|
||||
color: white;
|
||||
text-align: center;
|
||||
background-color: #FF66FF;
|
||||
}
|
||||
|
||||
.telechat-button {
|
||||
height: 2.5em;
|
||||
padding: 4px 7px;
|
||||
width: auto;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.telechat-button ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 7px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.telechat-button li {
|
||||
list-style-type: none;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Redesign Section
|
||||
========================================================================== */
|
||||
|
||||
table.amstable {
|
||||
background-color: #F2F2E6;
|
||||
}
|
||||
|
||||
table.amstable th {
|
||||
color: #666666;
|
||||
font-size: 12px;
|
||||
font-weight: normal !important;
|
||||
padding-left: 1em;
|
||||
padding-right: 1em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.amsview th {
|
||||
border-bottom: none;
|
||||
color: #666666;
|
||||
font-size: 13px;
|
||||
padding: 4px 10px 4px 4px;
|
||||
text-align: right;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
table.amsview td {
|
||||
border-bottom: none;
|
||||
vertical-align: middle;
|
||||
padding: 4px 10px 4px 4px;
|
||||
}
|
||||
|
||||
.button-group {
|
||||
background: #F2F2E6;
|
||||
}
|
||||
|
||||
td, th, li, h2 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.module h2 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
thead th {
|
||||
font-size: 12px;
|
||||
}
|
354
ietf/secr/static/css/forms.css
Normal file
|
@ -0,0 +1,354 @@
|
|||
@import url('widgets.css');
|
||||
|
||||
/* FORM ROWS */
|
||||
|
||||
.form-row {
|
||||
overflow: hidden;
|
||||
padding: 8px 12px;
|
||||
font-size: 11px;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.form-row img, .form-row input {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
form .form-row p {
|
||||
padding-left: 0;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
/* FORM LABELS */
|
||||
|
||||
form h4 {
|
||||
margin: 0 !important;
|
||||
padding: 0 !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: normal !important;
|
||||
color: #666;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.required label, label.required {
|
||||
font-weight: bold !important;
|
||||
color: #333 !important;
|
||||
}
|
||||
|
||||
/* RADIO BUTTONS */
|
||||
|
||||
form ul.radiolist li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
form ul.radiolist label {
|
||||
float: none;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
form ul.inline {
|
||||
margin-left: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
form ul.inline li {
|
||||
float: left;
|
||||
padding-right: 7px;
|
||||
}
|
||||
|
||||
/* ALIGNED FIELDSETS */
|
||||
|
||||
.aligned label {
|
||||
display: block;
|
||||
padding: 3px 10px 0 0;
|
||||
float: left;
|
||||
width: 8em;
|
||||
}
|
||||
|
||||
.aligned ul label {
|
||||
display: inline;
|
||||
float: none;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.colMS .aligned .vLargeTextField, .colMS .aligned .vXMLLargeTextField {
|
||||
width: 350px;
|
||||
}
|
||||
|
||||
form .aligned p, form .aligned ul {
|
||||
margin-left: 7em;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
form .aligned table p {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
form .aligned p.help {
|
||||
padding-left: 38px;
|
||||
}
|
||||
|
||||
.aligned .vCheckboxLabel {
|
||||
float: none !important;
|
||||
display: inline;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
.colM .aligned .vLargeTextField, .colM .aligned .vXMLLargeTextField {
|
||||
width: 610px;
|
||||
}
|
||||
|
||||
.checkbox-row p.help {
|
||||
margin-left: 0;
|
||||
padding-left: 0 !important;
|
||||
}
|
||||
|
||||
fieldset .field-box {
|
||||
float: left;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
/* WIDE FIELDSETS */
|
||||
|
||||
.wide label {
|
||||
width: 15em !important;
|
||||
}
|
||||
|
||||
form .wide p {
|
||||
margin-left: 15em;
|
||||
}
|
||||
|
||||
form .wide p.help {
|
||||
padding-left: 38px;
|
||||
}
|
||||
|
||||
.colM fieldset.wide .vLargeTextField, .colM fieldset.wide .vXMLLargeTextField {
|
||||
width: 450px;
|
||||
}
|
||||
|
||||
/* COLLAPSED FIELDSETS */
|
||||
|
||||
fieldset.collapsed * {
|
||||
display: none;
|
||||
}
|
||||
|
||||
fieldset.collapsed h2, fieldset.collapsed {
|
||||
display: block !important;
|
||||
}
|
||||
|
||||
fieldset.collapsed h2 {
|
||||
background-image: url(../images/nav-bg.webp);
|
||||
background-position: bottom left;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
fieldset.collapsed .collapse-toggle {
|
||||
background: transparent;
|
||||
display: inline !important;
|
||||
}
|
||||
|
||||
/* MONOSPACE TEXTAREAS */
|
||||
|
||||
fieldset.monospace textarea {
|
||||
font-family: "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace;
|
||||
}
|
||||
|
||||
/* SUBMIT ROW */
|
||||
|
||||
.submit-row {
|
||||
padding: 5px 7px;
|
||||
text-align: right;
|
||||
background: white url(../images/nav-bg.webp) 0 100% repeat-x;
|
||||
border: 1px solid #ccc;
|
||||
margin: 5px 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.submit-row input {
|
||||
margin: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.submit-row p {
|
||||
margin: 0.3em;
|
||||
}
|
||||
|
||||
.submit-row p.deletelink-box {
|
||||
float: left;
|
||||
}
|
||||
|
||||
.submit-row .deletelink {
|
||||
background: url(../images/icon_deletelink.webp) 0 50% no-repeat;
|
||||
padding-left: 14px;
|
||||
}
|
||||
|
||||
/* CUSTOM FORM FIELDS */
|
||||
|
||||
.vSelectMultipleField {
|
||||
vertical-align: top !important;
|
||||
}
|
||||
|
||||
.vCheckboxField {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.vDateField, .vTimeField {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.vURLField {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
.vLargeTextField, .vXMLLargeTextField {
|
||||
width: 48em;
|
||||
}
|
||||
|
||||
.flatpages-flatpage #id_content {
|
||||
height: 40.2em;
|
||||
}
|
||||
|
||||
.module table .vPositiveSmallIntegerField {
|
||||
width: 2.2em;
|
||||
}
|
||||
|
||||
.vTextField {
|
||||
width: 20em;
|
||||
}
|
||||
|
||||
.vIntegerField {
|
||||
width: 5em;
|
||||
}
|
||||
|
||||
.vForeignKeyRawIdAdminField {
|
||||
width: 5em;
|
||||
}
|
||||
|
||||
/* INLINES */
|
||||
|
||||
.inline-group {
|
||||
padding: 0;
|
||||
border: 1px solid #ccc;
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
.inline-group .aligned label {
|
||||
width: 8em;
|
||||
}
|
||||
|
||||
.inline-related {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.inline-related h3 {
|
||||
margin: 0;
|
||||
color: #666;
|
||||
padding: 3px 5px;
|
||||
font-size: 11px;
|
||||
background: #e1e1e1 url(../images/nav-bg.webp) top left repeat-x;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.inline-related h3 span.delete {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.inline-related h3 span.delete label {
|
||||
margin-left: 2px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.inline-related fieldset {
|
||||
margin: 0;
|
||||
background: #fff;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.inline-related fieldset.module h3 {
|
||||
margin: 0;
|
||||
padding: 2px 5px 3px 5px;
|
||||
font-size: 11px;
|
||||
text-align: left;
|
||||
font-weight: bold;
|
||||
background: #bcd;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.inline-group .tabular fieldset.module {
|
||||
border: none;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.inline-related.tabular fieldset.module table {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.last-related fieldset {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.inline-group .tabular tr.has_original td {
|
||||
padding-top: 2em;
|
||||
}
|
||||
|
||||
.inline-group .tabular tr td.original {
|
||||
padding: 2px 0 0 0;
|
||||
width: 0;
|
||||
_position: relative;
|
||||
}
|
||||
|
||||
.inline-group .tabular th.original {
|
||||
width: 0px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.inline-group .tabular td.original p {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
height: 1.1em;
|
||||
padding: 2px 7px;
|
||||
overflow: hidden;
|
||||
font-size: 9px;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
_width: 700px;
|
||||
}
|
||||
|
||||
.inline-group ul.tools {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.inline-group ul.tools li {
|
||||
display: inline;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.inline-group div.add-row,
|
||||
.inline-group .tabular tr.add-row td {
|
||||
color: #666;
|
||||
padding: 3px 5px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
background: #e1e1e1 url(../images/nav-bg.webp) top left repeat-x;
|
||||
}
|
||||
|
||||
.inline-group .tabular tr.add-row td {
|
||||
padding: 4px 5px 3px;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.inline-group ul.tools a.add,
|
||||
.inline-group div.add-row a,
|
||||
.inline-group .tabular tr.add-row td a {
|
||||
background: url(../images/icon_addlink.webp) 0 50% no-repeat;
|
||||
padding-left: 14px;
|
||||
font-size: 11px;
|
||||
outline: 0; /* Remove dotted border around link */
|
||||
}
|
||||
|
||||
.empty-form {
|
||||
display: none;
|
||||
}
|
10
ietf/secr/static/css/telechat.css
Normal file
|
@ -0,0 +1,10 @@
|
|||
#container {
|
||||
margin: 0 auto;
|
||||
width: 960px;
|
||||
}
|
||||
|
||||
ul#list-nav li a {
|
||||
width: 19%;
|
||||
background-color: #36648B;
|
||||
}
|
||||
|
3
ietf/secr/static/css/test.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
body {
|
||||
background-image:url('../images/test-background.png');
|
||||
}
|
505
ietf/secr/static/css/widgets.css
Normal file
|
@ -0,0 +1,505 @@
|
|||
/* SELECTOR (FILTER INTERFACE) */
|
||||
|
||||
.selector {
|
||||
width: 580px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.selector select {
|
||||
width: 270px;
|
||||
height: 17.2em;
|
||||
}
|
||||
|
||||
.selector-available, .selector-chosen {
|
||||
float: left;
|
||||
width: 270px;
|
||||
text-align: center;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.selector-available h2, .selector-chosen h2 {
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.selector .selector-available h2 {
|
||||
background: white url(../images/nav-bg.webp) bottom left repeat-x;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.selector .selector-filter {
|
||||
background: white;
|
||||
border: 1px solid #ccc;
|
||||
border-width: 0 1px;
|
||||
padding: 3px;
|
||||
color: #999;
|
||||
font-size: 10px;
|
||||
margin: 0;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.selector .selector-chosen .selector-filter {
|
||||
padding: 4px 5px;
|
||||
}
|
||||
|
||||
.selector .selector-available input {
|
||||
width: 230px;
|
||||
}
|
||||
|
||||
.selector ul.selector-chooser {
|
||||
float: left;
|
||||
width: 22px;
|
||||
height: 50px;
|
||||
background: url(../images/chooser-bg.webp) top center no-repeat;
|
||||
margin: 8em 3px 0 3px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.selector-chooser li {
|
||||
margin: 0;
|
||||
padding: 3px;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.selector select {
|
||||
margin-bottom: 5px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.selector-add, .selector-remove {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
display: block;
|
||||
text-indent: -3000px;
|
||||
}
|
||||
|
||||
.selector-add {
|
||||
background: url(../images/selector-add.webp) top center no-repeat;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.selector-remove {
|
||||
background: url(../images/selector-remove.webp) top center no-repeat;
|
||||
}
|
||||
|
||||
a.selector-chooseall, a.selector-clearall {
|
||||
display: block;
|
||||
width: 6em;
|
||||
text-align: left;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
padding: 3px 0 3px 18px;
|
||||
}
|
||||
|
||||
a.selector-chooseall:hover, a.selector-clearall:hover {
|
||||
color: #036;
|
||||
}
|
||||
|
||||
a.selector-chooseall {
|
||||
width: 7em;
|
||||
background: url(../images/selector-addall.webp) left center no-repeat;
|
||||
}
|
||||
|
||||
a.selector-clearall {
|
||||
background: url(../images/selector-removeall.webp) left center no-repeat;
|
||||
}
|
||||
|
||||
|
||||
/* STACKED SELECTORS */
|
||||
|
||||
.stacked {
|
||||
float: left;
|
||||
width: 500px;
|
||||
}
|
||||
|
||||
.stacked select {
|
||||
width: 480px;
|
||||
height: 10.1em;
|
||||
}
|
||||
|
||||
.stacked .selector-available, .stacked .selector-chosen {
|
||||
width: 480px;
|
||||
}
|
||||
|
||||
.stacked .selector-available {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.stacked .selector-available input {
|
||||
width: 442px;
|
||||
}
|
||||
|
||||
.stacked ul.selector-chooser {
|
||||
height: 22px;
|
||||
width: 50px;
|
||||
margin: 0 0 3px 40%;
|
||||
background: url(../images/chooser_stacked-bg.webp) top center no-repeat;
|
||||
}
|
||||
|
||||
.stacked .selector-chooser li {
|
||||
float: left;
|
||||
padding: 3px 3px 3px 5px;
|
||||
}
|
||||
|
||||
.stacked .selector-chooseall, .stacked .selector-clearall {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.stacked .selector-add {
|
||||
background-image: url(../images/selector_stacked-add.webp);
|
||||
}
|
||||
|
||||
.stacked .selector-remove {
|
||||
background-image: url(../images/selector_stacked-remove.webp);
|
||||
}
|
||||
|
||||
|
||||
/* DATE AND TIME */
|
||||
|
||||
p.datetime {
|
||||
line-height: 20px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #666;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.datetime span {
|
||||
font-size: 11px;
|
||||
color: #ccc;
|
||||
font-weight: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
table p.datetime {
|
||||
font-size: 10px;
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
/* FILE UPLOADS */
|
||||
|
||||
p.file-upload {
|
||||
line-height: 20px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: #666;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.file-upload a {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.file-upload .deletelink {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/* CALENDARS & CLOCKS */
|
||||
|
||||
.calendarbox, .clockbox {
|
||||
margin: 5px auto;
|
||||
font-size: 11px;
|
||||
width: 16em;
|
||||
text-align: center;
|
||||
background: white;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.clockbox {
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.calendar {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.calendar table {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-collapse: collapse;
|
||||
background: white;
|
||||
width: 99%;
|
||||
}
|
||||
|
||||
.calendar caption, .calendarbox h2 {
|
||||
margin: 0;
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
.calendar th {
|
||||
font-size: 10px;
|
||||
color: #666;
|
||||
padding: 2px 3px;
|
||||
text-align: center;
|
||||
background: #e1e1e1 url(../images/nav-bg.webp) 0 50% repeat-x;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.calendar td {
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
border-top: 1px solid #eee;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.calendar td.selected a {
|
||||
background: #C9DBED;
|
||||
}
|
||||
|
||||
.calendar td.nonday {
|
||||
background: #efefef;
|
||||
}
|
||||
|
||||
.calendar td.today a {
|
||||
background: #ffc;
|
||||
}
|
||||
|
||||
.calendar td a, .timelist a {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
padding: 4px;
|
||||
text-decoration: none;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.calendar td a:hover, .timelist a:hover {
|
||||
background: #5b80b2;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.calendar td a:active, .timelist a:active {
|
||||
background: #036;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.calendarnav {
|
||||
font-size: 10px;
|
||||
text-align: center;
|
||||
color: #ccc;
|
||||
margin: 0;
|
||||
padding: 1px 3px;
|
||||
}
|
||||
|
||||
.calendarnav a:link, #calendarnav a:visited, #calendarnav a:hover {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.calendar-shortcuts {
|
||||
background: white;
|
||||
font-size: 10px;
|
||||
line-height: 11px;
|
||||
border-top: 1px solid #eee;
|
||||
padding: 3px 0 4px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.calendarbox .calendarnav-previous, .calendarbox .calendarnav-next {
|
||||
display: block;
|
||||
position: absolute;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
background: #C9DBED url(../images/default-bg.webp) bottom left repeat-x;
|
||||
padding: 1px 4px 2px 4px;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.calendarnav-previous:hover, .calendarnav-next:hover {
|
||||
background: #036;
|
||||
}
|
||||
|
||||
.calendarnav-previous {
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.calendarnav-next {
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.calendar-cancel {
|
||||
margin: 0 !important;
|
||||
padding: 0;
|
||||
font-size: 10px;
|
||||
background: #e1e1e1 url(../images/nav-bg.webp) 0 50% repeat-x;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.calendar-cancel a {
|
||||
padding: 2px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
ul.timelist, .timelist li {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.timelist a {
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
/* INLINE ORDERER */
|
||||
|
||||
ul.orderer {
|
||||
position: relative;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
ul.orderer li {
|
||||
list-style-type: none;
|
||||
display: block;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 1px solid #bbb;
|
||||
border-width: 0 1px 1px 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
background: #e2e2e2 url(../images/nav-bg-grabber.webp) repeat-y;
|
||||
}
|
||||
|
||||
ul.orderer li:hover {
|
||||
cursor: move;
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
ul.orderer li a.selector {
|
||||
margin-left: 12px;
|
||||
overflow: hidden;
|
||||
width: 83%;
|
||||
font-size: 10px !important;
|
||||
padding: 0.6em 0;
|
||||
}
|
||||
|
||||
ul.orderer li a:link, ul.orderer li a:visited {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
ul.orderer li .inline-deletelink {
|
||||
position: absolute;
|
||||
right: 4px;
|
||||
margin-top: 0.6em;
|
||||
}
|
||||
|
||||
ul.orderer li.selected {
|
||||
background-color: #f8f8f8;
|
||||
border-right-color: #f8f8f8;
|
||||
}
|
||||
|
||||
ul.orderer li.deleted {
|
||||
background: #bbb url(../images/deleted-overlay.webp);
|
||||
}
|
||||
|
||||
ul.orderer li.deleted a:link, ul.orderer li.deleted a:visited {
|
||||
color: #888;
|
||||
}
|
||||
|
||||
ul.orderer li.deleted .inline-deletelink {
|
||||
background-image: url(../images/inline-restore.png);
|
||||
}
|
||||
|
||||
ul.orderer li.deleted:hover, ul.orderer li.deleted a.selector:hover {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/* EDIT INLINE */
|
||||
|
||||
.inline-deletelink {
|
||||
display: block;
|
||||
text-indent: -9999px;
|
||||
background: transparent url(../images/inline-delete.png) no-repeat;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin: 0.4em 0;
|
||||
border: 0px none;
|
||||
}
|
||||
|
||||
.inline-deletelink:hover {
|
||||
background-position: -15px 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.editinline button.addlink {
|
||||
border: 0px none;
|
||||
color: #5b80b2;
|
||||
font-size: 100%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.editinline button.addlink:hover {
|
||||
color: #036;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.editinline table .help {
|
||||
text-align: right;
|
||||
float: right;
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.editinline tfoot .addlink {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.editinline table thead th:last-child {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
.editinline tr.deleted {
|
||||
background: #ddd url(../images/deleted-overlay.webp);
|
||||
}
|
||||
|
||||
.editinline tr.deleted .inline-deletelink {
|
||||
background-image: url(../images/inline-restore.png);
|
||||
}
|
||||
|
||||
.editinline tr.deleted td:hover {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.editinline tr.deleted td:first-child {
|
||||
background-image: none !important;
|
||||
}
|
||||
|
||||
/* EDIT INLINE - STACKED */
|
||||
|
||||
.editinline-stacked {
|
||||
min-width: 758px;
|
||||
}
|
||||
|
||||
.editinline-stacked .inline-object {
|
||||
margin-left: 210px;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.editinline-stacked .inline-source {
|
||||
float: left;
|
||||
width: 200px;
|
||||
background: #f8f8f8;
|
||||
}
|
||||
|
||||
.editinline-stacked .inline-splitter {
|
||||
float: left;
|
||||
width: 9px;
|
||||
background: #f8f8f8 url(../images/inline-splitter-bg.webp) 50% 50% no-repeat;
|
||||
border-right: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.editinline-stacked .controls {
|
||||
clear: both;
|
||||
background: #e1e1e1 url(../images/nav-bg.webp) top left repeat-x;
|
||||
padding: 3px 4px;
|
||||
font-size: 11px;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
BIN
ietf/secr/static/images/ajax-loader.webp
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
ietf/secr/static/images/ams_logo.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
ietf/secr/static/images/arrow-down.webp
Normal file
After Width: | Height: | Size: 96 B |
BIN
ietf/secr/static/images/arrow-up.webp
Normal file
After Width: | Height: | Size: 96 B |
BIN
ietf/secr/static/images/chooser-bg.webp
Normal file
After Width: | Height: | Size: 154 B |
BIN
ietf/secr/static/images/chooser_stacked-bg.webp
Normal file
After Width: | Height: | Size: 166 B |
BIN
ietf/secr/static/images/default-bg-reverse.webp
Normal file
After Width: | Height: | Size: 376 B |
BIN
ietf/secr/static/images/default-bg.webp
Normal file
After Width: | Height: | Size: 376 B |
BIN
ietf/secr/static/images/deleted-overlay.webp
Normal file
After Width: | Height: | Size: 44 B |
BIN
ietf/secr/static/images/icon_addlink.webp
Normal file
After Width: | Height: | Size: 118 B |
BIN
ietf/secr/static/images/icon_alert.webp
Normal file
After Width: | Height: | Size: 152 B |
BIN
ietf/secr/static/images/icon_changelink.webp
Normal file
After Width: | Height: | Size: 134 B |
BIN
ietf/secr/static/images/icon_deletelink.webp
Normal file
After Width: | Height: | Size: 152 B |
BIN
ietf/secr/static/images/icon_error.webp
Normal file
After Width: | Height: | Size: 184 B |
BIN
ietf/secr/static/images/icon_success.webp
Normal file
After Width: | Height: | Size: 234 B |
BIN
ietf/secr/static/images/inline-delete.png
Normal file
After Width: | Height: | Size: 451 B |
BIN
ietf/secr/static/images/inline-restore.png
Normal file
After Width: | Height: | Size: 343 B |
BIN
ietf/secr/static/images/inline-splitter-bg.webp
Normal file
After Width: | Height: | Size: 120 B |
BIN
ietf/secr/static/images/nav-bg-grabber.webp
Normal file
After Width: | Height: | Size: 90 B |
BIN
ietf/secr/static/images/nav-bg-reverse.webp
Normal file
After Width: | Height: | Size: 130 B |
BIN
ietf/secr/static/images/nav-bg.webp
Normal file
After Width: | Height: | Size: 70 B |
BIN
ietf/secr/static/images/selector-add.webp
Normal file
After Width: | Height: | Size: 342 B |
BIN
ietf/secr/static/images/selector-addall.webp
Normal file
After Width: | Height: | Size: 260 B |
BIN
ietf/secr/static/images/selector-remove.webp
Normal file
After Width: | Height: | Size: 306 B |
BIN
ietf/secr/static/images/selector-removeall.webp
Normal file
After Width: | Height: | Size: 156 B |
BIN
ietf/secr/static/images/selector_stacked-add.webp
Normal file
After Width: | Height: | Size: 340 B |
BIN
ietf/secr/static/images/selector_stacked-remove.webp
Normal file
After Width: | Height: | Size: 302 B |
BIN
ietf/secr/static/images/test-background.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
ietf/secr/static/images/tool-left.webp
Normal file
After Width: | Height: | Size: 114 B |
BIN
ietf/secr/static/images/tool-left_over.webp
Normal file
After Width: | Height: | Size: 178 B |
BIN
ietf/secr/static/images/tool-right.webp
Normal file
After Width: | Height: | Size: 110 B |
BIN
ietf/secr/static/images/tool-right_over.webp
Normal file
After Width: | Height: | Size: 174 B |
BIN
ietf/secr/static/images/tooltag-add.webp
Normal file
After Width: | Height: | Size: 126 B |
BIN
ietf/secr/static/images/tooltag-add_over.webp
Normal file
After Width: | Height: | Size: 216 B |
BIN
ietf/secr/static/images/tooltag-arrowright.webp
Normal file
After Width: | Height: | Size: 162 B |
BIN
ietf/secr/static/images/tooltag-arrowright_over.webp
Normal file
After Width: | Height: | Size: 264 B |
66
ietf/secr/static/js/dynamic_inlines.js
Normal file
|
@ -0,0 +1,66 @@
|
|||
/* Following functions based off code written by Arne Brodowski
|
||||
http://www.arnebrodowski.de/blog/507-Add-and-remove-Django-Admin-Inlines-with-JavaScript.html
|
||||
|
||||
2012-02-01 customized for new Rolodex. Email formset doesn't have an id field, rather a "address"
|
||||
field as primary key. Also for some reason the "active" boolean field doesn't get saved properly
|
||||
if the checkbox input has an empty "value" argument.
|
||||
*/
|
||||
function increment_form_ids(el, to, name) {
|
||||
var from = to-1
|
||||
$(':input', $(el)).each(function(i,e){
|
||||
var old_name = $(e).attr('name')
|
||||
var old_id = $(e).attr('id')
|
||||
$(e).attr('name', old_name.replace(from, to))
|
||||
$(e).attr('id', old_id.replace(from, to))
|
||||
if ($(e).attr('type') != 'checkbox') {
|
||||
$(e).val('')
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function add_inline_form(name) {
|
||||
if (name=="email") {
|
||||
var first = $('#id_'+name+'-0-address').parents('.inline-related')
|
||||
}
|
||||
else {
|
||||
var first = $('#id_'+name+'-0-id').parents('.inline-related')
|
||||
}
|
||||
// check to see if this is a stacked or tabular inline
|
||||
if (first.hasClass("tabular")) {
|
||||
var field_table = first.parent().find('table > tbody')
|
||||
var count = field_table.children().length
|
||||
var copy = $('tr:last', field_table).clone(true)
|
||||
copy.removeClass("row1 row2")
|
||||
copy.find("input[name$='address']").removeAttr("readonly")
|
||||
copy.addClass("row"+((count % 2) == 0 ? 1 : 2))
|
||||
field_table.append(copy)
|
||||
increment_form_ids($('tr:last', field_table), count, name)
|
||||
}
|
||||
else {
|
||||
var last = $(first).parent().children('.last-related')
|
||||
var copy = $(last).clone(true)
|
||||
var count = $(first).parent().children('.inline-related').length
|
||||
$(last).removeClass('last-related')
|
||||
var header = $('h3', copy)
|
||||
header.html(header.html().replace("#"+count, "#"+(count+1)))
|
||||
$(last).after(copy)
|
||||
increment_form_ids($(first).parents('.inline-group').children('.last-related'), count, name)
|
||||
}
|
||||
$('input#id_'+name+'-TOTAL_FORMS').val(count+1)
|
||||
return false;
|
||||
}
|
||||
|
||||
// Add all the "Add Another" links to the bottom of each inline group
|
||||
$(function() {
|
||||
var html_template = '<ul class="tools">'+
|
||||
'<li>'+
|
||||
'<a class="addlink" href="#" onclick="return add_inline_form(\'{{prefix}}\')">'+
|
||||
'Add another</a>'+
|
||||
'</li>'+
|
||||
'</ul>'
|
||||
$('.inline-group').each(function(i) {
|
||||
//prefix is in the name of the input fields before the "-"
|
||||
var prefix = $("input[type='hidden'][name!='csrfmiddlewaretoken']", this).attr("name").split("-")[0]
|
||||
$(this).append(html_template.replace("{{prefix}}", prefix))
|
||||
})
|
||||
})
|
6
ietf/secr/static/js/proceedings-recording.js
Normal file
|
@ -0,0 +1,6 @@
|
|||
/* proceedings-recordings.js - utility functions */
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
$('#id_session').select2({ placeholder: 'Type group acronym or part of session name', width: '450px' });;
|
||||
});
|
28
ietf/secr/static/js/session_form.js
Normal file
|
@ -0,0 +1,28 @@
|
|||
/* Copyright The IETF Trust 2021, All Rights Reserved
|
||||
*
|
||||
* JS support for the SessionForm
|
||||
* */
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
function track_common_input(input, name_suffix) {
|
||||
const handler = function() {
|
||||
const hidden_inputs = document.querySelectorAll(
|
||||
'.session-details-form input[name$="-' + name_suffix + '"]'
|
||||
);
|
||||
for (let hi of hidden_inputs) {
|
||||
hi.value = input.value;
|
||||
}
|
||||
};
|
||||
input.addEventListener('change', handler);
|
||||
handler();
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
// Keep all the hidden inputs in sync with the main form
|
||||
track_common_input(document.getElementById('id_attendees'), 'attendees');
|
||||
track_common_input(document.getElementById('id_comments'), 'comments');
|
||||
}
|
||||
|
||||
window.addEventListener('load', initialize);
|
||||
})();
|
159
ietf/secr/static/js/sessions.js
Normal file
|
@ -0,0 +1,159 @@
|
|||
// Copyright The IETF Trust 2015-2021, All Rights Reserved
|
||||
/* global alert */
|
||||
var ietf_sessions; // public interface
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
function get_formset_management_data(prefix) {
|
||||
return {
|
||||
total_forms: document.getElementById('id_' + prefix + '-TOTAL_FORMS').value,
|
||||
};
|
||||
}
|
||||
|
||||
function update_session_form_visibility(session_num, is_visible) {
|
||||
const elt = document.getElementById('session_row_' + session_num);
|
||||
if (elt) {
|
||||
elt.hidden = !is_visible;
|
||||
elt.querySelector('[name$="DELETE"]').value = is_visible ? '' : 'on';
|
||||
}
|
||||
}
|
||||
|
||||
function have_additional_session() {
|
||||
const elt = document.getElementById('id_third_session');
|
||||
return elt && elt.checked;
|
||||
}
|
||||
|
||||
function update_for_num_sessions(val) {
|
||||
const total_forms = get_formset_management_data('session_set').total_forms;
|
||||
val = Number(val);
|
||||
if (have_additional_session()) {
|
||||
val++;
|
||||
}
|
||||
|
||||
for (let i=0; i < total_forms; i++) {
|
||||
update_session_form_visibility(i, i < val);
|
||||
}
|
||||
|
||||
const only_one_session = (val === 1);
|
||||
if (document.form_post.session_time_relation) {
|
||||
document.form_post.session_time_relation.disabled = only_one_session;
|
||||
document.form_post.session_time_relation.closest('tr').hidden = only_one_session;
|
||||
}
|
||||
if (document.form_post.joint_for_session) {
|
||||
document.form_post.joint_for_session.disabled = only_one_session;
|
||||
}
|
||||
const third_session_row = document.getElementById('third_session_row');
|
||||
if (third_session_row) {
|
||||
third_session_row.hidden = val < 2;
|
||||
}
|
||||
}
|
||||
|
||||
function delete_last_joint_with_groups () {
|
||||
var b = document.form_post.joint_with_groups.value;
|
||||
var temp = b.split(' ');
|
||||
temp.pop();
|
||||
b = temp.join(' ');
|
||||
document.form_post.joint_with_groups.value = b;
|
||||
document.form_post.joint_with_groups_selector.selectedIndex=0;
|
||||
}
|
||||
|
||||
/*******************************************************************/
|
||||
// WG constraint UI support
|
||||
|
||||
// get the constraint field element for a given slug
|
||||
function constraint_field(slug) {
|
||||
return document.getElementById('id_constraint_' + slug);
|
||||
}
|
||||
|
||||
// get the wg selection element for a given slug
|
||||
function constraint_selector(slug) {
|
||||
return document.getElementById('id_wg_selector_' + slug);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handler for constraint select input 'change' event
|
||||
*/
|
||||
function wg_constraint_selector_changed() {
|
||||
let slug = this.getAttribute('data-slug');
|
||||
let cfield = constraint_field(slug);
|
||||
// add selected value to constraint_field
|
||||
cfield.value += ' ' + this.options[this.selectedIndex].value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the last group in a WG constraint field
|
||||
*
|
||||
* @param slug ConstraintName slug
|
||||
*/
|
||||
function delete_last_wg_constraint(slug) {
|
||||
let cfield = constraint_field(slug);
|
||||
if (cfield) {
|
||||
var b = cfield.value;
|
||||
var temp = b.split(' ');
|
||||
temp.pop();
|
||||
b = temp.join(' ');
|
||||
cfield.value = b;
|
||||
constraint_selector(slug).selectedIndex = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle click event on a WG constraint's delete button
|
||||
*
|
||||
* @param slug ConstraintName slug
|
||||
*/
|
||||
function delete_wg_constraint_clicked(slug) {
|
||||
delete_last_wg_constraint(slug);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handler for the change event on the session count select or 'third session' checkbox
|
||||
*/
|
||||
function handle_num_session_change(event) {
|
||||
const num_select_value = Number(event.target.value);
|
||||
if (num_select_value !== 2) {
|
||||
if (document.form_post.third_session) {
|
||||
document.form_post.third_session.checked = false;
|
||||
}
|
||||
}
|
||||
update_for_num_sessions(num_select_value);
|
||||
}
|
||||
|
||||
function handle_third_session_change(event) {
|
||||
const num_select_value = Number(document.getElementById('id_num_session').value);
|
||||
if (num_select_value === 2) {
|
||||
update_for_num_sessions(num_select_value);
|
||||
} else {
|
||||
event.target.checked = false;
|
||||
}
|
||||
}
|
||||
|
||||
/* Initialization */
|
||||
function on_load() {
|
||||
// Attach event handler to session count select
|
||||
const num_session_select = document.getElementById('id_num_session');
|
||||
num_session_select.addEventListener('change', handle_num_session_change);
|
||||
const third_session_input = document.getElementById('id_third_session');
|
||||
if (third_session_input) {
|
||||
third_session_input.addEventListener('change', handle_third_session_change);
|
||||
}
|
||||
update_for_num_sessions(num_session_select.value);
|
||||
|
||||
// Attach event handlers to constraint selectors
|
||||
let selectors = document.getElementsByClassName('wg_constraint_selector');
|
||||
for (let index = 0; index < selectors.length; index++) {
|
||||
selectors[index].addEventListener('change', wg_constraint_selector_changed, false)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// initialize after page loads
|
||||
window.addEventListener('load', on_load, false);
|
||||
|
||||
// expose public interface methods
|
||||
ietf_sessions = {
|
||||
delete_last_joint_with_groups: delete_last_joint_with_groups,
|
||||
delete_wg_constraint_clicked: delete_wg_constraint_clicked
|
||||
}
|
||||
})();
|
253
ietf/secr/static/js/utils.js
Normal file
|
@ -0,0 +1,253 @@
|
|||
/* utils.js - utility functions */
|
||||
|
||||
// set X-CSRFToken AJAX request header
|
||||
// from https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax
|
||||
|
||||
function getCookie(name) {
|
||||
var cookieValue = null;
|
||||
if (document.cookie && document.cookie != '') {
|
||||
var cookies = document.cookie.split(';');
|
||||
for (var i = 0; i < cookies.length; i++) {
|
||||
var cookie = jQuery.trim(cookies[i]);
|
||||
// Does this cookie string begin with the name we want?
|
||||
if (cookie.substring(0, name.length + 1) == (name + '=')) {
|
||||
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return cookieValue;
|
||||
}
|
||||
var csrftoken = getCookie('csrftoken');
|
||||
|
||||
function csrfSafeMethod(method) {
|
||||
// these HTTP methods do not require CSRF protection
|
||||
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
|
||||
}
|
||||
function sameOrigin(url) {
|
||||
// test that a given url is a same-origin URL
|
||||
// url could be relative or scheme relative or absolute
|
||||
var host = document.location.host; // host + port
|
||||
var protocol = document.location.protocol;
|
||||
var sr_origin = '//' + host;
|
||||
var origin = protocol + sr_origin;
|
||||
// Allow absolute or scheme relative URLs to same origin
|
||||
return (url == origin || url.slice(0, origin.length + 1) == origin + '/') ||
|
||||
(url == sr_origin || url.slice(0, sr_origin.length + 1) == sr_origin + '/') ||
|
||||
// or any other URL that isn't scheme relative or absolute i.e relative.
|
||||
!(/^(\/\/|http:|https:).*/.test(url));
|
||||
}
|
||||
$.ajaxSetup({
|
||||
beforeSend: function(xhr, settings) {
|
||||
if (!csrfSafeMethod(settings.type) && sameOrigin(settings.url)) {
|
||||
// Send the token to same-origin, relative URLs only.
|
||||
// Send the token only if the method warrants CSRF protection
|
||||
// Using the CSRFToken value acquired earlier
|
||||
xhr.setRequestHeader("X-CSRFToken", csrftoken);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// end set csrftoken
|
||||
|
||||
//returns the requested GET parameter from the URL
|
||||
function get_param(param) {
|
||||
var regex = '[?&]' + param + '=([^&#]*)';
|
||||
var results = (new RegExp(regex)).exec(window.location.href);
|
||||
if(results) return results[1];
|
||||
return '';
|
||||
}
|
||||
|
||||
function restripe(id) {
|
||||
$(id + ' tbody tr:visible:even').removeClass('row1 row2').addClass('row1');
|
||||
$(id + ' tbody tr:visible:odd').removeClass('row1 row2').addClass('row2');
|
||||
}
|
||||
|
||||
function init_area_table() {
|
||||
// add "Show All" button
|
||||
$("#areas-button-list").append('<li><button type="button" id="areas-list-toggle" value="Show All">Show All</button></li>');
|
||||
// register button
|
||||
$("#areas-list-toggle").click(function() {
|
||||
if (this.value == "Show All") {
|
||||
$('#areas-list-table tbody tr:not(.active)').show();
|
||||
$(this).val("Show Active");
|
||||
$(this).text("Show Active");
|
||||
} else if (this.value == "Show Active") {
|
||||
$('#areas-list-table tbody tr:not(.active)').hide();
|
||||
$(this).val("Show All");
|
||||
$(this).text("Show All");
|
||||
}
|
||||
// restripe the table
|
||||
restripe('#areas-list-table');
|
||||
});
|
||||
// hide non-active areas
|
||||
$('#areas-list-table tbody tr:not(.active)').hide();
|
||||
restripe('#areas-list-table');
|
||||
}
|
||||
|
||||
function style_current_tab() {
|
||||
path_array = window.location.pathname.split('/');
|
||||
page = path_array[path_array.length-2];
|
||||
id = "#nav-" + page;
|
||||
$(id + ' a').addClass('current');
|
||||
}
|
||||
|
||||
|
||||
/*********************************
|
||||
/*Functions : For Proceedings */
|
||||
/*********************************/
|
||||
function change_material_type(obj) {
|
||||
if (obj.value == "Agenda") {
|
||||
alert('agenda');
|
||||
}
|
||||
}
|
||||
|
||||
function init_proceedings_upload() {
|
||||
// dynamic help message
|
||||
$('#id_material_type').change(function() {
|
||||
if(this.value == "slides") {
|
||||
//alert('Presentation handler called');
|
||||
$('div#id_file_help').html("Note 1: You can only upload a presentation file in txt, pdf, doc, or ppt/pptx. System will not accept presentation files in any other format.<br><br>Note 2: All uploaded files will be available to the public immediately on the Preliminary Page. However, for the Proceedings, ppt/pptx files will be converted to html format and doc files will be converted to pdf format manually by the Secretariat staff.");
|
||||
$('#id_slide_name').attr('disabled', false);
|
||||
}
|
||||
if(this.value == "minutes") {
|
||||
//alert('Minutes handler called');
|
||||
$('div#id_file_help').html("Note: You can only upload minutes in txt/html/ppt/pdf formats. System will not accept minutes in any other format.");
|
||||
$('#id_slide_name').attr('disabled', true);
|
||||
$('#id_slide_name').val('');
|
||||
}
|
||||
if(this.value == "agenda") {
|
||||
//alert('Agenda handler called');
|
||||
$('div#id_file_help').html("Note: You can only upload agendas in txt/html/ppt/pdf formats. System will not accept agendas in any other format.");
|
||||
$('#id_slide_name').attr('disabled', true);
|
||||
$('#id_slide_name').val('');
|
||||
}
|
||||
});
|
||||
|
||||
// handle slide sorting
|
||||
$('#slides.sortable tbody').sortable({
|
||||
axis:'y',
|
||||
//containment:'parent',
|
||||
update: function(event, ui){
|
||||
var data = $(this).sortable("toArray");
|
||||
var element_id = ui.item.attr("id");
|
||||
var slide_name = $("tr#"+element_id+" td.hidden").text();
|
||||
var order = $.inArray(element_id,data);
|
||||
$.post('/secr/proceedings/ajax/order-slide/',{'slide_name':slide_name,'order':order});
|
||||
// restripe the table
|
||||
restripe('#slides.sortable');
|
||||
}
|
||||
}).disableSelection();
|
||||
}
|
||||
|
||||
function init_proceedings_table() {
|
||||
// do only if table with secretariat class exists
|
||||
if ($('table.secretariat').length) {
|
||||
// add "Show All" button
|
||||
$("#proceedings-meeting-buttons").append('<li><button type="button" id="proceedings-list-toggle" value="Show All">Show All</button></li>');
|
||||
// register button
|
||||
$("#proceedings-list-toggle").click(function() {
|
||||
if (this.value == "Show All") {
|
||||
$('#proceedings-list-table tbody tr:not(.open)').show();
|
||||
$(this).val("Show Active");
|
||||
$(this).text("Show Active");
|
||||
} else if (this.value == "Show Active") {
|
||||
$('#proceedings-list-table tbody tr:not(.open)').hide();
|
||||
$(this).val("Show All");
|
||||
$(this).text("Show All");
|
||||
}
|
||||
// restripe the table
|
||||
restripe('#proceedings-list-table');
|
||||
});
|
||||
// hide non-active areas
|
||||
$('#proceedings-list-table tbody tr:not(.open)').hide();
|
||||
restripe('#proceedings-list-table');
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
// set focus --------------------------------
|
||||
if ( $("form[id^=group-role-assignment-form]").length > 0) {
|
||||
$("#id_role_type").focus();
|
||||
} else if ( $("form[id=draft-search-form]").length > 0) {
|
||||
$("#id_filename").focus();
|
||||
} else if ( $("form[id=drafts-add-form]").length > 0) {
|
||||
$("#id_title").focus();
|
||||
} else if ( $("form[id=proceedings-add-form]").length > 0) {
|
||||
$("#id_start_date").focus();
|
||||
} else if ( $("form[id=proceedings-upload-form]").length > 0) {
|
||||
$("#id_group_name").focus();
|
||||
} else if ( $("form[id=session-request-form]").length > 0) {
|
||||
$("#id_num_session").focus();
|
||||
} else if ( $(".rooms-times-nav").length > 0){
|
||||
$("li.selected a").focus();
|
||||
} else {
|
||||
$("input:text:visible:enabled:first").focus();
|
||||
}
|
||||
|
||||
|
||||
// unset Primary Area selection unless it appears as URL parameter
|
||||
//if (($('#id_primary_area').length) && (get_param('primary_area') == '')) {
|
||||
// $('#id_primary_area')[0].selectedIndex = -1;
|
||||
|
||||
// special features for area list page
|
||||
if ($('#areas-button-list').length) {
|
||||
init_area_table();
|
||||
}
|
||||
// Setup autocomplete for adding names
|
||||
if ($('input.name-autocomplete').length) {
|
||||
$('input.name-autocomplete').autocomplete({
|
||||
source: "/secr/areas/getpeople/",
|
||||
minLength: 3,
|
||||
select: function(event, ui) {
|
||||
//match number inside paren and then strip paren
|
||||
var id = ui.item.label.match(/\(\d+\)/);
|
||||
var val = id[0].replace(/[\(\)]/g, "");
|
||||
//alert(id,val);
|
||||
//alert(id.match(/\d+/));
|
||||
$.getJSON('/secr/areas/getemails/',{"id":val},function(data) {
|
||||
$('#id_email option').remove();
|
||||
$.each(data,function(i,item) {
|
||||
$('#id_email').append('<option value="'+item.id+'">'+item.value+'</option>');
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// nav bar setup
|
||||
if ($('ul#list-nav').length) {
|
||||
style_current_tab();
|
||||
}
|
||||
|
||||
// auto populate Area Director List when primary area selected (add form)
|
||||
$('#id_primary_area').change(function(){
|
||||
$.getJSON('/secr/groups/get_ads/',{"area":$(this).val()},function(data) {
|
||||
$('#id_primary_area_director option').remove();
|
||||
$.each(data,function(i,item) {
|
||||
$('#id_primary_area_director').append('<option value="'+item.id+'">'+item.value+'</option>');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// auto populate Area Director List when area selected (edit form)
|
||||
$('#id_ietfwg-0-primary_area').change(function(){
|
||||
$.getJSON('/secr/groups/get_ads/',{"area":$(this).val()},function(data) {
|
||||
$('#id_ietfwg-0-area_director option').remove();
|
||||
$.each(data,function(i,item) {
|
||||
$('#id_ietfwg-0-area_director').append('<option value="'+item.id+'">'+item.value+'</option>');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// special features for Proceedings list page
|
||||
if ($('#proceedings-button-list').length) {
|
||||
init_proceedings_table();
|
||||
}
|
||||
|
||||
// special features for Proceedings Upload Material Page
|
||||
if ($('#proceedings-upload-table').length) {
|
||||
init_proceedings_upload();
|
||||
}
|
||||
|
||||
});
|
|
@ -3,8 +3,8 @@
|
|||
{% block title %}Areas - People{% endblock %}
|
||||
|
||||
{% block extrahead %}{{ block.super }}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'secr/css/jquery-ui-1.11.4.custom.css' %}" />
|
||||
<script type="text/javascript" src="{% static 'secr/js/jquery-ui-1.11.4.custom.min.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'ietf/css/jquery-ui.css' %}" />
|
||||
<script type="text/javascript" src="{% static 'ietf/js/jquery-ui.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'secr/js/utils.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<!doctype html>
|
||||
{% load staticfiles %}
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static 'secr/css/base.css' %}{% endblock %}" />
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'secr/css/forms.css' %}" />
|
||||
|
@ -12,11 +15,10 @@
|
|||
{% block extrastyle %}{% endblock %}
|
||||
|
||||
{% block extrahead %}
|
||||
<script type="text/javascript" src="{% static 'jquery/jquery.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'ietf/js/ietf.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %}
|
||||
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}">
|
||||
|
@ -83,4 +85,4 @@
|
|||
<!-- END Container -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
|
@ -1,11 +1,12 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<!doctype html>
|
||||
{% load staticfiles %}
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>{% block title %}{% endblock %}</title>
|
||||
<link rel="stylesheet" href="{% static 'font-awesome/css/font-awesome.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'ietf/bootstrap/css/bootstrap.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'ietf/bootstrap/css/bootstrap-theme.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/ietf.css' %}"/>
|
||||
<link rel="stylesheet" type="text/css" href="{% block stylesheet %}{% static 'secr/css/base.css' %}{% endblock %}" />
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'secr/css/forms.css' %}" />
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'secr/css/custom.css' %}" />
|
||||
|
@ -15,11 +16,10 @@
|
|||
{% block extrastyle %}{% endblock %}
|
||||
|
||||
{% block extrahead %}
|
||||
<script type="text/javascript" src="{% static 'jquery/jquery.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'ietf/js/ietf.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE" />{% endblock %}
|
||||
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
|
||||
</head>
|
||||
|
||||
<body class="{% if is_popup %}popup {% endif %}{% block bodyclass %}{% endblock %}">
|
||||
|
@ -86,4 +86,4 @@
|
|||
<!-- END Container -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
</div>
|
||||
<div id="footer-logo">
|
||||
<a href="https://www.amsl.com/"><img src="{% static 'secr/img/ams_logo.png' %}" alt="AMS" align="right" border="0" hspace="5" /></a>
|
||||
<a href="https://www.amsl.com/"><img src="{% static 'secr/images/ams_logo.png' %}" alt="AMS" align="right" border="0" hspace="5" /></a>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
|
||||
</div>
|
||||
<div id="footer-logo">
|
||||
<a href="https://www.amsl.com/"><img src="{% static 'secr/img/ams_logo.png' %}" alt="AMS" align="right" border="0" hspace="5" /></a>
|
||||
<a href="https://www.amsl.com/"><img src="{% static 'secr/images/ams_logo.png' %}" alt="AMS" align="right" border="0" hspace="5" /></a>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
{% block title %}Groups - People{% endblock %}
|
||||
|
||||
{% block extrahead %}{{ block.super }}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'secr/css/jquery-ui-1.11.4.custom.css' %}" />
|
||||
<script type="text/javascript" src="{% static 'secr/js/jquery-ui-1.11.4.custom.min.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'ietf/css/jquery-ui.css' %}" />
|
||||
<script type="text/javascript" src="{% static 'ietf/js/jquery-ui.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'secr/js/utils.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
{% block title %}Meetings{% endblock %}
|
||||
|
||||
{% block extrahead %}{{ block.super }}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'secr/css/jquery-ui-1.11.4.custom.css' %}" />
|
||||
<script type="text/javascript" src="{% static 'secr/js/jquery-ui-1.11.4.custom.min.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'ietf/css/jquery-ui.css' %}" />
|
||||
<script type="text/javascript" src="{% static 'ietf/js/jquery-ui.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'secr/js/utils.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'secr/js/dynamic_inlines.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,12 +4,12 @@
|
|||
{% block title %}Proceedings{% endblock %}
|
||||
|
||||
{% block extrastyle %}{{ block.super }}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'secr/css/jquery-ui-1.11.4.custom.css' %}" />
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'ietf/css/jquery-ui.css' %}" />
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block extrahead %}{{ block.super }}
|
||||
<script type="text/javascript" src="{% static 'secr/js/jquery-ui-1.11.4.custom.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'ietf/js/jquery-ui.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'secr/js/proceedings-recording.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<h2>Proceedings</h2>
|
||||
<hr />
|
||||
<h2>{{ message }}</h2>
|
||||
<img class="loading" src="{% static "secr/img/ajax-loader.gif" %}" alt="loading..." />
|
||||
<img class="loading" src="{% static "secr/images/ajax-loader.webp" %}" alt="loading..." />
|
||||
</div> <!-- module -->
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
{% block title %}Roles{% endblock %}
|
||||
|
||||
{% block extrahead %}{{ block.super }}
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'secr/css/jquery-ui-1.11.4.custom.css' %}" />
|
||||
<script type="text/javascript" src="{% static 'secr/js/jquery-ui-1.11.4.custom.min.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'ietf/css/jquery-ui.css' %}" />
|
||||
<script type="text/javascript" src="{% static 'ietf/js/jquery-ui.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'secr/js/utils.js' %}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
@ -16,7 +16,7 @@
|
|||
|
||||
$('#id_group').change(function(){
|
||||
var loadUrl = "/secr/roles/ajax/get-roles/" + $(this).val() + "/";
|
||||
var ajax_load = '<img class="loading" src="{% static "secr/img/ajax-loader.gif" %}" alt="loading..." />';
|
||||
var ajax_load = '<img class="loading" src="{% static "secr/images/ajax-loader.webp" %}" alt="loading..." />';
|
||||
var text = $(this).val();
|
||||
$("#id_group_acronym").val(text);
|
||||
$("#roles-list").html(ajax_load).load(loadUrl);
|
||||
|
|
|
@ -415,7 +415,7 @@ ROOT_URLCONF = 'ietf.urls'
|
|||
# Additional locations of static files (in addition to each app's static/ dir)
|
||||
STATICFILES_DIRS = (
|
||||
os.path.join(BASE_DIR, 'static/dist'),
|
||||
# os.path.join(BASE_DIR, 'secr/static'),
|
||||
os.path.join(BASE_DIR, 'secr/static/dist'),
|
||||
)
|
||||
|
||||
INSTALLED_APPS = [
|
||||
|
|
1
ietf/static/.gitignore
vendored
|
@ -1 +1,2 @@
|
|||
/*.coverage
|
||||
/dist
|
||||
|
|
1
ietf/static/css/jquery-ui.scss
Normal file
|
@ -0,0 +1 @@
|
|||
@import "~/node_modules/jquery-ui/themes/base/all.css";
|
135
ietf/static/css/liaisons.css
Normal file
|
@ -0,0 +1,135 @@
|
|||
.baseform {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.baseform .fieldset {
|
||||
margin: 1em 0px;
|
||||
border: none;
|
||||
border: 1px solid #8899dd;
|
||||
background-color: #edf5ff;
|
||||
}
|
||||
|
||||
.baseform .fieldset h2 {
|
||||
background-color: #2647a0;
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
padding: 5px 10px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.baseform .field {
|
||||
padding: 0.5em 10px;
|
||||
}
|
||||
|
||||
.baseform .field label {
|
||||
display: block;
|
||||
width: 150px;
|
||||
float: left;
|
||||
clear: left;
|
||||
}
|
||||
|
||||
.baseform .field .endfield {
|
||||
clear: left;
|
||||
}
|
||||
|
||||
.baseform .fieldWidget {
|
||||
margin-left: 150px;
|
||||
}
|
||||
|
||||
.baseform #baseform-fieldname-purpose_text,
|
||||
.baseform #baseform-fieldname-deadline_date {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.baseform select,
|
||||
.baseform textarea,
|
||||
.baseform input {
|
||||
border: 1px solid #cccccc;
|
||||
}
|
||||
|
||||
.baseform input {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
#id_title,
|
||||
.baseformedit #id_from_field,
|
||||
.baseform #id_organization,
|
||||
.baseform #id_to_poc,
|
||||
.baseform #id_response_contacts,
|
||||
.baseform #id_technical_contact,
|
||||
.baseform #id_cc1,
|
||||
.attach_titleField input,
|
||||
.baseform textarea {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
#id_purpose_text {
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
#id_body {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.baseform input.disabledAddAttachment {
|
||||
border: none;
|
||||
padding: none;
|
||||
background: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
span.fieldRequired {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.fieldError {
|
||||
background-color: #ffcc66;
|
||||
}
|
||||
|
||||
th.sort {
|
||||
/*background-image: url(/images/sort-header-clear.png);*/
|
||||
background-repeat: no-repeat;
|
||||
background-position: right center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
th.headerSortUp {
|
||||
/*background-image: url(/images/sort-header-up-filled.png);*/
|
||||
}
|
||||
|
||||
th.headerSortDown {
|
||||
/*background-image: url(/images/sort-header-filled.png);*/
|
||||
}
|
||||
|
||||
td span.awaiting {
|
||||
background-color: #ffcc33;
|
||||
border-radius: 3px;
|
||||
float: right;
|
||||
width: 35px;
|
||||
padding: 4px 8px;
|
||||
text-align: center;
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.noActionTaken, .actionTaken { padding: 2px 5px; }
|
||||
.actionTaken { border: 1px solid green; background-color: #ccffbb; }
|
||||
.noActionTaken { border: 1px solid red; background-color: #ffccbb; }
|
||||
|
||||
input[id$='DELETE'] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#id_from_groups + span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#id_to_groups + span {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.liaison-group-col {
|
||||
min-width: 10em;
|
||||
}
|
BIN
ietf/static/images/arrow-ani.webp
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
ietf/static/images/iesg-draft-state-diagram.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
ietf/static/images/ietf-icon-blue3.png
Normal file
After Width: | Height: | Size: 151 B |
BIN
ietf/static/images/sprite.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
151
ietf/static/js/complete-review.js
Normal file
|
@ -0,0 +1,151 @@
|
|||
$(document).ready(function () {
|
||||
var form = $("form.complete-review");
|
||||
|
||||
var reviewedRev = form.find("[name=reviewed_rev]");
|
||||
reviewedRev.closest(".form-group").find("a.rev").on("click", function (e) {
|
||||
e.preventDefault();
|
||||
reviewedRev.val($(this).text());
|
||||
});
|
||||
|
||||
// mail archive search functionality
|
||||
var mailArchiveSearchTemplate = form.find(".template .mail-archive-search").parent().html();
|
||||
var mailArchiveSearchResultTemplate = form.find(".template .mail-archive-search-result").parent().html();
|
||||
|
||||
form.find("[name=review_url]").closest(".form-group").before(mailArchiveSearchTemplate);
|
||||
|
||||
var mailArchiveSearch = form.find(".mail-archive-search");
|
||||
|
||||
var retrievingData = null;
|
||||
|
||||
function searchMailArchive() {
|
||||
if (retrievingData)
|
||||
return;
|
||||
|
||||
var queryInput = mailArchiveSearch.find(".query-input");
|
||||
if (queryInput.length == 0 || !$.trim(queryInput.val()))
|
||||
return;
|
||||
|
||||
mailArchiveSearch.find(".search").prop("disabled", true);
|
||||
mailArchiveSearch.find(".error").addClass("hidden");
|
||||
mailArchiveSearch.find(".retrieving").removeClass("hidden");
|
||||
mailArchiveSearch.find(".results").addClass("hidden");
|
||||
|
||||
retrievingData = $.ajax({
|
||||
url: searchMailArchiveUrl,
|
||||
method: "GET",
|
||||
data: {
|
||||
query: queryInput.val()
|
||||
},
|
||||
dataType: "json",
|
||||
timeout: 20 * 1000
|
||||
}).then(function (data) {
|
||||
retrievingData = null;
|
||||
mailArchiveSearch.find(".search").prop("disabled", false);
|
||||
mailArchiveSearch.find(".retrieving").addClass("hidden");
|
||||
|
||||
var err = data.error;
|
||||
if (!err && (!data.messages || !data.messages.length))
|
||||
err = "No messages matching document name found in archive";
|
||||
|
||||
var non_reply_row = null;
|
||||
if (err) {
|
||||
var errorDiv = mailArchiveSearch.find(".error");
|
||||
errorDiv.removeClass("hidden");
|
||||
errorDiv.find(".content").text(err);
|
||||
if (data.query && data.query_url && data.query_data_url) {
|
||||
errorDiv.find(".try-yourself .query").text(data.query);
|
||||
errorDiv.find(".try-yourself .query-url").prop("href", data.query_url);
|
||||
errorDiv.find(".try-yourself .query-data-url").prop("href", data.query_data_url);
|
||||
errorDiv.find(".try-yourself").removeClass("hidden");
|
||||
}
|
||||
}
|
||||
else {
|
||||
mailArchiveSearch.find(".results").removeClass("hidden");
|
||||
|
||||
var results = mailArchiveSearch.find(".results .list-group");
|
||||
results.children().remove();
|
||||
|
||||
for (var i = 0; i < data.messages.length; ++i) {
|
||||
var msg = data.messages[i];
|
||||
var row = $(mailArchiveSearchResultTemplate).attr("title", "Click to fill in link and content from this message");
|
||||
row.find(".subject").text(msg.subject);
|
||||
row.find(".date").text(msg.utcdate[0]);
|
||||
row.find(".from").text(msg.splitfrom[0]);
|
||||
row.data("url", msg.url);
|
||||
row.data("content", msg.content);
|
||||
row.data("date", msg.utcdate[0]);
|
||||
row.data("time", msg.utcdate[1]);
|
||||
row.data("revision_guess", msg.revision_guess);
|
||||
results.append(row);
|
||||
if (msg.subject.toUpperCase().substr(0, 3) !== 'RE:') {
|
||||
non_reply_row = row;
|
||||
}
|
||||
}
|
||||
if (!isReviewer && non_reply_row) {
|
||||
// Automatically select the first non-reply.
|
||||
non_reply_row.click();
|
||||
}
|
||||
}
|
||||
}, function () {
|
||||
retrievingData = null;
|
||||
mailArchiveSearch.find(".search").prop("disabled", false);
|
||||
mailArchiveSearch.find(".retrieving").addClass("hidden");
|
||||
|
||||
var errorDiv = mailArchiveSearch.find(".error");
|
||||
errorDiv.removeClass("hidden");
|
||||
errorDiv.find(".content").text("Error trying to retrieve data from mailing list archive.");
|
||||
});
|
||||
}
|
||||
|
||||
mailArchiveSearch.find(".search").on("click", function () {
|
||||
searchMailArchive();
|
||||
});
|
||||
|
||||
mailArchiveSearch.find(".results").on("click", ".mail-archive-search-result", function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
var row = $(this);
|
||||
if (!row.is(".mail-archive-search-result"))
|
||||
row = row.closest(".mail-archive-search-result");
|
||||
|
||||
form.find("[name=review_url]").val(row.data("url"));
|
||||
form.find("[name=review_content]").val(row.data("content")).prop("scrollTop", 0);
|
||||
form.find("[name=completion_date]").val(row.data("date"));
|
||||
form.find("[name=completion_time]").val(row.data("time"));
|
||||
form.find("[name=reviewed_rev]").val(row.data("revision_guess"));
|
||||
});
|
||||
|
||||
|
||||
// review submission selection
|
||||
form.find("[name=review_submission]").on("click change", function () {
|
||||
var val = form.find("[name=review_submission]:checked").val();
|
||||
|
||||
var shouldBeVisible = {
|
||||
"enter": ['[name="review_content"]', '[name="cc"]'],
|
||||
"upload": ['[name="review_file"]', '[name="cc"]'],
|
||||
"link": [".mail-archive-search", '[name="review_url"]', '[name="review_content"]']
|
||||
};
|
||||
|
||||
for (var v in shouldBeVisible) {
|
||||
for (var i in shouldBeVisible[v]) {
|
||||
var selector = shouldBeVisible[v][i];
|
||||
var row = form.find(selector);
|
||||
if (!row.is(".form-group"))
|
||||
row = row.closest(".form-group");
|
||||
|
||||
if ($.inArray(selector, shouldBeVisible[val]) != -1)
|
||||
row.show();
|
||||
else
|
||||
row.hide();
|
||||
}
|
||||
}
|
||||
|
||||
if (val == "link")
|
||||
searchMailArchive();
|
||||
}).trigger("change");
|
||||
|
||||
if (!isReviewer) {
|
||||
// Select mail search by default for secretary completions.
|
||||
form.find("[name=review_submission][value=link]").click()
|
||||
}
|
||||
});
|
43
ietf/static/js/create_timeslot.js
Normal file
|
@ -0,0 +1,43 @@
|
|||
// Copyright The IETF Trust 2021, All Rights Reserved
|
||||
/* global URLSearchParams */
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
function initialize() {
|
||||
const form = document.getElementById('timeslot-form');
|
||||
if (!form) {
|
||||
return;
|
||||
}
|
||||
|
||||
const params = new URLSearchParams(document.location.search);
|
||||
const day = params.get('day');
|
||||
const date = params.get('date');
|
||||
const location = params.get('location');
|
||||
const time = params.get('time');
|
||||
const duration = params.get('duration');
|
||||
|
||||
if (day) {
|
||||
const inp = form.querySelector('#id_days input[value="' + day +'"]');
|
||||
if (inp) {
|
||||
inp.checked = true;
|
||||
} else if (date) {
|
||||
const date_field = form.querySelector('#id_other_date');
|
||||
date_field.value = date;
|
||||
}
|
||||
}
|
||||
if (location) {
|
||||
const inp = form.querySelector('#id_locations input[value="' + location + '"]');
|
||||
inp.checked=true;
|
||||
}
|
||||
if (time) {
|
||||
const inp = form.querySelector('input#id_time');
|
||||
inp.value = time;
|
||||
}
|
||||
if (duration) {
|
||||
const inp = form.querySelector('input#id_duration');
|
||||
inp.value = duration;
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('load', initialize);
|
||||
})();
|
156
ietf/static/js/edit-meeting-timeslots-and-misc-sessions.js
Normal file
|
@ -0,0 +1,156 @@
|
|||
jQuery(document).ready(function () {
|
||||
function reportServerError(xhr, textStatus, error) {
|
||||
let errorText = error || textStatus;
|
||||
if (xhr && xhr.responseText)
|
||||
errorText += "\n\n" + xhr.responseText;
|
||||
alert("Error: " + errorText);
|
||||
}
|
||||
|
||||
let content = jQuery(".edit-meeting-timeslots-and-misc-sessions");
|
||||
|
||||
if (content.data('scroll'))
|
||||
jQuery(document).scrollTop(+content.data('scroll'));
|
||||
else {
|
||||
let scrollFragment = "#scroll=";
|
||||
if (window.location.hash.slice(0, scrollFragment.length) == scrollFragment && !isNaN(+window.location.hash.slice(scrollFragment.length))) {
|
||||
jQuery(document).scrollTop(+window.location.hash.slice(scrollFragment.length));
|
||||
history.replaceState(null, document.title, window.location.pathname + window.location.search);
|
||||
}
|
||||
}
|
||||
|
||||
function reportServerError(xhr, textStatus, error) {
|
||||
let errorText = error || textStatus;
|
||||
if (xhr && xhr.responseText)
|
||||
errorText += "\n\n" + xhr.responseText;
|
||||
alert("Error: " + errorText);
|
||||
}
|
||||
|
||||
let timeslots = content.find(".timeslot");
|
||||
|
||||
timeslots.each(function () {
|
||||
jQuery(this).tooltip({title: jQuery(this).text()});
|
||||
});
|
||||
|
||||
content.find(".day-grid").on("click", cancelCurrentActivity);
|
||||
|
||||
let schedulingPanel = content.find(".scheduling-panel");
|
||||
|
||||
function cancelCurrentActivity() {
|
||||
content.find(".selected").removeClass("selected");
|
||||
|
||||
schedulingPanel.hide();
|
||||
schedulingPanel.find(".panel-content").children().remove();
|
||||
// if we came from a failed POST, that's no longer relevant so overwrite history
|
||||
history.replaceState(null, document.title, window.location.pathname + window.location.search);
|
||||
}
|
||||
|
||||
if (!content.hasClass("read-only")) {
|
||||
// we handle the hover effect in Javascript because we don't want
|
||||
// it to show in case the timeslot itself is hovered
|
||||
content.find(".room-label,.timeline").on("mouseover", function () {
|
||||
jQuery(this).closest(".day").find(".timeline.hover").removeClass("hover");
|
||||
jQuery(this).closest(".room-row").find(".timeline").addClass("hover");
|
||||
}).on("mouseleave", function (){
|
||||
jQuery(this).closest(".day").find(".timeline.hover").removeClass("hover");
|
||||
});
|
||||
|
||||
content.find(".timeline .timeslot").on("mouseover", function (e) {
|
||||
e.stopPropagation();
|
||||
jQuery(this).closest(".day").find(".timeline.hover").removeClass("hover");
|
||||
}).on("mouseleave", function (e) {
|
||||
jQuery(this).closest(".day").find(".timeline.hover").removeClass("hover");
|
||||
});
|
||||
|
||||
content.find(".room-row").on("click", function (e) {
|
||||
e.stopPropagation();
|
||||
cancelCurrentActivity();
|
||||
|
||||
jQuery(this).find(".timeline").addClass("selected");
|
||||
|
||||
schedulingPanel.find(".panel-content").append(content.find(".add-timeslot-template").html());
|
||||
schedulingPanel.find("[name=day]").val(this.dataset.day);
|
||||
schedulingPanel.find("[name=location]").val(this.dataset.room);
|
||||
schedulingPanel.find("[name=type]").trigger("change");
|
||||
schedulingPanel.show();
|
||||
schedulingPanel.find("[name=time]").focus();
|
||||
});
|
||||
}
|
||||
|
||||
content.find(".timeline .timeslot").on("click", function (e) {
|
||||
e.stopPropagation();
|
||||
|
||||
let element = jQuery(this);
|
||||
|
||||
element.addClass("selected");
|
||||
|
||||
jQuery.ajax({
|
||||
url: window.location.href,
|
||||
method: "get",
|
||||
timeout: 5 * 1000,
|
||||
data: {
|
||||
action: "edit-timeslot",
|
||||
timeslot: this.id.slice("timeslot".length)
|
||||
}
|
||||
}).fail(reportServerError).done(function (response) {
|
||||
if (!response.form) {
|
||||
reportServerError(null, null, response);
|
||||
return;
|
||||
}
|
||||
|
||||
cancelCurrentActivity();
|
||||
element.addClass("selected");
|
||||
|
||||
schedulingPanel.find(".panel-content").append(response.form);
|
||||
schedulingPanel.find(".timeslot-form [name=type]").trigger("change");
|
||||
schedulingPanel.find(".timeslot-form").show();
|
||||
schedulingPanel.show();
|
||||
});
|
||||
});
|
||||
|
||||
content.on("change click", ".timeslot-form [name=type]", function () {
|
||||
let form = jQuery(this).closest("form");
|
||||
|
||||
let hide = {};
|
||||
|
||||
form.find("[name=group],[name=short],[name=\"agenda_note\"]").prop('disabled', false).closest(".form-group").show();
|
||||
|
||||
if (this.value == "break") {
|
||||
form.find("[name=short]").closest(".form-group").hide();
|
||||
}
|
||||
else if (this.value == "plenary") {
|
||||
let group = form.find("[name=group]");
|
||||
group.val(group.data('ietf'));
|
||||
}
|
||||
else if (this.value == "regular") {
|
||||
form.find("[name=short]").closest(".form-group").hide();
|
||||
}
|
||||
|
||||
if (this.value != "regular")
|
||||
form.find("[name=\"agenda_note\"]").closest(".form-group").hide();
|
||||
|
||||
if (['break', 'reg', 'reserved', 'unavail', 'regular'].indexOf(this.value) != -1) {
|
||||
let group = form.find("[name=group]");
|
||||
group.prop('disabled', true);
|
||||
group.closest(".form-group").hide();
|
||||
}
|
||||
});
|
||||
|
||||
content.on("submit", ".timeslot-form", function () {
|
||||
let form = jQuery(this).closest("form");
|
||||
form.find("[name=scroll]").remove();
|
||||
form.append("<input type=hidden name=scroll value=" + jQuery(document).scrollTop() + ">");
|
||||
});
|
||||
|
||||
content.on("click", "button[type=submit][name=action][value=\"delete-timeslot\"],button[type=submit][name=action][value=\"cancel-timeslot\"]", function (e) {
|
||||
let msg = this.value == "delete-timeslot" ? "Delete this time slot?" : "Cancel the session in this time slot?";
|
||||
if (!confirm(msg)) {
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
|
||||
schedulingPanel.find(".close").on("click", function () {
|
||||
cancelCurrentActivity();
|
||||
});
|
||||
|
||||
schedulingPanel.find('.timeslot-form [name=type]').trigger("change");
|
||||
});
|
187
ietf/static/js/edit-milestones.js
Normal file
|
@ -0,0 +1,187 @@
|
|||
$(document).ready(function () {
|
||||
var idCounter = -1;
|
||||
var milestonesForm = $('#milestones-form');
|
||||
var group_uses_milestone_dates = ( $('#uses_milestone_dates').length > 0 );
|
||||
var milestone_order_has_changed = false;
|
||||
var switch_date_use_form = $("#switch-date-use-form")
|
||||
|
||||
// make sure we got the lowest number for idCounter
|
||||
milestonesForm.find('.edit-milestone input[name$="-id"]').each(function () {
|
||||
var v = +this.value;
|
||||
if (!isNaN(v) && v < idCounter)
|
||||
idCounter = v - 1;
|
||||
});
|
||||
|
||||
function setChanged() {
|
||||
$(this).closest(".edit-milestone").addClass("changed");
|
||||
setSubmitButtonState();
|
||||
if (switch_date_use_form) {
|
||||
switch_date_use_form.hide();
|
||||
}
|
||||
}
|
||||
|
||||
milestonesForm.on("change", '.edit-milestone select,.edit-milestone input,.edit-milestone textarea', setChanged);
|
||||
milestonesForm.on("click", '.edit-milestone .select2 input', setChanged);
|
||||
|
||||
// the required stuff seems to trip up many browsers with dynamic forms
|
||||
milestonesForm.find("input").prop("required", false);
|
||||
|
||||
|
||||
function setSubmitButtonState() {
|
||||
var action, label;
|
||||
if ( milestonesForm.find("input[name$=delete]:visible").length > 0 || milestone_order_has_changed )
|
||||
action = "review";
|
||||
else
|
||||
action = "save";
|
||||
|
||||
milestonesForm.find("input[name=action]").val(action);
|
||||
|
||||
var submit = milestonesForm.find("[type=submit]");
|
||||
submit.text(submit.data("label" + action));
|
||||
if (milestonesForm.find(".edit-milestone.changed,.edit-milestone.delete").length > 0 || action == "review")
|
||||
submit.show();
|
||||
else
|
||||
submit.hide();
|
||||
}
|
||||
|
||||
milestonesForm.find(".milestone").click(function () {
|
||||
var row = $(this), editRow = row.next(".edit-milestone");
|
||||
row.hide();
|
||||
editRow.show();
|
||||
|
||||
editRow.find('input[name$="desc"]').focus();
|
||||
|
||||
setSubmitButtonState();
|
||||
|
||||
// collapse unchanged rows
|
||||
milestonesForm.find(".milestone").not(this).each(function () {
|
||||
var e = $(this).next('.edit-milestone');
|
||||
if (e.is(":visible") && !e.hasClass("changed")) {
|
||||
$(this).show();
|
||||
e.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
milestonesForm.find(".add-milestone").click(function() {
|
||||
var template = $("#extratemplatecontainer .extratemplate");
|
||||
var templateclone = template.clone();
|
||||
$("#dragdropcontainer").append(templateclone);
|
||||
var new_milestone = $("#dragdropcontainer > div:last")
|
||||
var new_edit_milestone = new_milestone.find(".edit-milestone");
|
||||
var new_edit_milestone_order = $("#dragdropcontainer > div").length
|
||||
|
||||
new_milestone.removeClass("extratemplate")
|
||||
new_milestone.addClass("draggable")
|
||||
new_milestone.addClass("milestonerow")
|
||||
|
||||
var newId = idCounter;
|
||||
--idCounter;
|
||||
|
||||
var prefix = "m" + newId;
|
||||
new_edit_milestone.find('input[name="prefix"]').val(prefix);
|
||||
new_edit_milestone.find('input[name="order"]').val(new_edit_milestone_order);
|
||||
|
||||
new_edit_milestone.find("input,select,textarea").each(function () {
|
||||
if (this.name == "prefix")
|
||||
return;
|
||||
|
||||
if (this.name == "id")
|
||||
this.value = "" + idCounter;
|
||||
|
||||
this.name = prefix + "-" + this.name;
|
||||
this.id = prefix + "-" + this.id;
|
||||
});
|
||||
new_edit_milestone.find("label").each(function () {
|
||||
if (this.htmlFor)
|
||||
this.htmlFor = prefix + "-" + this.htmlFor;
|
||||
});
|
||||
|
||||
new_edit_milestone.removeClass("template");
|
||||
new_edit_milestone.show();
|
||||
|
||||
new_edit_milestone.find(".select2-field").each(function () {
|
||||
window.setupSelect2Field($(this)); // from select2-field.js
|
||||
});
|
||||
|
||||
if ( ! group_uses_milestone_dates ) {
|
||||
setOrderControlValue();
|
||||
}
|
||||
});
|
||||
|
||||
function setResolvedState() {
|
||||
var resolved = $(this).is(":checked");
|
||||
var label = $(this).closest(".edit-milestone").find("label[for=" + this.id + "]");
|
||||
var reason = $(this).closest(".edit-milestone").find("[name$=resolved]");
|
||||
if (resolved) {
|
||||
reason.closest(".form-group").show();
|
||||
if (!reason.val())
|
||||
reason.val(reason.data("default"));
|
||||
}
|
||||
else {
|
||||
reason.closest(".form-group").hide();
|
||||
reason.val("");
|
||||
}
|
||||
}
|
||||
|
||||
milestonesForm.find(".edit-milestone [name$=resolved_checkbox]").each(setResolvedState);
|
||||
milestonesForm.on("change", ".edit-milestone [name$=resolved_checkbox]", setResolvedState);
|
||||
|
||||
function setDeleteState() {
|
||||
var edit = $(this).closest(".edit-milestone"), row = edit.prev(".milestone");
|
||||
|
||||
if ($(this).is(":checked")) {
|
||||
if (+edit.find('input[name$="id"]').val() < 0) {
|
||||
edit.remove();
|
||||
setSubmitButtonState();
|
||||
}
|
||||
else {
|
||||
row.addClass("delete");
|
||||
edit.addClass("delete");
|
||||
}
|
||||
}
|
||||
else {
|
||||
row.removeClass("delete");
|
||||
edit.removeClass("delete");
|
||||
}
|
||||
}
|
||||
|
||||
function setOrderControlValue() {
|
||||
$("#dragdropcontainer > div").each(function(index){
|
||||
var prefix = $(this).find('input[name="prefix"]').val();
|
||||
$(this).find('input[name="'+prefix+'-order"]').val(index)
|
||||
})
|
||||
}
|
||||
|
||||
milestonesForm.find(".edit-milestone [name$=delete]").each(setDeleteState);
|
||||
milestonesForm.on("change", ".edit-milestone input[name$=delete]", setDeleteState);
|
||||
|
||||
milestonesForm.find('.edit-milestone .has-error').each(function () {
|
||||
$(this).closest(".edit-milestone").prev().click();
|
||||
});
|
||||
|
||||
setSubmitButtonState();
|
||||
|
||||
if ( ! group_uses_milestone_dates) {
|
||||
setOrderControlValue();
|
||||
|
||||
function onEnd(event) {
|
||||
milestone_order_has_changed = true;
|
||||
setSubmitButtonState();
|
||||
setOrderControlValue();
|
||||
if (switch_date_use_form) {
|
||||
switch_date_use_form.hide();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
var options = {
|
||||
animation: 150,
|
||||
draggable: ".draggable",
|
||||
onEnd: function(event) {onEnd(event)}
|
||||
};
|
||||
|
||||
var el = document.getElementById('dragdropcontainer');
|
||||
var sortable = new Sortable(el, options);
|
||||
}
|
||||
});
|
55
ietf/static/js/ipr-edit.js
Normal file
|
@ -0,0 +1,55 @@
|
|||
$(document).ready(function() {
|
||||
var form = $(".ipr-form");
|
||||
|
||||
var template = form.find('.draft-row.template');
|
||||
|
||||
var templateData = template.clone();
|
||||
|
||||
$('.draft-add-row').click(function() {
|
||||
var el = template.clone(true);
|
||||
var totalField = $('#id_iprdocrel_set-TOTAL_FORMS');
|
||||
var total = +totalField.val();
|
||||
|
||||
el.find(':input').each(function() {
|
||||
var name = $(this).attr('name').replace('-' + (total-1) + '-','-' + total + '-');
|
||||
var id = 'id_' + name;
|
||||
$(this).attr({'name': name, 'id': id}).val('');
|
||||
});
|
||||
|
||||
el.find('label').each(function() {
|
||||
var newFor = $(this).attr('for').replace('-' + (total-1) + '-','-' + total + '-');
|
||||
$(this).attr('for', newFor);
|
||||
});
|
||||
|
||||
++total;
|
||||
|
||||
totalField.val(total);
|
||||
|
||||
template.before(el);
|
||||
el.removeClass("template");
|
||||
|
||||
el.find(".select2-field").each(function () {
|
||||
setupSelect2Field($(this));
|
||||
});
|
||||
});
|
||||
|
||||
function updateRevisions() {
|
||||
var selectbox = $(this).find('[name$="document"]');
|
||||
if (selectbox.val()) {
|
||||
var name = selectbox.select2("data").text;
|
||||
if (name.toLowerCase().substring(0, 3) == "rfc")
|
||||
$(this).find('[name$=revisions]').val("").hide();
|
||||
else
|
||||
$(this).find('[name$=revisions]').show();
|
||||
}
|
||||
}
|
||||
|
||||
form.on("change", ".select2-field", function () {
|
||||
$(this).closest(".draft-row").each(updateRevisions);
|
||||
});
|
||||
|
||||
// add a little bit of delay to let the select2 box have time to do its magic
|
||||
setTimeout(function () {
|
||||
form.find(".draft-row").each(updateRevisions);
|
||||
}, 10);
|
||||
});
|
27
ietf/static/js/ipr-search.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
$(document).ready(function() {
|
||||
// hack the "All States" check box
|
||||
$("#id_state").addClass("list-inline");
|
||||
|
||||
$("#id_state input[value!=all]").change(function(e) {
|
||||
if (this.checked) {
|
||||
$("#id_state input[value=all]").prop('checked',false);
|
||||
}
|
||||
});
|
||||
|
||||
$("#id_state_0").change(function(e) {
|
||||
if (this.checked) {
|
||||
$("#id_state input[value!=all]").prop('checked',false);
|
||||
}
|
||||
});
|
||||
|
||||
// make enter presses submit through the nearby button
|
||||
$("form.ipr-search input,select").keyup(function (e) {
|
||||
var submitButton = $(this).closest(".form-group").find('button[type=submit]');
|
||||
if (e.which == 13 && submitButton.length > 0) {
|
||||
submitButton.click();
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
});
|
20
ietf/static/js/jquery-ui.js
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
var accordion = require("jquery-ui/ui/widgets/accordion");
|
||||
var autocomplete = require("jquery-ui/ui/widgets/autocomplete");
|
||||
var button = require("jquery-ui/ui/widgets/button");
|
||||
var checkboxradio = require("jquery-ui/ui/widgets/checkboxradio");
|
||||
var controlgroup = require("jquery-ui/ui/widgets/controlgroup");
|
||||
var datepicker = require("jquery-ui/ui/widgets/datepicker");
|
||||
var dialog = require("jquery-ui/ui/widgets/dialog");
|
||||
var draggable = require("jquery-ui/ui/widgets/draggable");
|
||||
var droppable = require("jquery-ui/ui/widgets/droppable");
|
||||
var menu = require("jquery-ui/ui/widgets/menu");
|
||||
var mouse = require("jquery-ui/ui/widgets/mouse");
|
||||
var progressbar = require("jquery-ui/ui/widgets/progressbar");
|
||||
var resizable = require("jquery-ui/ui/widgets/resizable");
|
||||
var selectable = require("jquery-ui/ui/widgets/selectable");
|
||||
var selectmenu = require("jquery-ui/ui/widgets/selectmenu");
|
||||
var slider = require("jquery-ui/ui/widgets/slider");
|
||||
var sortable = require("jquery-ui/ui/widgets/sortable");
|
||||
var spinner = require("jquery-ui/ui/widgets/spinner");
|
||||
var tabs = require("jquery-ui/ui/widgets/tabs");
|
||||
var tooltip = require("jquery-ui/ui/widgets/tooltip");
|
1
ietf/static/js/js-cookie.js
Normal file
|
@ -0,0 +1 @@
|
|||
import "js-cookie";
|
101
ietf/static/js/manage-review-requests.js
Normal file
|
@ -0,0 +1,101 @@
|
|||
$(document).ready(function () {
|
||||
var form = $("form.review-requests");
|
||||
var saveButtons = form.find("[name=action][value^=\"save\"]");
|
||||
|
||||
function updateSaveButtons() {
|
||||
saveButtons.prop("disabled", form.find("[name$=\"-action\"][value][value!=\"\"]").length == 0);
|
||||
}
|
||||
|
||||
function setControlDisplay(row) {
|
||||
var action = row.find("[name$=\"-action\"]").val();
|
||||
if (action == "assign") {
|
||||
row.find(".reviewer-controls").show();
|
||||
row.find(".close-controls").hide();
|
||||
row.find(".assign-action,.close-action").hide();
|
||||
}
|
||||
else if (action == "close") {
|
||||
row.find(".reviewer-controls").hide();
|
||||
row.find(".close-controls").show();
|
||||
row.find(".assign-action,.close-action").hide();
|
||||
}
|
||||
else {
|
||||
row.find(".reviewer-controls,.close-controls").hide();
|
||||
row.find(".assign-action,.close-action").show();
|
||||
}
|
||||
|
||||
updateSaveButtons();
|
||||
}
|
||||
|
||||
form.find(".assign-action button").on("click", function () {
|
||||
var row = $(this).closest(".review-request");
|
||||
|
||||
var select = row.find(".reviewer-controls [name$=\"-reviewer\"]");
|
||||
if (!select.val()) {
|
||||
// collect reviewers already assigned in this session
|
||||
var reviewerAssigned = {};
|
||||
select.find("option").each(function () {
|
||||
if (this.value)
|
||||
reviewerAssigned[this.value] = 0;
|
||||
});
|
||||
|
||||
form.find("[name$=\"-action\"][value=\"assign\"]").each(function () {
|
||||
var v = $(this).closest(".review-request").find("[name$=\"-reviewer\"]").val();
|
||||
if (v)
|
||||
reviewerAssigned[v] += 1;
|
||||
});
|
||||
|
||||
// by default, the select box contains a sorted list, so
|
||||
// we should be able to select the first, unless that
|
||||
// person has already been assigned to review in this
|
||||
// session
|
||||
var found = null;
|
||||
var options = select.find("option").get();
|
||||
for (var round = 0; round < 100 && !found; ++round) {
|
||||
for (var i = 0; i < options.length && !found; ++i) {
|
||||
var v = options[i].value;
|
||||
if (!v)
|
||||
continue;
|
||||
|
||||
if (reviewerAssigned[v] == round)
|
||||
found = v;
|
||||
}
|
||||
}
|
||||
|
||||
if (found)
|
||||
select.val(found);
|
||||
}
|
||||
|
||||
row.find("[name$=\"-action\"]").val("assign");
|
||||
setControlDisplay(row);
|
||||
});
|
||||
|
||||
form.find(".reviewer-controls .undo").on("click", function () {
|
||||
var row = $(this).closest(".review-request");
|
||||
row.find("[name$=\"-action\"]").val("");
|
||||
row.find("[name$=\"-reviewer\"]").val($(this).data("initial"));
|
||||
setControlDisplay(row);
|
||||
});
|
||||
|
||||
form.find(".close-action button").on("click", function () {
|
||||
var row = $(this).closest(".review-request");
|
||||
row.find("[name$=\"-action\"]").val("close");
|
||||
setControlDisplay(row);
|
||||
});
|
||||
|
||||
form.find(".close-controls .undo").on("click", function () {
|
||||
var row = $(this).closest(".review-request");
|
||||
row.find("[name$=\"-action\"]").val("");
|
||||
setControlDisplay(row);
|
||||
});
|
||||
|
||||
form.find("[name$=\"-action\"]").each(function () {
|
||||
var v = $(this).val();
|
||||
if (!v)
|
||||
return;
|
||||
|
||||
var row = $(this).closest(".review-request");
|
||||
setControlDisplay(row);
|
||||
});
|
||||
|
||||
updateSaveButtons();
|
||||
});
|
234
ietf/static/js/meeting-interim-request.js
Normal file
|
@ -0,0 +1,234 @@
|
|||
|
||||
var interimRequest = {
|
||||
// functions for Interim Meeting Request
|
||||
init : function() {
|
||||
// get elements
|
||||
interimRequest.form = $(this);
|
||||
interimRequest.addButton = $('#add_session');
|
||||
interimRequest.inPerson = $('#id_in_person');
|
||||
interimRequest.timezone = $('#id_time_zone');
|
||||
// bind functions
|
||||
$('.select2-field').select2();
|
||||
interimRequest.addButton.click(interimRequest.addSession);
|
||||
$('.btn-delete').click(interimRequest.deleteSession);
|
||||
interimRequest.inPerson.change(interimRequest.toggleLocation);
|
||||
$('input[name="meeting_type"]').change(interimRequest.meetingTypeChanged);
|
||||
$('input[name$="-requested_duration"]').blur(interimRequest.calculateEndTime);
|
||||
$('input[name$="-time"]').blur(interimRequest.calculateEndTime);
|
||||
$('input[name$="-time"]').blur(interimRequest.updateInfo);
|
||||
$('input[name$="-end_time"]').change(interimRequest.updateInfo);
|
||||
interimRequest.timezone.change(interimRequest.timezoneChange);
|
||||
// init
|
||||
interimRequest.inPerson.each(interimRequest.toggleLocation);
|
||||
interimRequest.checkAddButton();
|
||||
interimRequest.checkHelpText();
|
||||
interimRequest.initTimezone();
|
||||
$('input[name$="-time"]').each(interimRequest.calculateEndTime);
|
||||
$('input[name$="-time"]').each(interimRequest.updateInfo);
|
||||
$('#id_country').select2({placeholder:"Country"});
|
||||
},
|
||||
|
||||
addSession : function() {
|
||||
var template = interimRequest.form.find('.fieldset.template');
|
||||
var el = template.clone(true);
|
||||
var totalField = $('#id_session_set-TOTAL_FORMS');
|
||||
var total = +totalField.val();
|
||||
var meeting_type = $('input[name="meeting_type"]:checked').val();
|
||||
|
||||
// increment formset counter
|
||||
template.find(':input').each(function() {
|
||||
var name = $(this).attr('name').replace('-' + (total-1) + '-','-' + total + '-');
|
||||
var id = 'id_' + name;
|
||||
$(this).attr({'name': name, 'id': id}).val('');
|
||||
});
|
||||
|
||||
template.find('label').each(function() {
|
||||
var newFor = $(this).attr('for').replace('-' + (total-1) + '-','-' + total + '-');
|
||||
$(this).attr('for', newFor);
|
||||
});
|
||||
|
||||
template.find('div.utc-time').each(function() {
|
||||
var newId = $(this).attr('id').replace('-' + (total-1) + '-','-' + total + '-');
|
||||
$(this).attr('id', newId);
|
||||
});
|
||||
|
||||
++total;
|
||||
|
||||
totalField.val(total);
|
||||
|
||||
template.before(el);
|
||||
el.removeClass("template");
|
||||
|
||||
el.find(".select2-field").each(function () {
|
||||
setupSelect2Field($(this));
|
||||
});
|
||||
|
||||
// copy field contents
|
||||
var first_session = $(".fieldset:first");
|
||||
el.find("input[name$='remote_instructions']").val(first_session.find("input[name$='remote_instructions']").val());
|
||||
|
||||
$('.btn-delete').removeClass("hidden");
|
||||
},
|
||||
|
||||
updateInfo : function() {
|
||||
// makes ajax call to server and sets UTC field
|
||||
var time = $(this).val();
|
||||
if(!time){
|
||||
return;
|
||||
}
|
||||
var url = "/meeting/ajax/get-utc";
|
||||
var fieldset = $(this).parents(".fieldset");
|
||||
var date = fieldset.find("input[name$='-date']").val();
|
||||
var timezone = interimRequest.timezone.val();
|
||||
var name = $(this).attr("id") + "_utc";
|
||||
var utc = fieldset.find("#" + name);
|
||||
//console.log(name,utc.attr("id"));
|
||||
$.ajax({
|
||||
url: url,
|
||||
type: 'GET',
|
||||
cache: false,
|
||||
async: true,
|
||||
dataType: 'json',
|
||||
data: {date: date,
|
||||
time: time,
|
||||
timezone: timezone},
|
||||
success: function(response){
|
||||
if (!response.error && response.html) {
|
||||
utc.html(response.html);
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
},
|
||||
|
||||
calculateEndTime : function() {
|
||||
// gets called when either start_time or duration change
|
||||
var fieldset = $(this).parents(".fieldset");
|
||||
var start_time = fieldset.find("input[name$='-time']");
|
||||
var end_time = fieldset.find("input[name$='-end_time']");
|
||||
var duration = fieldset.find("input[name$='-requested_duration']");
|
||||
if(!start_time.val() || !duration.val()){
|
||||
return;
|
||||
}
|
||||
var start_values = start_time.val().split(":");
|
||||
var duration_values = duration.val().split(":");
|
||||
var d = new Date(2000,1,1,start_values[0],start_values[1]);
|
||||
var d1 = new Date(d.getTime() + (duration_values[0]*60*60*1000));
|
||||
var d2 = new Date(d1.getTime() + (duration_values[1]*60*1000));
|
||||
end_time.val(interimRequest.get_formatted_time(d2));
|
||||
end_time.trigger('change');
|
||||
},
|
||||
|
||||
checkAddButton : function() {
|
||||
var meeting_type = $('input[name="meeting_type"]:checked').val();
|
||||
if(meeting_type == 'single'){
|
||||
interimRequest.addButton.hide();
|
||||
} else {
|
||||
interimRequest.addButton.show();
|
||||
}
|
||||
},
|
||||
|
||||
checkHelpText : function() {
|
||||
var meeting_type = $('input[name="meeting_type"]:checked').val();
|
||||
if(meeting_type == 'single'){
|
||||
$('.meeting-type-help').hide();
|
||||
} else if(meeting_type == 'multi-day') {
|
||||
$('.meeting-type-help').hide();
|
||||
$('.mth-multi').show();
|
||||
} else if(meeting_type == 'series') {
|
||||
$('.meeting-type-help').hide();
|
||||
$('.mth-series').show();
|
||||
}
|
||||
},
|
||||
|
||||
checkInPerson : function() {
|
||||
var meeting_type = $('input[name="meeting_type"]:checked').val();
|
||||
if(meeting_type == 'series'){
|
||||
interimRequest.inPerson.prop('disabled', true);
|
||||
interimRequest.inPerson.prop('checked', false);
|
||||
interimRequest.toggleLocation();
|
||||
} else {
|
||||
interimRequest.inPerson.prop('disabled', false);
|
||||
}
|
||||
},
|
||||
|
||||
initTimezone : function() {
|
||||
if (interimRequest.isEditView()) {
|
||||
// Don't set timezone in edit view, already set
|
||||
return true;
|
||||
}
|
||||
|
||||
if(window.Intl && typeof window.Intl === "object"){
|
||||
var tzname = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
||||
if($('#id_time_zone option[value="'+tzname+'"]').length > 0){
|
||||
$('#id_time_zone').val(tzname);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
get_formatted_time : function (d) {
|
||||
// returns time from Date object as HH:MM
|
||||
var minutes = d.getMinutes().toString();
|
||||
var hours = d.getHours().toString();
|
||||
return interimRequest.pad(hours) + ":" + interimRequest.pad(minutes);
|
||||
},
|
||||
|
||||
deleteSession : function() {
|
||||
var fieldset = $(this).parents(".fieldset");
|
||||
fieldset.remove();
|
||||
var totalField = $('#id_form-TOTAL_FORMS');
|
||||
var total = +totalField.val();
|
||||
--total;
|
||||
totalField.val(total);
|
||||
if(total == 2){
|
||||
$(".btn-delete").addClass("hidden");
|
||||
}
|
||||
},
|
||||
|
||||
get_formatted_utc_time : function (d) {
|
||||
// returns time from Date object as HH:MM
|
||||
var minutes = d.getUTCMinutes().toString();
|
||||
var hours = d.getUTCHours().toString();
|
||||
return interimRequest.pad(hours) + ":" + interimRequest.pad(minutes);
|
||||
},
|
||||
|
||||
isEditView : function() {
|
||||
// Called on init, returns true if editing existing meeting request
|
||||
if ($('#id_session_set-0-date').val()) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
meetingTypeChanged : function () {
|
||||
interimRequest.checkAddButton();
|
||||
interimRequest.checkInPerson();
|
||||
interimRequest.checkHelpText();
|
||||
},
|
||||
|
||||
pad : function(str) {
|
||||
// zero pads string 00
|
||||
if(str.length == 1){
|
||||
str = "0" + str;
|
||||
}
|
||||
return str;
|
||||
},
|
||||
|
||||
timezoneChange : function() {
|
||||
$("input[name$='-time']").trigger('blur');
|
||||
$("input[name$='-end_time']").trigger('change');
|
||||
},
|
||||
|
||||
toggleLocation : function() {
|
||||
if(this.checked){
|
||||
$(".location").prop('disabled', false);
|
||||
} else {
|
||||
$(".location").prop('disabled', true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function () {
|
||||
$('#interim-request-form').each(interimRequest.init);
|
||||
});
|
115
ietf/static/js/session_details_form.js
Normal file
|
@ -0,0 +1,115 @@
|
|||
/* Copyright The IETF Trust 2021, All Rights Reserved
|
||||
*
|
||||
* JS support for the SessionDetailsForm
|
||||
* */
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
/* Find the id prefix for each widget. Individual elements have a _<number> suffix. */
|
||||
function get_widget_ids(elements) {
|
||||
const ids = new Set();
|
||||
for (let ii=0; ii < elements.length; ii++) {
|
||||
const parts = elements[ii].id.split('_');
|
||||
parts.pop();
|
||||
ids.add(parts.join('_'));
|
||||
}
|
||||
return ids;
|
||||
}
|
||||
|
||||
/* Set the 'type' element to a type valid for the currently selected purpose, if possible */
|
||||
function set_valid_type(type_elt, purpose, allowed_types) {
|
||||
const valid_types = allowed_types[purpose] || [];
|
||||
if (valid_types.indexOf(type_elt.value) === -1) {
|
||||
type_elt.value = (valid_types.length > 0) ? valid_types[0] : '';
|
||||
}
|
||||
}
|
||||
|
||||
/* Hide any type options not allowed for the selected purpose */
|
||||
function update_type_option_visibility(type_option_elts, purpose, allowed_types) {
|
||||
const valid_types = allowed_types[purpose] || [];
|
||||
for (const elt of type_option_elts) {
|
||||
if (valid_types.indexOf(elt.value) === -1) {
|
||||
elt.setAttribute('hidden', 'hidden');
|
||||
} else {
|
||||
elt.removeAttribute('hidden');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Update visibility of 'type' select so it is only shown when multiple options are available */
|
||||
function update_widget_visibility(elt, purpose, allowed_types) {
|
||||
const valid_types = allowed_types[purpose] || [];
|
||||
if (valid_types.length > 1) {
|
||||
elt.removeAttribute('hidden'); // make visible
|
||||
} else {
|
||||
elt.setAttribute('hidden', 'hidden'); // make invisible
|
||||
}
|
||||
}
|
||||
|
||||
/* Update the 'type' select to reflect a change in the selected purpose */
|
||||
function update_type_element(type_elt, purpose, type_options, allowed_types) {
|
||||
update_widget_visibility(type_elt, purpose, allowed_types);
|
||||
update_type_option_visibility(type_options, purpose, allowed_types);
|
||||
set_valid_type(type_elt, purpose, allowed_types);
|
||||
}
|
||||
|
||||
function update_name_field_visibility(name_elt, purpose) {
|
||||
const row = name_elt.closest('tr');
|
||||
if (row) {
|
||||
if (purpose === 'regular') {
|
||||
row.setAttribute('hidden', 'hidden');
|
||||
} else {
|
||||
row.removeAttribute('hidden');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Factory for event handler with a closure */
|
||||
function purpose_change_handler(name_elt, type_elt, type_options, allowed_types) {
|
||||
return function(event) {
|
||||
const purpose = event.target.value;
|
||||
update_name_field_visibility(name_elt, purpose);
|
||||
update_type_element(type_elt, purpose, type_options, allowed_types);
|
||||
};
|
||||
}
|
||||
|
||||
function add_purpose_change_handler(form) {
|
||||
const id_prefix = 'id_' + (form.dataset.prefix ? (form.dataset.prefix + '-') : '');
|
||||
const purpose_elt = document.getElementById(id_prefix + 'purpose');
|
||||
if (purpose_elt.type === 'hidden') {
|
||||
return; // element is hidden, so nothing to do
|
||||
}
|
||||
const name_elt = document.getElementById(id_prefix + 'name');
|
||||
const type_elt = document.getElementById(id_prefix + 'type');
|
||||
const type_options = type_elt.getElementsByTagName('option');
|
||||
const allowed_types = (type_elt.dataset.allowedOptions) ?
|
||||
JSON.parse(type_elt.dataset.allowedOptions) : [];
|
||||
|
||||
// update on future changes
|
||||
purpose_elt.addEventListener(
|
||||
'change',
|
||||
purpose_change_handler(name_elt, type_elt, type_options, allowed_types)
|
||||
);
|
||||
|
||||
// update immediately
|
||||
update_type_element(type_elt, purpose_elt.value, type_options, allowed_types);
|
||||
update_name_field_visibility(name_elt, purpose_elt.value);
|
||||
|
||||
// hide the purpose selector if only one option
|
||||
const purpose_options = purpose_elt.querySelectorAll('option:not([value=""])');
|
||||
if (purpose_options.length < 2) {
|
||||
purpose_elt.closest('tr').setAttribute('hidden', 'hidden');
|
||||
}
|
||||
}
|
||||
|
||||
/* Initialization */
|
||||
function on_load() {
|
||||
/* Find elements that are parts of the session details forms. This is an
|
||||
* HTMLCollection that will update if the DOM changes, so ok to evaluate immediately. */
|
||||
const forms = document.getElementsByClassName('session-details-form');
|
||||
for (const form of forms) {
|
||||
add_purpose_change_handler(form);
|
||||
}
|
||||
}
|
||||
window.addEventListener('load', on_load, false);
|
||||
})();
|
1
ietf/static/js/sortable.js
Normal file
|
@ -0,0 +1 @@
|
|||
import "sortablejs";
|
22
ietf/static/js/status-change-edit-relations.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
$(function () {
|
||||
var form = $(".new-relation-row").closest("form");
|
||||
var newRowHtml = form.find(".new-relation-row").get(0).outerHTML;
|
||||
var counter = 1;
|
||||
|
||||
form.on("click", ".delete", function (e) {
|
||||
e.preventDefault();
|
||||
$(this).closest(".row").remove();
|
||||
});
|
||||
|
||||
form.on("keydown", ".new-relation-row input[type=text]", function () {
|
||||
var top = $(this).closest(".new-relation-row");
|
||||
top.removeClass("new-relation-row");
|
||||
top.find(".help-block").remove();
|
||||
top.find(".delete").show();
|
||||
top.find("input,select").each(function () {
|
||||
this.name += counter;
|
||||
});
|
||||
++counter;
|
||||
top.after(newRowHtml);
|
||||
});
|
||||
});
|
26
ietf/static/js/upload_bofreq.js
Normal file
|
@ -0,0 +1,26 @@
|
|||
$(document).ready(function () {
|
||||
var form = $("form.upload-content");
|
||||
// review submission selection
|
||||
form.find("[name=bofreq_submission]").on("click change", function () {
|
||||
var val = form.find("[name=bofreq_submission]:checked").val();
|
||||
|
||||
var shouldBeVisible = {
|
||||
"enter": ['[name="bofreq_content"]'],
|
||||
"upload": ['[name="bofreq_file"]'],
|
||||
};
|
||||
|
||||
for (var v in shouldBeVisible) {
|
||||
for (var i in shouldBeVisible[v]) {
|
||||
var selector = shouldBeVisible[v][i];
|
||||
var row = form.find(selector);
|
||||
if (!row.is(".form-group"))
|
||||
row = row.closest(".form-group");
|
||||
|
||||
if ($.inArray(selector, shouldBeVisible[val]) != -1)
|
||||
row.show();
|
||||
else
|
||||
row.hide();
|
||||
}
|
||||
}
|
||||
}).trigger("change");
|
||||
});
|
|
@ -6,7 +6,6 @@
|
|||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block morecss %}
|
||||
|
@ -70,9 +69,8 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static 'Sortable/Sortable.min.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/sortable.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/select2-field.js' %}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
const local_js = (
|
||||
|
@ -161,4 +159,4 @@
|
|||
|
||||
$(document).ready(local_js.initialize);
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -124,7 +124,7 @@
|
|||
{{ all_forms|merge_media:'js' }}
|
||||
<script src="{% static 'ietf/js/datepicker.js' %}"></script>
|
||||
{% if not group.uses_milestone_dates %}
|
||||
<script src="{% static 'Sortable/Sortable.min.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/sortable.js' %}"></script>
|
||||
{% endif %}
|
||||
<script src="{% static 'ietf/js/edit-milestones.js' %}"></script>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2021, All Rights Reserved #}
|
||||
{% load origin static %}
|
||||
{% load bootstrap3 %}
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block pagehead %}
|
||||
{{ form.media.css }}
|
||||
|
@ -15,14 +15,12 @@
|
|||
<form id="timeslot-form" method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-primary" href="{% url 'ietf.meeting.views.edit_timeslots' num=meeting.number %}">Cancel</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static 'ietf/js/meeting/create_timeslot.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/create_timeslot.js' %}"></script>
|
||||
{{ form.media.js }}
|
||||
{% endblock %}
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2021, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
{% load bootstrap3 %}
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block pagehead %}
|
||||
{{ form.media.css }}
|
||||
|
@ -15,10 +15,8 @@
|
|||
<form class="session-details-form" method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-primary" href="{% url 'ietf.meeting.views.edit_meeting_schedule' num=session.meeting.number %}">Cancel</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2021, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
{% load bootstrap3 %}
|
||||
{% load django_bootstrap5 %}
|
||||
|
||||
{% block pagehead %}
|
||||
{{ form.media.css }}
|
||||
|
@ -23,10 +23,8 @@
|
|||
<form method="post">
|
||||
{% csrf_token %}
|
||||
{% bootstrap_form form %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
<a class="btn btn-primary" href="{% url 'ietf.meeting.views.edit_timeslots' num=timeslot.meeting.number %}">Cancel</a>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -55,10 +55,10 @@
|
|||
{% if floor.image %}
|
||||
<img id="{{floor.name|xslugify}}-image" class="col-md-12 col-sm-12 col-xs-12" src="{{ floor.image.url }}" >
|
||||
<!-- We need as many of these as we can have individual rooms combining into one -->
|
||||
<div id="{{floor.name|xslugify}}-arrowdiv0" style="position: absolute; left: 0; top: 67.5px; visibility: hidden;"><img id="arrow" src="{% static 'ietf/images/arrow-ani.gif' %}"></div>
|
||||
<div id="{{floor.name|xslugify}}-arrowdiv1" style="position: absolute; left: 0; top: 67.5px; visibility: hidden;"><img id="arrow" src="{% static 'ietf/images/arrow-ani.gif' %}"></div>
|
||||
<div id="{{floor.name|xslugify}}-arrowdiv2" style="position: absolute; left: 0; top: 67.5px; visibility: hidden;"><img id="arrow" src="{% static 'ietf/images/arrow-ani.gif' %}"></div>
|
||||
<div id="{{floor.name|xslugify}}-arrowdiv3" style="position: absolute; left: 0; top: 67.5px; visibility: hidden;"><img id="arrow" src="{% static 'ietf/images/arrow-ani.gif' %}"></div>
|
||||
<div id="{{floor.name|xslugify}}-arrowdiv0" style="position: absolute; left: 0; top: 67.5px; visibility: hidden;"><img id="arrow" src="{% static 'ietf/images/arrow-ani.webp' %}"></div>
|
||||
<div id="{{floor.name|xslugify}}-arrowdiv1" style="position: absolute; left: 0; top: 67.5px; visibility: hidden;"><img id="arrow" src="{% static 'ietf/images/arrow-ani.webp' %}"></div>
|
||||
<div id="{{floor.name|xslugify}}-arrowdiv2" style="position: absolute; left: 0; top: 67.5px; visibility: hidden;"><img id="arrow" src="{% static 'ietf/images/arrow-ani.webp' %}"></div>
|
||||
<div id="{{floor.name|xslugify}}-arrowdiv3" style="position: absolute; left: 0; top: 67.5px; visibility: hidden;"><img id="arrow" src="{% static 'ietf/images/arrow-ani.webp' %}"></div>
|
||||
{% else %}
|
||||
No floor image available yet.
|
||||
{% endif %}
|
||||
|
@ -117,4 +117,4 @@
|
|||
return [left, top, right, bottom, floor, width];
|
||||
}
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -54,4 +53,4 @@
|
|||
{% block js %}
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/meeting-interim-request.js' %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -56,4 +55,4 @@
|
|||
{% block js %}
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/meeting-interim-request.js' %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/datepicker.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
|
@ -169,4 +168,4 @@
|
|||
<script src="{% static 'ietf/js/datepicker.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/meeting-interim-request.js' %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/datepicker.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
|
@ -38,4 +37,4 @@
|
|||
<script src="{% static 'ietf/js/datepicker.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/meeting-interim-request.js' %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -86,4 +85,4 @@
|
|||
{% block js %}
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/meeting-interim-request.js' %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/datepicker.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
|
@ -116,4 +115,4 @@
|
|||
<script src="{% static 'ietf/js/datepicker.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/meeting-interim-request.js' %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/select2.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'select2-bootstrap-css/select2-bootstrap.min.css' %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -52,4 +51,4 @@
|
|||
{% block js %}
|
||||
<script src="{% static 'ietf/js/select2.js' %}"></script>
|
||||
<script src="{% static 'ietf/js/meeting-interim-request.js' %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
|
@ -83,8 +83,8 @@
|
|||
|
||||
{% comment %}{% block js %}
|
||||
{% if can_manage_materials %}
|
||||
<script type="text/javascript" src="{% static 'js-cookie/src/js.cookie.js' %}"></script>
|
||||
<script type="text/javascript" src={% static 'Sortable/Sortable.min.js' %}></script>
|
||||
<script type="text/javascript" src="{% static 'ietf/js/js-cookie.js' %}"></script>
|
||||
<script type="text/javascript" src={% static 'ietf/js/sortable.js' %}></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}{% origin %}
|
||||
{% load static %}
|
||||
<html> <head>
|
||||
<link rel="stylesheet" href="{% static 'ietf/bootstrap/css/bootstrap.min.css' %}"> {% comment %} This sets box-sizing: border-box {% endcomment %}
|
||||
<link rel="stylesheet" href="{% static 'ietf/bootstrap/css/bootstrap-theme.min.css' %}">
|
||||
<script src="{% static 'jquery/jquery.min.js' %}"></script>
|
||||
<script src="{% static 'ietf/bootstrap/js/bootstrap.min.js' %}"></script>
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<link rel="stylesheet" href="{% static 'ietf/css/ietf.css' %}"> {% comment %} This sets box-sizing: border-box {% endcomment %}
|
||||
<script src="{% static 'ietf/js/ietf.js' %}"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
{% autoescape off %}
|
||||
|
@ -483,8 +486,7 @@
|
|||
e.insertBefore(document.createElement("br"),e.firstChild);
|
||||
|
||||
var minimize_func = function (e) { return function(){minimize(e);} }
|
||||
var img = document.createElement("img");
|
||||
img.src = "{% static 'ietf/images/agenda-weekview/close.png' %}";
|
||||
var img = $('<i class="bi bi-x-circle-fill"></i>');
|
||||
img.style.cssFloat="right";
|
||||
img.onclick = minimize_func(e);
|
||||
img.style.cursor="pointer";
|
||||
|
@ -609,4 +611,4 @@
|
|||
window.location.hash = e.target.hash;
|
||||
})
|
||||
</script>
|
||||
</body></html>
|
||||
</body></html>
|
|
@ -1,66 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
||||
{% load origin %}
|
||||
{% load static %}
|
||||
{% load ietf_filters %}
|
||||
{% load humanize %}
|
||||
|
||||
{% block title %}IETF {{ meeting.number }} Meeting Agenda: Timeslot/Room Availability{% endblock %}
|
||||
{% load agenda_custom_tags %}
|
||||
{% block pagehead %}
|
||||
<link rel='stylesheet' type='text/css' href="{% static 'ietf/css/agenda/jquery-ui-themes/jquery-ui-1.8.11.custom.css' %}" />
|
||||
<link rel='stylesheet' type='text/css' href="{% static 'ietf/css/agenda/base2.css' %}" />
|
||||
<link rel='stylesheet' type='text/css' href="{% static 'ietf/css/agenda/agenda.css' %}" />
|
||||
{% endblock pagehead %}
|
||||
|
||||
{% block js %}
|
||||
<script type="text/javascript" src="{% static 'ietf/js/agenda/jquery-1.8.2.min.js' %}"></script>
|
||||
<script src="{% static 'js-cookie/src/js.cookie.js' %}"></script>
|
||||
<script>
|
||||
jQuery.ajaxSetup({
|
||||
crossDomain: false, // obviates need for sameOrigin test
|
||||
beforeSend: function(xhr, settings) {
|
||||
if (!csrfSafeMethod(settings.type)) {
|
||||
xhr.setRequestHeader("X-CSRFToken", Cookies.get('csrftoken'));
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/jquery-ui-1.9.0.custom/jquery-ui.custom.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/jquery-ui-1.9.0.custom/jquery.ui.widget.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/jquery-ui-1.9.0.custom/jquery.ui.droppable.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/jquery-ui-1.9.0.custom/jquery.ui.sortable.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/jquery-ui-1.9.0.custom/jquery.ui.accordion.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/jquery-ui-1.9.0.custom/jquery.ui.draggable.js' %}"></script>
|
||||
|
||||
<!-- source (MIT License) http://momentjs.com/ https://github.com/moment/moment/ -->
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/moment.min.js' %}"></script>
|
||||
|
||||
<!-- source (MIT License) : https://github.com/trentrichardson/jQuery-Timepicker-Addon -->
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/jquery-ui-timepicker/jquery-ui-timepicker-addon.js' %}"></script>
|
||||
<script type='text/javascript' src="{% static 'ietf/js/agenda/jquery-ui-timepicker/jquery-ui-sliderAccess.js' %}"></script>
|
||||
<link rel='stylesheet' type='text/css' href="{% static 'ietf/css/agenda/jquery-ui-timepicker-addon.css' %}" />
|
||||
|
||||
<script type='text/javascript' src="{% static 'spin.js/spin.min.js' %}"></script>
|
||||
|
||||
{% endblock js %}
|
||||
|
||||
{% block content %}
|
||||
{% origin %}
|
||||
<div class="wrapper custom_text_stuff">
|
||||
<div style="ui-icon ui-icon-arrow-1-w" id="close_ietf_menubar">
|
||||
<
|
||||
</div>
|
||||
|
||||
<div class="room_div">
|
||||
|
||||
<div id="edit_room_dialog">
|
||||
<form action="{{roomsurl}}" method="post">{% csrf_token %}
|
||||
<table>
|
||||
{{ editroom.as_table }}
|
||||
<tr><td><input type="submit" name="editroom" value="editroom"></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
|
@ -69,9 +69,7 @@
|
|||
|
||||
{% block js %}
|
||||
{% if can_manage_materials %}
|
||||
<script type="text/javascript" src="{% static 'jquery/jquery.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'js-cookie/src/js.cookie.js' %}"></script>
|
||||
<script type="text/javascript" src={% static 'Sortable/Sortable.min.js' %}></script>
|
||||
<script type="text/javascript" src={% static 'ietf/js/sortable.js' %}></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
|
|
168
package-lock.json
generated
|
@ -15,12 +15,14 @@
|
|||
"flot": "^4.2.2",
|
||||
"highcharts": "^9.3.1",
|
||||
"jquery": "^3.6.0",
|
||||
"jquery-ui": "^1.13.0",
|
||||
"js-cookie": "^3.0.1",
|
||||
"list.js": "^2.3.1",
|
||||
"moment": "^2.29.1",
|
||||
"moment-timezone": "^0.5.34",
|
||||
"select2": "^4.1.0-rc.0",
|
||||
"select2-bootstrap-5-theme": "^1.2.0",
|
||||
"sortablejs": "^1.14.0",
|
||||
"zxcvbn": "^4.4.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -504,14 +506,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz",
|
||||
"integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==",
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz",
|
||||
"integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ajv": "^6.12.4",
|
||||
"debug": "^4.3.2",
|
||||
"espree": "^9.0.0",
|
||||
"espree": "^9.2.0",
|
||||
"globals": "^13.9.0",
|
||||
"ignore": "^4.0.6",
|
||||
"import-fresh": "^3.2.1",
|
||||
|
@ -551,12 +553,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@humanwhocodes/config-array": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
|
||||
"integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==",
|
||||
"version": "0.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz",
|
||||
"integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@humanwhocodes/object-schema": "^1.2.0",
|
||||
"@humanwhocodes/object-schema": "^1.2.1",
|
||||
"debug": "^4.1.1",
|
||||
"minimatch": "^3.0.4"
|
||||
},
|
||||
|
@ -2305,9 +2307,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/bootstrap-icons": {
|
||||
"version": "1.7.1",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.7.1.tgz",
|
||||
"integrity": "sha512-Hkuoo0qrWegA9cdzwS68YPSOLf7d42gqnMzT1tIy/SWvnxnI+Y5PFvK2qIbM/L7knH8SdC8FPgjA+bktzmGcAw==",
|
||||
"version": "1.7.2",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.7.2.tgz",
|
||||
"integrity": "sha512-NiR2PqC73AQOPdVSu6GJfnk+hN2z6powcistXk1JgPnKuoV2FSdSl26w931Oz9HYbKCcKUSB6ncZTYJAYJl3QQ==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
|
@ -2542,9 +2544,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001283",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
|
||||
"integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==",
|
||||
"version": "1.0.30001285",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001285.tgz",
|
||||
"integrity": "sha512-KAOkuUtcQ901MtmvxfKD+ODHH9YVDYnBt+TGYSz2KIfnq22CiArbUxXPN9067gNbgMlnNYRSwho8OPXZPALB9Q==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
|
@ -2782,9 +2784,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"node_modules/core-js": {
|
||||
"version": "3.19.2",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz",
|
||||
"integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==",
|
||||
"version": "3.19.3",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz",
|
||||
"integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==",
|
||||
"dev": true,
|
||||
"hasInstallScript": true,
|
||||
"funding": {
|
||||
|
@ -3409,9 +3411,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/domhandler": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
|
||||
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
|
||||
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"domelementtype": "^2.2.0"
|
||||
|
@ -3484,9 +3486,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.5",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.5.tgz",
|
||||
"integrity": "sha512-YKaB+t8ul5crdh6OeqT2qXdxJGI0fAYb6/X8pDIyye+c3a7ndOCk5gVeKX+ABwivCGNS56vOAif3TN0qJMpEHw==",
|
||||
"version": "1.4.12",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.12.tgz",
|
||||
"integrity": "sha512-zjfhG9Us/hIy8AlQ5OzfbR/C4aBv1Dg/ak4GX35CELYlJ4tDAtoEcQivXvyBdqdNQ+R6PhlgQqV8UNPJmhkJog==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/elliptic": {
|
||||
|
@ -3759,13 +3761,13 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz",
|
||||
"integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==",
|
||||
"version": "8.4.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.4.0.tgz",
|
||||
"integrity": "sha512-kv0XQcAQJL/VD9THQKhTQZVqkJKA+tIj/v2ZKNaIHRAADcJWFb+B/BAewUYuF6UVg1s2xC5qXVoDk0G8sKGeTA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint/eslintrc": "^1.0.4",
|
||||
"@humanwhocodes/config-array": "^0.6.0",
|
||||
"@eslint/eslintrc": "^1.0.5",
|
||||
"@humanwhocodes/config-array": "^0.9.2",
|
||||
"ajv": "^6.10.0",
|
||||
"chalk": "^4.0.0",
|
||||
"cross-spawn": "^7.0.2",
|
||||
|
@ -3776,7 +3778,7 @@
|
|||
"eslint-scope": "^7.1.0",
|
||||
"eslint-utils": "^3.0.0",
|
||||
"eslint-visitor-keys": "^3.1.0",
|
||||
"espree": "^9.1.0",
|
||||
"espree": "^9.2.0",
|
||||
"esquery": "^1.4.0",
|
||||
"esutils": "^2.0.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
|
@ -3937,9 +3939,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/espree": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
|
||||
"integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
|
||||
"version": "9.2.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz",
|
||||
"integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"acorn": "^8.6.0",
|
||||
|
@ -5407,6 +5409,14 @@
|
|||
"jquery": ">=3 <4"
|
||||
}
|
||||
},
|
||||
"node_modules/jquery-ui": {
|
||||
"version": "1.13.0",
|
||||
"resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.0.tgz",
|
||||
"integrity": "sha512-Osf7ECXNTYHtKBkn9xzbIf9kifNrBhfywFEKxOeB/OVctVmLlouV9mfc2qXCp6uyO4Pn72PXKOnj09qXetopCw==",
|
||||
"dependencies": {
|
||||
"jquery": ">=1.8.0 <4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/js-cookie": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz",
|
||||
|
@ -6025,9 +6035,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/object-inspect": {
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz",
|
||||
"integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==",
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz",
|
||||
"integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==",
|
||||
"dev": true,
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
|
@ -7969,6 +7979,11 @@
|
|||
"url": "https://github.com/chalk/slice-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/sortablejs": {
|
||||
"version": "1.14.0",
|
||||
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
|
||||
"integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
|
||||
},
|
||||
"node_modules/source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
|
@ -9292,14 +9307,14 @@
|
|||
}
|
||||
},
|
||||
"@eslint/eslintrc": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz",
|
||||
"integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==",
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz",
|
||||
"integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "^6.12.4",
|
||||
"debug": "^4.3.2",
|
||||
"espree": "^9.0.0",
|
||||
"espree": "^9.2.0",
|
||||
"globals": "^13.9.0",
|
||||
"ignore": "^4.0.6",
|
||||
"import-fresh": "^3.2.1",
|
||||
|
@ -9336,12 +9351,12 @@
|
|||
}
|
||||
},
|
||||
"@humanwhocodes/config-array": {
|
||||
"version": "0.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
|
||||
"integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==",
|
||||
"version": "0.9.2",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz",
|
||||
"integrity": "sha512-UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@humanwhocodes/object-schema": "^1.2.0",
|
||||
"@humanwhocodes/object-schema": "^1.2.1",
|
||||
"debug": "^4.1.1",
|
||||
"minimatch": "^3.0.4"
|
||||
}
|
||||
|
@ -10548,9 +10563,9 @@
|
|||
}
|
||||
},
|
||||
"bootstrap-icons": {
|
||||
"version": "1.7.1",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.7.1.tgz",
|
||||
"integrity": "sha512-Hkuoo0qrWegA9cdzwS68YPSOLf7d42gqnMzT1tIy/SWvnxnI+Y5PFvK2qIbM/L7knH8SdC8FPgjA+bktzmGcAw=="
|
||||
"version": "1.7.2",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.7.2.tgz",
|
||||
"integrity": "sha512-NiR2PqC73AQOPdVSu6GJfnk+hN2z6powcistXk1JgPnKuoV2FSdSl26w931Oz9HYbKCcKUSB6ncZTYJAYJl3QQ=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
|
@ -10745,9 +10760,9 @@
|
|||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001283",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
|
||||
"integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==",
|
||||
"version": "1.0.30001285",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001285.tgz",
|
||||
"integrity": "sha512-KAOkuUtcQ901MtmvxfKD+ODHH9YVDYnBt+TGYSz2KIfnq22CiArbUxXPN9067gNbgMlnNYRSwho8OPXZPALB9Q==",
|
||||
"dev": true
|
||||
},
|
||||
"caseless": {
|
||||
|
@ -10943,9 +10958,9 @@
|
|||
}
|
||||
},
|
||||
"core-js": {
|
||||
"version": "3.19.2",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.2.tgz",
|
||||
"integrity": "sha512-ciYCResnLIATSsXuXnIOH4CbdfgV+H1Ltg16hJFN7/v6OxqnFr/IFGeLacaZ+fHLAm0TBbXwNK9/DNBzBUrO/g==",
|
||||
"version": "3.19.3",
|
||||
"resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.3.tgz",
|
||||
"integrity": "sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g==",
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
|
@ -11442,9 +11457,9 @@
|
|||
}
|
||||
},
|
||||
"domhandler": {
|
||||
"version": "4.2.2",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
|
||||
"integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz",
|
||||
"integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"domelementtype": "^2.2.0"
|
||||
|
@ -11499,9 +11514,9 @@
|
|||
}
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.4.5",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.5.tgz",
|
||||
"integrity": "sha512-YKaB+t8ul5crdh6OeqT2qXdxJGI0fAYb6/X8pDIyye+c3a7ndOCk5gVeKX+ABwivCGNS56vOAif3TN0qJMpEHw==",
|
||||
"version": "1.4.12",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.12.tgz",
|
||||
"integrity": "sha512-zjfhG9Us/hIy8AlQ5OzfbR/C4aBv1Dg/ak4GX35CELYlJ4tDAtoEcQivXvyBdqdNQ+R6PhlgQqV8UNPJmhkJog==",
|
||||
"dev": true
|
||||
},
|
||||
"elliptic": {
|
||||
|
@ -11711,13 +11726,13 @@
|
|||
}
|
||||
},
|
||||
"eslint": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz",
|
||||
"integrity": "sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==",
|
||||
"version": "8.4.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.4.0.tgz",
|
||||
"integrity": "sha512-kv0XQcAQJL/VD9THQKhTQZVqkJKA+tIj/v2ZKNaIHRAADcJWFb+B/BAewUYuF6UVg1s2xC5qXVoDk0G8sKGeTA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@eslint/eslintrc": "^1.0.4",
|
||||
"@humanwhocodes/config-array": "^0.6.0",
|
||||
"@eslint/eslintrc": "^1.0.5",
|
||||
"@humanwhocodes/config-array": "^0.9.2",
|
||||
"ajv": "^6.10.0",
|
||||
"chalk": "^4.0.0",
|
||||
"cross-spawn": "^7.0.2",
|
||||
|
@ -11728,7 +11743,7 @@
|
|||
"eslint-scope": "^7.1.0",
|
||||
"eslint-utils": "^3.0.0",
|
||||
"eslint-visitor-keys": "^3.1.0",
|
||||
"espree": "^9.1.0",
|
||||
"espree": "^9.2.0",
|
||||
"esquery": "^1.4.0",
|
||||
"esutils": "^2.0.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
|
@ -11842,9 +11857,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"espree": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz",
|
||||
"integrity": "sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==",
|
||||
"version": "9.2.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-9.2.0.tgz",
|
||||
"integrity": "sha512-oP3utRkynpZWF/F2x/HZJ+AGtnIclaR7z1pYPxy7NYM2fSO6LgK/Rkny8anRSPK/VwEA1eqm2squui0T7ZMOBg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn": "^8.6.0",
|
||||
|
@ -12941,6 +12956,14 @@
|
|||
"dev": true,
|
||||
"requires": {}
|
||||
},
|
||||
"jquery-ui": {
|
||||
"version": "1.13.0",
|
||||
"resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.0.tgz",
|
||||
"integrity": "sha512-Osf7ECXNTYHtKBkn9xzbIf9kifNrBhfywFEKxOeB/OVctVmLlouV9mfc2qXCp6uyO4Pn72PXKOnj09qXetopCw==",
|
||||
"requires": {
|
||||
"jquery": ">=1.8.0 <4.0.0"
|
||||
}
|
||||
},
|
||||
"js-cookie": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.1.tgz",
|
||||
|
@ -13447,9 +13470,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"object-inspect": {
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz",
|
||||
"integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==",
|
||||
"version": "1.11.1",
|
||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz",
|
||||
"integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==",
|
||||
"dev": true
|
||||
},
|
||||
"object-is": {
|
||||
|
@ -14890,6 +14913,11 @@
|
|||
"is-fullwidth-code-point": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"sortablejs": {
|
||||
"version": "1.14.0",
|
||||
"resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
|
||||
"integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
|
||||
|
|
159
package.json
|
@ -10,12 +10,14 @@
|
|||
"flot": "^4.2.2",
|
||||
"highcharts": "^9.3.1",
|
||||
"jquery": "^3.6.0",
|
||||
"jquery-ui": "^1.13.0",
|
||||
"js-cookie": "^3.0.1",
|
||||
"list.js": "^2.3.1",
|
||||
"moment": "^2.29.1",
|
||||
"moment-timezone": "^0.5.34",
|
||||
"select2": "^4.1.0-rc.0",
|
||||
"select2-bootstrap-5-theme": "^1.2.0",
|
||||
"sortablejs": "^1.14.0",
|
||||
"zxcvbn": "^4.4.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -24,48 +26,121 @@
|
|||
"jquery-migrate": "^3.3.2",
|
||||
"parcel": "^2.0.0"
|
||||
},
|
||||
"source": [
|
||||
"ietf/static/css/ietf.scss",
|
||||
"ietf/static/css/list.scss",
|
||||
"ietf/static/css/select2.scss",
|
||||
"ietf/static/images/apple-touch-icon.png",
|
||||
"ietf/static/images/ietf-icon-red3.png",
|
||||
"ietf/static/images/ietflogo-small-transparent.png",
|
||||
"ietf/static/images/ietflogo.png",
|
||||
"ietf/static/js/agenda_filter.js",
|
||||
"ietf/static/js/agenda_materials.js",
|
||||
"ietf/static/js/agenda_personalize.js",
|
||||
"ietf/static/js/agenda_timezone.js",
|
||||
"ietf/static/js/d3.js",
|
||||
"ietf/static/js/datepicker.js",
|
||||
"ietf/static/js/doc-search.js",
|
||||
"ietf/static/js/document_timeline.js",
|
||||
"ietf/static/js/edit-meeting-schedule.js",
|
||||
"ietf/static/js/flot.js",
|
||||
"ietf/static/js/fullcalendar.js",
|
||||
"ietf/static/js/highcharts-export-data.js",
|
||||
"ietf/static/js/highcharts-exporting.js",
|
||||
"ietf/static/js/highcharts-highcharts.js",
|
||||
"ietf/static/js/highcharts-highstock.js",
|
||||
"ietf/static/js/highcharts-offline-exporting.js",
|
||||
"ietf/static/js/ietf.js",
|
||||
"ietf/static/js/liaisons.js",
|
||||
"ietf/static/js/list.js",
|
||||
"ietf/static/js/manage-community-list.js",
|
||||
"ietf/static/js/moment-timezone-with-data-10-year-range.js",
|
||||
"ietf/static/js/moment.js",
|
||||
"ietf/static/js/password_strength.js",
|
||||
"ietf/static/js/review-stats.js",
|
||||
"ietf/static/js/room_params.js",
|
||||
"ietf/static/js/select2.js",
|
||||
"ietf/static/js/stats.js",
|
||||
"ietf/static/js/timezone.js",
|
||||
"ietf/static/js/week-view.js",
|
||||
"ietf/static/js/zxcvbn.js"
|
||||
],
|
||||
"targets": {
|
||||
"default": {
|
||||
"distDir": "ietf/static/dist/ietf"
|
||||
"ietf": {
|
||||
"distDir": "ietf/static/dist/ietf",
|
||||
"source": [
|
||||
"ietf/static/css/ietf.scss",
|
||||
"ietf/static/css/jquery-ui.scss",
|
||||
"ietf/static/css/liaisons.css",
|
||||
"ietf/static/css/list.scss",
|
||||
"ietf/static/css/select2.scss",
|
||||
"ietf/static/images/apple-touch-icon.png",
|
||||
"ietf/static/images/arrow-ani.webp",
|
||||
"ietf/static/images/iesg-draft-state-diagram.png",
|
||||
"ietf/static/images/ietf-icon-blue3.png",
|
||||
"ietf/static/images/ietf-icon-red3.png",
|
||||
"ietf/static/images/ietflogo-small-transparent.png",
|
||||
"ietf/static/images/ietflogo.png",
|
||||
"ietf/static/images/sprite.png",
|
||||
"ietf/static/js/agenda_filter.js",
|
||||
"ietf/static/js/agenda_materials.js",
|
||||
"ietf/static/js/agenda_personalize.js",
|
||||
"ietf/static/js/agenda_timezone.js",
|
||||
"ietf/static/js/complete-review.js",
|
||||
"ietf/static/js/create_timeslot.js",
|
||||
"ietf/static/js/create_timeslot.js",
|
||||
"ietf/static/js/d3.js",
|
||||
"ietf/static/js/datepicker.js",
|
||||
"ietf/static/js/doc-search.js",
|
||||
"ietf/static/js/document_timeline.js",
|
||||
"ietf/static/js/edit-meeting-schedule.js",
|
||||
"ietf/static/js/edit-meeting-timeslots-and-misc-sessions.js",
|
||||
"ietf/static/js/edit-milestones.js",
|
||||
"ietf/static/js/flot.js",
|
||||
"ietf/static/js/fullcalendar.js",
|
||||
"ietf/static/js/highcharts-export-data.js",
|
||||
"ietf/static/js/highcharts-exporting.js",
|
||||
"ietf/static/js/highcharts-highcharts.js",
|
||||
"ietf/static/js/highcharts-highstock.js",
|
||||
"ietf/static/js/highcharts-offline-exporting.js",
|
||||
"ietf/static/js/ietf.js",
|
||||
"ietf/static/js/ipr-edit.js",
|
||||
"ietf/static/js/ipr-search.js",
|
||||
"ietf/static/js/jquery-ui.js",
|
||||
"ietf/static/js/js-cookie.js",
|
||||
"ietf/static/js/liaisons.js",
|
||||
"ietf/static/js/list.js",
|
||||
"ietf/static/js/manage-community-list.js",
|
||||
"ietf/static/js/manage-review-requests.js",
|
||||
"ietf/static/js/meeting-interim-request.js",
|
||||
"ietf/static/js/moment-timezone-with-data-10-year-range.js",
|
||||
"ietf/static/js/moment.js",
|
||||
"ietf/static/js/password_strength.js",
|
||||
"ietf/static/js/review-stats.js",
|
||||
"ietf/static/js/room_params.js",
|
||||
"ietf/static/js/select2.js",
|
||||
"ietf/static/js/session_details_form.js",
|
||||
"ietf/static/js/sortable.js",
|
||||
"ietf/static/js/stats.js",
|
||||
"ietf/static/js/status-change-edit-relations.js",
|
||||
"ietf/static/js/timezone.js",
|
||||
"ietf/static/js/upload_bofreq.js",
|
||||
"ietf/static/js/week-view.js",
|
||||
"ietf/static/js/zxcvbn.js"
|
||||
]
|
||||
},
|
||||
"secr": {
|
||||
"distDir": "ietf/secr/static/dist/secr",
|
||||
"source": [
|
||||
"ietf/secr/static/css/base.css",
|
||||
"ietf/secr/static/css/custom.css",
|
||||
"ietf/secr/static/css/forms.css",
|
||||
"ietf/secr/static/css/telechat.css",
|
||||
"ietf/secr/static/css/test.css",
|
||||
"ietf/secr/static/css/widgets.css",
|
||||
"ietf/secr/static/images/ajax-loader.webp",
|
||||
"ietf/secr/static/images/ams_logo.png",
|
||||
"ietf/secr/static/images/arrow-down.webp",
|
||||
"ietf/secr/static/images/arrow-up.webp",
|
||||
"ietf/secr/static/images/chooser-bg.webp",
|
||||
"ietf/secr/static/images/chooser_stacked-bg.webp",
|
||||
"ietf/secr/static/images/default-bg-reverse.webp",
|
||||
"ietf/secr/static/images/default-bg.webp",
|
||||
"ietf/secr/static/images/deleted-overlay.webp",
|
||||
"ietf/secr/static/images/icon_addlink.webp",
|
||||
"ietf/secr/static/images/icon_alert.webp",
|
||||
"ietf/secr/static/images/icon_changelink.webp",
|
||||
"ietf/secr/static/images/icon_deletelink.webp",
|
||||
"ietf/secr/static/images/icon_error.webp",
|
||||
"ietf/secr/static/images/icon_success.webp",
|
||||
"ietf/secr/static/images/inline-delete.png",
|
||||
"ietf/secr/static/images/inline-restore.png",
|
||||
"ietf/secr/static/images/inline-splitter-bg.webp",
|
||||
"ietf/secr/static/images/nav-bg-grabber.webp",
|
||||
"ietf/secr/static/images/nav-bg-reverse.webp",
|
||||
"ietf/secr/static/images/nav-bg.webp",
|
||||
"ietf/secr/static/images/selector-add.webp",
|
||||
"ietf/secr/static/images/selector-addall.webp",
|
||||
"ietf/secr/static/images/selector-remove.webp",
|
||||
"ietf/secr/static/images/selector-removeall.webp",
|
||||
"ietf/secr/static/images/selector_stacked-add.webp",
|
||||
"ietf/secr/static/images/selector_stacked-remove.webp",
|
||||
"ietf/secr/static/images/test-background.png",
|
||||
"ietf/secr/static/images/tool-left.webp",
|
||||
"ietf/secr/static/images/tool-left_over.webp",
|
||||
"ietf/secr/static/images/tool-right.webp",
|
||||
"ietf/secr/static/images/tool-right_over.webp",
|
||||
"ietf/secr/static/images/tooltag-add.webp",
|
||||
"ietf/secr/static/images/tooltag-add_over.webp",
|
||||
"ietf/secr/static/images/tooltag-arrowright.webp",
|
||||
"ietf/secr/static/images/tooltag-arrowright_over.webp",
|
||||
"ietf/secr/static/js/dynamic_inlines.js",
|
||||
"ietf/secr/static/js/proceedings-recording.js",
|
||||
"ietf/secr/static/js/session_form.js",
|
||||
"ietf/secr/static/js/sessions.js",
|
||||
"ietf/secr/static/js/utils.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|