htmlBuilder = $htmlBuilder;
$this->htmlBuilder->parameters([
'paging' => true,
'searching' => true,
'info' => false,
'searchDelay' => 350,
'language' => [
'url' => Module::asset('core:datatable.json')
],
]);
Parent::__construct();
}
public function index(Request $request)
{
if ($request->ajax()) {
return DataTables::of(Slider::find($request->id)->subs()->select(['id','title','description','display','position','created_at','updated_at']))
->addColumn('operation', function($slider) {
return parent::redirectAction('delete/'.$slider->id,'حذف','danger mr-1')
.parent::redirectAction('edit/'.$slider->id,'ویرایش','warning mr-1');
})
->editColumn('display', function($slider) {
if($slider->display==1){
return " فعال";
}elseif($slider->display==0){
return "غیرفعال";
}
})
->rawColumns(['operation','display'])
->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' => 'display', 'name' => 'display', '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 SliderItem();
$data['route_action'] = 'slider.item.store';
$data['params'] = ['id'=>$id];
$data['id']=$id;
return view('core::shared.add',$data);
}
/**
* Store a newly created resource in storage.
* @param Request $request
* @return Response
*/
public function store(Request $request)
{
$subs = Slider::find($request->id)->subs()->create($request->all());
Parent::attachmentProcess($request,$subs);
return redirect()->route('admin.slider.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'] ='slider.item.update';
$data['data']=SliderItem::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= SliderItem::find(($request->id));
$parent_id =$item->slider_id;
SliderItem::find(($request->id))->update($request->all());
return redirect()->route('admin.slider.item' , ['id' => $parent_id]);
}
/**
* Remove the specified resource from storage.
* @param Request $request
* @return Response
*/
public function destroy(Request $request)
{
$item=SliderItem::find($request->id);
$parent_id= $item->slider_id;
SliderItem::find($request->id)->delete();
return redirect('admin/slider/item/'.$parent_id);
}
static public function display(){
return ['1'=>'فعال','0' => 'غیر فعال'];
}
}