public static function getScripts() { $result = ''; if (!static::$jsInited) { \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_basket_settings.js"); $result .= ' BX.message({ SALE_ORDER_BASKET_JS_SETTINGS_TITLE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_JS_SETTINGS_TITLE")) . '", SALE_ORDER_BASKET_JS_SETTINGS_APPLY: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_JS_SETTINGS_APPLY")) . '" }); '; static::$jsInited = true; } return $result; }
/** * @return string */ public function getScripts() { if (!static::$jsInited) { \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_basket.js"); static::$jsInited = true; } $data = static::prepareData(); $totalPrices = OrderEdit::getTotalPrices($this->order, $this, false); $langPhrases = array("SALE_ORDER_BASKET_TURN", "SALE_ORDER_BASKET_EXPAND", "SALE_ORDER_BASKET_UP_RATIO", "SALE_ORDER_BASKET_PROD_EDIT", "SALE_ORDER_BASKET_DOWN_RATIO", "SALE_ORDER_BASKET_PROD_COUNT", "SALE_ORDER_BASKET_NO_PICTURE", "SALE_ORDER_BASKET_PROD_CREATE", "SALE_ORDER_BASKET_ROW_SETTINGS", "SALE_ORDER_BASKET_PROD_MENU_EDIT", "SALE_ORDER_BASKET_PROD_MENU_DELETE", "SALE_ORDER_BASKET_BASE_CATALOG_PRICE", "SALE_ORDER_BASKET_PROD_EDIT_ITEM_SAVE", "SALE_ORDER_BASKET_KG", "SALE_ORDER_BASKET_COUPON", "SALE_ORDER_BASKET_COUPON_STATUS", "SALE_ORDER_BASKET_COUPON_APPLY", "SALE_ORDER_BASKET_COUPON_DELETE", "SALE_ORDER_BASKET_POSITION_EXISTS"); $result = '<script type="text/javascript">'; foreach ($langPhrases as $phrase) { $result .= ' BX.message({' . $phrase . ': "' . \CUtil::jsEscape(Loc::getMessage($phrase)) . '"});'; } if ($this->mode == self::EDIT_MODE) { $result .= ' BX.ready(function(){ ' . $this->jsObjName . '= new BX.Sale.Admin.OrderBasketEdit({ tableId: "' . $this->idPrefix . 'sale_order_edit_product_table", idPrefix: "' . $this->idPrefix . '", productsOrder: ' . \CUtil::phpToJSObject($data["ITEMS_ORDER"]) . ', products: ' . \CUtil::phpToJSObject($data["ITEMS"]) . ', visibleColumns: ' . \CUtil::phpToJSObject($this->visibleColumns) . ', objName: "' . $this->jsObjName . '", createProductBasement: ' . ($this->createProductBasement ? 'true' : 'false') . ', columnsCount: ' . count($this->visibleColumns) . ', createBasketBottom: true, iblocksSkuParams: ' . \CUtil::phpToJSObject($data["IBLOCKS_SKU_PARAMS"]) . ', productsOffersSkuParams: ' . \CUtil::phpToJSObject($data["PRODUCTS_OFFERS_SKU"]) . ', isShowXmlId: ' . ($this->isShowXmlId ? 'true' : 'false') . ', discounts: ' . \CUtil::phpToJSObject(OrderEdit::getOrderedDiscounts($this->order, false)) . ', mode: "edit", unRemovableFields: ["PRICE", "QUANTITY"], ' . $this->getTotalBlockFieldsJs($totalPrices, $data) . ' }); BX.Sale.Admin.OrderEditPage.registerFieldsUpdaters( ' . $this->jsObjName . '.getFieldsUpdaters() ); BX.Sale.Admin.OrderBasketCoupons.statusCouponApplyed = ' . DiscountCouponsManager::STATUS_APPLYED . '; BX.Sale.Admin.OrderBasketCoupons.mode = BX.Sale.Admin.OrderBasketCoupons.MODES_LIST.' . ($this->order->getId() > 0 ? 'EDIT' : 'CREATE') . '; BX.Sale.Admin.OrderBasketCoupons.setCoupons(' . \CUtil::phpToJSObject(OrderEdit::getCouponList($this->order, false)) . '); });'; $result .= $this->settingsDialog->getScripts(); } else { $result .= ' BX.ready(function(){ ' . $this->jsObjName . '= new BX.Sale.Admin.OrderBasket({ tableId: "' . $this->idPrefix . 'sale_order_view_product_table", idPrefix: "' . $this->idPrefix . '", productsOrder: ' . \CUtil::phpToJSObject($data["ITEMS_ORDER"]) . ', products: ' . \CUtil::phpToJSObject($data["ITEMS"]) . ', visibleColumns: ' . \CUtil::phpToJSObject($this->visibleColumns) . ', objName: "' . $this->jsObjName . '", createProductBasement: ' . ($this->createProductBasement ? 'true' : 'false') . ', iblocksSkuParams: ' . \CUtil::phpToJSObject($data["IBLOCKS_SKU_PARAMS"]) . ', columnsCount: ' . count($this->visibleColumns) . ', isShowXmlId: ' . ($this->isShowXmlId ? 'true' : 'false') . ', discounts: ' . \CUtil::phpToJSObject(OrderEdit::getOrderedDiscounts($this->order, false)) . ', createBasketBottom: true, mode: "view", ' . $this->getTotalBlockFieldsJs($totalPrices, $data) . ' }); BX.Sale.Admin.OrderEditPage.registerFieldsUpdaters( ' . $this->jsObjName . '.getFieldsUpdaters() ); BX.Sale.Admin.OrderBasketCoupons.mode = BX.Sale.Admin.OrderBasketCoupons.MODES_LIST.VIEW; BX.Sale.Admin.OrderBasketCoupons.setCoupons(' . \CUtil::phpToJSObject(OrderEdit::getCouponList($this->order, false)) . '); });'; $result .= $this->settingsDialog->getScripts(); } $result .= '</script>'; return $result; }
public function getScripts($recoveryData = array()) { if (!static::$jsInited) { \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_basket.js"); \Bitrix\Main\Page\Asset::getInstance()->addJs("/bitrix/js/sale/admin/order_shipment_basket.js"); static::$jsInited = true; } $data = $this->prepareData(); if (!empty($recoveryData)) { $data = $this->modifyFromRequest($data, $recoveryData['1']['PRODUCT']); } $keys = array_merge(array_keys($data["ITEMS"]), array_keys($data["UNSHIPPED_PRODUCTS"])); $result = ' <script type="text/javascript"> BX.message({ SALE_ORDER_BASKET_ROW_SETTINGS: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_ROW_SETTINGS")) . '", SALE_ORDER_BASKET_PROD_MENU_ADD: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_PROD_MENU_ADD")) . '", SALE_ORDER_BASKET_PROD_MENU_DELETE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_PROD_MENU_DELETE")) . '", SALE_ORDER_BASKET_TURN: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_TURN")) . '", SALE_ORDER_BASKET_EXPAND: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_EXPAND")) . '", SALE_ORDER_BASKET_NO_PICTURE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_BASKET_NO_PICTURE")) . '", SALE_ORDER_SHIPMENT_BASKET_SELECTED_PRODUCTS_DEL: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_SELECTED_PRODUCTS_DEL")) . '", SALE_ORDER_SHIPMENT_BASKET_ALL_PRODUCTS_DEL: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ALL_PRODUCTS_DEL")) . '", SALE_ORDER_SHIPMENT_BASKET_ADD_NEW_STORE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ADD_NEW_STORE")) . '", SALE_ORDER_SHIPMENT_BASKET_BARCODE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE")) . '", SALE_ORDER_SHIPMENT_BASKET_CLOSE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_CLOSE")) . '", SALE_ORDER_SHIPMENT_BASKET_ADD: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ADD")) . '", SALE_ORDER_SHIPMENT_BASKET_NO_PRODUCTS: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_NO_PRODUCTS")) . '", SALE_ORDER_SHIPMENT_BASKET_BARCODE_ALREADY_USED: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE_ALREADY_USED")) . '", SALE_ORDER_SHIPMENT_BASKET_BARCODE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE")) . '", SALE_ORDER_SHIPMENT_BASKET_BARCODE_CLOSE: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE_CLOSE")) . '", SALE_ORDER_SHIPMENT_BASKET_BARCODE_ENTER: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_BARCODE_ENTER")) . '", SALE_ORDER_SHIPMENT_BASKET_ERROR_ALREADY_SHIPPED: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ERROR_ALREADY_SHIPPED")) . '", SALE_ORDER_SHIPMENT_BASKET_ERROR_NOT_FOUND: "' . \CUtil::JSEscape(Loc::getMessage("SALE_ORDER_SHIPMENT_BASKET_ERROR_NOT_FOUND")) . '", }); BX.ready(function(){ ' . $this->jsObjName . ' = new BX.Sale.Admin.ShipmentBasketEdit({ tableId: "' . $this->idPrefix . 'sale_order_edit_product_table", productsOrder: ' . \CUtil::PhpToJSObject($keys) . ', idPrefix: "' . $this->idPrefix . '", products: ' . \CUtil::PhpToJSObject($data["ITEMS"]) . ', visibleColumns: ' . \CUtil::PhpToJSObject($this->visibleColumns) . ', objName: "' . $this->jsObjName . '", isShipped: "' . $this->shipment->isShipped() . '", totalBlockFields: { PRICE_DELIVERY_DISCOUNT: { id: "' . $this->idPrefix . 'sale_order_edit_basket_price_delivery_discount", value: "' . roundEx(floatval(0), SALE_VALUE_PRECISION) . '", type: "currency" } }, dataForRecovery : ' . \CUtil::PhpToJSObject($recoveryData) . ', useStoreControl : "' . self::$useStoreControl . '" }); ' . $this->systemJsObjName . ' = new BX.Sale.Admin.SystemShipmentBasketEdit({ tableId: "unshipped", productsOrder: ' . \CUtil::PhpToJSObject($keys) . ', idPrefix: "del", products: ' . \CUtil::PhpToJSObject($data["UNSHIPPED_PRODUCTS"]) . ', visibleColumns : ' . \CUtil::PhpToJSObject(self::getDefaultUnShippedVisibleColumns()) . ', objName: "' . $this->systemJsObjName . '" }); ' . $this->jsObjName . '.link = ' . $this->systemJsObjName . '; ' . $this->systemJsObjName . '.link = ' . $this->jsObjName . '; });'; $result .= $this->settingsDialog->getScripts(); $result .= '</script>'; return $result; }