4 require_once(
"libs/composer/vendor/autoload.php");
5 require_once(__DIR__ .
"/../../Base.php");
7 use \ILIAS\UI\Component as
C;
8 use \ILIAS\UI\Implementation as
I;
17 'internal_rating' =>
'Best',
18 'date_desc' =>
'Most Recent',
19 'date_asc' =>
'Oldest',
24 return new I\Component\ViewControl\Factory(
32 $sortation =
$f->sortation($this->options);
33 $this->assertInstanceOf(
34 "ILIAS\\UI\\Component\\ViewControl\\Sortation",
37 $this->assertInstanceOf(
38 "ILIAS\\UI\\Component\\Signal",
39 $sortation->getSelectSignal()
46 $s =
$f->sortation($this->options);
48 $this->assertEquals($this->options, $s->getOptions());
50 $this->assertEquals(
'label', $s->withLabel(
'label')->getLabel());
52 $s = $s->withTargetURL(
'#',
'param');
53 $this->assertEquals(
'#', $s->getTargetURL());
54 $this->assertEquals(
'param', $s->getParameterName());
56 $this->assertEquals(array(), $s->getTriggeredSignals());
58 $signal = $generator->create();
61 $s->withOnSort($signal)->getTriggeredSignals()[0]->getSignal()
69 $s =
$f->sortation($this->options);
82 $s =
$f->sortation($this->options)->withAdditionalOnLoadCode(
function ($id) {
102 $button1_id =
"id_2";
103 $button2_id =
"id_3";
104 $button3_id =
"id_4";
108 <div
class=
"il-viewcontrol-sortation" $id><div
class=
"dropdown"><button
class=
"btn btn-default dropdown-toggle" type=
"button" data-toggle=
"dropdown" aria-label=
"actions" aria-haspopup=
"true" aria-expanded=
"false" > <span
class=
"caret"></span></button><ul
class=
"dropdown-menu">
109 <li><button
class=
"btn btn-link" data-action=
"?sortation=internal_rating" id=
"$button1_id">Best</button></li>
110 <li><button
class=
"btn btn-link" data-action=
"?sortation=date_desc" id=
"$button2_id">Most Recent</button></li>
111 <li><button
class=
"btn btn-link" data-action=
"?sortation=date_asc" id=
"$button3_id">Oldest</button></li></ul></div>
119 $factory =
new class extends NoUIFactory {
120 public function button()
122 return new I\Component\Button\Factory();
124 public function dropdown()
126 return new I\Component\Dropdown\Factory();
testRenderingWithJsBinding()
getSortationExpectedHTML(bool $with_id=false)
Provides common functionality for UI tests.
Test on icon implementation.
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])