Просмотр исходного кода

Merge branch 'master' of https://github.com/unaio/una

RomanL 5 лет назад
Родитель
Сommit
3f57a9a5b4
4 измененных файлов с 22 добавлено и 4 удалено
  1. 6 1
      inc/classes/BxDolGrid.php
  2. 8 0
      template/css/grid.css
  3. 1 1
      template/grid.html
  4. 7 2
      template/scripts/BxBaseGrid.php

+ 6 - 1
inc/classes/BxDolGrid.php

@@ -429,7 +429,12 @@ class BxDolGrid extends BxDolFactory implements iBxDolFactoryObject, iBxDolRepla
     protected function _getDataSqCounter($sQuery, $sFilter)
     {
         $oDb = BxDolDb::getInstance();
-        return $oDb->getOne("SELECT COUNT(*) " . substr($sQuery, strpos($sQuery, " FROM" )));
+
+        $sQuery = preg_replace("/^.+FROM\s+`?" . $this->_aOptions['table'] . "`?/", "SELECT COUNT(*) FROM `" . $this->_aOptions['table'] . "`", $sQuery);
+        if(strpos($sQuery, 'GROUP BY') === false)
+            return $oDb->getOne($sQuery);
+        else
+            return array_sum($oDb->getColumn($sQuery));
     }
    
     protected function _getDataSqlWhereClause($sFilter, &$sOrderByFilter)

+ 8 - 0
template/css/grid.css

@@ -57,7 +57,15 @@
     white-space: nowrap;
 }
 .bx-grid-header-controls-independent {}
+.bx-gh-no-counter .bx-grid-header-controls-independent {
+    -webkit-flex-grow: 2;
+    flex-grow: 2;
+
+    text-align: right;
+}
 .bx-grid-header-controls-independent .bx-btn {
+    display: inline-block;
+    float: none;
     white-space: nowrap;
 }
 

+ 1 - 1
template/grid.html

@@ -1,6 +1,6 @@
 <div id="__id_wrap__">
     <bx_if:display_header>
-        <div class="bx-grid-header">
+        <div class="bx-grid-header__class__">
         	<div class="bx-grid-header-cnt bx-def-margin-thd-leftright-neg bx-def-padding-sec-bottom bx-clearfix">
 	            <bx_if:filter>
 	                <div class="bx-grid-header-controls-filter bx-def-margin-thd-leftright">

+ 7 - 2
template/scripts/BxBaseGrid.php

@@ -193,8 +193,12 @@ class BxBaseGrid extends BxDolGrid
         if (!empty($this->_aConfirmMessages) && is_array($this->_aConfirmMessages))
             $sConfirmMessages = json_encode($this->_aConfirmMessages);
 
-		$iColumns = count($this->_aOptions['fields']);
-		$aVarsHead = $this->_getRowHead();
+        $iColumns = count($this->_aOptions['fields']);
+        $aVarsHead = $this->_getRowHead();
+
+        $sClassHeader = '';
+        if($this->_aOptions['show_total_count'] == 0)
+            $sClassHeader .= ' bx-gh-no-counter';
 
         $aVars = array (
             'object' => $this->_sObject,
@@ -243,6 +247,7 @@ class BxBaseGrid extends BxDolGrid
             'bx_if:display_header' => array (
                 'condition' => $isDisplayHeader,
                 'content' => array (
+                    'class' => $sClassHeader,
                     'bx_if:actions_independent' => array (
                         'condition' => !empty($this->_aOptions['actions_independent']),
                         'content' => array(