Sfoglia il codice sorgente

- Small fixes to the custom display of lists.
- CSS improvement for dashboards

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2196 a333f486-631f-4898-b8df-5754b55c2be0

dflaven 13 anni fa
parent
commit
b635be6e25

+ 22 - 16
application/datatable.class.inc.php

@@ -91,10 +91,14 @@ class DataTable
 		$sDataTable = $this->GetHTMLTable($oPage, $aColumns, $sSelectMode, $iPageSize, $bViewLink, $aExtraParams);
 		$sConfigDlg = $this->GetTableConfigDlg($oPage, $aColumns, $bViewLink, $iDefaultPageSize);
 		
-		$sHtml = "<table id=\"datatable_{$this->iListId}\" class=\"datatable\">\n";
-		$sHtml .= "<tr><td><table style=\"width:100%;\"><tr><td>$sObjectsCount</td><td class=\"menucontainer\">$sActionsMenu</td></tr></table></td></tr>\n";
-		$sHtml .= "<tr><td><table style=\"width:100%\"><tr><td>$sPager</td><td class=\"menucontainer\">$sToolkitMenu</td></tr></table></td></tr>\n";
-		$sHtml .= "<tr><td class=\"datacontents\">$sDataTable</td></tr>\n";
+		$sHtml = "<table id=\"datatable_{$this->iListId}\" class=\"datatable\">";
+		$sHtml .= "<tr><td>";
+		$sHtml .= "<table style=\"width:100%;\">";
+		$sHtml .= "<tr><td class=\"pagination_container\">$sObjectsCount</td><td class=\"menucontainer\">$sToolkitMenu $sActionsMenu</td></tr>";
+		$sHtml .= "<tr>$sPager</tr>";
+		$sHtml .= "</table>";
+		$sHtml .= "</td></tr>";
+		$sHtml .= "<tr><td class=\"datacontents\">$sDataTable</td></tr>";
 		$sHtml .= "</table>\n";
 		$oPage->add_at_the_end($sConfigDlg);
 		
@@ -146,11 +150,11 @@ class DataTable
 	{
 		if (($sSelectMode == 'single') || ($sSelectMode == 'multiple'))
 		{
-			$sHtml = Dict::Format('UI:Pagination:HeaderSelection', '<span id="total">'.$this->iNbObjects.'</span>', '<span class="selectedCount">0</span>');
+			$sHtml = '<div class="pagination_objcount">'.Dict::Format('UI:Pagination:HeaderSelection', '<span id="total">'.$this->iNbObjects.'</span>', '<span class="selectedCount">0</span>').'</div>';
 		}
 		else
 		{
-			$sHtml = Dict::Format('UI:Pagination:HeaderNoSelection', '<span id="total">'.$this->iNbObjects.'</span>');
+			$sHtml = '<div class="pagination_objcount">'.Dict::Format('UI:Pagination:HeaderNoSelection', '<span id="total">'.$this->iNbObjects.'</span>').'</div>';
 		}
 		return $sHtml;		
 	}
@@ -210,19 +214,20 @@ class DataTable
 		$sSelectionMode = ($iNbPages == 1) ? '' : 'positive';
 		$sHtml =
 <<<EOF
-<div id="pager{$this->iListId}" class="pager" $sPagerStyle>
-		<p><table class="pagination"><tr><td>$sPages</td><td><img src="../images/first.png" class="first"/></td>
+		<td $sPagerStyle colspan="2">
+		<table id="pager{$this->iListId}" class="pager"><tr>
+		<td>$sPages</td>
+		<td><img src="../images/first.png" class="first"/></td>
 		<td><img src="../images/prev.png" class="prev"/></td>
 		<td><span id="index">$sPagesLinks</span></td>
 		<td><img src="../images/next.png" class="next"/></td>
 		<td><img src="../images/last.png" class="last"/></td>
 		<td>$sPageSizeCombo</td>
-		<td><span id="loading">&nbsp;</span></td>
+		<td><span id="loading">&nbsp;</span><input type="hidden" name="selectionMode" value="$sSelectionMode"></input>
+		</td>
 		</tr>
 		</table>
-		
-		<input type="hidden" name="selectionMode" value="$sSelectionMode"></input>
-</div>
+		</td>
 EOF;
 		return $sHtml;
 	}
@@ -238,7 +243,7 @@ EOF;
 	protected function GetToolkitMenu(WebPage $oPage, $aExtraParams)
 	{
 		$sMenuTitle = Dict::S('UI:ConfigureThisList');
-		$sHtml = '<div class="itop_popup" id="tk_'.$this->iListId.'"><ul><li><img src="../images/toolkit_menu.png"><ul><li><a  onclick="$(\'#datatable_dlg_'.$this->iListId.'\').dialog(\'open\');">'.$sMenuTitle.'</a></li></li></ul></div>';
+		$sHtml = '<div class="itop_popup toolkit_menu" id="tk_'.$this->iListId.'"><ul><li><img src="../images/toolkit_menu.png"><ul><li><a  onclick="$(\'#datatable_dlg_'.$this->iListId.'\').dialog(\'open\');">'.$sMenuTitle.'</a></li></li></ul></div>';
 		//$oPage->add_ready_script("$('#tk_{$this->iListId} > ul').popupmenu();");
 		return $sHtml;
 	}
@@ -501,11 +506,11 @@ EOF
 		$oPage->add_ready_script("$('#pager{$this->iListId}').html('".str_replace("\n", ' ', addslashes($sHtml))."');");
 		if ($iDefaultPageSize < 1)
 		{
-			$oPage->add_ready_script("$('#pager{$this->iListId}').hide()");
+			$oPage->add_ready_script("$('#pager{$this->iListId}').parent().hide()");
 		}
 		else
 		{
-			$oPage->add_ready_script("$('#pager{$this->iListId}').show()");
+			$oPage->add_ready_script("$('#pager{$this->iListId}').parent().show()");
 		}
 	}
 }
@@ -735,7 +740,8 @@ class DataTableSettings implements Serializable
 		{
 			// Turn the key into a suitable PCRE pattern
 			$sKey = $this->GetPrefsKey(null);
-			$sPattern = '!^'.str_replace(array('*'), array('.*'), $sKey).'$!';
+			$sPattern = str_replace(array('|'), array('\\|'), $sKey); // escape the | character
+			$sPattern = '#^'.str_replace(array('*'), array('.*'), $sPattern).'$#'; // Don't use slash as the delimiter since it's used in our key to delimit aliases
 			appUserPreferences::UnsetPref($sPattern, true);
 		}
 		else

+ 27 - 4
css/light-grey.css

@@ -400,6 +400,10 @@ a.CollapsibleLabel.open,  td a.CollapsibleLabel.open {
 	background-color:#f6f6f1;
 	padding:5px;
 }
+/* move up a header immediately following a display block (i.e. "actions" menu) */
+.display_block + .page_header {
+	margin-top: -8px;
+}
 
 .notreeview li { background: url(../images/tv-item.gif) 0 0 no-repeat; }
 .notreeview .collapsable { background-image: url(../images/tv-collapsable.gif); }
@@ -432,6 +436,7 @@ div.actions_menu > ul {
 	padding-left: 5px;
 	background: url(../images/actions_left.png) no-repeat top left;
 	cursor: pointer;
+	margin: 0;
 }
 
 div.actions_menu > ul > li {
@@ -446,12 +451,14 @@ div.actions_menu > ul > li {
 	font-weight: bold;
 	color: #fff;
 	vertical-align: middle;
+	margin: 0;
 }
 #logOffBtn > ul > li {
 	list-style: none;
 	vertical-align: middle;
 	margin: 0;
 	padding: 0;
+	cursor: pointer;
 }
 #logOffBtn > ul {
 	list-style: none;
@@ -482,6 +489,14 @@ div.actions_menu > ul > li {
 	white-space: nowrap;
 	background: #fff;
 }
+.itop_popup ul {
+	padding-left: 0;
+}
+
+.menucontainer div.toolkit_menu {
+	margin-left: 10px;
+}
+
 .itop_popup li a:hover, #logOffBtn li a:hover {
 	background: #1A4473;
 }
@@ -516,6 +531,9 @@ div.actions_menu > ul > li {
 	color: #fff;
 	font-weight: bold;
 }
+.itop_popup > ul {
+	margin: 0;
+}
 hr.menu-separator {
 	border: none 0;
 	border-top: 1px solid #ccc;;
@@ -1081,8 +1099,11 @@ table.pagination {
 table.pagination tr td {
 	padding: 3px;
 }
+.pagination_container {
+	padding-left: 3px;
+}
 .pager {
-	float:left;
+	display:inline-block;
 }
 .pager p {
 	margin-top: 0;
@@ -1111,7 +1132,7 @@ div.actions_button {
 	float:right;
 	background: url("../images/actions_left.png") no-repeat scroll left top transparent;
 	padding-left: 5px;
-	margin-top: 13px;
+	margin-top: 0;
 	margin-right: 10px;
 	height:17px;
 	vertical-align: middle;
@@ -1227,7 +1248,7 @@ td.prop_icon {
 }
 .main_header {
     background-color: #F1F1F6;
-    height: 60px;
+    min-height: 60px;
     width: 100%;
 }
 .main_header h1 {
@@ -1243,10 +1264,11 @@ td.prop_icon {
 	margin-right: 10px;
 	float:left;
 }
-a.summary {
+a.summary,  a.summary:hover {
     background: none repeat scroll 0 0 transparent;
     color: #666666;
     text-decoration: none;
+    padding-left: 0;
 }
 .summary-details td {
     background: none repeat scroll 0 0 transparent;
@@ -1259,6 +1281,7 @@ a.summary {
 	vertical-align: middle;
 	margin: 0;
 	padding: 0;
+	cursor: pointer;
 }
 
 #DashboardMenu > ul {

BIN
images/toolkit_menu.png


+ 1 - 1
js/jquery.tablesorter.pager.js

@@ -151,7 +151,7 @@ function sprintf(format, etc) {
 				{
 					s = table.config.totalRows - ex;
 				}
-				pager.closest('table').find('.selectedCount').text(s);
+				pager.parent().closest('table').find('.selectedCount').text(s);
 				if (table.config.cssCount != '')
 				{
 					$(table.config.cssCount).val(s);