%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/sale/lib/helpers/admin/blocks/ |
Current File : //home/bitrix/www/bitrix/modules/sale/lib/helpers/admin/blocks/orderbasketsettings.php |
<?php namespace Bitrix\Sale\Helpers\Admin\Blocks; use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); class OrderBasketSettings { protected $idPrefix = ""; protected $allColumns = array(); protected $visibleColumns = array(); protected static $jsInited = false; public function __construct(array $params) { $this->idPrefix = $params["ID_PREFIX"]; $this->settingsDlgObjectName = $params["SETTINGS_DLG_OBJECT_NAME"]; $this->allColumns = $params["ALL_COLUMNS"]; $this->visibleColumns = $params["VISIBLE_COLUMNS"]; } public 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; } public function getHtml() { $availableColumns = array_diff_key($this->allColumns, $this->visibleColumns); $arAvailableColumnsHTML = ""; foreach ($availableColumns as $key => $value) $arAvailableColumnsHTML .= "<option value=".$key.">".htmlspecialcharsbx($value)."</option>"; $arUserColumnsHTML = ""; foreach ($this->visibleColumns as $key => $value) $arUserColumnsHTML .= "<option value=".$key.">".htmlspecialcharsbx($value)."</option>"; $settingsTemplate = ' <div id="'.$this->idPrefix.'columns_form"> <table width="100%"> <tr> <td colspan="2" align="center"> <table> <tr> <td style="background-image:none" nowrap> <div style="margin-bottom:5px">'.Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_AVAILABLE_COLUMNS").'</div> <div class="scrollable"> <select id="adm-sale-basket-sett-all-cols" name="allColumns" class="settings_select" multiple size="'.(count($this->allColumns) - count($this->visibleColumns)).'" ondblclick="this.form.add_btn.onclick()" onchange="'.$this->settingsDlgObjectName.'.onAvailableChange(this);" > '.$arAvailableColumnsHTML.' </select> </div> </td> <td style="background-image:none"> <div style="margin-bottom:5px"> <input type="button" name="add_btn" value=">" title="'.Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_ADD_COLUMN").'" style="width:30px;" disabled onclick="jsSelectUtils.addSelectedOptions(this.form.allColumns, this.form.columns, false); jsSelectUtils.deleteSelectedOptions(this.form.allColumns); "> </div> <div style="margin-bottom:5px"> <input type="button" name="del_btn" value="<" title="'.Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_DELETE_COLUMN").'" style="width:30px;" disabled onclick="jsSelectUtils.addSelectedOptions(this.form.columns, this.form.allColumns, false, true); jsSelectUtils.deleteSelectedOptions(this.form.columns);"> </div> </td> <td style="background-image:none" nowrap> <div style="margin-bottom:5px">'.Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_SELECTED_COLUMNS").'</div> <div class="scrollable"> <select class="settings_select" name="columns" multiple size="'.count($this->visibleColumns).'" ondblclick="this.form.del_btn.onclick()" onchange="'.$this->settingsDlgObjectName.'.onSelectedChange(this);" > '.$arUserColumnsHTML.' </select> </div> </td> <td style="background-image:none"> <div style="margin-bottom:5px"><input type="button" name="up_btn" value="'.Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_UP").'" title="'.Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_MOVE_UP").'" class="bx-grid-btn" style="width:60px;" disabled onclick="jsSelectUtils.moveOptionsUp(this.form.columns)"></div> <div style="margin-bottom:5px"><input type="button" name="down_btn" value="'.Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_DOWN").'" title="'.Loc::getMessage("SALE_ORDER_BASKET_SETTINGS_MOVE_DOWN").'" class="bx-grid-btn" style="width:60px;" disabled onclick="jsSelectUtils.moveOptionsDown(this.form.columns)"></div> </td> </tr> </table> </td> </tr> </table> </div>'; return $settingsTemplate; } }