Giter VIP home page Giter VIP logo

nvisionative / nvquickcomponents Goto Github PK

View Code? Open in Web Editor NEW
12.0 5.0 5.0 824 KB

nvQuickComponents is a collection of versatile web components, based 100% on web standards, to help developers break free from framework churn.

License: GNU General Public License v3.0

TypeScript 53.23% HTML 36.32% SCSS 10.45%
dnncms dnn dnnplatform webcomponents library customelements dotnetnuke controls hacktoberfest

nvquickcomponents's People

Contributors

david-poindexter avatar valadas avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

nvquickcomponents's Issues

Needs CI Builds for Pull Requests

There is no CI build for pull requests, we should add something. I have setup VSTS builds with stenciljs if we want to go that route and I can share or we can use a script with AppVeyor. Either way we should set up something for CI.

I can help set this up

There is a lot of Commit Noise with the Dist Folder

There is a lot of commit noise since the dist changes quite a bit with each build of stenciljs. In my own project I got around this by not including the dist folder in the repo and only use it when I package up the project for publishing to our local npm feed. We could try this or maybe we could setup a dev branch and master branch where the dev branch does not include the dist.

Duplicate ElementTagNameMap when using inside other Stencil project

There is a bug in order versions of Stencil that give this result sometimes when using a Stencil component project inside another Stencil project:

image

After reading to old issues here and there it looks like this is resolved by upgrading the Stencil version on the imported project.

I will try to submit a PR for this tomorrow...

[AutoComplete] Race Condition on Remote Long Queries

If you are using the autocomplete control with a remote endpoint to populate the results there can be a race condition if it takes your result some time to respond. See the example below with steps to reproduce

  1. Start typing into auto complete (the first char or first 2 char may be an expensive query)
  2. Continue typing until you get to 3 or 4+ chars where the query is much faster
  3. Wait

Expected Result

  • The autocomplete should show the correct records for the given input

Actual Result

  • The autocomplete shows the correct records
  • After a brief amount of time it flashes to incorrect records for a query that was waiting

Root Cause
There is a race condition happening with the getRemoteResults invocation which overrides results. We should add some code to the callback (maybe promise handling) to drop requests if they are not the latest.

The problem has to do with this invocation and callback

getRemoteResults(input, (remoteItemsSource) => {
    let results:HTMLElement[] = [];
    for (let index in remoteItemsSource) {
        let currentElement:HTMLElement = buildAutoCompleteItem(remoteItemsSource[index]);
        results.push(currentElement);
    }

    hydrateAutocomplete(results);
});

Setup development branch

Setup development branch. The master branch will still be the default branch for this repo, but we'll start processing PRs against development moving forward. See #3 for more information.

Shadow DOM - Should we use it?

I created a private fork of this project for some close source projects to see how the components will handle in the real world. I am very happy with how things are working but we need to have a discussion around the shadow dom.

In my scenario I tested my new autocomplete control (i haven't made a PR yet) located at

https://github.com/HoeflingSoftware/nvQuickComponents/tree/autocomplete

The problem

I had issues with being able to apply css styles to the Shadow DOM vs no Shadow DOM. The challenge was I found myself starting to maintain 2 sets of styles a shadow DOM version and a polyfill version. I decided in my private repo that it would be best to not support the shadow DOM.

Browsers I tested

  • Edge
  • Firefox
  • Chrome

Edge and Firefox looked perfect since they both used polyfill where chrome was the outlier that had issues.

When I submit the PR for the autocomplete I will not be using the Shadow DOM for it (unless otherwise directed during code review). I want to start the conversation about what our standard will be for the component library. There should be consistency across the components so they can be used and styled in similar fashions in the various projects.

Create CONTRIBUTING.md

See #11 for more information. With master being the default branch and development being the branch for new PRs, we need to create a CONTRIBUTING.md that makes it very clear the process moving forward.

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.