55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\View\Components;
 | |
| 
 | |
| use Illuminate\View\Component;
 | |
| use App\Models\Common\Item;
 | |
| 
 | |
| class SelectItemButton extends Component
 | |
| {
 | |
|     /** @var string */
 | |
|     public $type;
 | |
| 
 | |
|     /** @var bool */
 | |
|     public $isSale;
 | |
| 
 | |
|     /** @var bool */
 | |
|     public $isPurchase;
 | |
| 
 | |
|     /**
 | |
|      * Create a new component instance.
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public function __construct(string $type = 'sale', bool $isSale = true, bool $isPurchase = false)
 | |
|     {
 | |
|         $this->type = $type;
 | |
|         $this->isSale = $isSale;
 | |
|         $this->isPurchase = $isPurchase;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Get the view / contents that represent the component.
 | |
|      *
 | |
|      * @return \Illuminate\Contracts\View\View|string
 | |
|      */
 | |
|     public function render()
 | |
|     {
 | |
|         $items = Item::enabled()->orderBy('name')->take(setting('default.select_limit'))->get();
 | |
| 
 | |
|         foreach ($items as $item) {
 | |
|             $price = $item->sale_price;
 | |
| 
 | |
|             if ($this->type == 'purchase' || $this->isPurchase) {
 | |
|                 $price = $item->purchase_price;
 | |
|             }
 | |
| 
 | |
|             $item->price = $price;
 | |
|         }
 | |
| 
 | |
|         $price = ($this->isPurchase) ? 'purchase_price' : 'sale_price';
 | |
| 
 | |
|         return view('components.select-item-button', compact('items', 'price'));
 | |
|     }
 | |
| }
 |