Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce Tabs #14

Closed
johannitsa opened this issue Aug 23, 2018 · 17 comments
Closed

Introduce Tabs #14

johannitsa opened this issue Aug 23, 2018 · 17 comments
Labels
request Feature Request

Comments

@johannitsa
Copy link

Hey,

Nova is a great product!

I was thinking that we can do something better to group fields.

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        new Panel('Information', [
               new Tab('Personal Information', $this->personalFields(),
               new Tab('Progress', $this->progressFields())
        ]),
    ];
}

We can use the same idea to group/navigate through relationships.

I believe that this may improve the UX.

Regards!

@johannitsa johannitsa changed the title Tabs Introduce Tabs Aug 23, 2018
@themsaid themsaid added the request Feature Request label Aug 23, 2018
@caseydwyer
Copy link

+1 for this. Especially valuable for models that have many relationships defined, as those detail pages can get lengthy. Personally, I'd like to see tabs at the page level instead of (or in addition to) panel tabs. Any fields outside a Tab could fall on the initial/default tab (eg, ID and name).

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),
        Text::make('Name')->sortable(),

        new Tab('Academics', [
               new Panel('Degrees', $this->degreeFields(),
               new Panel('Courses', $this->courseFields()),
               new Panel('Terms', $this->termFields())
        ]),
    ];
}

@anderly
Copy link

anderly commented Aug 23, 2018

+1 as well for tabs. Sometimes, there are multiple levels of nested resources (5+, 10+) and you just need to be able to quickly drill into the related resources via a link vs displaying them on the parent. This is when a breadcrumb-type nav component would help as well. This should be great to have as any option on the HasMany, etc.-type relationship fields. Similarly, it would be great to be able to define a right-sidebar/panel where certains Actions, Report links, or Even cards could live.

Love Nova so far and can't wait to see where it goes from here!

@beliolfa
Copy link

+1 to this. When you have a bunch of relations in a model easily becomes infinite.

@daguilarm
Copy link

+1

@shabbirbharmal
Copy link

shabbirbharmal commented Aug 29, 2018

We just published a basic tab package in case anyone's interested:

https://github.com/arsenaltech/nova-tab

https://novapackages.com/packages/arsenaltech/nova-tab

@vootrunner
Copy link

FYI - When using nova-tabs as a replacement for panels it breaks the HasMany field, causing it to return every row in the database instead of the related rows. Reverting back to the Nova supplied field panel restores the expected behavior. I've created an issue for on the nova-tabs repo.

@sasafister
Copy link

Also, updating date's is not working.

@manojhl
Copy link

manojhl commented Nov 21, 2018

I would like to add another case for Tabs. Tabs can also be used for listing rows with predefined filters. Something similar to the screenshot below.

Stripes' billing invoices section

I was thinking of using a method to create tabs with predefined filter view

/**
 * Get the tabs available for the resource.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return array
 */
public function tabs(Request $request)
{
    return [];
}

@dkulyk
Copy link

dkulyk commented Jan 23, 2019

@johannitsa In https://github.com/dkulyk/nova-tabs you can use Tabs like @dwyer14 says.

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        new Tabs('Information', [
               new Panel('Personal Information', $this->personalFields(),
               new Panel('Progress', $this->progressFields()),
               BelongsToMany::make('Relations'),
        ]),
    ];
}```

@caseydwyer
Copy link

@dkulyk Yo, that is slick as h*ck. Nice work! Would love to see something like that in the core.

@niladam
Copy link

niladam commented Jan 25, 2019

I think this should get some attention, right @davidhemphill ?:)

@dkulyk
Copy link

dkulyk commented Jan 25, 2019

@davidhemphill
Copy link
Contributor

Hey there! In order to keep this repository focused on bug reports, we auto-close feature requests and requests for help. Feel free to post your feature requests so others can discuss and add reactions. We'll keep an eye on them for later planning.

@robclancy
Copy link

I have reached so many dead ends because "this repository is focused on bugs". And this specific one is also saying to post feature requests as well?

@davidhemphill
Copy link
Contributor

I have reached so many dead ends because "this repository is focused on bugs". And this specific one is also saying to post feature requests as well?

Most of the ones from the last year or so have the same message above. 😄

@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 10, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
request Feature Request
Projects
None yet
Development

No branches or pull requests