Git Product home page Git Product logo

blackbaud / skyux2 Goto Github PK

View Code? Open in Web Editor NEW
32.0 32.0 65.0 36.92 MB

SKY UX 2 is the new version of Blackbaud’s user experience framework that implements Blackbaud design patterns. It extends the framework to abstract many complexities of modern web development and takes advantage of Angular 2 to increase the tooling, testing, and performance available.

Home Page: https://developer.blackbaud.com/skyux

License: MIT License

JavaScript 10.22% TypeScript 62.35% HTML 25.77% CSS 0.55% Shell 1.11%

skyux2's Introduction

SKY UX 2

npm status

SKY UX 2 provides Angular components, services, and modules to create user interfaces, and it takes advantage of Angular for tooling, testing, and performance. The SKY UX Builder developer tool provides for a rapid development process with minimal setup for developers to create single-page applications.

For guidance on how to install the command line interface for SKY UX Builder, see the initial setup section of the SKY UX website.

To install just the SKY UX components without any additional features, use the following NPM command. We recommend NPM version 3+ for its flat dependency structure.

npm install @blackbaud/skyux

For documentation on the SKY UX components, see the Components section of the SKY UX website.

Contributing

We highly encourage contributions from all SKY UX users. We just ask you to follow the coding conventions in the existing code and to write the appropriate unit tests for your features.

For information about how to contribute, see the SKY UX contribution guidelines.

skyux2's People

Contributors

blackbaud-adamhickey avatar blackbaud-alexkingman avatar blackbaud-brandonhare avatar blackbaud-brandonjones avatar blackbaud-christischneider avatar blackbaud-conorwright avatar blackbaud-denisecisneros avatar blackbaud-gavinnicol avatar blackbaud-jackmcelhinney avatar blackbaud-jaminquimby avatar blackbaud-jeffdye avatar blackbaud-johnly avatar blackbaud-joshgerdes avatar blackbaud-loganjahnke avatar blackbaud-mattgregg avatar blackbaud-patrickofriel avatar blackbaud-paulcrowder avatar blackbaud-sandhyarajasabeson avatar blackbaud-scottfreeman avatar blackbaud-sky-build-user avatar blackbaud-stacycarlos avatar blackbaud-stevebrush avatar blackbaud-stewartstephens avatar blackbaud-toddroberts avatar blackbaud-tomramsey avatar blackbaud-trevorburch avatar don-noonan avatar jeffbdye avatar paulisme avatar realistschuckle 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

Watchers

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

skyux2's Issues

Checkbox not displaying checked state properly

When hooking up ngModel to the checkbox with a default value = true the checkbox component has a checked property value = true but does not display as checked.

For an example please look at checkbox 2 on the demo.

Additionally, one should be able to initialize the component in a checked and disabled state. So please consider that use case when updating. Thanks!

Tiles don't reorder properly when browser resized

Browser original width:
image

Browser made smaller: note one tile has disappeared
image

Browser back to original size: both tiles end up in right column
image

We have provided both single and multicolumn layouts in the config:

layout: {
  singleColumn: {
    tiles: [
      { id: 'moon-grant-summary-tile', isCollapsed: false },
      { id: 'moon-grant-summary-tile', isCollapsed: false }
    ]
  },
  multiColumn: [
    {
      tiles: [
        { id: 'moon-grant-summary-tile', isCollapsed: false }
      ]
    },
    {
      tiles: [
        { id: 'moon-grant-summary-tile', isCollapsed: false }
      ]
    }
  ]
}

Figure out how to map code coverage back to TS files

When viewing the HTML report generated by Istanbul during unit test runs, the code coverage displayed is for the transpiled JS code rather than the original TS code. In CodeCov the TS code is displayed but the highlighted lines match up with the transpiled JS code. We need to figure out a way to use something like remap-instanbul to map coverage back to the original TS file.

There's a thread on the angular2-webpack-starter repo on which the SKY UX 2 project is based that describes difficulties integrating remap-istanbul with their project.

missing file

with npm module version 2.0.0-alpha.7:

There is a ref to a missing file.

ERROR in .//blackbaud-skyux2/dist/modules/page-summary/page-summary-alert/page-summary-alert.component.js
Module not found: Error: Can't resolve './page-summary-alert.component.scss' in '/Users/joshgerdes/Development/microedge-moonshot-ui/node_modules/blackbaud-skyux2/dist/modules/page-summary/page-summary-alert'
@ ./
/blackbaud-skyux2/dist/modules/page-summary/page-summary-alert/page-summary-alert.component.js 10:21-67
@ .//blackbaud-skyux2/dist/modules/page-summary/page-summary-alert/index.js
@ ./
/blackbaud-skyux2/dist/modules/page-summary/index.js
@ ./~/blackbaud-skyux2/dist/core.js
@ ./src/app/app.module.ts
@ ./src/app/index.ts
@ ./src/main.ts
@ multi main

Add disabled attribute to chevron

This component is usually associated with an actionable element (button, link, etc.) and it would be helpful to be able to disable this component's click functionality via an attribute.

File drop folders

The SKY UX 1 file drop control allowed users to drag and drop folders to upload. We need to determine if this is necessary and if so, we need to build in the recursive folder crawling functionality necessary to do that. For reference, the old library we used accomplished this using this piece of code.

File drop url

Right now we are using file reader dataURLs to get a url for the preview of an upload item. Instead we might want to look into using the window..URL.createObjectURL function to create an object URL instead of the lengthy data urls

Tile width expands when long unbroken string is present

image

The old tiles kept their width at 50% in this case. I started looking at this. It looks like add width: 50%; to the class sky-tile-dashboard-layout-multi makes this behave better. I also noticed that the old tiles used the bootstrap grid to get that, but it seems like you're trying to avoid getting overly dependent on bootstrap for this version.

Thanks for the help.

Implement visual regression test strategy

We need to figure out the right strategy for implementing visual regression tests. While what we have in SKY UX 1 works, the tests are relatively slow. Can we speed these up by perhaps putting every element on one page and showing/hiding them during the test rather than navigating to a new page for every test?

npm install

Unable to properly add a reference to this repository via npm install currently. Seems to only grab CHANGELOG/LICENSE/README and package.json, then blows up.

Using a git submodule in the interim to access your scss/components from our prototype app.

Examples don't load after running `npm install` and `npm start`

After cloning the repository and then running npm install and npm start and navigating to http://localhost:3000 the list of examples does load, but after clicking on any of them, an error like this is shown in the browser console and the loading text remains on the screen indefinitely

client?843a:48 multi ./demo/src/tile
Module not found: Error: Cannot resolve 'file' or 'directory' ./demo/src/./demo/src/tile/app.component.ts in C:\Users\brad.woods\Documents\sky-pages\skyux2
resolve file
  C:\Users\brad.woods\Documents\sky-pages\skyux2\demo\src\demo\src\tile\app.component.ts doesn't exist
  C:\Users\brad.woods\Documents\sky-pages\skyux2\demo\src\demo\src\tile\app.component.ts.ts doesn't exist
  C:\Users\brad.woods\Documents\sky-pages\skyux2\demo\src\demo\src\tile\app.component.ts.js doesn't exist
resolve directory
  C:\Users\brad.woods\Documents\sky-pages\skyux2\demo\src\demo\src\tile\app.component.ts doesn't exist (directory default file)
  C:\Users\brad.woods\Documents\sky-pages\skyux2\demo\src\demo\src\tile\app.component.ts\package.json doesn't exist (directory description file)
[C:\Users\brad.woods\Documents\sky-pages\skyux2\demo\src\demo\src\tile\app.component.ts]
[C:\Users\brad.woods\Documents\sky-pages\skyux2\demo\src\demo\src\tile\app.component.ts.ts]
[C:\Users\brad.woods\Documents\sky-pages\skyux2\demo\src\demo\src\tile\app.component.ts.js]
 @ multi ./demo/src/tile

Sky Checkbox does not have the proper styles when it is both checked and disabled

When using the Sky checkbox component, if you check and disable the checkbox, it looks no different than when it is checked and active; You still see just the check mark with a blue background color, as if the checkbox was still active. Proper behavior should be that you see the check mark with a gray background color, the same one when it's disabled and unchecked.

Assess searchability of single page applications

If we are attempting to use SKY Pages for SKY UX 2 documentation, we need to ensure that it is able to be properly searched/crawled by google. If this is not the case, we need to come up with alternatives.

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.