Code Monkey home page Code Monkey logo

blazor.sidepanel's Introduction

Sidepanel

Package Version NuGet Downloads License

Preview

Installation

Install-Package Append.Blazor.Sidepanel

Demo

There is a sample application in /docs folder which is also hosted as documentation.

Usage

Add ISidepanelService via DI in Program.cs

builder.Services.AddSidepanel();

Add to _Imports.razor

@using Append.Blazor.Sidepanel

Add to MainLayout.razor

<Sidepanel/>

Inject into component/pages

@inject ISidepanelService Sidepanel

Opening and Closing

Basic

Sidepanel.Open<Counter>("Counter", "example");
Sidepanel.Close();

With component

<SidepanelComponent Title="Your Title" SubTitle="Optional Subtitle" @ref="sidepanel">
    <div>Some inner content</div>
</SidepanelComponent>

@code
{
    private SidepanelComponent sidepanel;
    private void Open()
    {
        sidepanel.Open();
    }

    private void Close()
    {
        sidepanel.Close();
    }
}

Advanced with 1 parameter

The parameter has to be set in the Counter component

private int increaseBy = 10;
private void OpenCounterWithParameter()
{
    Sidepanel.Open<Counter>("Counter", "example", (nameof(increaseBy),increaseBy));
}

Advanced with multiple parameters

The parameters have to be set in the Counter component

private void OpenCounterWithParameters()
{
    var parameters = new Dictionary<string, object> { 
        { (nameof(increaseBy)), increaseBy },
        { (nameof(initialValue)), initialValue}
    };
    Sidepanel.Open<Counter>("Counter","Example",parameters);
}

Override styling

In App.css

#sidepanel.is-open {
    width: 80%;
}

@@media (min-width: 768px) {
    #sidepanel.is-open {
        width: 50%;
    }
}

Contributions and feedback

Please feel free to use the component, open issues, fix bugs or provide feedback.

Contributors

This project is created and maintained by:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.