htmlBuilder = $htmlBuilder; $this->htmlBuilder->parameters([ 'paging' => true, 'searching' => true, 'info' => false, 'searchDelay' => 350, 'language' => [ 'url' => Module::asset('core:datatable.json') ], ]); Parent::__construct(); } /** * Display a listing of the resource. * @param Request $request * @return Response */ public function index(Request $request) { if ($request->ajax()) { return DataTables::of(Menu::find($request->id)->subs()->select(['id','title','link','description','slug','display','target_blank','no_follow','image','position','created_at','updated_at'])) ->addColumn('operation', function($menu) { return parent::redirectAction('item/'.$menu->id,'آیتم ها','info mr-1') .parent::redirectAction('delete?id='.$menu->id,'حذف','danger mr-1') .parent::redirectAction('edit?id='.$menu->id,'ویرایش','warning mr-1'); }) ->editColumn('display', function($menu) { if($menu->display==1){ return " فعال"; }elseif($menu->display==0){ return "غیرفعال"; } })->editColumn('no_follow', function($menu) { if($menu->no_follow==1){ return " فعال"; }elseif($menu->no_follow==0){ return "غیرفعال"; } })->editColumn('target_blank', function($menu) { if($menu->target_blank==1){ return " فعال"; }elseif($menu->target_blank==0){ return "غیرفعال"; } }) ->rawColumns(['operation','display','no_follow','target_blank']) ->make(true); } $object = 'منو ها'; $html = $this->htmlBuilder ->addColumn(['data' =>'id', 'name' => 'id', 'title' => 'شناسه']) ->addColumn(['data' => 'title', 'name' => 'title', 'title' => 'عنوان']) ->addColumn(['data' => 'description', 'name' => 'description', 'title' => 'توضیحات']) ->addColumn(['data' => 'slug', 'name' => 'slug', 'title' => 'slug']) ->addColumn(['data' => 'link', 'name' => 'link', 'title' => 'لینک']) ->addColumn(['data' => 'display', 'name' => 'display', 'title' => 'نمایش']) ->addColumn(['data' => 'target_blank', 'name' => 'target_blank', 'title' => 'باز شدن درصفحه جدید']) ->addColumn(['data' => 'no_follow', 'name' => 'no_follow', 'title' => 'no follow حالت']) ->addColumn(['data' => 'image', 'name' => 'image', 'title' => 'آدرس عکس']) ->addColumn(['data' => 'position', 'name' => 'position', 'title' => 'موقعیت']) ->addColumn(['data' => 'created_at', 'name' => 'created_at', 'title' => 'ثبت']) ->addColumn(['data' => 'updated_at', 'name' => 'updated_at', 'title' => 'ویرایش']) ->addColumn(['data' => 'operation', 'name' => 'operation', 'title' => 'عملیات']); return view('core::shared.datatable', compact(['html','object'])); } /** * Display a listing of Items. * @param Request $request * @return Response */ public function indexItem(Request $request) { if ($request->ajax()) { return DataTables::of(Item::find($request->id)->subs()->select(['id','title','link','description', 'slug','display','target_blank','no_follow','image','position','created_at','updated_at'])) ->addColumn('operation', function($menu) { return parent::redirectAction('delete?id='.$menu->id,'حذف','danger mr-1') .parent::redirectAction('edit?id='.$menu->id,'ویرایش','warning mr-1'); }) ->editColumn('display', function($blog) { if($blog->display==1){ return " فعال"; }elseif($blog->display==0){ return "غیرفعال"; } }) ->editColumn('no_follow', function($blog) { if($blog->no_follow==1){ return " فعال"; }elseif($blog->no_follow==0){ return "غیرفعال"; } }) ->editColumn('target_blank', function($blog) { if($blog->target_blank==1){ return " فعال"; }elseif($blog->target_blank==0){ return "غیرفعال"; } }) ->rawColumns(['operation','display','no_follow','target_blank']) ->make(true); } $object = 'منو ها'; $html = $this->htmlBuilder ->addColumn(['data' =>'id', 'name' => 'id', 'title' => 'شناسه']) ->addColumn(['data' => 'title', 'name' => 'title', 'title' => 'عنوان']) ->addColumn(['data' => 'description', 'name' => 'description', 'title' => 'توضیحات']) ->addColumn(['data' => 'slug', 'name' => 'slug', 'title' => 'slug']) ->addColumn(['data' => 'link', 'name' => 'link', 'title' => 'لینک']) ->addColumn(['data' => 'display', 'name' => 'display', 'title' => 'نمایش']) ->addColumn(['data' => 'target_blank', 'name' => 'target_blank', 'title' => 'باز شدن درصفحه جدید']) ->addColumn(['data' => 'no_follow', 'name' => 'no_follow', 'title' => 'no follow حالت']) ->addColumn(['data' => 'image', 'name' => 'image', 'title' => 'آدرس عکس']) ->addColumn(['data' => 'position', 'name' => 'position', 'title' => 'موقعیت']) ->addColumn(['data' => 'created_at', 'name' => 'created_at', 'title' => 'ثبت']) ->addColumn(['data' => 'updated_at', 'name' => 'updated_at', 'title' => 'ویرایش']) ->addColumn(['data' => 'operation', 'name' => 'operation', 'title' => 'عملیات']); return view('core::shared.datatable', compact(['html','object'])); } /** * Show the form for creating a new resource. * @return Response */ public function add($id) { $data['model'] = new Item(); $data['route_action'] = 'menu.item.store'; $data['params'] = ['id'=>$id]; $data['id']=$id; return view('core::shared.add',$data); } /** * Show the form for creating a new resource. * @return Response */ public function addItem($id) { $data['model'] = new Item(); $data['route_action'] = 'menu.item.item.itemStore'; $data['params'] = ['id'=>$id ]; $data['id']=$id; return view('core::shared.add',$data); } /** * Show the form for creating a new resource. * @return Response */ public function create() { $menus = Menu::all(); return response()->json([ 'data' => $menus, 'message'=>'ok', 'status' => 200 ]); } /** * Store a newly created resource in storage. * @param Request $request * @return Response */ public function store(Request $request) { $subs = Menu::find($request->id)->subs()->create($request->all()); return redirect()->route('admin.menu.item' , ['id' => $request->id]); } /** * Store a newly created resource in storage. * @param Request $request * @return Response */ public function storeItem(Request $request) { $subs = Item::find($request->id)->subs()->create($request->all()); return redirect()->route('admin.menu.item.item' , ['id' => $request->id]); } /** * Show the form for editing the specified resource. * @param Request $request * @return Response */ public function edit(Request $request) { $data['route_action'] ='menu.item.update'; $data['data']=Item::find($request->id); return view('core::shared.edit', $data); } /** * Update the specified resource in storage. * @param Request $request * @return Response */ public function update(Request $request) { $item= Item::find(($request->id)); $parent_id =$item->parent_id; Item::find(($request->id))->update($request->all()); return redirect()->route('admin.menu.item' , ['id' => $parent_id]); } /** * Show the form for editing the specified resource. * @param Request $request * @return Response */ public function editItem(Request $request) { $data['route_action'] = 'menu.item.item.itemUpdate'; $data['data']=Item::find($request->id); return view('core::shared.edit', $data); } /** * Update the specified resource in storage. * @param Request $request * @return Response */ public function updateItem(Request $request) { $item= Item::find(($request->id)); $parent_id =$item->parent_id; Item::find(($request->id))->update($request->all()); return redirect()->route('admin.menu.item.item' , ['id' => $parent_id]); } /** * Remove the specified resource from storage. * @param Request $request * @return Response */ public function destroy(Request $request) { $item=Item::find($request->id); $parent_id= $item->parent_id; $parent_type= $item->parent_type; if($parent_type == 'Modules\Menu\Entities\Menu'){ Item::find($request->id)->delete(); return redirect('admin/menu/item/'.$parent_id); }else{ Item::find($request->id)->delete(); return redirect('admin/menu/item/item/'.$parent_id); } } static public function display(){ return ['1'=>'فعال','0' => 'غیر فعال']; } static public function target(){ return ['1'=>'فعال','0' =>'غیر فعال']; } static public function nofollow(){ return ['1'=>'فعال','0' => 'غیر فعال']; } static public function position(){ return ['1'=>'فعال','0' =>'غیر فعال']; } }