<?php

namespace Tests\Browser\Components;

use Laravel\Dusk\Browser;
use Laravel\Dusk\Component as BaseComponent;

class Editor extends BaseComponent
{
    public $field;
    public $content_element_id;

    public function __construct($field, $content_element_id)
    {
        $this->field = $field;
        $this->content_element_id = $content_element_id;
    }

    /**
     * Get the root selector for the component.
     *
     * @return string
     */
    public function selector()
    {
        return '@'.$this->field.'-editor-'.$this->content_element_id;
    }

    /**
     * Assert that the browser page contains the component.
     *
     * @param  Browser  $browser
     * @return void
     */
    public function assert(Browser $browser)
    {
        $browser->assertVisible($this->selector());
    }

    public function typeInEditor(Browser $browser, $text)
    {
        $browser->click('@editor')
            ->type('@editor', $text);
    }
}
