Giter Club home page Giter Club logo

aurelia-toolbelt's Introduction

aurelia-toolbelt ( v1.2.3 )

  • You can find documentation and demo here

  • We tried not to invent the wheel, but to utilise the existing libraries out there in js world, for Aurelia. What ever we used or inspired from will definitely have a reference to the original repository or website.

  • Bootstrap v 4.* components,are ready for production, however we are always reviewing them and there is an npm package available.

A bunch of tools for creating rich aurelia applications. ๐Ÿ˜‰

Open Source Love Build status npm version

  • It is worthy to note that this plugin is written with the skeleton provided by Vegar Ringdal. Many thanks to him ๐Ÿ˜„

How to use the plugin

  1. run
npm install aurelia-toolbelt

or

yarn add aurelia-toolbelt
  1. use the plugin:
aurelia.use.plugin(PLATFORM.moduleName('aurelia-toolbelt'));

How to get everything installed after download

  • install yarn npm i -g yarn
  • run node setup

or run npm install on both root folder and sample folder.

That will install all the npm packages in root and sample folder.

How to test with sample folder

  • run gulp watch

This will transpile everything using fusebox and start local sample at http://localhost:4444/

Plugin source and sample source is typechecked/tslinted using fusebox-typechecker

How to build

  • run gulp build

This will use the fusebox-typechecker to test if any errors is found, if errors is found it will not clean up and make new build.

aurelia-toolbelt's People

Contributors

hamedfathi avatar shahabganji avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aurelia-toolbelt's Issues

bootstrap/pagination

It has some bugs when clicking on the 15th page in current sample it hides the last page

Demo page - Uncaught package error

Great work on the toolbelt so far! ๐Ÿ‘

I just went to visit the demo page and noticed that there is an error on page initialization preventing the page from loading:

Uncaught Package not found fuse-box-aurelia-loader

Maybe worth taking a look if you're not aware of it already ๐Ÿ˜„ .

Keep up the great work.

Cheers,
Sean

Bootstrap Toggle

The bootstrap toggle does not change the status when clicking on the label.

au bundle

Hi,
How do I bundle aurelia-toolbelt with au-cli using au build --env prod?
I followed the same pattern as aurlia-dialog modifying aurelia.json file in aurelia_project but get error when I try to use it

{
"name": "aurelia-toolbelt.js",
"dependencies": [
{
"name": "aurelia-toolbelt",
"main": "index",
"path": "../node_modules/aurelia-toolbelt/dist/commonjs",
"resources": []
},
"jquery"
]
},
Thanks,
John

Instruction Typo in all pages `aurelia.plugin` should be `aurelia.use.plugin`

instructions typo

Hello I just started using your lib and just wanted to mention that all the page instructions have the wrong code to import the plugin. For example Modals says to register the plugin through

aurelia.plugin(PLATFORM.moduleName('aurelia-toolbelt'));

while it should

aurelia.use.plugin(PLATFORM.moduleName('aurelia-toolbelt'));

Also in the README it says

aurelia.use(PLATFORM.moduleName('aurelia-toolbelt'));

which is again wrong but with different typo.

different subject

Out of subject, is that normal that the following doesn't work

aurelia.use.plugin(PLATFORM.moduleName('aurelia-toolbelt/components/bootstrap/modal'));

I only get it to work with the entire bootstrap component

aurelia.use.plugin(PLATFORM.moduleName('aurelia-toolbelt/components/bootstrap'));

Aurelia-Toolbelt, What is next?

Aurelia-Toolbelt, What is next?

We are making a lot of changes that you can see below list.

Project overhaul

  • Mono repo by Lerna

    We have it as experimental branch but it is not complete.

    These changes are postponed until the release of the Aurelia vNext.

  • Align the names of components, attributes and etc for the whole package.

  • Release Aurelia-Toolbelt in production mode.

  • Use Aurelia logger.

  • Update site theme to something like official Bootstrap 4 or PrettyDocs

  • Support Aurelia CLI better.

  • Add bootstrap-reboot.css to the package.

  • Add specific font/SVG collection for components very small and limited then remove Font-Awesome fonts.
    We can use icomoon and svg-icon for this purpose.


Components

This section points to component changes.

Bootstrap 4

Current

  • Add open on hover to Navbar and Mega menu.

    We may need to change the Mega menu structure like this.

  • Replace Float Labels with new one.

    The current component has a problem with RTL so we should change it to Float Label CSS.

    For supporting better inputs and input groups this should be a custom attribute. Sample

  • Update Tokenize with latest version and new npm repository.

  • Complete implementation of masked-input and documentation.

  • Replaced nprogress with nanobar

  • Complete implementation of Fuse.js and documentation like Angular fuse.js and ng2-fuse

  • Replace Divider with Divided.

    It should support horizontal and vertical alignment.

  • Replace BlockUI with jQuery LoadingOverlay

    Another alternative is FreezeUI

    We need HTTP interceptor like ng-http-loader

  • Update Toggle with an icon for disable mode based on forbidden cursor.

    You can find the sample here

New


Value Converters


Themes

  • Create a theme manager to handle wide ranges of themes (light/dark).

  • Synchronize theme components in light and dark colors.

    Some components have a problem with dark themes like Tokenize. I prefer to use CSS variables to handle them.

  • Release specific theme for Aurelia-Toolbelt in light and dark mode. open color


Support Persian language

  • Support Jalali date picker and date range.
  • Support Bootstrap 4 RTL.
  • Support National code validation.
  • Convert numbers to words like js-written-number

Miscellaneous


We do not support these components

The list of components that we do not support because they have very good equivalents.

  1. Grid: Use vGrid
  2. Dragula: Use aurelia-dragula
  3. Leaflet: Use aurelia-leaflet
  4. Charts: Use aurelia-charts
  5. Cookie: Use aurelia-cookie
  6. Google Recaptcha: Use aurelia-plugins-google-recaptcha

Scrollspy

Scrollspy does not work properly when clicked on links to scroll to the associated content

Modal would be more useful with a `dismiss` method that accept a reason of type any

Started using your great library and it's working great, however it would be even better if the Modal Component could have a dismiss(reason: any) (or close) method. As for example, I am working on a modal window that has a form and I need to be able to use the form data into the parent. For a better example, let say we have a user which create an item and once the item is saved, we close the modal window and we use the object returned by the server to refresh the grid (without refreshing the entire grid, we just add that 1 object to the grid via typescript).

I'm not totally sure on how to implement in your component but if we look at ng-bootstrap, they have the dismiss method. In their example, click on "Launch demo modal" and then click on the "Save" button and you will see the text "Closed with: Save click" appearing on the parent window via the dismiss(reason: any) method.

Currently your Modal Component can only be closed via the View, I don't see how to close the modal window in ViewModel (.ts) code.

For now, I guess I could do the same via an Event Aggregator, something like this.ea.publish('onItemCreated', this.item);, but that would be great if the Modal Component support the dismiss(reason: any) method internally.

abt-breadcrumb needs to support route-href

Besides feeding a string url directly to the breadcrumb item, we should have an option to provide an Aurelia router routing config. The item should look something like this:

{
  title: string,
  url?: string,
  config?: {
    route: string,
    params?: {}
  }
}

dropdown- outlined

Enable abt-dropdown component to be allowed to use outline just as abt-button

abt-navbar-dropdown, placements?

How to change the placement of dropdown opener to top or bottom. The default behaviour is bottom; however, when setting the navbar to fixed at the bottom of the page, I expect the dropdown to be opened upward.

<abt-navbar class="fixed-bottom" style="z-index:1021" class="bg-light">
...
...
</abt-navbar>

screen shot 2018-01-28 at 22 19 00

Button Groups does not have any value or model to bind to

This is a continuation of a post made in another issue (which is now closed).

Thanks for your nice explanation, I actually realized why I thought it wasn't working. It actually does work but the button of modal demo was actually simply shown as just text (not the look of a button, however the text was clickable), so the modal demo also needs the aurelia-toolbelt/components/bootstrap/button for it to show the same as the demo.

I don't want to make this simple issue become a long post of multiple subjects but I have another question. I would like to use the Button Groups as radio button, to make the user choose 1 option out of 3 options, however in your demo I don't see how to bind the checked value. I also cannot visually see which option is clicked, I'm not sure if that is a Bootstrap issue though

Your reply was

This feature of bootstrap is not implemented in toolbelt ๐Ÿ™ˆ, because at the time of writing I had no idea whether it should be a mixed feature of abt-button or abt-button-group or another separate component. I would grateful if you could come up with a suggestion and will be more than happy to implement your proposal. if interested please open a new issue to track this feature.

Support for Webpack from Aurelia CLI

The getting started page is not very user-friendly.

We don't go through the painful details of how you should configure your aurelia-cli, webpack or fusebox. The plugin will work with all of them based on the basic configurations that you should know when using each.

To test it out, I created a new project with Aurelia CLI, which now uses webpack by default.
Then I ran yarn add aurelia-toolbelt, and added aurelia.use.plugin(PLATFORM.moduleName('aurelia-toolbelt')); as suggested. Then I ran aurelia run and immediately got errors, such as:

ERROR in ./node_modules/aurelia-toolbelt/dist/commonjs/components/jquery/block-ui/aut-block-ui.js
Module not found: Error: Can't resolve './SharedOptions' in '~/test/node_modules/aurelia-toolbelt/dist/commonjs/components/jquery/block-ui'

ERROR in ./node_modules/aurelia-toolbelt/dist/commonjs/components/jquery/metis-menu/aut-metis-menu.html
Module not found: Error: Can't resolve 'metismenu/dist/metismenu.css' in '~/test/node_modules/aurelia-toolbelt/dist/commonjs/components/jquery/metis-menu'

abt-navbar, fixed-top

When we add .fixed-top to the abt-navbar, and then clicking on bt-navbar-dropdown-mega-item there is a gap between navbar and items to be shown.

Automatic import configuration for the Aurelia-CLI

Hi there, nice work you guys started here.
In order to make the getting started easier for Aurelia-CLI users, based on RequireJS and SystemJS, it would be helpful if your package.json could include the instructions for having dependencies automatically added. You can take a look here for an example

Doesn't work with Webpack 4

I downloaded the aut-webpack4-starter-kit and upgraded aurelia-toolbelt to version 1.1.1. As a result, now application throws few errors.

  1. Uncaught TypeError: Cannot read property 'get' of undefined at

    let loader: Loader = <Loader>container.get(Loader);

  2. Unhandled rejection Error: Unable to find module with ID: aurelia-toolbelt/external-resources/css/toastr.css

If I limit the plugin registration to specific component (like .plugin(PLATFORM.moduleName("aurelia-toolbelt/components/bootstrap/dropdown"))), then it starts to complain about missing html files, for example Unhandled rejection Error: Unable to find module with ID: aurelia-toolbelt/components/bootstrap/dropdown/abt-dropdown.html

support for Aurelia CLI systemjs

Hi,
I tring to incorporate aurelia-toolbelt into an existing project that is built with systemjs that features aurelia-slickgrid. I've found a working example using requirejs from the following post and all works as described. In my case I added the following to aurelia.json file

 {
            "name": "aurelia-toolbelt",
            "path": "../node_modules/aurelia-toolbelt/dist/amd",
            "main": "index",
           "deps": [
              "jquery"
            
            ]
          }

but when I run project I get the following error:

system.js:4 GET http://localhost:9000/aureliatoolbelt-thirdparty/jquery.blockUI/jquery.blockUI 404 (Not Found)

I've tried a few tweeks nut none successful.
Thanks,
John

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.