* 1.use ajax when delete search query.

* 2.adjust for task #2467.
This commit is contained in:
chenfeiCF
2016-03-09 22:30:41 +08:00
parent e996a9d4ed
commit c30be46e52
3 changed files with 29 additions and 12 deletions

View File

@@ -69,27 +69,29 @@ class search extends control
}
/**
* Delete a query
*
* @param int $queryID
* Delete current search query.
*
* @param int $queryID
* @access public
* @return void
*/
public function deleteQuery($queryID)
{
$this->dao->delete()->from(TABLE_USERQUERY)->where('id')->eq($queryID)->andWhere('account')->eq($this->app->user->account)->exec();
$this->ajaxGetQuery();
$this->search->deleteQuery($queryID);
if(dao::isError()) die(js::error(dao::getError()));
die('success');
}
/**
* Ajax get query.
*
* AJAX: get search query.
*
* @param string $module
* @access public
* @return void
*/
public function ajaxGetQuery()
public function ajaxGetQuery($module = '')
{
$module = $this->session->searchParams['module'];
$module = empty($module) ? $this->session->searchParams['module'] : $module;
$queries = $this->search->getQueryPairs($module);
die(html::select('queryID', $queries, '', 'onchange=executeQuery(this.value) class=form-control'));
}

View File

@@ -255,6 +255,18 @@ class searchModel extends model
$this->dao->insert(TABLE_USERQUERY)->data($query)->autoCheck()->check('title', 'notempty')->exec();
}
/**
* Delete current query from db.
*
* @param int $queryID
* @access public
* @return void
*/
public function deleteQuery($queryID)
{
$this->dao->delete()->from(TABLE_USERQUERY)->where('id')->eq($queryID)->andWhere('account')->eq($this->app->user->account)->exec();
}
/**
* Get title => id pairs of a user.
*

View File

@@ -245,7 +245,7 @@ function saveQuery()
saveQueryLink = createLink('search', 'saveQuery');
$.post(saveQueryLink, {title: r, module: module}, function(data)
{
if(data == 'success') $('#queryBox').load(createLink('search', 'ajaxGetQuery'));
if(data == 'success') $('#queryBox').load(createLink('search', 'ajaxGetQuery', 'module=' + module));
});
});
}
@@ -273,8 +273,11 @@ function deleteQuery()
{
queryID = $('#queryID').val();
if(!queryID) return;
deleteLink = createLink('search', 'deleteQuery', 'queryID=' + queryID);
$('#queryBox').load(deleteLink);
deleteQueryLink = createLink('search', 'deleteQuery', 'queryID=' + queryID);
$.get(deleteQueryLink, function(data)
{
if(data == 'success') $('#queryBox').load(createLink('search', 'ajaxGetQuery', 'module=' + module));
});
}
</script>