<?php
namespace admin\action\grid;
use \model\grid\lrtree;
class lrtreeAction  extends \action{
	var $lrtree = null;
	function __construct(){
		$this->lrtree = new lrtree([
			'table'=>'ltree',
			'id'=>'id',
			'parent_id'=>'parent_id',
			'left'=>'left',
			'right'=>'right',
			'level'=>'level',
			'ismove'=>'ismove',
			'name'=>'name',
			'create_time'=>'create_time',
			'update_time'=>'update_time'
		]);
	}
	function list(){
		$req = \mvc::$req;
		$where = [];
		if($req['filters']){
			$where = $this->filter2medoo($req['filters']);
		}
		$data = $this->lrtree->list($where, $req['page'], $req['rows'], $req['sidx'], $req['sord']);
		$this->successJson($data);
	}
	function add($parent_id,$name,$code){
		if($this->lrtree->addNode($parent_id,['name'=>$name,"code"=>$code])){
			$this->successJson();
		}
	}
	function edit($id,$parent_id,$name,$code){
		if($this->lrtree->editNode($id, $parent_id,['name'=>$name,"code"=>$code])){
			$this->successJson();
		}
	}
	function move($prevKey,$key,$nextKey){
		if($this->lrtree->moveNode($prevKey,$key,$nextKey)){
			$this->successJson();
		}
	}
	function delete($id){
		if($this->lrtree->deleteNode($id)){
			$this->successJson();
		}
	}
}