diff --git a/include/class.forms.php b/include/class.forms.php index 20fed8cd6dcb56fe5e0027dd5e546d5d9eb21192..05df629165b05f9576e32b235b428b7d0ec9300b 100644 --- a/include/class.forms.php +++ b/include/class.forms.php @@ -3062,7 +3062,7 @@ class BoxChoicesWidget extends Widget { echo Format::htmlchars($k); ?>"/> <?php if ($v) { ?> - <em style="display:inline-block;vertical-align:middle;width:90%;width:calc(100% - 25px);"><?php + <em style="display:inline-block;vertical-align:baseline;width:90%;width:calc(100% - 25px);"><?php echo Format::viewableImages($v); ?></em> <?php } ?> </label> @@ -3150,8 +3150,8 @@ class CheckboxWidget extends Widget { $classes = 'class="'.$config['classes'].'"'; ?> <div <?php echo implode(' ', array_filter(array($classes))); ?>> - <input id="<?php echo $this->id; ?>" style="vertical-align:top; height:100%" - class="pull-left clearfix" + <label class="checkbox"> + <input id="<?php echo $this->id; ?>" type="checkbox" name="<?php echo $this->name; ?>[]" <?php if ($this->value) echo 'checked="checked"'; ?> value="<?php echo $this->field->get('id'); ?>"/> @@ -3159,6 +3159,7 @@ class CheckboxWidget extends Widget { if ($config['desc']) { echo Format::viewableImages($config['desc']); } ?> + </label> </div> <?php } diff --git a/include/staff/faq-view.inc.php b/include/staff/faq-view.inc.php index d3a4402fd8b607ace6fcc35c047937647f1b49e1..be15f6f7ef2c71c302d68e04fa4a09ee23364106 100644 --- a/include/staff/faq-view.inc.php +++ b/include/staff/faq-view.inc.php @@ -107,7 +107,7 @@ if ($thisstaff->hasPerm(FAQ::PERM_MANAGE)) { ?> <?php csrf_token(); ?> <input type="hidden" name="do" value="manage-faq"> <input type="hidden" name="id" value="<?php echo $faq->getId(); ?>"> - <button name="a" value="delete"><?php echo __('Delete FAQ'); ?></button> + <button name="a" class="button" value="delete"><?php echo __('Delete FAQ'); ?></button> </form> <?php } ?> diff --git a/include/staff/templates/dynamic-field-config.tmpl.php b/include/staff/templates/dynamic-field-config.tmpl.php index 780fe18dec545d8d3ca8d760bcf1d21f31f3ad4a..24bf9a79fde1bc715fe70bbd3d3ea5f3fa26358c 100644 --- a/include/staff/templates/dynamic-field-config.tmpl.php +++ b/include/staff/templates/dynamic-field-config.tmpl.php @@ -209,7 +209,7 @@ display: inline-block; vertical-align: top; } -.dialog input, .dialog select { +.dialog input[type=text], .dialog select { margin: 2px; } hr.faded { diff --git a/include/staff/templates/dynamic-form-fields-view.tmpl.php b/include/staff/templates/dynamic-form-fields-view.tmpl.php index 9ec9651f55c39af31e6692ddad10e3eac3e64abb..9bca7741d4492bef7e12415acd54e88c8508bc25 100644 --- a/include/staff/templates/dynamic-form-fields-view.tmpl.php +++ b/include/staff/templates/dynamic-form-fields-view.tmpl.php @@ -19,11 +19,11 @@ </td> </tr> <tr class="header"> - <th><?php echo __('Enable'); ?></th> - <th><?php echo __('Label'); ?></th> - <th><?php echo __('Type'); ?></th> - <th><?php echo __('Visibility'); ?></th> - <th><?php echo __('Variable'); ?></th> + <td><?php echo __('Enable'); ?></td> + <td><?php echo __('Label'); ?></td> + <td><?php echo __('Type'); ?></td> + <td><?php echo __('Visibility'); ?></td> + <td><?php echo __('Variable'); ?></td> </tr> <?php foreach ($form->getFields() as $f) { ?> diff --git a/include/staff/ticket-view.inc.php b/include/staff/ticket-view.inc.php index 1e0266b105cebdf38e0380135526b66baa37b2c2..8cdc0b454229427f4106555138e3aca8cd282136 100644 --- a/include/staff/ticket-view.inc.php +++ b/include/staff/ticket-view.inc.php @@ -657,8 +657,8 @@ $tcount = $ticket->getThreadEntries($types)->count(); </tbody> </table> <p style="padding:0 165px;"> - <input class="btn_sm" type="submit" value="<?php echo __('Post Reply');?>"> - <input class="btn_sm" type="reset" value="<?php echo __('Reset');?>"> + <input class="save pending" type="submit" value="<?php echo __('Post Reply');?>"> + <input class="" type="reset" value="<?php echo __('Reset');?>"> </p> </form> <?php @@ -740,8 +740,8 @@ $tcount = $ticket->getThreadEntries($types)->count(); </table> <p style="padding-left:165px;"> - <input class="btn_sm" type="submit" value="<?php echo __('Post Note');?>"> - <input class="btn_sm" type="reset" value="<?php echo __('Reset');?>"> + <input class="save pending" type="submit" value="<?php echo __('Post Note');?>"> + <input class="" type="reset" value="<?php echo __('Reset');?>"> </p> </form> <?php @@ -800,8 +800,8 @@ $tcount = $ticket->getThreadEntries($types)->count(); </tr> </table> <p style="padding-left:165px;"> - <input class="btn_sm" type="submit" value="<?php echo __('Transfer');?>"> - <input class="btn_sm" type="reset" value="<?php echo __('Reset');?>"> + <input class="save pending" type="submit" value="<?php echo __('Transfer');?>"> + <input class="" type="reset" value="<?php echo __('Reset');?>"> </p> </form> <?php @@ -900,8 +900,8 @@ $tcount = $ticket->getThreadEntries($types)->count(); </tr> </table> <p style="padding-left:165px;"> - <input class="btn_sm" type="submit" value="<?php echo $ticket->isAssigned()?__('Reassign'):__('Assign'); ?>"> - <input class="btn_sm" type="reset" value="<?php echo __('Reset');?>"> + <input class="save pending" type="submit" value="<?php echo $ticket->isAssigned()?__('Reassign'):__('Assign'); ?>"> + <input class="" type="reset" value="<?php echo __('Reset');?>"> </p> </form> <?php diff --git a/include/staff/tickets.inc.php b/include/staff/tickets.inc.php index ce0858e99f06f7834f8c49d1a2de68fd0b9d729b..2058995f89663e41a02a8f2b5d26f6563bbd9a5a 100644 --- a/include/staff/tickets.inc.php +++ b/include/staff/tickets.inc.php @@ -309,6 +309,21 @@ $_SESSION[':Q:tickets'] = $orig_tickets; <!-- SEARCH FORM START --> <div id='basic_search'> + <div class="pull-right" style="height:25px"> + <span class="valign-helper"></span> + <?php echo __('Sort'); ?>: + <select name="sort" onchange="javascript: $.pjax({ + url:'?' + addSearchParam('sort', $(this).val()), + timeout: 2000, + container: '#pjax-container'});"> +<?php foreach ($queue_sort_options as $mode) { +$desc = $sort_options[$mode]; ?> + <option value="<?php echo $mode; ?>" <?php if ($mode == $_SESSION[$queue_sort_key]) echo 'selected="selected"'; ?>><?php echo $desc; ?></option> +<?php } ?> + </select> + </span> + </div> + <form action="tickets.php" method="get" onsubmit="javascript: $.pjax({ url:$(this).attr('action') + '?' + $(this).serialize(), @@ -317,19 +332,16 @@ $_SESSION[':Q:tickets'] = $orig_tickets; }); return false;"> <input type="hidden" name="a" value="search"> - <table> - <tr> - <td><input type="search" id="basic-ticket-search" name="query" - autofocus size="30" value="<?php echo Format::htmlchars($_REQUEST['query'], true); ?>" - autocomplete="off" autocorrect="off" autocapitalize="off"> - <input type="hidden" name="search-type" value=""/> - </td> - <td><input type="submit" class="button" value="<?php echo __('Search'); ?>"></td> - <td> <a href="#" onclick="javascript: - $.dialog('ajax.php/tickets/search', 201);" - >[<?php echo __('advanced'); ?>]</a> <i class="help-tip icon-question-sign" href="#advanced"></i></td> - </tr> - </table> + <input type="text" id="basic-ticket-search" name="query" + autofocus size="30" value="<?php echo Format::htmlchars($_REQUEST['query'], true); ?>" + autocomplete="off" autocorrect="off" autocapitalize="off"> + <input type="hidden" name="search-type" value=""/> + <button type="submit" class="attached button"><i class="icon-search"></i> + </button> + <a href="#" onclick="javascript: + $.dialog('ajax.php/tickets/search', 201);" + >[<?php echo __('advanced'); ?>]</a> + <i class="help-tip icon-question-sign" href="#advanced"></i> </form> </div> <!-- SEARCH FORM END --> @@ -343,24 +355,12 @@ return false;"> $results_type.$showing; ?></a></h2> </div> <div class="pull-right flush-right"> - <span class="notsticky" style="display:inline-block"> - <span style="vertical-align: baseline">Sort:</span> - <select name="sort" onchange="javascript: $.pjax({ - url:'?' + addSearchParam('sort', $(this).val()), - timeout: 2000, - container: '#pjax-container'});"> -<?php foreach ($queue_sort_options as $mode) { - $desc = $sort_options[$mode]; ?> - <option value="<?php echo $mode; ?>" <?php if ($mode == $_SESSION[$queue_sort_key]) echo 'selected="selected"'; ?>><?php echo $desc; ?></option> -<?php } ?> - </select> - </span> <?php if ($thisstaff->canManageTickets()) { echo TicketStatus::status_options(); } - if ($thisstaff->hasPerm(TicketModel::PERM_DELETE)) { ?> - <a id="tickets-delete" class="action-button tickets-action" + if ($thisstaff->hasPerm(TicketModel::PERM_DELETE, false)) { ?> + <a id="tickets-delete" class="red button action-button tickets-action" href="#tickets/status/delete"><i class="icon-trash"></i> <?php echo __('Delete'); ?></a> <?php diff --git a/scp/css/dropdown.css b/scp/css/dropdown.css index 236deb3664c1c7f424e901130e9a71c41e7fd2c4..8a5b560d8dd69c13d29a2d0f71af9965ee3d1a92 100644 --- a/scp/css/dropdown.css +++ b/scp/css/dropdown.css @@ -11,7 +11,7 @@ } .action-dropdown ul { text-align: left; - font-size: 13px; + font-size: 0.95em; min-width: 140px; list-style: none; background: #FFF; @@ -34,14 +34,27 @@ color: #555; text-decoration: none; line-height: 18px; - padding: 3px 15px; + padding: 3px 10px; white-space: nowrap; } +.action-dropdown ul.bleed-left li > a { + padding-left: 8px; +} +.action-dropdown ul li > a i { + margin-right: 0.1em; +} .action-dropdown ul li > a:hover { - background-color: #08C; + background-color: #08C !important; color: #FFF !important; cursor: pointer; } +.action-dropdown ul li.active > a { + background-color: rgba(0, 136, 204, 0.2); + color: #08C; +} +.action-dropdown ul li.danger > a:hover { + background-color: #CF3F3F; +} .action-dropdown ul li > a.disabled { pointer-events: none; color: #999; @@ -85,56 +98,32 @@ left: auto; right: 10px; } - .action-button { - -webkit-border-radius: 3px; - -moz-border-radius: 3px; - border-radius: 3px; - -webkit-background-clip: padding-box; - -moz-background-clip: padding; - background-clip: padding-box; - color: #777 !important; - display: inline-block; - border: 1px solid #aaa; - cursor: pointer; - font-size: 11px; - overflow: hidden; - background-color: #dddddd; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #efefef), color-stop(100% #dddddd)); - background-image: -webkit-linear-gradient(top, #efefef 0%, #dddddd 100%); - background-image: -moz-linear-gradient(top, #efefef 0%, #dddddd 100%); - background-image: -ms-linear-gradient(top, #efefef 0%, #dddddd 100%); - background-image: -o-linear-gradient(top, #efefef 0%, #dddddd 100%); - background-image: linear-gradient(top, #efefef 0%, #dddddd 100%); - padding: 0 5px; - text-decoration: none !important; - line-height:18px; - margin-left:5px; - vertical-align: bottom; + line-height: 22px; + height: 22px; } .action-button span, .action-button a { - color: #777 !important; + color: inherit; display: inline-block; float: left; } .action-button i.icon-caret-down { - background-color: #dddddd; - background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #efefef), color-stop(100% #dddddd)); - background-image: -webkit-linear-gradient(top, #efefef 0%, #dddddd 100%); - background-image: -moz-linear-gradient(top, #efefef 0%, #dddddd 100%); - background-image: -ms-linear-gradient(top, #efefef 0%, #dddddd 100%); - background-image: -o-linear-gradient(top, #efefef 0%, #dddddd 100%); - background-image: linear-gradient(top, #efefef 0%, #dddddd 100%); - height: 18px; - line-height: 18px; - margin-right: 0; - margin-left: 5px; - padding-left: 5px; - border-left: 1px solid #aaa; + height: 17px; + line-height: 100%; + margin-right: -1px; + margin-left: 5px; + padding-left: 5px; + margin-top: -1px; + padding-top: 7px; + display: inline-block; + border-left: 1px solid #ccc; } -.action-button a { - color: #777; +.action-button:hover i.icon-caret-down { + border-color: inherit; +} +a.action-button, .action-button a { + color: inherit; text-decoration: none; } .action-buttons { diff --git a/scp/css/scp.css b/scp/css/scp.css index aed30308b6c8706f526736f91e799777aa92ba9a..37cdf097d1fb5fd024e7eabdd8952e63a8f64734 100644 --- a/scp/css/scp.css +++ b/scp/css/scp.css @@ -1,8 +1,12 @@ body { + font-family: "Lato", "Helvetica Neue", arial, helvetica, sans-serif; + font-weight: 300; + letter-spacing: 0.15px; +} +body, html { background:#eee; - font-family:arial, helvetica, sans-serif; - font-size:10pt; color:#000; + font-size:14px; margin:0; padding:0; } @@ -235,7 +239,7 @@ a time.relative { width:230px; background:#fbfbfb; margin:0; - padding:0; + padding:5px 0; position:absolute; left: -1px; z-index:500; @@ -259,7 +263,7 @@ a time.relative { #nav .inactive li { display:block; margin:0; - padding:0 5px; + padding:0; list-style:none; text-align:left; } @@ -283,18 +287,21 @@ a time.relative { } #nav .inactive li a { - padding-left:24px; - background-position:0 50%; - background-repeat:no-repeat; + background-position: 10px 50%; + background-repeat: no-repeat; + padding: 0 10px 0 34px; } #nav .inactive li a:hover { color:#E65524; + background-color: #fbfbfb; + background-color: rgba(0,0,0,0.05); } #sub_nav { background:#f7f7f7; border-bottom:1px solid #bebebe; + padding: 2px 20px; } #sub_nav a { @@ -474,7 +481,7 @@ a { clear:both; padding:10px; text-align:center; - font-size:9pt; + font-size:0.9em; } table { vertical-align:top; } @@ -484,8 +491,6 @@ table.list { background:#ccc; margin: 2px 0; border-bottom: 1px solid #ccc; - font-family:arial, helvetica, sans-serif; - font-size:10pt; } table.list caption { @@ -505,9 +510,10 @@ table.list thead th { } table.list th a { - text-decoration:none; color:#000; + margin: -4px -5px; + padding: 4px 5px; } table.list thead th a { padding-right: 15px; display: block; white-space: nowrap; color: #000; background: url('../images/asc_desc.gif') 100% 50% no-repeat; } @@ -521,7 +527,7 @@ table.list tbody td { vertical-align:top; } -table.list tbody td { background: #fff; padding: 1px 3px; vertical-align: top; } +table.list tbody td { background: #fff; padding: 4px 3px; vertical-align: top; } table.list tbody tr:nth-child(2n+1) td { background-color: #f0faff; } table.list tbody tr:hover td { background: #ffe; } table.list tbody tr:nth-child(2n+1):hover td { background: #ffd; } @@ -602,11 +608,9 @@ a.print { color:#000; } -#actions button, .button { padding:2px 5px 3px; margin-right:10px; color:#333;} - .btn_sm { padding:2px 5px; - font-size:9pt; + font-size:0.9em; background:url(../images/btn_sm_bg.png) top left repeat-x #f90; border:1px solid #777; color:#fff; @@ -642,8 +646,9 @@ input[type=search] { } .table tr.header td, -.table th { - font-weight: normal; +.table tr.header th, +.table > thead th { + font-weight: 400; font-size: 1.3em; text-align: left; min-height: 24px; @@ -659,7 +664,7 @@ input[type=search] { border-bottom: 1px dotted #777; } .table td:not(:empty) { - height: 24px; + padding: 5px; } .table.two-column tbody tr td:first-child { width: 25%; @@ -679,6 +684,7 @@ input[type=search] { .form_table td { border-bottom:1px solid #ddd; + padding: 4px; } .form_table td:not(:empty) { height: 20px; @@ -722,7 +728,7 @@ td.multi-line { } .form_table em { - font-weight:normal; + font-weight:400; color:#666; } @@ -783,8 +789,8 @@ div.section-break h3 { } .settings_table h4 a span { - font-size:12pt; - line-height:14px; + font-size:1.2em; + line-height:1.15em; display:inline-block; width:14px; height:14px; @@ -799,7 +805,7 @@ div.section-break h3 { h2 { margin:0 0 0.7em; padding:0; - font-size:12pt; + font-size:1.2em; color:#0A568E; } @@ -815,7 +821,6 @@ h2 span { color:#000; } h3 { margin:10px 0 0 0; padding:5px 0; - font-size:10pt; color:#444; } @@ -1101,7 +1106,7 @@ ul.tabs.clean li.active { } ul.tabs li a { - font-weight: normal; + font-weight: 300; line-height: 20px; color: #444; color: rgba(0,0,0,0.6); @@ -1297,15 +1302,15 @@ ul.tabs.alt li.active { -moz-border-radius:5px; -webkit-border-radius:5px; border-radius:5px; - -moz-box-shadow: 3px 3px 3px #666; - -webkit-box-shadow: 3px 3px 3px #666; - box-shadow: 3px 3px 3px #666; + -moz-box-shadow: 5px 5px 10px -2px rgba(0,0,0,0.5); + -webkit-box-shadow: 5px 5px 10px -2px rgba(0,0,0,0.5); + box-shadow: 5px 5px 10px -2px rgba(0,0,0,0.5); z-index:3; position:absolute; top:0; left:-1px; min-width:400px; - line-height: 1.15rem; + line-height: 1.45rem; } .tip_content .links { @@ -1355,7 +1360,7 @@ ul.tabs.alt li.active { padding:5px 0; border-top:1px solid #aaa; height:16px; - font-size:9pt; + font-size:0.9em; } .tip_menu li { @@ -1398,14 +1403,14 @@ ul.tabs.alt li.active { width:auto !important; width:295px; text-align:right; - line-height:24px; + line-height:1.5em; } .tip_content h1 { - font-size: 13pt; + font-size: 1.3em; margin-top: 0; - margin-bottom: 0.5em; - padding-bottom: 0.2em; + margin-bottom: 0.4em; + padding-bottom: 0.5em; border-bottom: 1px solid #ddd; padding-right: 1.5em; } @@ -1433,7 +1438,7 @@ caption:hover > i.help-tip { h2 > i.help-tip { vertical-align: baseline; - font-size: 11pt; + font-size: 1.1em; } .form_table th h4 i.help-tip { color: white; @@ -1622,7 +1627,7 @@ time.faq { } .redactor-editor { - font-size: 11pt; + font-size: 1.1em; } .dialog#advanced-search { @@ -1755,30 +1760,128 @@ time.faq { margin-left: 45px; } -.dialog input[type="submit"], -.dialog input[type="reset"], -.dialog input[type="button"], -.dialog button.button { +input[type="submit"], +input[type="reset"], +input[type="button"], +.action-button, +.button { + cursor: pointer; + box-sizing: content-box !important; display:inline-block; - margin:0; - height:24px; - line-height:24px; - font-weight:bold; - border:1px solid #666666; - padding:0 10px; - background: url('../images/grey_btn_bg.png?1312910883') top left repeat-x; - color: #333; + vertical-align:bottom; + margin:0 4px; + height:22px; + line-height: 22px; + border: none; + box-shadow: 0 0 0 1px rgba(0,0,0,0.25) inset; + padding:2px 11px; + color: #555; + background-color: #f0f0f0; + background-color: rgba(0,0,0,0.02); + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + font-family: inherit; + font-size: 0.95em; + text-decoration: none; +-webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +-webkit-transition: opacity 0.1s ease, background-color 0.1s ease, box-shadow 0.1s ease, color 0.1s ease, background 0.1s ease; + transition: opacity 0.1s ease, background-color 0.1s ease, box-shadow 0.1s ease, color 0.1s ease, background 0.1s ease; +} +input[type="submit"] i, +input[type="reset"] i, +input[type="button"] i, +.action-button i, +.button i { + margin-right: 0.1em; +} +select + .action-button, +select + .button { + vertical-align: middle; +} + + +.white.button { + background-color: rgba(255,255,255,0.6); + border-color: #555; +} +.white.button:hover { + background-color: rgba(255,255,255,0.8); + border-color: black; } -.dialog input[type="reset"], -.dialog input[type="button"] { - opacity:0.7; +.button.attached { + margin-left: -4px; + box-shadow: none !important; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + border: 1px solid #999; + border-left: none; + padding: 0 9px; } -.dialog input[type=submit]:hover, .dialog input[type=submit]:active, -.dialog input[type=button]:hover, .dialog input[type=button]:active, -.dialog input[type=reset]:hover, .dialog input[type=reset]:active { - background-position:bottom left; +.green.button:hover { + background-color: inherit; + box-shadow: 0 0 0 2px #16ab39 inset; + color: #16ab39; +} + +.red.button:hover { + background-color: inherit; + box-shadow: 0 0 0 2px #d01919 inset; + color: #d01919; +} + +button[type=submit], input[type="submit"], .primary.button { + font-weight: bold; + box-shadow: 0 0 0 1px rgba(0,0,0,0.45) inset; + background-color: rgba(0,0,0,0.07); +} + +.save.pending { + background-color: rgba(255, 174, 0, 0.63); + box-shadow: 0 0 0 2px rgba(255, 174, 0, 1) inset; +} + +.button:hover, .button:active, +.action-button:hover, .action-button:active, +input[type=button]:hover, input[type=button]:active, +input[type=reset]:hover, input[type=reset]:active { + color: black; + box-shadow: 0 0 0 2px rgba(0,0,0,0.5) inset; + background-color: #ddd; + background-color: rgba(0, 0, 0, 0.08); +} + +button[type=submit]:hover, input[type=submit]:hover, input[type=submit]:active { + color: white; + box-shadow: 0 0 0 2px rgba(0,0,0,0.7) inset; + background-color: #888; + background-color: rgba(0, 0, 0, 0.5); +} + +.save.pending:hover { + box-shadow: 0 0 0 2px rgba(242, 165, 0, 1) inset; + background-color: rgba(255, 174, 0, 0.79); + color: black; +} + +input[type=button].small, .small.button, input[type=submit].small { + font-size: 0.8em; + height: 18px; + line-height: 100%; + font-weight: normal; +} + +.action-button.muted { + box-shadow: 0 0 0 1px rgba(0,0,0,0.08) inset; +} + +.action-button.muted i.icon-caret-down { + border: none; } /* Dynamic forms in dialogs */ @@ -1827,12 +1930,12 @@ time.faq { /* Upgrader */ #upgrader { width: 100%; height: auto; clear: both;} .sidebar { width: 220px; padding: 10px; border: 1px solid #C8DDFA; float: right; background: #F7FBFE; } -.sidebar h3 { font-size: 10pt; margin: 0 0 5px 0; padding: 0; text-indent: 32px; background: url('../images/cog.png?1312913866') top left no-repeat; line-height: 24px; color: #2a67ac; } +.sidebar h3 { margin: 0 0 5px 0; padding: 0; text-indent: 32px; background: url('../images/cog.png?1312913866') top left no-repeat; line-height: 24px; color: #2a67ac; } #upgrader #main { width: 680px; float: left;} -#upgrader #main h1 { margin: 0; padding: 0; font-size: 21pt; font-weight: normal; } -#upgrader #main h2 { font-size: 12pt; margin: 0; padding: 0; color:#E65524; } -#upgrader #main h3 { font-size: 10pt; margin: 0; padding: 0; } +#upgrader #main h1 { margin: 0; padding: 0; font-size: 1.6em; font-weight: normal; } +#upgrader #main h2 { font-size: 1.2em; margin: 0; padding: 0; color:#E65524; } +#upgrader #main h3 { margin: 0; padding: 0; } #upgrader #main div#intro { padding-bottom: 5px; margin-bottom:10px; border-bottom: 1px solid #aaaaaa; } #upgrader #main { padding-bottom: 20px; } @@ -2227,8 +2330,8 @@ button a:hover { font-style: italic; } -.form_table tr:hover i.help-tip, -.form_table tr i.help-tip.warning { +tr:hover i.help-tip, +tr i.help-tip.warning { opacity: 1; color: #ffc20f; } @@ -2527,15 +2630,79 @@ form .inset { .form.footer { margin-top: 50px; } -<<<<<<< HEAD -.clearfix:after { - visibility: hidden; - display: block; - font-size: 0; - content: " "; - clear: both; - height: 0; +label.checkbox { + display: block; + padding-left: 1.2rem; + text-indent: -1.2rem; +} +input[type=checkbox] { + width: 0.9rem; + height: 0.9rem; + padding: 0; + margin:0; + vertical-align: bottom; + position: relative; + top: -1px; + *overflow: hidden; } .vertical-pad { margin-top: 3px; } + +input, select, textarea { + padding: 3px 5px; + font-size: 0.95em; + font-family: inherit; +} + +small { + font-weight: 300; + letter-spacing: 0.01px; +} + +/* Form layouts */ +table.grid.form { + width: 100%; + table-layout: fixed; +} +table.grid.form caption { + font-size: 1.3em; + font-weight: bold; + text-align: start; + padding: 0 9px; +} +.grid.form .cell { + vertical-align: top; +} +.grid.form .field { + padding: 5px; +} +.grid.form .field input:not([type=checkbox]), +.grid.form .field textarea, +.grid.form .field select { + width: 100%; + display: block; +} +.grid.form .field > label { + display: block; + margin-bottom: 5px; +} + +#basic_search { + background-color: #f4f4f4; + margin: -10px; + margin-bottom: 0px; + padding: 8px; + box-shadow: inset 0 4px 12px -11px black, inset 0 -4px 12px -11px black; + border-bottom: 1px dotted #aaa; +} + +#basic_search { + background-color: #f4f4f4; + margin: -10px 0; + margin-bottom: 5px; + padding: 8px; + box-shadow: inset 0 4px 12px -11px black; + border-bottom: 1px dotted #aaa; + border-radius: 0 0 5px 5px; +} diff --git a/scp/css/translatable.css b/scp/css/translatable.css index 3bece152ac700f39a6e7ff6404e3e7ae14814044..6601345e90f328102be8a818974ea1d342ad63be 100644 --- a/scp/css/translatable.css +++ b/scp/css/translatable.css @@ -100,12 +100,7 @@ div.translatable { box-shadow: inset 0 1px 1px rgba(0,0,0,0.05); display: inline-block; white-space: nowrap; - border-top-left-radius: 3px; - border-bottom-left-radius: 3px; border-right: none; - padding: 1px 5px 1px; - margin-left: 2px; - width: auto; background-color: white; line-height: 16px; } @@ -121,9 +116,7 @@ div.translatable.focus { outline-color: -webkit-focus-ring-color; } div.translatable .flag { - position: relative; - top: 1px; - margin-left: 2px; + margin-right: 4px; } div.translatable.textarea .flag { vertical-align: top; @@ -132,10 +125,9 @@ div.translatable.textarea .flag { textarea.translatable, input.translatable { border: none !important; - padding: 0 !important; + padding: 2px 5px !important; margin: 0 !important; background: none; - font-family: sans-serif; } textarea.translatable, input.translatable:focus { @@ -143,14 +135,15 @@ input.translatable:focus { } button.translatable { - margin: 0; - padding: 3px 5px 4px; + margin: -1px 0; + padding: 4px 5px 5px; background-color: #444; background:linear-gradient(0deg, #444 0, #888 100%); color: white; border: none; border-radius: 0 2px 2px 0; cursor: pointer; + vertical-align: top; } div.translatable.textarea + button.translatable { diff --git a/scp/js/jquery.dropdown.js b/scp/js/jquery.dropdown.js index b516ea9d97d1f610a0acc7bdbda2c90a47c87660..84a843dfd0e120660bfa1a3376a94d1c5ebb46f0 100644 --- a/scp/js/jquery.dropdown.js +++ b/scp/js/jquery.dropdown.js @@ -55,7 +55,7 @@ if(jQuery) (function($) { dropdown.css({ left: -offset.left + (dropdown.hasClass('anchor-right') ? - trigger.offset().left - (dropdown.outerWidth() - trigger.outerWidth() - 7) : trigger.offset().left), + trigger.offset().left - (dropdown.outerWidth() - trigger.outerWidth() - 4) : trigger.offset().left), top: -offset.top + trigger.offset().top + trigger.outerHeight() }).show(); trigger.addClass('dropdown-open'); diff --git a/scp/js/jquery.translatable.js b/scp/js/jquery.translatable.js index 08f754a1a5e85c0d50f9759edb458b1a2e7e8a7e..64331b166423735fa904d77ff6a0f374e36688e9 100644 --- a/scp/js/jquery.translatable.js +++ b/scp/js/jquery.translatable.js @@ -36,7 +36,7 @@ decorate: function() { this.$translations = $('<ul class="translations"></ul>'); - this.$status = $('<li class="status"><i class="icon-spinner icon-spin"></i> Loading ...</li>') + this.$status = $('<li class="status"><i class="icon-spinner icon-spin"></i> '+__('Loading')+' ...</li>') .appendTo(this.$translations); this.$footer = $('<div class="add-translation"></div>'); this.$select = $('<select name="locale"></select>'); @@ -44,8 +44,10 @@ this.$container = $('<div class="translatable"></div>') .prependTo(this.$element.parent()) .append(this.$element); - this.$container.wrap('<div style="display:inline-block;position:relative;width:auto"></div>'); - this.$button = $(this.options.button).insertAfter(this.$container); + if (this.$element.width() > 100) + this.$element.width(this.$element.width()-35); + this.$container.wrap('<div style="display:inline-block;position:relative;width:auto;white-space:nowrap;"></div>'); + this.$button = $(this.options.button).appendTo(this.$container); this.$menu.append($('<span class="close"><i class="icon-remove"></i></span>') .on('click', $.proxy(this.hide, this))); if (this.$element.is('textarea')) { @@ -72,7 +74,7 @@ this.$footer .append($('<form method="post"></form>') .append(this.$select) - .append($('<button type="button"><i class="icon-plus-sign"></i> Add</button>') + .append($('<button type="button"><i class="icon-plus-sign"></i> '+__('Add')+'</button>') .on('click', $.proxy(this.define, this)) ) ); @@ -94,7 +96,7 @@ self.add(k, v); }); if (!Object.keys(json).length) { - self.$status.text('Not currently translated'); + self.$status.text(__('Not currently translated')); } else self.$status.remove(); @@ -131,7 +133,7 @@ showCommit: function(e) { if (this.$commit) { - this.$commit.find('button').empty().text(' Save') + this.$commit.find('button').empty().text(' '+__('Save')) .prepend($('<i>').addClass('fa icon-save')); return !this.$commit.is(':visible') ? this.$commit.slideDown() : true; @@ -139,7 +141,7 @@ return this.$commit = $('<div class="language-commit"></div>') .hide() .insertAfter(this.$translations) - .append($('<button type="button" class="commit"><i class="fa fa-save icon-save"></i> Save</button>') + .append($('<button type="button" class="white button commit"><i class="fa fa-save icon-save"></i> '+__('Save')+'</button>') .on('click', $.proxy(this.commit, this)) ) .slideDown(); @@ -154,7 +156,7 @@ changes[$(this).data('lang')] = trans; }); this.$commit.prop('disabled', true); - this.$commit.find('button').empty().text(' Saving') + this.$commit.find('button').empty().text(' '+__('Saving')) .prepend($('<i>').addClass('fa icon-spin icon-spinner')); $.ajax('ajax.php/i18n/translate/' + this.$element.data('translateTag'), { type: 'post', diff --git a/scp/js/scp.js b/scp/js/scp.js index 257e8f9330fe2c18409449bd768ad473a5a8859a..7cf9c4254fb11d4ad5081e378792b241ceddd978 100644 --- a/scp/js/scp.js +++ b/scp/js/scp.js @@ -84,14 +84,14 @@ var scp_prep = function() { return false; }); - $('#actions :submit.button:not(.no-confirm)').bind('click', function(e) { + $('#actions :submit.button:not(.no-confirm), #actions .confirm').bind('click', function(e) { - var formObj = $(this).closest('form'); - e.preventDefault(); - if($('.dialog#confirm-action p#'+this.name+'-confirm').length == 0) { - alert('Unknown action '+this.name+' - get technical help.'); + var formObj = $(this).closest('form'), + name = this.name || $(this).data('name'); + if($('.dialog#confirm-action p#'+name+'-confirm').length == 0) { + alert('Unknown action '+name+' - get technical help.'); } else if(checkbox_checker(formObj, 1)) { - var action = this.name; + var action = name; $('.dialog#confirm-action').undelegate('.confirm'); $('.dialog#confirm-action').delegate('input.confirm', 'click.confirm', function(e) { e.preventDefault(); @@ -132,7 +132,7 @@ var scp_prep = function() { var fObj = el.closest('form'); if(!fObj.data('changed')){ fObj.data('changed', true); - $('input[type=submit]', fObj).css('color', 'red'); + $('input[type=submit]', fObj).addClass('save pending'); $(window).bind('beforeunload', function(e) { return __('Are you sure you want to leave? Any changes or info you\'ve entered will be discarded!'); }); @@ -149,7 +149,7 @@ var scp_prep = function() { $("form#save :input[type=reset]").click(function() { var fObj = $(this).closest('form'); if(fObj.data('changed')){ - $('input[type=submit]', fObj).removeAttr('style'); + $('input[type=submit]', fObj).removeClass('save pending'); $('label', fObj).removeAttr('style'); $('label', fObj).removeClass('strike'); fObj.data('changed', false); @@ -347,72 +347,6 @@ var scp_prep = function() { left : ($(window).width() - $("#loading").outerWidth()) / 2 }); - $('#advanced-search').delegate('#statusId, #flag', 'change', function() { - switch($(this).children('option:selected').data('state')) { - case 'closed': - $('select#assignee') - .attr('disabled','disabled') - .find('option:first') - .attr('selected', 'selected'); - $('select#flag') - .attr('disabled','disabled') - .find('option:first') - .attr('selected', 'selected'); - $('select#staffId').removeAttr('disabled'); - break; - case 'open': - $('select#staffId') - .attr('disabled','disabled') - .find('option:first') - .attr('selected', 'selected'); - $('select#assignee').removeAttr('disabled'); - $('select#flag').removeAttr('disabled'); - break; - default: - $('select#staffId').removeAttr('disabled'); - $('select#assignee').removeAttr('disabled'); - $('select#flag').removeAttr('disabled'); - } - }); - - $('#advanced-search form#search').submit(function(e) { - e.preventDefault(); - var fObj = $(this); - var elem = $('#advanced-search'); - $('#result-count').html(''); - fixupDatePickers.call(this); - $.ajax({ - url: "ajax.php/tickets/search", - data: fObj.serialize(), - dataType: 'json', - beforeSend: function ( xhr ) { - $('.buttons', elem).hide(); - $('.spinner', elem).show(); - return true; - }, - success: function (resp) { - - if(resp.success) { - $('#result-count').html('<div class="success">' + resp.success +'</div>'); - } else if (resp.fail) { - $('#result-count').html('<div class="fail">' + resp.fail +'</div>'); - } else { - $('#result-count').html('<div class="fail">Unknown error</div>'); - } - } - }) - .done( function () { - }) - .fail( function () { - $('#result-count').html('<div class="fail">' - + __('Advanced search failed - try again!') + '</div>'); - }) - .always( function () { - $('.spinner', elem).hide(); - $('.buttons', elem).show(); - }); - }); - // Return a helper with preserved width of cells var fixHelper = function(e, ui) { ui.children().each(function() {