RedrawControl v handle funkcii ktorá používa $this->sendPayload()

KristianSubweb
Člen | 146
+
0
-

Pekný deň Vám prajem. Chcel by som sa opýtať neviem si dať radu, mám formulár kde vo vnútri v ňom mám snippet ktorý chcem prekresliť pri ajaxovom volaní na on change select boxu.

Toto je handle ktorý volám pri onchange selectboxu

public function handleGetAllStockItemPerDealer($dealerId){
        if($this->isAjax()) {
            $company = $this->user->getCompany();

            //Prekreslím defaultne položky / položky ktoré sú pod min hodnotov skladu
            $defaultStockOrderItem = $this->stockItemService->getAllMinStockItemsByDealerAndCompany($dealerId, $company);

            $this->template->defaultStockItem = $defaultStockOrderItem;
            $this->redrawControl("defaultItems");

            //Vrátim object so všetkými položkami dodávatela
            $allStockItemsPerDealer = $this->stockItemService->getByDealerIdAndCompany($dealerId, $company);

            $selectData = [];
            foreach ($allStockItemsPerDealer as $item) {
                $selectData += [$item->getId() => $item->getName() . " - " . $item->getCode()];
            }

            //Prilepím do array nolovú hodnotu
            $allStockItemsPerDealer = $selectData += ["0" => "-"];

            $this->payload->data = $allStockItemsPerDealer;
            $this->sendPayload();
        }
    }

Takto vyzerá ten snippet

<tbody>
               {snippet defaultItems}
                   {ifset $defaultStockItem}
                       <tr n:foreach="$defaultStockItem as $defItem" class="order-stock-item-row">
                           <th scope="row">Tesniace gumičky</th>
                           <td>472141</td>
                           <td>15ks</td>
                           <td>
                               <input type="text" name="stockOrderItems[]" placeholder="Počet" class="form-control short">
                               <input type="hidden" name="stockItemsId[]" class="form-control short">
                           </td>
                           <td><input type="text" name="stockItemUnit[]" placeholder="Jednotka" class="form-control short"></td>
                           <td><input type="text" name="stockItemDescription[]" placeholder="Popis" class="form-control"></td>
                           <td class="text-center"><a href="#" class="btn btn-sm btn-danger remove"><span class="my-icon icon-	trash"></span></a></td>
                       </tr>
                   {/ifset}
               {/snippet}
               </tbody>

Za Vaše odpoveďe dopredu ďakujem :)

KristianSubweb
Člen | 146
+
0
-

Už som nato prišiel :D problém bol v tom že som tam volal ten $this->sendPayload(); teraz som ho odstránil a už to ide tak ako má. :)