public function render() { /** <div class="panel panel-default"> <div class="panel-heading"> <h3 class="panel-title">Panel title</h3> </div> <div class="panel-body"> Panel content </div> </div> * */ $t = new Tag(); return $t->div(a::c1ass("panel", "panel-default"), [$t->div(a::c1ass("panel-heading"), $t->h3(a::c1ass("panel-title"), $this->title)), $t->div(a::c1ass("panel-body"), $this->content)]); }
function testMixedTags() { $t = new Tag(); $actual = $t->html([$t->head(), $t->body(a::c1ass('container'), [$t->header(['style' => 'width: 1px solid #000;'], a::id('my-header'), $t->h1('header')), $t->div(a::c1ass('content'), 'inside content')])]); $expected = '<html><head></head><body class="container"><header style="width: 1px solid #000;"' . ' id="my-header"><h1>header</h1></header><div class="content">inside content</div></body></html>'; $this->assertEquals($expected, $actual); }
/** * @param Tag $t * @param User $user * @return mixed */ protected function renderEditButton($t, $user) { if ($this->getLoggedUser() === $user || $this->getLoggedUser()->hasRole(Roles::ADMIN)) { /** @noinspection PhpMethodParametersCountMismatchInspection */ return $t->div(a::c1ass('vd_info'), a::style('top: 3px; right:3px;'), $t->a(a::c1ass('btn btn-sm btn-default'), $t->i(a::c1ass('fa fa-pencil append-icon')), trans('menu.edit'))); } else { return ''; } }
/** * @param Tag $t * @return mixed */ private function aside($t) { /** @noinspection PhpUndefinedMethodInspection */ /** @noinspection PhpMethodParametersCountMismatchInspection */ return $t->aside(a::c1ass('main-sidebar'), $t->section(a::c1ass('sidebar'), a::style('height: auto;'), $t->div(a::c1ass('user-panel'), $t->div(a::c1ass('pull-left image'), $this->getImageFromData($t)), $t->div(a::c1ass('pull-left info'), $t->p($this->getLoggedUser()->getFullName()), $t->a(a::href("#"), $t->i(a::c1ass('fa fa-circle text-success')), 'Online'))), $t->form(a::c1ass('sidebar-form'), a::method('get'), a::action('#'), $t->div(a::c1ass('input-group'), $t->input(a::c1ass('form-control'), a::type('text'), a::placeholder('Search...'), a::name('q')), $t->span(a::c1ass('input-group-btn'), $t->button(a::id('search-btn'), a::c1ass('btn btn-flat'), a::name('search'), a::type('submit'), $t->i(a::c1ass('fa fa-search')))))), $t->ul(a::c1ass('sidebar-menu'), $t->li(a::c1ass('header'), 'MAIN NAVIGATION'), $this->renderMenu($t)))); }
/** * @param Tag $t * @param Activity $activity * @return string */ private function renderContent($t, $activity) { switch ($activity->getActivityType()) { case ActivityType::COMMENT: return $t->div(a::c1ass('panel panel-primary alert-primary no-transform space-reduce'), $activity->getNewValue()); case ActivityType::EDITED_CONTENT: case ActivityType::UPDATE_DESCRIPTION: return $t->div(a::c1ass('panel panel-primary alert-primary no-transform space-reduce col-sm-12 col-xs-12'), $t->i($t->mark(a::c1ass('mark-color-red col-sm-12 col-xs-12'), $t->del($activity->getOldValue()))), $t->i($t->mark(a::c1ass('mark-color-green col-sm-12 col-xs-12'), $activity->getNewValue()))); case ActivityType::CHANGE_ASSIGNMENT: case ActivityType::CHANGE_STATUS: case ActivityType::ISSUE_CREATED: case ActivityType::LOG_TIME: case ActivityType::STARTED_PROGRESS: case ActivityType::UPLOAD_FILE: case ActivityType::UPDATE_CUSTOM_FIELDS: default: return ""; } }
private function renderForm(Tag $t) { $dataMinlength = 'data-minlength'; $dataMatch = "data-match"; $dataMatchError = "data-match-error"; $dataMinlengthError = "data-minlength-error"; /** @noinspection PhpMethodParametersCountMismatchInspection */ /** @noinspection PhpUndefinedFunctionInspection */ /** @noinspection PhpUndefinedClassConstantInspection */ return $t->div(a::c1ass('login-box-body'), [$t->p(a::c1ass('login-box-msg ' . $this->getClasses()), $this->getInfoMessage()), $t->form(a::c1ass('form-signin'), a::action('/auth/login'), a::method('POST'), [$t->div(a::c1ass('form-group has-feedback hidden register'), [$t->input(a::type('text'), a::c1ass('form-control'), a::placeholder(trans('placeholder.fullName')), a::id('inputFullName'), a::name('fullName'), a::autofocus('autofocus')), $t->span(a::c1ass('glyphicon glyphicon-user form-control-feedback')), $t->div(a::c1ass('help-block with-errors'))]), $t->div(a::c1ass('form-group has-feedback'), [$t->input(a::type('email'), a::c1ass('form-control'), a::placeholder(trans('placeholder.email')), a::id('inputEmail'), a::name('email'), a::required('required'), a::autofocus('autofocus')), $t->span(a::c1ass('glyphicon glyphicon-envelope form-control-feedback')), $t->div(a::c1ass('help-block with-errors'))]), $t->div(a::c1ass('form-group has-feedback'), [$t->input(a::type('password'), a::id('inputPassword'), a::name('password'), a::c1ass('form-control'), a::placeholder(trans('placeholder.password')), a::required('required'), a::$dataMinlength('8'), a::$dataMinlengthError(trans('auth.minimum.8.chars'))), $t->span(a::c1ass('glyphicon glyphicon-lock form-control-feedback')), $t->div(a::c1ass('help-block with-errors'))]), $t->div(a::c1ass('form-group has-feedback hidden register'), [$t->input(a::type('password'), a::id('inputRetypePassword'), a::name('retypedPassword'), a::c1ass('form-control'), a::placeholder(trans('placeholder.retype.password')), a::$dataMatch('#inputPassword'), a::$dataMatchError(trans('auth.password.doesnt.match'))), $t->span(a::c1ass('glyphicon glyphicon-lock form-control-feedback')), $t->div(a::c1ass('help-block with-errors'))]), $t->div(a::c1ass('row'), [$t->div(a::c1ass('col-xs-8'), [$t->div(a::c1ass('checkbox icheck'), [$t->label([$t->input(a::type('checkbox')), ' ' . trans('auth.remember.me')])])]), $t->div(a::c1ass('col-xs-4'), [$t->button(a::type('submit'), a::c1ass('btn btn-success btn-block btn-flat'), trans('auth.signin'))])]), $t->input(a::type("hidden"), a::name("_token"), a::value(csrf_token()))]), $t->div(a::c1ass('social-auth-links text-center'), [$t->p(trans('select.or')), $t->a(a::href('#'), a::c1ass("btn btn-block btn-social btn-facebook btn-flat"), [$t->i(a::c1ass("fa fa-facebook")), trans('auth.signin.facebook')]), $t->a(a::href('#'), a::c1ass("btn btn-block btn-social btn-google-plus btn-flat"), [$t->i(a::c1ass("fa fa-google-plus")), trans('auth.signin.google')]), $t->p(a::style('padding: 15px;'), trans('select.or')), $t->div(a::style('padding-bottom: 20px;'), $t->a(a::id('registerBtn'), a::c1ass('btn btn-block bg-gray color-palette btn-flat pull-left'), trans('auth.register')), $t->a(a::id('cancel'), a::c1ass('btn bg-gray color-palette btn-flat hidden pull-right'), a::style('text-align: right'), trans('auth.cancel')))])]); }
/** * @param User $user * @param string $token * @return string */ public function accountActivation($user, $token) { $t = new Tag(); /** @noinspection PhpMethodParametersCountMismatchInspection */ return $t->div(a::id('content'), a::style('width: 710px; text-align: left;'), $t->p($t->b(trans('email.welcome') . ' ' . $user->getFirstName())), $t->p(trans('email.your.account.has.been.created', ['solvreUrl' => solvreUrl()])), $t->span(trans('email.please.activate.account.by.link')), $t->span(a::style('word-wrap: break-word;'), trans('email.activation.link'), URL::to('/activate', array($token))), $t->br()); }
private function needing() { $t = new Tag(); // CASE 1 /** @noinspection PhpUndefinedClassInspection */ /** @method div( assoc_array $htmlAttributes, string $content ) */ /** @var string (last argument) */ $t->div(['class' => 'test'], 'my content'); // CASE 2 /** @noinspection PhpUndefinedClassInspection */ /** @method div( assoc_array $htmlAttributes, array_of_string ... $content ) */ $t->div(['class' => 'test'], ['my content', 'my second content'], [' another content']); // CASE 3 /** @noinspection PhpUndefinedClassInspection */ /** @noinspection PhpMethodParametersCountMismatchInspection */ /** @method div( assoc_array $htmlAttributes, Renderable ... $content ) */ $t->span(['class' => 'test'], new Panel('my title', 'my content'), new Panel('my second title', 'my second content')); // CASE 4 /** @noinspection PhpUndefinedClassInspection */ /** @noinspection PhpMethodParametersCountMismatchInspection */ /** @method div( assoc_array $htmlAttributes, mixed ... $content ) */ /** @var mixed = array_of_string|Renderable */ $t->div(['class' => 'test'], ['some content', 'another content'], new Panel('my second title', 'my second content')); // CASE 5 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent ) */ /** @var mixed_content = string|Renderable */ /** @var mixed = assoc_array|array_of_mixed_content|Renderable */ $t->div(['class' => 'test'], ['id' => 'test content'], ['some content', new Panel('my first panel title', 'my first content')], new Panel('my second title', 'my second content')); // ###################### Attributes ################################ // CASE 1 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed = Attribute|string (last argument) */ $t->div(a::c1ass('test'), a::id('test-content'), 'my content'); // CASE 2 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed = Attribute|array_of_string */ $t->div(a::c1ass('test'), a::id('test-content'), ['my content ', 'my second content '], ['else content']); // CASE 3 /** @noinspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed = Attribute|Renderable */ $t->span(a::c1ass('test'), a::id('test-content'), new Panel('my title', 'my content'), new Panel('my second title', 'my second content')); // CASE 4 /** @noinspection PhpUndefinedClassInspection, PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed = Attribute|array_of_string|Renderable */ $t->div(a::c1ass('test'), a::id('test-content'), ['some content', 'another content'], new Panel('my second title', 'my second content')); // CASE 5 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed_content = string|Renderable */ /** @var mixed = Attribute|array_of_mixed_content|Renderable */ $t->div(a::c1ass('test'), a::id('test-content'), ['some content', new Panel('my first panel title', 'my first content')], new Panel('my second title', 'my second content')); // ###################### Attributes And Assoc ################################ // CASE 1 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed = Attribute|assoc_array|string (last argument) */ $t->div(a::c1ass('test'), ['id' => 'test-content'], 'my content'); // CASE 2 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed = Attribute|assoc_array|array_of_string */ $t->div(a::c1ass('test'), ['id' => 'test-content'], ['my content ', 'my second content '], ['another content']); // CASE 3 /** @noinspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed = Attribute|assoc_array|Renderable */ $t->span(a::c1ass('test'), ['id' => 'test-content'], new Panel('my title', 'my content'), new Panel('my second title', 'my second content')); // CASE 4 /** @noinspection PhpUndefinedClassInspection, PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed = Attribute|assoc_array|array_of_string|Renderable */ $t->div(a::c1ass('test'), ['id' => 'test-content'], ['some content', 'another content'], new Panel('my second title', 'my second content')); // CASE 5 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed_content = string|Renderable */ /** @var mixed = Attribute|assoc_array|array_of_mixed_content|Renderable */ $t->div(a::c1ass('test'), ['id' => 'test-content'], ['some content', new Panel('my first panel title', 'my first content')], new Panel('my second title', 'my second content')); // CASE 6 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent) */ /** @var mixed_content = string|Renderable */ /** @var mixed = Attribute|Attributes|assoc_array|array_of_mixed_content|string|Renderable*/ $t->div(a::c1ass('test'), ['id' => 'test-content'], ['some content', new Panel('my first panel title', 'my first content')], new Panel('my second title', 'my second content'), 'aqua'); // CASE 6 /** @noinspection PhpUndefinedClassInspection PhpMethodParametersCountMismatchInspection */ /** @method div( mixed ... $htmlAttributesOrContent ) */ /** @var mixed = {attribute|content} */ /** @var attribute = {Attribute|Attributes|assoc_array} */ /** @var content = {string|array_of_string|array_of_mixed_content|Renderable} */ /** @var mixed_content = {string|Renderable} */ $t->div(a::c1ass('test'), ['id' => 'test-content'], ['some content', ' test'], new Panel('my second title', 'my second content'), 'aqua'); }