* code for task #3663.

This commit is contained in:
wangyidong
2018-03-28 13:52:26 +08:00
parent 3877c7f111
commit f459f4a3da
13 changed files with 184 additions and 121 deletions
+26
View File
@@ -20,4 +20,30 @@ helper::import(dirname(dirname(__FILE__)) . '/base/pager/pager.class.php');
*/
class pager extends basePager
{
/**
* Show pager.
*
* @param string $align
* @param string $type
* @access public
* @return void
*/
public function show($align = 'right', $type = 'full')
{
if($type == 'pagerjs')
{
$this->setParams();
$params = $this->params;
foreach($params as $key => $value)
{
if(strtolower($key) == 'recperpage') $params[$key] = '{recPerPage}';
if(strtolower($key) == 'pageid') $params[$key] = '{page}';
}
echo "<ul class='pager' data-ride='pager' data-rec-total='{$this->recTotal}' data-rec-per-page='{$this->recPerPage}' data-page='{$this->pageID}' data-link-creator='" . helper::createLink($this->moduleName, $this->methodName, $params) . "'></ul>";
}
else
{
parent::show($align, $type);
}
}
}
+5 -5
View File
@@ -599,12 +599,12 @@ class commonModel extends model
if(isset($order[1]) and $order[1] == 'asc')
{
$orderBy = "{$order[0]}_desc";
$className = $isMobile ? 'SortUp' : 'headerSortDown';
$className = $isMobile ? 'SortUp' : 'sort-up';
}
else
{
$orderBy = "{$order[0]}_asc";
$className = $isMobile ? 'SortDown' : 'headerSortUp';
$className = $isMobile ? 'SortDown' : 'sort-down';
}
}
else
@@ -613,7 +613,7 @@ class commonModel extends model
$className = 'header';
}
$link = helper::createLink($module, $method, sprintf($vars, $orderBy));
echo $isMobile ? html::a($link, $label, '', "class='$className'") : "<div class='$className'>" . html::a($link, $label) . '</div>';
echo $isMobile ? html::a($link, $label, '', "class='$className'") : html::a($link, $label, '', "class='$className'");
}
/**
@@ -762,14 +762,14 @@ class commonModel extends model
}
else
{
return html::a($link, "<i class='$class'></i>", $target, "class='btn-icon $extraClass' title='$title' $misc", false);
return html::a($link, "<i class='$class'></i>", $target, "class='btn $extraClass' title='$title' $misc", false);
}
}
else
{
if($type == 'list')
{
return "<button type='button' class='disabled btn-icon $extraClass'><i class='$class' title='$title' $misc></i></button>";
return "<button type='button' class='disabled btn $extraClass'><i class='$class' title='$title' $misc></i></button>";
}
}
}
+1
View File
@@ -104,6 +104,7 @@ class my extends control
/* Assign. */
$this->view->todos = $this->loadModel('todo')->getList($type, $account, $status, 0, $pager, $sort);
$this->view->todoCount = $this->todo->getCount();
$this->view->date = (int)$type == 0 ? date(DT_DATE1) : date(DT_DATE1, strtotime($type));
$this->view->type = $type;
$this->view->recTotal = $recTotal;
+1
View File
@@ -1,2 +1,3 @@
.datepicker-wrapper{width: 110px!important;}
.datepicker-wrapper .form-control {max-width: 110px; line-height: 25px; height: 26px!important}
th.c-actions{width:160px !important;}
+97 -98
View File
@@ -13,99 +13,99 @@
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/datepicker.html.php';?>
<?php js::set('confirmDelete', $lang->todo->confirmDelete)?>
<div id='featurebar'>
<ul class='nav'>
<?php
foreach($lang->todo->periods as $period => $label)
{
<main id="main">
<div class="container">
<div id="mainMenu" class="clearfix">
<div class="btn-toolbar pull-left">
<div class="divider"></div>
<?php foreach($lang->todo->periods as $period => $label):?>
<?php
$vars = "date=$period";
if($period == 'before') $vars .= "&account={$app->user->account}&status=undone";
echo "<li id='$period'>" . html::a(inlink('todo', $vars), $label) . '</li>';
}
echo "<li id='byDate'>" . html::input('date', $date,"class='form-control form-date' onchange='changeDate(this.value)' autocomplete='off'") . '</li>';
if(is_numeric($type))
{
if($date == date('Y-m-d'))
{
$type = 'today';
}
else if($date == date('Y-m-d', strtotime('-1 day')))
{
$type = 'yesterday';
}
}
?>
<script>$('#<?php echo $type;?>').addClass('active')</script>
</ul>
<div class='actions'>
<?php echo html::a(helper::createLink('todo', 'export', "account=$account&orderBy=id_desc"), "<i class='icon-download-alt'></i> " . $lang->todo->export, '', "class='btn export'") ?>
<?php echo html::a(helper::createLink('todo', 'batchCreate', "date=" . str_replace('-', '', $date)), "<i class='icon-plus-sign'></i> " . $lang->todo->batchCreate, '', "class='btn'") ?>
<?php echo html::a(helper::createLink('todo', 'create', "date=" . str_replace('-', '', $date)), "<i class='icon-plus'></i> " . $lang->todo->create, '', "class='btn'") ?>
</div>
</div>
<form method='post' id='todoform'>
<table class='table table-condensed table-hover table-striped tablesorter table-fixed table-selectable' id='todoList'>
<?php $vars = "type=$type&account=$account&status=$status&orderBy=%s&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID"; ?>
<thead>
<tr class='text-center'>
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
<th class='w-date'> <?php common::printOrderLink('date', $orderBy, $vars, $lang->todo->date);?></th>
<th class='w-type'> <?php common::printOrderLink('type', $orderBy, $vars, $lang->todo->type);?></th>
<th class='w-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
<th> <?php common::printOrderLink('name', $orderBy, $vars, $lang->todo->name);?></th>
<th class='w-hour'> <?php common::printOrderLink('begin', $orderBy, $vars, $lang->todo->beginAB);?></th>
<th class='w-hour'> <?php common::printOrderLink('end', $orderBy, $vars, $lang->todo->endAB);?></th>
<th class='w-status'><?php common::printOrderLink('status', $orderBy, $vars, $lang->todo->status);?></th>
<th class='w-100px {sorter:false}'><?php echo $lang->actions;?></th>
</tr>
</thead>
<tbody>
<?php foreach($todos as $todo):?>
<tr class='text-center'>
<td class='cell-id'>
<?php if($type != 'cycle' and (common::hasPriv('todo', 'batchEdit') or (common::hasPriv('todo', 'import2Today') and $importFuture))):?>
<input type='checkbox' name='todoIDList[<?php echo $todo->id;?>]' value='<?php echo $todo->id;?>' />
<?php endif;?>
<?php echo $todo->id; ?>
</td>
<td><?php echo $todo->date == '2030-01-01' ? $lang->todo->periods['future'] : $todo->date;?></td>
<td><?php echo $lang->todo->typeList[$todo->type];?></td>
<td><span class='<?php echo 'pri' . zget($lang->todo->priList, $todo->pri, $todo->pri);?>'><?php echo zget($lang->todo->priList, $todo->pri, $todo->pri)?></span></td>
<td class='text-left'><?php echo html::a($this->createLink('todo', 'view', "id=$todo->id&from=my", '', true), $todo->name, '', "data-toggle='modal' data-type='iframe' data-title='" . $lang->todo->view . "' data-icon='check'");?></td>
<td><?php echo $todo->begin;?></td>
<td><?php echo $todo->end;?></td>
<td class='<?php echo $todo->status;?>'><?php echo $lang->todo->statusList[$todo->status];?></td>
<td class='text-right'>
<?php
if($todo->status != 'done') common::printIcon('todo', 'assignto', "todoID=$todo->id", $todo, 'list', 'hand-right', '', "btn-icon", '', "data-toggle='assigntoModal'", $lang->todo->assignTo);
if($todo->status == 'done') common::printIcon('todo', 'activate', "id=$todo->id", $todo, 'list', 'magic', 'hiddenwin');
if($todo->status != 'done') common::printIcon('todo', 'finish', "id=$todo->id", $todo, 'list', 'ok-sign', 'hiddenwin');
if($todo->status == 'done') common::printIcon('todo', 'close', "id=$todo->id", $todo, 'list', 'off', 'hiddenwin');
common::printIcon('todo', 'edit', "id=$todo->id", '', 'list', 'pencil', '', 'iframe', true);
if(common::hasPriv('todo', 'delete'))
{
$deleteURL = $this->createLink('todo', 'delete', "todoID=$todo->id&confirm=yes");
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"todoList\",confirmDelete)", '<i class="icon-remove"></i>', '', "class='btn-icon' title='{$lang->todo->delete}'");
}
$label = $period == 'all' ? "<span class='text'>$label</span> <span class='label label-light label-badge'>{$todoCount}</span>" : "<span class='text'>$label</span>";
$active = $period == $type ? 'btn-active-text' : '';
echo html::a(inlink('todo', $vars), $label, '', "class='btn btn-link $active' id='{$period}'")
?>
</td>
</tr>
<?php endforeach;?>
</tbody>
<?php if(count($todos)):?>
<tfoot>
<tr>
<td colspan='9' align='left'>
<?php endforeach;?>
<div class="input-control has-icon-right space">
<input type="text" required="" class="form-control form-date" id="todoDate" name="date" placeholder="2018-02-28">
<label for="inputPasswordExample1" class="input-control-icon-right"><i class="icon icon-delay"></i></label>
</div>
</div>
<div class="btn-toolbar pull-right">
<?php if(common::hasPriv('todo', 'export')) echo html::a(helper::createLink('todo', 'export', "account=$account&orderBy=$orderBy", 'html', true), "<i class='icon-export muted'> </i> " . $lang->todo->export, '', "class='btn btn-link iframe'");?>
<?php common::printIcon('todo', 'batchCreate', '', '', 'button', 'plus', '', 'btn-primary iframe', 'true', "id='batchCreate' data-width='80%'");?>
</div>
</div>
<div id="mainContent">
<form class="main-table table-todo" data-ride="table" method="post">
<table class="table has-sort-head table-lg">
<?php $vars = "type=$type&account=$account&status=$status&orderBy=%s&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID"; ?>
<thead>
<tr>
<th class="c-id">
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
<?php if($type != 'cycle' and (common::hasPriv('todo', 'batchEdit') or (common::hasPriv('todo', 'import2Today') and $importFuture))):?>
<label></label>
<?php endif;?>
<?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?>
</div>
</th>
<th class="c-date"> <?php common::printOrderLink('date', $orderBy, $vars, $lang->todo->date);?></th>
<th class="c-type"> <?php common::printOrderLink('type', $orderBy, $vars, $lang->todo->type);?></th>
<th class="c-pri"> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
<th class="c-name"> <?php common::printOrderLink('name', $orderBy, $vars, $lang->todo->name);?></th>
<th class="c-begin"> <?php common::printOrderLink('begin', $orderBy, $vars, $lang->todo->beginAB);?></th>
<th class="c-end"> <?php common::printOrderLink('end', $orderBy, $vars, $lang->todo->endAB);?></th>
<th class="c-status"><?php common::printOrderLink('status', $orderBy, $vars, $lang->todo->status);?></th>
<th class="c-actions"><?php echo $lang->actions;?></th>
</tr>
</thead>
<tbody>
<?php foreach($todos as $todo):?>
<tr>
<td class="c-id">
<div class="checkbox-primary">
<?php if($type != 'cycle' and (common::hasPriv('todo', 'batchEdit') or (common::hasPriv('todo', 'import2Today') and $importFuture))):?>
<input type='checkbox' name='todoIDList[<?php echo $todo->id;?>]' value='<?php echo $todo->id;?>' />
<label></label>
<?php endif;?>
<?php echo $todo->id?>
</div>
</td>
<td class="c-date"><?php echo $todo->date == '2030-01-01' ? $lang->todo->periods['future'] : $todo->date;?></td>
<td class="c-type"><?php echo $lang->todo->typeList[$todo->type];?></td>
<td class="c-pri"> <span class='<?php echo 'todo-pri' . $todo->pri;?>'><?php echo zget($lang->todo->priList, $todo->pri, $todo->pri)?></span></td>
<td class="c-name"><?php echo html::a($this->createLink('todo', 'view', "id=$todo->id&from=my", '', true), $todo->name, '', "data-toggle='modal' data-type='iframe' data-title='" . $lang->todo->view . "' data-icon='check'");?></td>
<td class="c-begin"><?php echo $todo->begin;?></td>
<td class="c-end"><?php echo $todo->end;?></td>
<td class="c-status"><?php echo $lang->todo->statusList[$todo->status];?></td>
<td class="c-actions">
<?php
if($todo->status != 'done') common::printIcon('todo', 'assignto', "todoID=$todo->id", $todo, 'list', 'hand-right', '', "btn-icon", '', "data-toggle='assigntoModal'", $lang->todo->assignTo);
if($todo->status == 'done') common::printIcon('todo', 'activate', "id=$todo->id", $todo, 'list', 'magic', 'hiddenwin');
if($todo->status != 'done') common::printIcon('todo', 'finish', "id=$todo->id", $todo, 'list', 'checked', 'hiddenwin');
if($todo->status == 'done') common::printIcon('todo', 'close', "id=$todo->id", $todo, 'list', 'off', 'hiddenwin');
common::printIcon('todo', 'edit', "id=$todo->id", '', 'list', 'edit', '', 'iframe', true);
if(common::hasPriv('todo', 'delete'))
{
$deleteURL = $this->createLink('todo', 'delete', "todoID=$todo->id&confirm=yes");
echo html::a("javascript:ajaxDelete(\"$deleteURL\",\"todoList\",confirmDelete)", '<i class="icon-trash"></i>', '', "class='btn' title='{$lang->todo->delete}'");
}
?>
</td>
</tr>
<?php endforeach;?>
</tbody>
</table>
<div class="table-footer">
<?php if($type != 'cycle'):?>
<div class='table-actions clearfix'>
<?php if(common::hasPriv('todo', 'batchEdit') or (common::hasPriv('todo', 'import2Today') and $importFuture)):?>
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
<?php endif;?>
<div class="table-actions btn-toolbar">
<?php
if(common::hasPriv('todo', 'batchEdit') or (common::hasPriv('todo', 'import2Today') and $importFuture))
{
echo html::selectButton();
}
echo "<div class='btn-group'>";
if(common::hasPriv('todo', 'batchEdit'))
{
$actionLink = $this->createLink('todo', 'batchEdit', "from=myTodo&type=$type&account=$account&status=$status");
@@ -118,25 +118,24 @@
echo html::commonButton($lang->todo->finish, "onclick=\"setFormAction('$actionLink','hiddenwin')\"");
}
echo '</div>';
if(common::hasPriv('todo', 'import2Today') and $importFuture)
{
$actionLink = $this->createLink('todo', 'import2Today');
echo "<div class='input-group'>";
echo "<div class='datepicker-wrapper datepicker-date'>" . html::input('date', date('Y-m-d'), "class='form-control form-date'") . '</div>';
echo "<div class='input-control has-icon-right space'>";
echo html::input('date', date('Y-m-d'), "class='form-control form-date'");
echo '<label for="inputPasswordExample1" class="input-control-icon-right"><i class="icon icon-delay"></i></label>';
echo '</div>';
echo html::commonButton($lang->todo->import, "onclick=\"setFormAction('$actionLink')\"");
}
?>
</div>
<?php endif;?>
<?php $pager->show();?>
</td>
</tr>
</tfoot>
<?php endif;?>
</table>
</form>
<?php $pager->show('right', 'pagerjs');?>
</div>
</form>
</div>
</div>
</main>
<?php include '../../todo/view/assignto.html.php';?>
<?php js::set('listName', 'todoList')?>
<?php include '../../common/view/footer.html.php';?>
+1 -5
View File
@@ -94,17 +94,13 @@ $lang->todo->lblClickCreate = "点击添加待办";
$lang->todo->noTodo = '该类型没有待办事务';
$lang->todo->noAssignedTo = '被指派人不能为空';
$lang->todo->periods['all'] = '所有待办';
$lang->todo->periods['today'] = '今日';
$lang->todo->periods['yesterday'] = '昨日';
$lang->todo->periods['thisWeek'] = '本周';
$lang->todo->periods['lastWeek'] = '上周';
$lang->todo->periods['thisMonth'] = '本月';
$lang->todo->periods['lastmonth'] = '上月';
$lang->todo->periods['thisSeason'] = '本季';
$lang->todo->periods['thisYear'] = '本年';
$lang->todo->periods['future'] = '待定';
$lang->todo->periods['before'] = '未完';
$lang->todo->periods['all'] = '所有';
$lang->todo->periods['cycle'] = '周期';
$lang->todo->action = new stdclass();
+26
View File
@@ -540,6 +540,13 @@ class todoModel extends model
return !dao::isError();
}
/**
* Assign todo.
*
* @param int $todoID
* @access public
* @return bool
*/
public function assignTo($todoID)
{
$todo = fixer::input('post')
@@ -555,4 +562,23 @@ class todoModel extends model
$this->loadModel('action')->create('todo', $todoID, 'assigned', '', $todo->assignedTo);
return !dao::isError();
}
/**
* Get todo count.
*
* @param string $account
* @access public
* @return int
*/
public function getCount($account = '')
{
if(empty($account)) $account = $this->app->user->account;
return $this->dao->select('count(*) as count')->from(TABLE_TODO)
->where('cycle')->eq('0')
->andWhere('account', true)->eq($account)
->orWhere('assignedTo')->eq($account)
->orWhere('finishedBy')->eq($account)
->markRight(1)
->fetch('count');
}
}
+9 -9
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
+15 -1
View File
@@ -7,6 +7,14 @@
<font-face units-per-em="1024" ascent="819.2" descent="-204.8" />
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
<glyph unicode="&#xe313;" glyph-name="angle-down" d="M296.429 458.221l215.571-215.571 215.571 215.571 65.991-65.991-281.565-281.565-281.565 281.565z" />
<glyph unicode="&#xe314;" glyph-name="angle-left" d="M687.557 66.667l-66.666-66.666-284.448 284.448 284.448 284.448 66.666-66.666-217.777-217.777z" />
<glyph unicode="&#xe315;" glyph-name="angle-right" d="M336.443 66.675l217.777 217.777-217.777 217.777 66.666 66.666 284.448-284.448-284.448-284.448z" />
<glyph unicode="&#xe316;" glyph-name="angle-top" d="M296.425 110.666l-65.99 65.99 281.565 281.565 281.565-281.565-65.99-65.99-215.572 215.572z" />
<glyph unicode="&#xe317;" glyph-name="keyboard_arrow_down" d="M316 476.667l196-196 196 196 60-60-256-256-256 256z" />
<glyph unicode="&#xe318;" glyph-name="keyboard_arrow_left" d="M658 124.667l-60-60-256 256 256 256 60-60-196-196z" />
<glyph unicode="&#xe319;" glyph-name="keyboard_arrow_right" d="M366 112.667l196 196-196 196 60 60 256-256-256-256z" />
<glyph unicode="&#xe31a;" glyph-name="keyboard_arrow_up" d="M316 152.667l-60 60 256 256 256-256-60-60-196 196z" />
<glyph unicode="&#xe5ca;" glyph-name="check" d="M365.825 107.329l482.269 482.269 64.019-64.019-546.287-546.287-253.938 253.938 64.019 64.019z" />
<glyph unicode="&#xe5d4;" glyph-name="ellipsis-v" d="M512 58.219c61.214 0 114.443-53.229 114.443-114.443s-53.229-114.443-114.443-114.443-114.443 53.229-114.443 114.443 53.229 114.443 114.443 114.443zM512 398.887c61.214 0 114.443-53.229 114.443-114.443s-53.229-114.443-114.443-114.443-114.443 53.229-114.443 114.443 53.229 114.443 114.443 114.443zM512 510.669c-61.214 0-114.443 53.229-114.443 114.443s53.229 114.443 114.443 114.443 114.443-53.229 114.443-114.443-53.229-114.443-114.443-114.443z" />
<glyph unicode="&#xe836;" glyph-name="circle" d="M512-80.926c200.847 0 365.37 164.523 365.37 365.37s-164.523 365.37-365.37 365.37-365.37-164.523-365.37-365.37 164.523-365.37 365.37-365.37zM512 739.556c252.127 0 455.112-202.984 455.112-455.112s-202.984-455.112-455.112-455.112-455.112 202.984-455.112 455.112 202.984 455.112 455.112 455.112z" />
@@ -50,7 +58,6 @@
<glyph unicode="&#xe926;" glyph-name="minus" d="M810.665 327.111h-597.329c-25.6 0-42.667-17.067-42.667-42.667s17.067-42.667 42.667-42.667h597.329c25.6 0 42.667 17.067 42.667 42.667s-17.067 42.667-42.667 42.667z" />
<glyph unicode="&#xe927;" glyph-name="exchange" d="M473.45 167.61h301.759c16.114 0 29.172 13.061 29.172 29.172s-13.061 29.172-29.172 29.172v0h-543.89c-4.265 0-8.195-2.321-10.249-6.061-3.113-5.662-1.050-12.774 4.613-15.887v0l264.382-145.418c2.913-1.602 6.373-1.89 9.509-0.787 6.095 2.138 9.306 8.813 7.165 14.908v0l-33.287 94.898zM550.55 401.278h-301.759c-16.114 0-29.172-13.061-29.172-29.172v0 0c0-16.114 13.061-29.172 29.172-29.172v0h543.89c4.265 0 8.195 2.321 10.249 6.061 3.113 5.662 1.050 12.774-4.613 15.887l-264.382 145.418c-2.913 1.602-6.373 1.89-9.509 0.787-6.095-2.138-9.306-8.813-7.165-14.908v0l33.287-94.898z" />
<glyph unicode="&#xe928;" glyph-name="search" horiz-adv-x="951" d="M636.406 316.639c0 124.255-101.113 225.368-225.368 225.368s-225.368-101.113-225.368-225.368 101.113-225.368 225.368-225.368 225.368 101.113 225.368 225.368zM893.969-101.901c0-35.214-29.177-64.391-64.391-64.391-17.105 0-33.704 7.042-45.275 19.116l-172.547 172.045c-58.857-40.748-129.285-62.379-200.718-62.379-195.688 0-354.15 158.462-354.15 354.15s158.462 354.15 354.15 354.15 354.15-158.462 354.15-354.15c0-71.433-21.631-141.861-62.379-200.718l172.547-172.547c11.571-11.571 18.613-28.171 18.613-45.275z" />
<glyph unicode="&#xe929;" glyph-name="caret-down" d="M457.361 143.028l-139.982 209.977c-20.121 30.178-11.966 70.952 18.213 91.075 10.789 7.191 23.463 11.031 36.429 11.031h279.966c36.273 0 65.672-29.403 65.672-65.672 0-12.966-3.837-25.641-11.031-36.429l-139.982-209.977c-20.121-30.178-60.896-38.336-91.075-18.213-7.215 4.809-13.407 11.001-18.213 18.213z" />
<glyph unicode="&#xe92a;" glyph-name="envelope-o" d="M950.857-26.414v438.857c-12-13.714-25.143-26.286-39.429-37.714-81.714-62.857-164-126.857-243.429-193.143-42.857-36-96-80-155.429-80h-1.143c-59.429 0-112.571 44-155.429 80-79.429 66.286-161.714 130.286-243.429 193.143-14.286 11.429-27.429 24-39.429 37.714v-438.857c0-9.714 8.571-18.286 18.286-18.286h841.142c9.714 0 18.286 8.571 18.286 18.286zM950.857 574.158c0 14.286 3.429 39.429-18.286 39.429h-841.142c-9.714 0-18.286-8.571-18.286-18.286 0-65.143 32.571-121.714 84-162.286 76.571-60 153.143-120.571 229.143-181.143 30.286-24.571 85.143-77.143 125.143-77.143h1.143c40 0 94.857 52.571 125.143 77.143 76 60.571 152.571 121.143 229.143 181.143 37.143 29.143 84 92.571 84 141.143zM1024 595.301v-621.713c0-50.286-41.143-91.429-91.429-91.429h-841.142c-50.286 0-91.429 41.143-91.429 91.429v621.713c0 50.286 41.143 91.429 91.429 91.429h841.142c50.286 0 91.429-41.143 91.429-91.429z" />
<glyph unicode="&#xe92b;" glyph-name="up-circle" d="M557.51 383.579l108.814-35.010c13.58-4.369 28.464-0.748 38.518 9.371 14.763 14.854 14.687 38.87-0.171 53.635v0l-138.961 138.075c-29.679 29.491-77.633 29.38-107.179-0.246v0l-137.389-137.787c-10.054-10.084-13.614-24.95-9.216-38.492 6.47-19.922 27.862-30.827 47.782-24.358v0l106.774 34.672v-318.972c0-25.135 20.374-45.51 45.51-45.51v0c25.135 0 45.51 20.374 45.51 45.51v0 319.106zM512 739.556v0c251.351 0 455.112-203.76 455.112-455.112v0c0-251.351-203.76-455.112-455.112-455.112s-455.112 203.76-455.112 455.112v0 0c0 251.351 203.76 455.112 455.112 455.112v0z" />
<glyph unicode="&#xe92c;" glyph-name="right-circle" d="M611.135 238.934l-35.010-108.814c-4.369-13.58-0.748-28.464 9.371-38.518 14.854-14.763 38.87-14.687 53.635 0.171v0l138.075 138.961c29.491 29.679 29.38 77.633-0.246 107.179v0l-137.787 137.389c-10.084 10.054-24.95 13.614-38.492 9.216-19.922-6.47-30.827-27.862-24.358-47.782v0l34.672-106.774h-318.972c-25.135 0-45.51-20.374-45.51-45.51v0c0-25.135 20.374-45.51 45.51-45.51v0h319.106zM967.112 284.444v0c0-251.351-203.76-455.112-455.112-455.112v0c-251.351 0-455.112 203.76-455.112 455.112s203.76 455.112 455.112 455.112v0 0c251.351 0 455.112-203.76 455.112-455.112v0z" />
@@ -97,4 +104,11 @@
<glyph unicode="&#xe955;" glyph-name="file-word" d="M625.58 316.538h39.298l-45.346-201.048-58.956 282.674h-94.712l-68.544-282.674-51.392 282.674h-99.016l100.528-455.004h96.746l67.818 269.076 60.672-269.076h89.188l115.224 455.004h-151.508v-81.628zM872.716 535.93c-19.742 26.928-47.268 58.402-77.49 88.626s-61.702 57.748-88.626 77.49c-45.846 33.616-68.082 37.506-80.82 37.506h-440.888c-39.21 0-71.112-31.9-71.112-71.112v-768c0-39.21 31.898-71.112 71.112-71.112h654.222c39.21 0 71.112 31.9 71.112 71.112v554.666c0 12.738-3.888 34.98-37.506 80.82v0zM755 584.332c27.288-27.288 48.712-51.91 64.518-72.332h-136.848v136.84c20.43-15.806 45.048-37.226 72.332-64.506v0zM853.334-99.556c0-7.708-6.514-14.222-14.222-14.222h-654.222c-7.708 0-14.222 6.514-14.222 14.222v768c0 7.708 6.514 14.222 14.222 14.222 0 0 440.852 0.002 440.888 0v-199.112c0-15.708 12.734-28.444 28.444-28.444h199.112v-554.666z" />
<glyph unicode="&#xe956;" glyph-name="file-excel" d="M717.358 398.222h-120.26l-85.096-125.362-85.104 125.362h-120.258l144.144-215.524-162.642-239.588h223.856v81.4h-44.584l44.584 66.662 99.018-148.062h124.84l-162.646 239.588 144.146 215.524zM872.716 535.932c-19.742 26.926-47.266 58.4-77.492 88.626s-61.7 57.746-88.626 77.492c-45.844 33.618-68.082 37.506-80.822 37.506h-440.888c-39.21 0-71.112-31.9-71.112-71.112v-768c0-39.21 31.898-71.112 71.112-71.112h654.222c39.21 0 71.112 31.9 71.112 71.112v554.666c0 12.74-3.886 34.978-37.506 80.822v0zM755 584.332c27.288-27.288 48.712-51.91 64.516-72.332h-136.848v136.84c20.428-15.804 45.048-37.224 72.332-64.508v0zM853.334-99.556c0-7.708-6.514-14.222-14.222-14.222h-654.222c-7.708 0-14.222 6.514-14.222 14.222v768c0 7.708 6.514 14.222 14.222 14.222 0 0 440.85 0.002 440.888 0v-199.112c0-15.708 12.732-28.444 28.444-28.444h199.112v-554.666z" />
<glyph unicode="&#xe982;" glyph-name="spinner-indicator" d="M512 796.444c-278.748 0-505.458-222.762-511.848-499.974 5.92 241.864 189.832 435.974 415.848 435.974 229.75 0 416-200.576 416-448 0-53.020 42.98-96 96-96s96 42.98 96 96c0 282.77-229.23 512-512 512zM512-227.556c278.748 0 505.458 222.762 511.848 499.974-5.92-241.864-189.832-435.974-415.848-435.974-229.75 0-416 200.576-416 448 0 53.020-42.98 96-96 96s-96-42.98-96-96c0-282.77 229.23-512 512-512z" />
<glyph unicode="&#xf0d7;" glyph-name="caret-down" d="M821.728 419.95c0-10.284-4.235-19.964-11.494-27.223l-271.013-271.013c-7.26-7.26-16.939-11.494-27.223-11.494s-19.964 4.235-27.223 11.494l-271.013 271.013c-7.26 7.26-11.494 16.939-11.494 27.223 0 21.172 17.543 38.715 38.715 38.715h542.025c21.172 0 38.715-17.543 38.715-38.715z" />
<glyph unicode="&#xf0d8;" glyph-name="caret-up" d="M821.728 148.938c0-21.172-17.543-38.715-38.715-38.715h-542.026c-21.172 0-38.715 17.543-38.715 38.715 0 10.283 4.235 19.964 11.494 27.223l271.013 271.013c7.26 7.26 16.939 11.494 27.223 11.494s19.964-4.235 27.223-11.494l271.013-271.013c7.26-7.26 11.494-16.939 11.494-27.223z" />
<glyph unicode="&#xf0d9;" glyph-name="caret-left" d="M704 583.111v-597.333c0-23.334-19.333-42.666-42.666-42.666-11.334 0-22.002 4.666-30 12.666l-298.667 298.667c-7.998 7.998-12.666 18.666-12.666 30s4.666 22.002 12.666 30l298.667 298.667c7.998 7.998 18.666 12.666 30 12.666 23.334 0 42.666-19.333 42.666-42.666z" />
<glyph unicode="&#xf0da;" glyph-name="caret-right" d="M704 284.444c0-11.334-4.666-22.002-12.666-30l-298.667-298.667c-7.998-7.998-18.666-12.666-30-12.666-23.334 0-42.666 19.333-42.666 42.666v597.333c0 23.334 19.333 42.666 42.666 42.666 11.334 0 22.002-4.666 30-12.666l298.667-298.667c7.998-7.998 12.666-18.666 12.666-30z" />
<glyph unicode="&#xf0dc;" glyph-name="sort" d="M822.304 168.081c0-10.301-4.24-20.003-11.513-27.275l-271.519-271.519c-7.27-7.27-16.973-11.513-27.275-11.513s-20.003 4.24-27.275 11.513l-271.519 271.519c-7.27 7.27-11.513 16.973-11.513 27.275 0 21.214 17.573 38.785 38.785 38.785h543.036c21.214 0 38.785-17.573 38.785-38.785zM822.304 400.807c0-21.214-17.573-38.785-38.785-38.785h-543.036c-21.214 0-38.785 17.573-38.785 38.785 0 10.301 4.24 20.003 11.513 27.275l271.519 271.519c7.27 7.27 16.973 11.513 27.275 11.513s20.003-4.24 27.275-11.513l271.519-271.519c7.27-7.27 11.513-16.973 11.513-27.275z" />
<glyph unicode="&#xf0dd;" glyph-name="sort-down" d="M821.724 167.504c0-10.281-4.235-19.964-11.493-27.222l-271.013-271.013c-7.258-7.258-16.939-11.493-27.222-11.493s-19.964 4.235-27.222 11.493l-271.013 271.013c-7.258 7.258-11.493 16.939-11.493 27.222 0 21.171 17.545 38.713 38.713 38.713h542.021c21.171 0 38.713-17.545 38.713-38.713z" />
<glyph unicode="&#xf0de;" glyph-name="sort-up" d="M821.728 404.932c0-21.173-17.543-38.715-38.715-38.715h-542.026c-21.173 0-38.715 17.543-38.715 38.715 0 10.284 4.237 19.966 11.492 27.221l271.013 271.013c7.263 7.263 16.937 11.492 27.221 11.492s19.966-4.237 27.221-11.492l271.013-271.013c7.263-7.263 11.492-16.937 11.492-27.221z" />
</font></defs></svg>

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.
Binary file not shown.