* @since 1.0
 * @see http://www.virtuosoft.eu/code/bootstrap-touchspin/
 */
class TouchSpin extends InputWidget
{
    /**
     * @inheritdoc
     */
    public $pluginName = 'TouchSpin';
    /**
     * @inheritdoc
     */
    public function run()
    {
        parent::run();
        $this->setPluginOptions();
        $this->registerAssets();
        echo $this->getInput('textInput');
    }
    /**
     * Set the plugin options
     */
    protected function setPluginOptions()
    {
        $css = $this->disabled ? 'btn btn-default disabled' : 'btn btn-default';
        $defaults = [
            'buttonup_class' => $css,
            'buttondown_class' => $css,
            'buttonup_txt' => '',
            'buttondown_txt' => '',
        ];
        $this->pluginOptions = array_replace_recursive($defaults, $this->pluginOptions);
        if (ArrayHelper::getValue($this->pluginOptions, 'verticalbuttons', false) &&
            empty($this->pluginOptions['prefix'])
        ) {
            Html::addCssClass($this->options, 'input-left-rounded');
        }
    }
    /**
     * Registers the needed assets
     */
    public function registerAssets()
    {
        $view = $this->getView();
        TouchSpinAsset::register($view);
        $this->registerPlugin($this->pluginName);
    }
}