All Projects → bindable-ui → bindable

bindable-ui / bindable

Licence: MIT license
A design system built in Aurelia JS that allows for faster and easier web development.

Programming Languages

typescript
32286 projects
HTML
75241 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to bindable

Nswag
The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript.
Stars: ✭ 4,825 (+24025%)
Mutual labels:  aurelia
Aurelia Toolbelt
A bunch of components from bootstrap 4, jquery and vanilla js for Aurelia framework
Stars: ✭ 63 (+215%)
Mutual labels:  aurelia
Generator Spfx
Open-source generator to extend the capabilities of the Microsoft SPFx generator
Stars: ✭ 150 (+650%)
Mutual labels:  aurelia
Bcx Aurelia Dnd
Aurelia Drag and Drop.
Stars: ✭ 20 (+0%)
Mutual labels:  aurelia
Aurelia
Aurelia 2, a standards-based, front-end framework designed for high-performing, ambitious applications.
Stars: ✭ 995 (+4875%)
Mutual labels:  aurelia
Store
Aurelia single state store based on RxJS
Stars: ✭ 103 (+415%)
Mutual labels:  aurelia
aurelia-typescript-webpack-starter
A minimal Aurelia starter kit written in TypeScript and built using webpack.
Stars: ✭ 28 (+40%)
Mutual labels:  aurelia
au-datatable
Aurelia Datatable, A highly customizable html datatable, build for the Aurelia Framework.
Stars: ✭ 21 (+5%)
Mutual labels:  aurelia
Sqlformat
.NET SQL Parser and Formatter Tool and SSMS Plugin
Stars: ✭ 49 (+145%)
Mutual labels:  aurelia
Webapiclientgen
Strongly Typed Client API Generators generate strongly typed client APIs in C# .NET and in TypeScript for jQuery and Angular 2+ from ASP.NET Web API and .NET Core Web API
Stars: ✭ 134 (+570%)
Mutual labels:  aurelia
Aurelia Google Analytics
An Aurelia.io plugin that adds Google Analytics page tracking to your project.
Stars: ✭ 28 (+40%)
Mutual labels:  aurelia
House
Proof of Concept and Research repository.
Stars: ✭ 37 (+85%)
Mutual labels:  aurelia
Servicestackvs
ServiceStackVS - Visual Studio extension for ServiceStack
Stars: ✭ 117 (+485%)
Mutual labels:  aurelia
Slim.js
Fast & Robust Front-End Micro-framework based on modern standards
Stars: ✭ 789 (+3845%)
Mutual labels:  aurelia
Aurelia Ui Framework
A bespoke UI Framework built on Aurelia for desktop business application
Stars: ✭ 155 (+675%)
Mutual labels:  aurelia
Cli
The Aurelia 1 command line tool. Use the CLI to create projects, scaffold components, and bundle your app for release.
Stars: ✭ 401 (+1905%)
Mutual labels:  aurelia
Aurelia Slickgrid
Aurelia-Slickgrid a wrapper of the lightning fast & customizable SlickGrid datagrid with a few Styling Themes
Stars: ✭ 100 (+400%)
Mutual labels:  aurelia
aurelia-dotnet-template
A starting point for new dotnet projects using the aurelia-framework with typescript and webpack.
Stars: ✭ 13 (-35%)
Mutual labels:  aurelia
Aurelia Realworld Example App
Exemplary real world application built with Aurelia
Stars: ✭ 183 (+815%)
Mutual labels:  aurelia
Aurelia Kendoui Bridge
Stars: ✭ 120 (+500%)
Mutual labels:  aurelia

Bindable

Coverage Status

Bindable is a design system that aims to provide the video products in Edgecast tools to build cohesive and consistent interfaces. Bindable will provide a common pattern for desginers and engineers to follow. Bindable is developed as an Aurelia plugin and built with the aurelia-cli.

Table of Contents

Background

We are a team of designers and engineers building online tools to help customers manage their video content. As our team expanded and the features we needed to build grew we needed something to help us stay on the same page. This started with a pattern library and it worked great for a while. Over time though we noticed different teams using the pattern library differently. We started to build Bindable to help with that. Instead of just a list of CSS classes Bindable provides a more structured way of building user interfaces. We have found this keeps us from rebuilding the wheel over and over. We are far from done but Bindable is now in a state where others might enjoying using it.

Install

npm install @bindable-ui/bindable

Usage

Project Setup

Add Bindable as a plugin into your Aurelia project:

aurelia.use
    .standardConfiguration()
    .plugin(PLATFORM.moduleName('@bindable-ui/bindable'));

Depending on your Webpack config, you may be required to handle CSS imports from Bindable manually.

Using Helper classes

import {LocalStorageHelper} from '@bindable-ui/bindable';
...
LocalStorageHelper.loadOrDefault('exampleKey', null);

Using TS Interfaces

import {CTableCol} from '@bindable-ui/bindable';
...
public listCols: CTableCol[] = [];

Import CSS Modules classes

If you need access to a specific class in a component, you can import the json file for it to get all of the style class names.

import cTileCssJson from '@bindable-ui/bindable/dist/native-modules/components/tile/c-tile/c-tile.css.json';
...
console.log(cTileCssJson.tile);

Use Bindable ViewModels and Views

If you need to use a custom view and ViewModel (in a table for instance)

import {CTableCol} from '@bindable-ui/bindable';
...
public listCols: CTableCol[] = [
    {
        checkChanged: row => console.log(row),
        colClass: 't30',
        colHeadName: 'selected',
        colHeadSelectedChanged: isChecked => console.log(isChecked),
        colHeadSelectedVal: false,
        colHeadValue: 'Select',
        colWidth: 30,
        view: PLATFORM.moduleName('@bindable-ui/bindable/components/tables/td-contents/c-td-check/c-td-check.html'),
        viewModel: PLATFORM.moduleName('@bindable-ui/bindable/components/tables/td-contents/c-td-check/c-td-check'),
    }
];

Contributing

This Aurelia plugin project has a built-in dev app to simplify development.

  1. The local src/ folder, is the source code for the plugin.
  2. The local dev-app/ folder, is the code for the dev app, just like a normal app bootstrapped by aurelia-cli.
  3. You can use normal yarn start and yarn test in development just like developing an app.
  4. To ensure compatibility to other apps, always use PLATFORM.moduleName() wrapper in files inside src/. You don't need to use the wrapper in dev-app/ folder as CLI built-in bundler supports module name without the wrapper.

The dev-app contains the docs. Use that to view what parameters are available when using the components in Bindable.

Run dev app

Run yarn start, then open http://localhost:9000

Unit tests

Run yarn test to run all unit tests.

To test one file and watch for changes, run:

yarn test:1 <relative_path_to_test_file.test.ts>

Release

This is used when updating Bindable.

Run yarn update-version. This will update the version in package.json and the title attribute in dev-app/app.html to the new version you specify.

Once you merge your changes to master, create a new release on Github.

Update your app to point to the new release in package.json (and package-lock.json if you're not using Yarn) and then yarn install or npm install.

Please refer to the contributing.md file for information about how to get involved. We welcome issues, questions, and pull requests.

Maintainers

Harley Jessop: @harlio

Luke Larsen: [email protected]

Joe Ipson: [email protected]

License

This project is licensed under the terms of the MIT open source license. Please refer to LICENSE for the full terms.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].