+ finish task #1391.
This commit is contained in:
Executable
+16
@@ -0,0 +1,16 @@
|
||||
</div>
|
||||
<?php if($extView = $this->getExtViewFile(__FILE__)){include $extView; return helper::cd();}?>
|
||||
<iframe frameborder='0' name='hiddenwin' id='hiddenwin' scrolling='no' class='<?php print($config->debug ? 'debugwin' : 'hidden');?>'></iframe>
|
||||
</div>
|
||||
<?php $onlybody = zget($_GET, 'onlybody', 'no');
|
||||
js::set('onlybody', $onlybody); // set the onlybody var.
|
||||
if(isset($pageJS)) js::execute($pageJS); // load the js for current page.
|
||||
|
||||
/* Load hook files for current page. */
|
||||
$extPath = dirname(dirname(dirname(realpath($viewFile)))) . '/common/ext/view/';
|
||||
$extHookRule = $extPath . 'm.footer.*.hook.php';
|
||||
$extHookFiles = glob($extHookRule);
|
||||
if($extHookFiles) foreach($extHookFiles as $extHookFile) include $extHookFile;
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+8
@@ -0,0 +1,8 @@
|
||||
</div>
|
||||
<?php if($extView = $this->getExtViewFile(__FILE__)){include $extView; return helper::cd();}?>
|
||||
<iframe frameborder='0' name='hiddenwin' id='hiddenwin' scrolling='no' class='hidden'></iframe>
|
||||
<script laguage='Javascript'>
|
||||
<?php if(isset($pageJS)) echo $pageJS;?>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
if($extView = $this->getExtViewFile(__FILE__)){include $extView; return helper::cd();}
|
||||
include 'm.header.lite.html.php';
|
||||
?>
|
||||
<?php if(empty($_GET['onlybody']) or $_GET['onlybody'] != 'yes'):?>
|
||||
<div data-role="header">
|
||||
<div data-role="navbar">
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div data-role="content">
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
<?php if($extView = $this->getExtViewFile(__FILE__)){include $extView; return helper::cd();}?>
|
||||
<?php
|
||||
$webRoot = $this->app->getWebRoot();
|
||||
$jsRoot = $webRoot . "js/";
|
||||
$themeRoot = $webRoot . "theme/";
|
||||
$defaultTheme = $webRoot . 'theme/default/';
|
||||
$langTheme = $themeRoot . 'lang/' . $app->getClientLang() . '.css';
|
||||
$clientTheme = $this->app->getClientTheme();
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset='utf-8' />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<?php
|
||||
echo html::title($title . ' - ' . $lang->zentaoPMS);
|
||||
|
||||
js::exportConfigVars();
|
||||
if($config->debug)
|
||||
{
|
||||
js::import($jsRoot . 'jquery/mobile/jquery-1.10.1.min.js', $config->version);
|
||||
js::import($jsRoot . 'm.my.full.js', $config->version);
|
||||
js::import($jsRoot . 'jquery/mobile/jquery.mobile.min.js', $config->version);
|
||||
|
||||
css::import($defaultTheme . 'jquery.mobile.css', $config->version);
|
||||
css::import($defaultTheme . 'm.style.css', $config->version);
|
||||
css::import($langTheme, $config->version);
|
||||
}
|
||||
|
||||
if(isset($pageCss)) css::internal($pageCss);
|
||||
|
||||
echo html::icon($webRoot . 'favicon.ico');
|
||||
?>
|
||||
</head>
|
||||
<body>
|
||||
<div data-role="page">
|
||||
@@ -0,0 +1,614 @@
|
||||
/**
|
||||
* Create link.
|
||||
*
|
||||
* @param string $moduleName
|
||||
* @param string $methodName
|
||||
* @param string $vars
|
||||
* @param string $viewType
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
function createLink(moduleName, methodName, vars, viewType, isOnlyBody)
|
||||
{
|
||||
if(!viewType) viewType = config.defaultView;
|
||||
if(!isOnlyBody) isOnlyBody = false;
|
||||
if(vars)
|
||||
{
|
||||
vars = vars.split('&');
|
||||
for(i = 0; i < vars.length; i ++) vars[i] = vars[i].split('=');
|
||||
}
|
||||
if(config.requestType == 'PATH_INFO')
|
||||
{
|
||||
link = config.webRoot + moduleName + config.requestFix + methodName;
|
||||
if(vars)
|
||||
{
|
||||
if(config.pathType == "full")
|
||||
{
|
||||
for(i = 0; i < vars.length; i ++) link += config.requestFix + vars[i][0] + config.requestFix + vars[i][1];
|
||||
}
|
||||
else
|
||||
{
|
||||
for(i = 0; i < vars.length; i ++) link += config.requestFix + vars[i][1];
|
||||
}
|
||||
}
|
||||
link += '.' + viewType;
|
||||
}
|
||||
else
|
||||
{
|
||||
link = config.router + '?' + config.moduleVar + '=' + moduleName + '&' + config.methodVar + '=' + methodName + '&' + config.viewVar + '=' + viewType;
|
||||
if(vars) for(i = 0; i < vars.length; i ++) link += '&' + vars[i][0] + '=' + vars[i][1];
|
||||
}
|
||||
|
||||
/* if page has onlybody param then add this param in all link. the param hide header and footer. */
|
||||
if(onlybody == 'yes' || isOnlyBody)
|
||||
{
|
||||
var onlybody = config.requestType == 'PATH_INFO' ? "?onlybody=yes" : '&onlybody=yes';
|
||||
link = link + onlybody;
|
||||
}
|
||||
return link;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the product switcher
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setProductSwitcher()
|
||||
{
|
||||
productMode = $.cookie('productMode');
|
||||
if(!productMode) productMode = 'noclosed';
|
||||
if(productMode == 'all')
|
||||
{
|
||||
$("#productID").append($("<option value='noclosed' id='switcher'>" + config.lblHideClosed + "</option>"));
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#productID").append($("<option value='all' id='switcher'>" + config.lblShowAll + "</option>"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Search product in drop menu.
|
||||
*
|
||||
* @param string $keywords
|
||||
* @param int $productID
|
||||
* @param string $module
|
||||
* @param string $method
|
||||
* @param mix $extra
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function searchProduct(keywords, $productID, module, method, extra)
|
||||
{
|
||||
if(keywords == '')
|
||||
{
|
||||
showProductMenu = 0;
|
||||
showDropMenu(productID, module, method, extra)
|
||||
}
|
||||
else
|
||||
{
|
||||
$.get(createLink('product', 'searchProduct', "keywords=" + keywords + "&module=" + module + "&method=" + method + "&extra=" + extra), function(data){ $('#searchResult').html(data);});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the id of the product last visited.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function saveProduct()
|
||||
{
|
||||
if($('#productID')) $.cookie('lastProduct', $('#productID').val(), {expires:config.cookieLife, path:config.webRoot});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set project switcher
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setProjectSwitcher()
|
||||
{
|
||||
projectMode = $.cookie('projectMode');
|
||||
if(!projectMode) projectMode = 'noclosed';
|
||||
if(projectMode == 'all')
|
||||
{
|
||||
$("#projectID").append($("<option value='noclosed' id='switcher'>" + config.lblHideClosed + "</option>"));
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#projectID").append($("<option value='all' id='switcher'>" + config.lblShowAll + "</option>"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Swtich project.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param string $module
|
||||
* @param string $method
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function switchProject(projectID, module, method, extra)
|
||||
{
|
||||
/* The projec id is a string, use it as the project model. */
|
||||
if(isNaN(projectID))
|
||||
{
|
||||
$.cookie('projectMode', projectID, {expires:config.cookieLife, path:config.webRoot});
|
||||
projectID = 0;
|
||||
}
|
||||
|
||||
/* Process task and build modules. */
|
||||
if(module == 'task' && (method == 'view' || method == 'edit' || method == 'batchedit'))
|
||||
{
|
||||
module = 'project';
|
||||
method = 'task';
|
||||
}
|
||||
if(module == 'build' && method == 'edit')
|
||||
{
|
||||
module = 'project';
|
||||
method = 'build';
|
||||
}
|
||||
|
||||
if(module == 'project' && method == 'create') return;
|
||||
|
||||
link = createLink(module, method, 'projectID=' + projectID);
|
||||
if(extra != '') link = createLink(module, method, 'projectID=' + projectID + '&type=' + extra);
|
||||
location.href = link;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the id of the project last visited.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function saveProject()
|
||||
{
|
||||
if($('#projectID')) $.cookie('lastProject', $('#projectID').val(), {expires:config.cookieLife, path:config.webRoot});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the ping url.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setPing()
|
||||
{
|
||||
$('#hiddenwin').attr('src', createLink('misc', 'ping'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Set required fields, add star class to them.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setRequiredFields()
|
||||
{
|
||||
if(!config.requiredFields) return false;
|
||||
requiredFields = config.requiredFields.split(',');
|
||||
for(i = 0; i < requiredFields.length; i++)
|
||||
{
|
||||
$('#' + requiredFields[i]).after('<span class="star"> * </span>');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set paceholder
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setPlaceholder()
|
||||
{
|
||||
if(typeof(holders) != "undefined")
|
||||
{
|
||||
for(var key in holders)
|
||||
{
|
||||
$("#"+key).attr('placeholder', holders[key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set language.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function selectLang(lang)
|
||||
{
|
||||
$.cookie('lang', lang, {expires:config.cookieLife, path:config.webRoot});
|
||||
location.href = removeAnchor(location.href);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove anchor from the url.
|
||||
*
|
||||
* @param string $url
|
||||
* @access public
|
||||
* @return string
|
||||
*/
|
||||
function removeAnchor(url)
|
||||
{
|
||||
pos = url.indexOf('#');
|
||||
if(pos > 0) return url.substring(0, pos);
|
||||
return url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the window size and save to cookie.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function saveWindowSize()
|
||||
{
|
||||
width = $(window).width();
|
||||
height = $(window).height();
|
||||
$.cookie('windowWidth', width)
|
||||
$.cookie('windowHeight', height)
|
||||
}
|
||||
|
||||
/**
|
||||
* Disable the submit button when submit form.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setForm()
|
||||
{
|
||||
var formClicked = false;
|
||||
$('form').submit(function()
|
||||
{
|
||||
submitObj = $(this).find(':submit');
|
||||
if($(submitObj).size() == 1)
|
||||
{
|
||||
submitLabel = $(submitObj).attr('value');
|
||||
$(submitObj).attr('disabled', 'disabled');
|
||||
$(submitObj).attr('value', config.submitting);
|
||||
$(submitObj).addClass('button-d');
|
||||
formClicked = true;
|
||||
}
|
||||
});
|
||||
|
||||
$("body").click(function()
|
||||
{
|
||||
if(formClicked)
|
||||
{
|
||||
$(submitObj).removeAttr('disabled');
|
||||
$(submitObj).attr('value', submitLabel);
|
||||
$(submitObj).removeClass('button-d');
|
||||
}
|
||||
formClicked = false;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the max with of image.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setImageSize(image, maxWidth)
|
||||
{
|
||||
/* If not set maxWidth, set it auto. */
|
||||
if(!maxWidth)
|
||||
{
|
||||
bodyWidth = $('body').width();
|
||||
maxWidth = bodyWidth - 450; // The side bar's width is 336, and add some margins.
|
||||
}
|
||||
$('.content img').each(function()
|
||||
{
|
||||
if($(this).width() > maxWidth) $(this).attr('width', maxWidth);
|
||||
});
|
||||
$(image).wrap('<a href="' + $(image).attr('src') + '" target="_blank"></a>')
|
||||
}
|
||||
|
||||
/**
|
||||
* Set mailto list from a contact list..
|
||||
*
|
||||
* @param string $mailto
|
||||
* @param int $contactListID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setMailto(mailto, contactListID)
|
||||
{
|
||||
if(!contactListID) return;
|
||||
link = createLink('user', 'ajaxGetContactUsers', 'listID=' + contactListID);
|
||||
$.get(link, function(users)
|
||||
{
|
||||
$('#' + mailto).val(users);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set comment.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function setComment()
|
||||
{
|
||||
$('#commentBox').toggle();
|
||||
$('.ke-container').css('width', '100%');
|
||||
setTimeout(function() { $('#commentBox textarea').focus(); }, 50);
|
||||
}
|
||||
|
||||
/**
|
||||
* Auto checked the checkbox of a row.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function autoCheck()
|
||||
{
|
||||
$('.tablesorter tr :checkbox').click(function()
|
||||
{
|
||||
if($(this).attr('checked'))
|
||||
{
|
||||
$(this).attr('checked', false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).attr('checked', true);
|
||||
}
|
||||
return;
|
||||
});
|
||||
|
||||
$('.tablesorter tr').click(function()
|
||||
{
|
||||
if(document.activeElement.type != 'select-one' && document.activeElement.type != 'text')
|
||||
{
|
||||
if($(this).find(':checkbox').attr('checked'))
|
||||
{
|
||||
$(this).find(':checkbox').attr('checked', false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$(this).find(':checkbox').attr('checked', true);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Toogle the search form.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function toggleSearch()
|
||||
{
|
||||
$("#bysearchTab").toggle
|
||||
(
|
||||
function()
|
||||
{
|
||||
if(browseType == 'bymodule')
|
||||
{
|
||||
$('#treebox').addClass('hidden');
|
||||
$('.divider').addClass('hidden');
|
||||
$('#bymoduleTab').removeClass('active');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#' + browseType + 'Tab').removeClass('active');
|
||||
}
|
||||
$('#bysearchTab').addClass('active');
|
||||
ajaxGetSearchForm();
|
||||
$('#querybox').removeClass('hidden');
|
||||
},
|
||||
function()
|
||||
{
|
||||
if(browseType == 'bymodule')
|
||||
{
|
||||
$('#treebox').removeClass('hidden');
|
||||
$('.divider').removeClass('hidden');
|
||||
$('#bymoduleTab').addClass('active');
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#' + browseType +'Tab').addClass('active');
|
||||
}
|
||||
$('#bysearchTab').removeClass('active');
|
||||
$('#querybox').addClass('hidden');
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajax get search form
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function ajaxGetSearchForm()
|
||||
{
|
||||
if($('#querybox').html() == '')
|
||||
{
|
||||
$.get(createLink('search', 'buildForm'), function(data){
|
||||
$('#querybox').html(data);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the link of clearData.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function hideClearDataLink()
|
||||
{
|
||||
if(typeof showDemoUsers == 'undefined' || !showDemoUsers) $('#submenuclearData').addClass('hidden');
|
||||
}
|
||||
|
||||
/**
|
||||
* add one option of a select to another select.
|
||||
*
|
||||
* @param string $SelectID
|
||||
* @param string $TargetID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function addItem(SelectID,TargetID)
|
||||
{
|
||||
ItemList = document.getElementById(SelectID);
|
||||
Target = document.getElementById(TargetID);
|
||||
for(var x = 0; x < ItemList.length; x++)
|
||||
{
|
||||
var opt = ItemList.options[x];
|
||||
if (opt.selected)
|
||||
{
|
||||
flag = true;
|
||||
for (var y=0;y<Target.length;y++)
|
||||
{
|
||||
var myopt = Target.options[y];
|
||||
if (myopt.value == opt.value)
|
||||
{
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
if(flag)
|
||||
{
|
||||
Target.options[Target.options.length] = new Option(opt.text, opt.value, 0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove one selected option from a select.
|
||||
*
|
||||
* @param string $SelectID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function delItem(SelectID)
|
||||
{
|
||||
ItemList = document.getElementById(SelectID);
|
||||
for(var x=ItemList.length-1;x>=0;x--)
|
||||
{
|
||||
var opt = ItemList.options[x];
|
||||
if (opt.selected)
|
||||
{
|
||||
ItemList.options[x] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* move one selected option up from a select.
|
||||
*
|
||||
* @param string $SelectID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function upItem(SelectID)
|
||||
{
|
||||
ItemList = document.getElementById(SelectID);
|
||||
for(var x=1;x<ItemList.length;x++)
|
||||
{
|
||||
var opt = ItemList.options[x];
|
||||
if(opt.selected)
|
||||
{
|
||||
tmpUpValue = ItemList.options[x-1].value;
|
||||
tmpUpText = ItemList.options[x-1].text;
|
||||
ItemList.options[x-1].value = opt.value;
|
||||
ItemList.options[x-1].text = opt.text;
|
||||
ItemList.options[x].value = tmpUpValue;
|
||||
ItemList.options[x].text = tmpUpText;
|
||||
ItemList.options[x-1].selected = true;
|
||||
ItemList.options[x].selected = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* move one selected option down from a select.
|
||||
*
|
||||
* @param string $SelectID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function downItem(SelectID)
|
||||
{
|
||||
ItemList = document.getElementById(SelectID);
|
||||
for(var x=0;x<ItemList.length;x++)
|
||||
{
|
||||
var opt = ItemList.options[x];
|
||||
if(opt.selected)
|
||||
{
|
||||
tmpUpValue = ItemList.options[x+1].value;
|
||||
tmpUpText = ItemList.options[x+1].text;
|
||||
ItemList.options[x+1].value = opt.value;
|
||||
ItemList.options[x+1].text = opt.text;
|
||||
ItemList.options[x].value = tmpUpValue;
|
||||
ItemList.options[x].text = tmpUpText;
|
||||
ItemList.options[x+1].selected = true;
|
||||
ItemList.options[x].selected = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* select all items of a select.
|
||||
*
|
||||
* @param string $SelectID
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
function selectItem(SelectID)
|
||||
{
|
||||
ItemList = document.getElementById(SelectID);
|
||||
for(var x=ItemList.length-1;x>=0;x--)
|
||||
{
|
||||
var opt = ItemList.options[x];
|
||||
opt.selected = true;
|
||||
}
|
||||
}
|
||||
|
||||
/* Ping the server every some minutes to keep the session. */
|
||||
needPing = true;
|
||||
|
||||
/* When body's ready, execute these. */
|
||||
$(document).ready(function()
|
||||
{
|
||||
setForm();
|
||||
|
||||
setRequiredFields();
|
||||
setPlaceholder();
|
||||
setProductSwitcher();
|
||||
setProjectSwitcher();
|
||||
saveProduct();
|
||||
saveProject();
|
||||
|
||||
autoCheck();
|
||||
toggleSearch();
|
||||
|
||||
hideClearDataLink();
|
||||
|
||||
if(needPing) setTimeout('setPing()', 1000 * 60); // After 5 minutes, begin ping.
|
||||
|
||||
$('.export').bind('click', function()
|
||||
{
|
||||
var checkeds = '';
|
||||
$(':checkbox').each(function(){
|
||||
if($(this).attr('checked'))
|
||||
{
|
||||
var checkedVal = parseInt($(this).val());
|
||||
if(checkedVal != 0) checkeds = checkeds + checkedVal + ',';
|
||||
}
|
||||
})
|
||||
if(checkeds != '') checkeds = checkeds.substring(0, checkeds.length - 1);
|
||||
$.cookie('checkedItem', checkeds, {expires:config.cookieLife, path:config.webRoot});
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,395 @@
|
||||
/**
|
||||
* The css file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2013 QingDao Nature Easy Soft Network Technology Co,LTD (www.cnezsoft.com)
|
||||
* @license LGPL (http://www.gnu.org/licenses/lgpl.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package front
|
||||
* @version $Id: style.css 1454 2009-10-23 01:45:26Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
/*-----------------------BASE SETTING----------------------------*/
|
||||
.f-left {float:left; padding-left: 5px}
|
||||
.f-right {float:right; padding-right:5px}
|
||||
.c-none {clear:none;}
|
||||
.c-left {clear:left;}
|
||||
.c-right {clear:right;}
|
||||
.c-both {clear:both;}
|
||||
.a-center {text-align: center;}
|
||||
.a-right {text-align: right;}
|
||||
.a-left {text-align: left;}
|
||||
|
||||
.half-left {float:left; width:48%; text-align:left; clear:left}
|
||||
.half-right {float:right; width:48%; text-align:right; clear:right}
|
||||
|
||||
.hidden {display:none}
|
||||
.block {display:block}
|
||||
.inline {display:inline}
|
||||
|
||||
.margin-zero {margin: 0}
|
||||
.margin-10px {margin: 10px}
|
||||
.margin-15px {margin: 15px}
|
||||
.margin-20px {margin: 20px}
|
||||
.padding-zero{padding: 0}
|
||||
.padding-10px{padding: 10px}
|
||||
.padding-5px {padding: 5px}
|
||||
|
||||
.mt-10px {margin-top: 10px}
|
||||
.mr-10px {margin-right: 10px}
|
||||
.mb-10px {margin-bottom: 10px}
|
||||
.ml-10px {margin-left: 10px}
|
||||
|
||||
.mt-zero {margin-top: 0}
|
||||
.mr-zero {margin-right: 0}
|
||||
.mb-zero {margin-bottom: 0}
|
||||
.ml-zero {margin-left: 0}
|
||||
|
||||
.pt-10px {padding-top: 10px}
|
||||
.pr-10px {padding-right: 10px}
|
||||
.pb-10px {padding-bottom:10px}
|
||||
.pl-10px {padding-left: 10px}
|
||||
.ph-10px {padding-left:10px; padding-right:10px}
|
||||
.pv-10px {padding-top: 10px; padding-bottom:10px}
|
||||
|
||||
.f-12px {font-size:12px}
|
||||
.f-14px {font-size:14px}
|
||||
.f-16px {font-size:16px}
|
||||
|
||||
/*-----------------------FORM SETTING----------------------------*/
|
||||
.text-1 {width: 90%}
|
||||
.text-2 {width: 120px}
|
||||
.text-3 {width: 240px}
|
||||
.text-4 {width: 360px}
|
||||
.text-5 {width: 480px}
|
||||
|
||||
.select-1 {width: 90%}
|
||||
.select-2 {width: 125px}
|
||||
.select-3 {width: 245px}
|
||||
.select-4 {width: 360px}
|
||||
.select-5 {width: 480px}
|
||||
|
||||
.area-1{width: 90%;}
|
||||
.area-2{width: 120px}
|
||||
.area-3{width: 240px}
|
||||
.area-4{width: 360px}
|
||||
.area-5{width: 480px}
|
||||
|
||||
/*-----------------------TABLE SETTING----------------------------*/
|
||||
.caption-tr {caption-side:top; text-align:right; border:none; background:none;}
|
||||
.caption-tl {caption-side:top; text-align:left; border:none; background:none;}
|
||||
|
||||
.table-1 {width:100%; margin-bottom:10px}
|
||||
.table-2 {width:240px;margin-bottom:10px}
|
||||
.table-3 {width:360px;margin-bottom:10px}
|
||||
.table-4 {width:480px;margin-bottom:10px}
|
||||
.table-5 {width:600px;margin-bottom:10px}
|
||||
.table-6 {width:800px;margin-bottom:10px}
|
||||
|
||||
.table-1 tr, .table-2 tr, .table-3 tr, .table-4 tr, .table-5 tr {padding:4px 3px}
|
||||
.table-1 td, .table-2 td, .table-3 td, .table-4 td, .table-5 td {padding:4px 3px}
|
||||
.table-1 th, .table-2 th, .table-3 th, .table-4 th, .table-5 th {padding:4px 3px}
|
||||
|
||||
.colhead td {text-align:center; background-color:#efefef;}
|
||||
.colhead th {text-align:center; background-color:#efefef; font-size:12px; font-weight:bold; border-bottom:1px solid #e4e4e4; height:24px;}
|
||||
.colhead a {text-decoration:none; display:block;}
|
||||
.colhead th a{color:#333; font-size:12px;}
|
||||
.colhead th a:hover{color:#F30;}
|
||||
|
||||
.rowhead {font-weight:bold; text-align:right; width:100px; border:none}
|
||||
.side .rowhead {width:20%}
|
||||
|
||||
.fixed {table-layout:fixed}
|
||||
.nobr {overflow:hidden; white-space:nowrap;}
|
||||
.fixed th, .fixed td {overflow:hidden; white-space:nowrap;}
|
||||
.nofixed th, .nofixed td {overflow:visible; white-space:normal}
|
||||
|
||||
.odd {background:#fff;}
|
||||
.even {background:#f9f9f9;}
|
||||
.hoover {background:#d0dee3;}
|
||||
.clicked {background:#fce6a2;}
|
||||
|
||||
/*-----------------------HEIGHT SETTING--------------------------*/
|
||||
.h-5px {height:5px}
|
||||
.h-10px {height:10px}
|
||||
.h-20px {height:20px}
|
||||
.h-30px {height:30px}
|
||||
.h-35px {height:35px}
|
||||
.h-40px {height:40px}
|
||||
.h-45px {height:45px}
|
||||
.h-50px {height:50px}
|
||||
.h-60px {height:60px}
|
||||
.h-70px {height:70px}
|
||||
.h-80px {height:80px}
|
||||
.h-100px {height:100px}
|
||||
.h-120px {height:120px}
|
||||
.h-130px {height:130px}
|
||||
.h-140px {height:140px}
|
||||
.h-150px {height:150px}
|
||||
.h-200px {height:200px}
|
||||
|
||||
/*-----------------------WIDTH SETTING--------------------------*/
|
||||
.w-p5 {width: 5%}
|
||||
.w-p10 {width: 10%}
|
||||
.w-p15 {width: 15%}
|
||||
.w-p20 {width: 20%}
|
||||
.w-p25 {width: 25%}
|
||||
.w-p30 {width: 30%}
|
||||
.w-p35 {width: 35%}
|
||||
.w-p40 {width: 40%}
|
||||
.w-p45 {width: 45%}
|
||||
.w-p50 {width: 50%}
|
||||
.w-p55 {width: 55%}
|
||||
.w-p60 {width: 60%}
|
||||
.w-p65 {width: 65%}
|
||||
.w-p70 {width: 70%}
|
||||
.w-p75 {width: 75%}
|
||||
.w-p80 {width: 80%}
|
||||
.w-p85 {width: 85%}
|
||||
.w-p90 {width: 90%}
|
||||
.w-p100{width: 100%}
|
||||
.w-p98 {width: 98%}
|
||||
.w-p99 {width: 99%}
|
||||
|
||||
.w-20px {width:20px}
|
||||
.w-30px {width:30px}
|
||||
.w-35px {width:35px}
|
||||
.w-40px {width:40px}
|
||||
.w-45px {width:45px}
|
||||
.w-50px {width:50px}
|
||||
.w-60px {width:60px}
|
||||
.w-70px {width:70px}
|
||||
.w-80px {width:80px}
|
||||
.w-100px {width:100px}
|
||||
.w-120px {width:120px}
|
||||
.w-130px {width:130px}
|
||||
.w-140px {width:140px}
|
||||
.w-150px {width:150px}
|
||||
.w-160px {width:160px}
|
||||
.w-200px {width:200px}
|
||||
|
||||
.w-id {width:55px;}
|
||||
.w-pri {width:30px;}
|
||||
.w-severity {width:40px;}
|
||||
.w-hour {width:40px;}
|
||||
.w-date {width:70px;}
|
||||
.w-user {width:60px;}
|
||||
.w-status {width:50px}
|
||||
.w-type {width:80px}
|
||||
.w-resolution{width:60px}
|
||||
|
||||
/*-----------------------BORDER SETTING--------------------------*/
|
||||
.bd-1px {border:1px solid}
|
||||
.bt-1px {border-top:1px solid}
|
||||
.bl-1px {border-left:1px solid}
|
||||
.bb-1px {border-bottom:1px solid}
|
||||
.br-1px {border-right:1px solid}
|
||||
.bd-none {border:none}
|
||||
.bd-green {border-color:#58CB64}
|
||||
.bd-yellow {border-color:#F4BF20}
|
||||
.bd-blue {border-color:#64B7D7}
|
||||
.bd-gray {border-color:#bcbcbc;}
|
||||
|
||||
/*-----------------------BACKGROUND SETTING----------------------------*/
|
||||
.bg-green {background-color:#DDF1D8;}
|
||||
.bg-blue {background-color:#DEEEF4}
|
||||
.bg-yellow {background-color:#FBF5C6;}
|
||||
.bg-gray {background-color:#efefef;}
|
||||
.bg-white {background-color:white;}
|
||||
|
||||
/*-----------------------COLOR SETTING----------------------------*/
|
||||
.red {color:red;}
|
||||
.blue {color:blue}
|
||||
.yellow {color:yellow;}
|
||||
.gray {color:gray;}
|
||||
.green {color:green;}
|
||||
.star {color:red; font-size:18px; font-weight:bold;}
|
||||
.warning {background:yellow; color:red; font-weight:bold}
|
||||
|
||||
/*-----------------------SPECIAL PART SETTING--------------------*/
|
||||
/* Header. */
|
||||
#header{padding:2px 15px 0 15px; background:#003366; border-bottom:1px solid #e4e4e4;}
|
||||
|
||||
.actionlink{font-size:14px; font-weight:bold; padding-top:8px}
|
||||
.actionlink span{padding:5px 3px}
|
||||
|
||||
/* Pager. */
|
||||
.pager {margin-bottom:0}
|
||||
|
||||
/*-----------------------OTHERS SETTINGS --------------------*/
|
||||
.done {color:#078F0E;}
|
||||
.wait {color:#888;}
|
||||
.doing {color:#F30;}
|
||||
.delayed {background:#e84e0f; color:white;}
|
||||
.pass {color:#078F0E;}
|
||||
.blocked {background:yellow;}
|
||||
.fail {color:red}
|
||||
.hand {cursor:pointer}
|
||||
.strong {font-weight:bold}
|
||||
.deleted {text-decoration:line-through}
|
||||
.linkbox a {display:block}
|
||||
.owner {background:#e4e4e4; font-size:smaller}
|
||||
.notice { background-color:#ffffcc; border:1px solid #ffcc00; padding:15px 25px;}
|
||||
.button-create{}
|
||||
|
||||
/*-----------------------ICONS --------------------*/
|
||||
.icon-search {padding-left:16px; background:url(images/main/zt-icons.png) -123px -83px; border:0px;}
|
||||
.icon-arrow {padding-left:10px; background:url(images/main/zt-icons.png) -102px -443px;}
|
||||
|
||||
/* Common icons. */
|
||||
#featurebar .f-right .icon-goback {padding:0px 9px}
|
||||
.pri1 {background:url(images/main/zt-icons.png) -1px -143px; text-indent:-9999px; display:block; width:17px; margin:0 auto;}
|
||||
.pri2 {background:url(images/main/zt-icons.png) -21px -143px; text-indent:-9999px; display:block; width:17px; margin:0 auto;}
|
||||
.pri3 {background:url(images/main/zt-icons.png) -41px -143px; text-indent:-9999px; display:block; width:17px; margin:0 auto;}
|
||||
.pri4 {background:url(images/main/zt-icons.png) -61px -143px; text-indent:-9999px; display:block; width:17px; margin:0 auto;}
|
||||
.pri5 {background:url(images/main/zt-icons.png) -81px -143px; text-indent:-9999px; display:block; width:17px; margin:0 auto;}
|
||||
.pri6 {background:url(images/main/zt-icons.png) -101px -143px; text-indent:-9999px; display:block; width:17px; margin:0 auto;}
|
||||
.icon-goback {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -42px;}
|
||||
.icon-pre {padding:2px 8px; background:url(images/main/zt-icons.png) -20px -42px;}
|
||||
.icon-next {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -42px;}
|
||||
#searchicon {padding:2px 8px; background:url(images/main/zt-icons.png) -102px -80px; margin-left:10px;}
|
||||
#searchmore {padding:2px 8px; background:url(images/main/zt-icons.png) -62px -80px no-repeat; margin-right:10px;}
|
||||
#searchlite {padding:2px 8px; background:url(images/main/zt-icons.png) -82px -80px no-repeat; margin-right:10px}
|
||||
.icon-add {border:none; width:16px; padding:2px 8px; background:url(images/main/zt-icons.png) -120px -3px no-repeat;}
|
||||
.icon-delete {border:none; width:16px; padding:2px 8px; background:url(images/main/zt-icons.png) -100px -3px no-repeat;}
|
||||
.icon-add:hover, .icon-delete:hover {cursor:pointer}
|
||||
.icon-allProducts, .icon-allProjects {padding:2px 10px 2px 8px; background:url(images/main/zt-icons.png) 0px -161px;}
|
||||
|
||||
.icon-green-common-edit {padding:2px 8px; background:url(images/main/zt-icons.png) 0px 0px no-repeat;}
|
||||
.icon-green-common-comment {padding:2px 8px; background:url(images/main/zt-icons.png) -20px 0px no-repeat;}
|
||||
.icon-green-common-copy {padding:2px 8px; background:url(images/main/zt-icons.png) -40px 0px no-repeat;}
|
||||
.icon-green-common-delete {padding:2px 8px; background:url(images/main/zt-icons.png) -60px 0px no-repeat;}
|
||||
.icon-gray-common-delete {padding:2px 8px; background:url(images/main/zt-icons.png) -60px -22px no-repeat;}
|
||||
|
||||
#featurebar .f-right .icon-green-common-report {padding:2px 10px; background:url(images/main/zt-icons.png) -40px -82px no-repeat;}
|
||||
#featurebar .f-right .icon-green-common-export, .icon-green-common-export {padding:2px 8px; background:url(images/main/zt-icons.png) -20px -82px;}
|
||||
|
||||
#featurebar .f-right .icon-green-todo-create, .icon-green-productplan-create, .icon-green-release-create,#featurebar .f-right .icon-green-doc-create, .icon-green-doc-create, .icon-green-build-create {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -202px;}
|
||||
.icon-green-group-create {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -202px;}
|
||||
|
||||
/* Todo icons. */
|
||||
.icon-green-todo-finish {padding:1px 8px; background:url(images/main/zt-icons.png) -80px -242px;}
|
||||
|
||||
/* Story icons. */
|
||||
.icon-green-story-toStory {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -202px;}
|
||||
|
||||
.icon-green-story-change {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -200px;}
|
||||
.icon-gray-story-change {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -220px;}
|
||||
|
||||
.icon-green-story-review {padding:2px 8px; background:url(images/main/zt-icons.png) -60px -201px;}
|
||||
.icon-gray-story-review {padding:2px 8px; background:url(images/main/zt-icons.png) -60px -221px;}
|
||||
|
||||
.icon-green-story-close {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -201px;}
|
||||
.icon-gray-story-close {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -221px;}
|
||||
|
||||
.icon-green-story-activate {padding:2px 8px; background:url(images/main/zt-icons.png) -100px -201px;}
|
||||
|
||||
.icon-green-story-createCase {padding:2px 8px; background:url(images/main/zt-icons.png) -120px -201px;}
|
||||
.icon-gray-story-createCase {padding:2px 8px; background:url(images/main/zt-icons.png) -120px -221px;}
|
||||
|
||||
.icon-green-project-unlinkStory {padding:2px 5px 2px 10px; background:url(images/main/zt-icons.png) -60px 0px;}
|
||||
.icon-green-productplan-unlinkStory {padding:2px 5px 2px 10px; background:url(images/main/zt-icons.png) -60px 0px;}
|
||||
|
||||
.icon-green-project-linkStory, .icon-green-productplan-linkStory {padding:2px 3px 2px 10px; background:url(images/main/zt-icons.png) -161px -201px;}
|
||||
#featurebar .f-right .icon-green-story-create, .icon-green-story-create {padding:2px 7px 2px 10px; background:url(images/main/zt-icons.png) 0px -202px;}
|
||||
#featurebar .f-right .icon-green-story-batchCreate {padding:2px 7px 2px 10px; background:url(images/main/zt-icons.png) -20px -202px;}
|
||||
|
||||
/* Task icons. */
|
||||
.icon-green-task-confirmStoryChange {padding:2px 8px; background:url(images/main/zt-icons.png) -60px -201px;}
|
||||
|
||||
.icon-green-task-assignTo {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -242px;}
|
||||
.icon-gray-task-assignTo {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -262px;}
|
||||
|
||||
.icon-green-task-start {padding:2px 8px; background:url(images/main/zt-icons.png) -61px -242px;}
|
||||
.icon-gray-task-start {padding:2px 8px; background:url(images/main/zt-icons.png) -61px -262px;}
|
||||
|
||||
.icon-green-task-finish {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -242px;}
|
||||
.icon-gray-task-finish {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -262px;}
|
||||
|
||||
.icon-green-task-activate {padding:2px 8px; background:url(images/main/zt-icons.png) -120px -241px;}
|
||||
.icon-gray-task-activate {padding:2px 8px; background:url(images/main/zt-icons.png) -120px -262px;}
|
||||
|
||||
.icon-green-task-cancel {padding:2px 8px; background:url(images/main/zt-icons.png) -141px -242px;}
|
||||
|
||||
.icon-green-task-close {padding:2px 8px; background:url(images/main/zt-icons.png) -100px -241px;}
|
||||
.icon-gray-task-close {padding:2px 8px; background:url(images/main/zt-icons.png) -100px -261px;}
|
||||
|
||||
.icon-green-task-editEstimate {padding:2px 8px; background:url(images/main/zt-icons.png) 0px 0px no-repeat;}
|
||||
.icon-green-task-deleteEstimate {padding:2px 8px; background:url(images/main/zt-icons.png) -60px 0px no-repeat;}
|
||||
|
||||
#featurebar .f-right .icon-green-task-create, .icon-green-task-create {padding:2px 7px 2px 10px; background:url(images/main/zt-icons.png) 0px -242px;}
|
||||
#featurebar .f-right .icon-green-task-batchCreate, .icon-green-task-batchCreate {padding:2px 7px 2px 10px; background:url(images/main/zt-icons.png) -20px -242px;}
|
||||
|
||||
/* Bug icons. */
|
||||
.severity1 {width:17px; margin:0px auto; display:block; background:url(images/main/zt-icons.png) 0px -383px; text-indent:-9999px;}
|
||||
.severity2 {width:17px; margin:0px auto; display:block; background:url(images/main/zt-icons.png) -19px -383px; text-indent:-9999px;}
|
||||
.severity3 {width:17px; margin:0px auto; display:block; background:url(images/main/zt-icons.png) -40px -383px; text-indent:-9999px;}
|
||||
.severity4 {width:17px; margin:0px auto; display:block; background:url(images/main/zt-icons.png) -60px -383px; text-indent:-9999px;}
|
||||
.severity5 {width:17px; margin:0px auto; display:block; background:url(images/main/zt-icons.png) -80px -383px; text-indent:-9999px;}
|
||||
.severity6 {width:17px; margin:0px auto; display:block; background:url(images/main/zt-icons.png) -100px -383px; text-indent:-9999px;}
|
||||
|
||||
.icon-green-bug-confirmStoryChange {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -282px;}
|
||||
|
||||
.icon-green-bug-confirmBug {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -282px;}
|
||||
.icon-gray-bug-confirmBug {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -302px;}
|
||||
|
||||
.icon-green-bug-assignTo {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -242px;}
|
||||
|
||||
.icon-green-bug-createBug {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -282px;}
|
||||
.icon-gray-bug-createBug {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -302px;}
|
||||
|
||||
.icon-green-bug-resolve {padding:2px 8px; background:url(images/main/zt-icons.png) -60px -281px;}
|
||||
.icon-gray-bug-resolve {padding:2px 8px; background:url(images/main/zt-icons.png) -60px -301px;}
|
||||
|
||||
.icon-green-bug-close {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -281px;}
|
||||
.icon-gray-bug-close {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -301px;}
|
||||
|
||||
.icon-green-bug-activate {padding:2px 8px; background:url(images/main/zt-icons.png) -120px -241px;}
|
||||
.icon-gray-bug-activate {padding:2px 8px; background:url(images/main/zt-icons.png) -120px -261px;}
|
||||
|
||||
#featurebar .f-right .icon-green-bug-create, caption .f-right .icon-green-bug-create {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -202px;}
|
||||
#featurebar .f-right .icon-green-bug-customFields {padding:2px 8px; background:url(images/main/zt-icons.png) -141px -282px;}
|
||||
|
||||
/* Case icons. */
|
||||
.icon-green-testcase-createCase {padding:1px 7px 1px 10px; background:url(images/main/zt-icons.png) -80px -322px;}
|
||||
.icon-gray-testcase-createCase {padding:1px 7px 1px 10px; background:url(images/main/zt-icons.png) -80px -322px;}
|
||||
.icon-green-testcase-confirmStoryChange {padding:2px 8px; background:url(images/main/zt-icons.png) -40px -282px;}
|
||||
|
||||
.icon-green-testtask-runCase {padding:1px 7px 1px 10px; background:url(images/main/zt-icons.png) -40px -322px;}
|
||||
.icon-green-testtask-results {padding:1px 7px 1px 10px; background:url(images/main/zt-icons.png) -60px -322px;}
|
||||
.icon-green-testtask-unlinkCase {padding:2px 5px 2px 10px; background:url(images/main/zt-icons.png) -60px 0px;}
|
||||
|
||||
#featurebar .f-right .icon-green-testcase-create {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -320px;}
|
||||
#featurebar .f-right .icon-green-testcase-batchCreate {padding:2px 8px; background:url(images/main/zt-icons.png) -20px -320px;}
|
||||
|
||||
.link-button {padding:7px 0px 7px 0px; margin-left:-1px; }
|
||||
.link-button:hover {background:RGB(200, 200, 200)}
|
||||
.link-button a{color:black; font-weight:normal; font-size:14px;}
|
||||
.link-button a:hover {color:RGB(234, 0, 0);}
|
||||
|
||||
/* Testtask icons. */
|
||||
.icon-green-testtask-create {padding:2px 8px; background:url(images/main/zt-icons.png) 0px -202px;}
|
||||
.icon-green-testtask-cases {padding:1px 7px 1px 10px; background:url(images/main/zt-icons.png) -80px -322px;}
|
||||
#featurebar .f-right .icon-green-testtask-linkCase, .icon-green-testtask-linkCase {padding:2px 4px 2px 10px; background:url(images/main/zt-icons.png) -160px -201px;}
|
||||
|
||||
/* Effort icons. */
|
||||
.icon-green-effort-createForObject {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -2px;}
|
||||
|
||||
/* Record icons. */
|
||||
.icon-green-task-recordEstimate {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -2px;}
|
||||
.icon-gray-task-recordEstimate {padding:2px 8px; background:url(images/main/zt-icons.png) -80px -22px;}
|
||||
|
||||
|
||||
/* Todo icons. */
|
||||
#featurebar .f-right .icon-green-todo-batchCreate {padding:2px 8px; background:url(images/main/zt-icons.png) -20px -202px;}
|
||||
|
||||
.log-asc {padding:2px 6px; background:url(images/main/zt-icons.png) -2px -422px;}
|
||||
.log-desc {padding:2px 6px; background:url(images/main/zt-icons.png) -22px -422px;}
|
||||
.change-hide {padding:2px 6px; background:url(images/main/zt-icons.png) -42px -422px; border:0px;}
|
||||
.change-show {padding:2px 6px; background:url(images/main/zt-icons.png) -62px -422px; border:0px;}
|
||||
.diff-all {padding:2px 6px; background:url(images/main/zt-icons.png) -81px -422px; border:0px}
|
||||
.diff-short {padding:2px 6px; background:url(images/main/zt-icons.png) -101px -422px; border:0px}
|
||||
|
||||
/* Webapp icons. */
|
||||
.icon-webapp-create {padding:2px 10px 2px 10px; background:url(images/main/zt-icons.png) 3px -242px no-repeat;}
|
||||
.icon-webapp-manage {padding:2px 10px 2px 10px; background:url(images/main/zt-icons.png) 3px -482px no-repeat;}
|
||||
.icon-webapp-obtain {padding:2px 10px 2px 10px; background:url(images/main/zt-icons.png) -19px -482px no-repeat;}
|
||||
Reference in New Issue
Block a user