Skip to content

Commit

Permalink
Charts
Browse files Browse the repository at this point in the history
  • Loading branch information
dudochkin-victor committed Mar 29, 2021
1 parent 16de703 commit 372265a
Show file tree
Hide file tree
Showing 11 changed files with 1,206 additions and 16 deletions.
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Changelog

## Package vX.X.X (YYYY-MM-DD)

### Improved

- A here your changes

### Added

- A here your changes

### Fixed

- A here your changes

### Improvement

- A here your changes

### Removed

- A here your changes

187 changes: 184 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,186 @@
# Contributing to Angular Rust
## Contributing to Angular Rust

Want to contribute to Angular Rust? There are a few things you need to know.
This describes how developers may contribute to Angular Rust.

We wrote a **[contribution guide](https://angular-rust.github.io/contributing/)** to help you get started.
## Mission

Angular Rust's mission is to provide a batteries-included framework for making large scale web and desktop application development as efficient and maintainable as possible.

The design should be configurable and modular so that it can grow with the developer. However, it should provide a wonderful un-boxing experience and default configuration that can woo new developers and make simple web and desktop apps straight forward. The framework should have an opinion about how to do all of the common tasks in web and desktop development to reduce unnecessary cognitive load.

Perhaps most important of all, Angular Rust should be a joy to use. We want to reduce the time spent on tedious boilerplate functionality and increase the time
available for creating polished solutions for your application's target users.

## How to Contribute

### Join the Community

The first step to improving Angular Rust is to join the community and help grow it! You can find the community on:

[![](https://img.shields.io/badge/Facebook-1877F2?style=for-the-badge&logo=facebook&logoColor=white)](https://www.facebook.com/groups/angular.rust)
[![](https://img.shields.io/badge/Stack_Overflow-FE7A16?style=for-the-badge&logo=stack-overflow&logoColor=white)](https://stackoverflow.com/questions/tagged/angular-rust)
[![](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/channel/UCBJTkSl_JWShuolUy4JksTQ)
[![](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://medium.com/@angular.rust)
[![](https://img.shields.io/gitter/room/angular_rust/angular_rust?style=for-the-badge)](https://gitter.im/angular_rust/community)

We believe the wider community can create better code. The first tool for improving the community is to tell the developers about the project by giving it a star. More stars - more members.

![Star a repo](https://dudochkin-victor.github.io/assets/star-me-wide.svg)

Once you've joined, there are many ways to contribute to Angular Rust:

* Report bugs (via GitHub)
* Answer questions of other community members (via Gitter or GitHub Discussions)
* Give feedback on new feature discussions (via GitHub and Gitter)
* Propose your own ideas (via Gitter or GitHub)

### How Angular Rust is Developed

We have begun to formalize the development process by adopting pragmatic practices such as:

* Developing on the `develop` branch
* Merging `develop` branch to `main` branch in 6 week iterations
* Tagging releases with MAJOR.MINOR syntax (e.g. v0.8)
** We may also tag MAJOR.MINOR.HOTFIX releases as needed (e.g. v0.8.1) to address urgent bugs. Such releases will not introduce or change functionality
* Managing bugs, enhancements, features and release milestones via GitHub's Issue Tracker
* Using feature branches to create pull requests
* Discussing new features **before** hacking away at it


## Dive into code

### Fork this repository

<img align="right" width="360" src="https://dudochkin-victor.github.io/assets/github/fork.png" alt="fork this repository" style="margin-left: 5px;"/>

Fork this repository by clicking on the fork button on the top of this page.
This will create a copy of this repository in your account.

<br clear="both" />

### Clone the repository

<img align="right" width="360" src="https://dudochkin-victor.github.io/assets/github/clone.png" alt="clone this repository" style="margin-left: 5px;"/>

Now clone the forked repository to your machine. Go to your GitHub account, open the forked repository, click on the code button and then click the _copy to clipboard_ icon.

Open a terminal and run the following git command:

```
git clone "url you just copied"
```

where "url you just copied" (without the quotation marks) is the url to this repository (your fork of this project). See the previous steps to obtain the url.

> use SSH tab to copy proper URL
<img align="right" width="360" src="https://dudochkin-victor.github.io/assets/github/copy-to-clipboard.png" alt="copy URL to clipboard" style="margin-left: 5px;"/>

For example:

```
git clone [email protected]:$USER/yew-components.git
```

where `$USER` is your GitHub username. Here you're copying the contents of the `yew-components` repository on GitHub to your computer.


<br clear="both" />

### Create a branch

Change to the repository directory on your computer (if you are not already there):

```
cd yew-components
```

Now create a branch using the `git checkout` command:

```
git checkout -b <feature/useful-new-thing> origin/develop
```
replacing `<feature/useful-new-thing>` with the adequate name of the feature you will develop.

### Make necessary changes and commit those changes

Now that you've properly installed and forked Angular Rust, you are ready to start coding (assuming you have a validated your ideas with other community members)!

### Format Your Code

Remember to run `cargo fmt` before committing your changes.
Many Go developers opt to have their editor run `cargo fmt` automatically when saving Go files.

Additionally, follow the [core Rust style conventions](https://rustc-dev-guide.rust-lang.org/conventions.html) to have your pull requests accepted.

### Write Tests (and Benchmarks for Bonus Points)

Significant new features require tests. Besides unit tests, it is also possible to test a feature by exercising it in one of the sample apps and verifying its
operation using that app's test suite. This has the added benefit of providing example code for developers to refer to.

Benchmarks are helpful but not required.

### Run the Tests

Typically running the main set of unit tests will be sufficient:

```
$ cargo test
```
### Document Your Feature

Due to the wide audience and shared nature of Angular Rust, documentation is an essential addition to your new code. **Pull requests risk not being accepted** until proper documentation is created to detail how to make use of new functionality.

### Add yourself to the list of contributors

Open `CONTRIBUTORS.md` file in a text editor, add your name to it. Don't add it at the beginning or end of the file. Put it anywhere in between. Now, save the file.

<img width="635" src="https://dudochkin-victor.github.io/assets/github/git-status.png" alt="git status" />

If you go to the project directory and execute the command `git status`, you'll see there are changes.

Add those changes to the branch you just created using the `git add` command:

```
git add .
```

Now commit those changes using the `git commit` command:

```
git commit -m "$COMMENT"
```

replacing `$COMMENT` with appropriate description of your changes.

### Push changes to GitHub

Push your changes using the command `git push`:

```
git push origin <feature/useful-new-thing>
```

replacing `<feature/useful-new-thing>` with the name of the branch you created earlier.

### Submit your changes for review

Once you've done all of the above & pushed your changes to your fork, you can create a pull request for review and acceptance.

If you go to your repository on GitHub, you'll see a `Compare & pull request` button. Click on that button.

<img width="1000" src="https://dudochkin-victor.github.io/assets/github/compare-and-pull.png" alt="create a pull request" />

Now submit the pull request.
Do not forget to set develop branch for your pull request.

<img width="1000" src="https://dudochkin-victor.github.io/assets/github/submit-pull-request.png" alt="submit pull request" />


## Where to go from here?

Congrats! You just completed the standard _fork -> clone -> edit -> pull request_ workflow that you'll encounter often as a contributor!

You can check more details in our **[detailed contribution guide](https://angular-rust.github.io/contributing/)**.

You could join our gitter team in case you need any help or have any questions. [Join gitter team](https://gitter.im/angular_rust/community).
10 changes: 10 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
YEW Components contributors (sorted alphabetically)
============================================

* **[Victor Dudochkin](https://github.com/dudochkin.victor)**

* Core development



**[Full contributors list](https://github.com/angular-rust/yew-components/contributors).**
12 changes: 12 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ maintenance = { status = "actively-developed" }
[features]
banner = []
button = []
barchart = ["ux-animate", "ux-dataflow", "ux-charts", "ux-charts/web"]
card = []
charts = ["barchart", "gaugechart", "linechart", "piechart", "radarchart"]
checkbox = []
chips = []
circular-progress-four-color = []
Expand All @@ -28,13 +30,17 @@ dialog = []
drawer = []
fab = []
formfield = []
gaugechart = ["ux-animate", "ux-dataflow", "ux-charts", "ux-charts/web"]
icon-button-toggle = []
icon-button = []
icon = []
image-list = []
linechart = ["ux-animate", "ux-dataflow", "ux-charts", "ux-charts/web"]
linear-progress = []
list = []
menu = []
piechart = ["ux-animate", "ux-dataflow", "ux-charts", "ux-charts/web"]
radarchart = ["ux-animate", "ux-dataflow", "ux-charts", "ux-charts/web"]
radio = []
select = []
slider = []
Expand All @@ -50,6 +56,7 @@ full = [
"banner",
"button",
"card",
"charts",
"checkbox",
"chips",
"circular-progress-four-color",
Expand Down Expand Up @@ -91,6 +98,10 @@ wee_alloc = { version = "0.4", optional = true }
yew = "0.17"
yew-router = "0.14"

ux-dataflow = { version = "0.1", optional = true }
ux-animate = { version = "0.1", optional = true }
ux-charts = { version = "0.1", optional = true }

[dev-dependencies]
wasm-bindgen-test = "0.3"
doc-comment = "0.3"
Expand All @@ -106,4 +117,5 @@ features = [
"HtmlElement",
"Window",
"Document",
"HtmlCanvasElement",
]
63 changes: 50 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,37 @@
# YEW Material Components

<div align="center">

[![API Docs][docrs-badge]][docrs-url]
[![Crates.io][crates-badge]][crates-url]
[![MPL-2.0 licensed][license-badge]][license-url]
[![Gitter chat][gitter-badge]][gitter-url]
[![Rustc Version 1.45+][rust-badge]][rust-url]
[![loc][loc-badge]][loc-url]
</div>

[docrs-badge]: https://img.shields.io/docsrs/ymc?style=flat-square
[docrs-url]: https://docs.rs/ymc/
[docrs-url]: https://docs.rs/uymc/
[crates-badge]: https://img.shields.io/crates/v/ymc.svg?style=flat-square
[crates-url]: https://crates.io/crates/ymc
[license-badge]: https://img.shields.io/badge/license-MPL--2.0-blue.svg?style=flat-square
[license-url]: https://github.com/angular-rust/yew-components/blob/master/LICENSE
[gitter-badge]: https://img.shields.io/gitter/room/angular_rust/angular_rust.svg?style=flat-square
[gitter-url]: https://gitter.im/angular_rust/angular_rust
[gitter-url]: https://gitter.im/angular_rust/community
[rust-badge]: https://img.shields.io/badge/rustc-1.45-lightgrey.svg?style=flat-square
[rust-url]: https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html
[loc-badge]: https://tokei.rs/b1/github/angular-rust/yew-components?category=code
[loc-url]: https://github.com/angular-rust/yew-components

Angular Rust is a high productivity, frontend web framework for the [Rust language](https://www.rust-lang.org/).
Material Design Components for the Yew framework.

Material Design Components for the Yew framework
**Angular Rust** is a high productivity, `platform-agnostic` frontend framework for the [Rust language](https://www.rust-lang.org/). It now supports desktop and web development. Angular Rust currently uses GTK for desktop development and WebAssembly for web development. We are planning to add support for mobile development.

Yew Material Components is a components library for [Yew framework](https://yew.rs/) which is a wrapper around [Material Design Components](https://github.com/material-components/material-components-web) exposing Yew components. All modern browsers are supported.


## Getting started

### Installation

Currently, this library is available from [crates.io](https://crates.io/). Add it using `cargo-edit`
Expand Down Expand Up @@ -100,28 +107,58 @@ Implement a component you need and add it to the src/ directory.

These components respect the theming applied to Material Design Components using stylesheets. [Learn about how to theme Material Design Components.](https://github.com/material-components/material-components-web-components/blob/master/docs/theming.md)


## Learn More

* [Manual, Samples, Docs, etc](https://angular-rust.github.io/)
* [Manual, Docs, etc](https://angular-rust.github.io/)
* [Samples](https://github.com/angular-rust/ux-samples)
* [Apps using Angular Rust](https://github.com/angular-rust/yew-components/wiki/Apps-in-the-Wild)
* [Articles Featuring Angular Rust](https://github.com/angular-rust/yew-components/wiki/Articles)

## Community

* [Gitter](https://gitter.im/angular_rust/community)
* [StackOverflow](https://stackoverflow.com/questions/tagged/angular-rust)
## Community

## Bugs ##
[![](https://img.shields.io/badge/Facebook-1877F2?style=for-the-badge&logo=facebook&logoColor=white)](https://www.facebook.com/groups/angular.rust)
[![](https://img.shields.io/badge/Stack_Overflow-FE7A16?style=for-the-badge&logo=stack-overflow&logoColor=white)](https://stackoverflow.com/questions/tagged/angular-rust)
[![](https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/channel/UCBJTkSl_JWShuolUy4JksTQ)
[![](https://img.shields.io/badge/Medium-12100E?style=for-the-badge&logo=medium&logoColor=white)](https://medium.com/@angular.rust)
[![](https://img.shields.io/gitter/room/angular_rust/angular_rust?style=for-the-badge)](https://gitter.im/angular_rust/community)

If you find an issue, let me know [here](https://github.com/angular-rust/yew-components/issues/new).

## Contributing

Your contributions are welcome. I openly welcome community contributions, including bug fixes and new features. Please feel free to [fork the project](https://github.com/theukedge/recent-contributors-widget/fork) and submit a pull request.
We believe the wider community can create better code. The first tool for improving the community is to tell the developers about the project by giving it a star. More stars - more members.

![Star a repo](https://dudochkin-victor.github.io/assets/star-me-wide.svg)

Angular Rust is a community effort and we welcome all kinds of contributions, big or small, from developers of all backgrounds. We want the Angular Rust community to be a fun and friendly place, so please review our [Code of Conduct](CODE_OF_CONDUCT.md) to learn what behavior will not be tolerated.

### New to Angular Rust?

Start learning about the framework by helping us improve our [documentation](https://angular-rust.github.io/). Pull requests which improve test coverage are also very welcome.

### Looking for inspiration?

Check out the community curated list of awesome things related to Angular Rust / WebAssembly at [awesome-angular-rust](https://github.com/angular-rust/awesome-angular-rust).

### Confused about something?

Feel free to drop into our [Gitter chatroom](https://gitter.im/angular_rust/community) or open a [new "Question" issue](https://github.com/angular-rust/yew-components/issues/new/choose) to get help from contributors. Often questions lead to improvements to the ergonomics of the framework, better documentation, and even new features!

### Ready to dive into the code?

After reviewing the [Contributing Code Guidelines](CONTRIBUTING.md), check out the ["Good First Issues"](https://github.com/angular-rust/yew-components/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) (they are eager for attention!). Once you find one that interests you, feel free to assign yourself to an issue and don't hesitate to reach out for guidance, the issues vary in complexity.

### Let's help each other!

Come help us on the [issues that matter that the most](https://github.com/angular-rust/yew-components/labels/%3Adollar%3A%20Funded%20on%20Issuehunt) and receive a small cash reward for your troubles. We use [Issuehunt](https://issuehunt.io/r/angular-rust/yew-components/) to fund issues from our Open Collective funds. If you really care about an issue, you can choose to add funds yourself!

### Found a bug?

* [Contributing Code Guidelines](https://github.com/angular-rust/yew-components/blob/main/CONTRIBUTING.md)
* [Angular Rust Contributors](https://github.com/angular-rust/yew-components/graphs/contributors)
Please [report all bugs!](https://github.com/angular-rust/yew-components/issues/new/choose) We are happy to help support developers fix the bugs they find if they are interested and have the time.

## Todo
- [ ] Documentation

## Alternatives

Expand Down
Loading

0 comments on commit 372265a

Please sign in to comment.