12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- namespace Tests\Browser\Components\Grid;
- use Laravel\Dusk\Browser;
- use Tests\Browser\Components\Component;
- /**
- * 行选择器.
- */
- class RowSelector extends Component
- {
- /**
- * 获取组件的 root selector.
- *
- * @return string
- */
- public function selector()
- {
- return '@container';
- }
- /**
- * 浏览器包含组件的断言
- *
- * @param Browser $browser
- * @return void
- */
- public function assert(Browser $browser)
- {
- // $browser->assertVisible('table:visible thead th .checkbox-grid');
- }
- /**
- * 读取组件的元素快捷方式.
- *
- * @return array
- */
- public function elements()
- {
- return [
- '@container' => '#grid-table',
- '@all' => 'input.select-all',
- '@item' => 'input.grid-row-checkbox',
- ];
- }
- /**
- * 选中.
- *
- * @param Browser $browser
- * @param string|array $value
- *
- * @return Browser
- */
- public function choose(Browser $browser, $value)
- {
- foreach ((array) $value as $v) {
- $browser->script(
- <<<JS
- setTimeout(function () {
- $('{$this->formatSelector($browser, '@item')}[data-id="{$v}"]').prop('checked', true);
- }, 10)
- JS
- );
- }
- return $browser;
- }
- /**
- * 选中所有.
- *
- * @param Browser $browser
- *
- * @return Browser
- */
- public function selectAll(Browser $browser)
- {
- $browser->script("Dcat.ready(
- setTimeout(function () {
- $('{$this->formatSelector($browser)} .select-all').first().click()
- }, 10)
- );");
- return $browser;
- }
- }
|