samvera / browse-everything

Rails engine providing access to files in cloud storage
Apache License 2.0
114 stars 22 forks source link

Explore implementing a vanilla JS user interface #308

Open jrgriffiniii opened 4 years ago

jrgriffiniii commented 4 years ago

Part of the rationale behind https://github.com/samvera/browse-everything/issues/297 was that standardized Web Components could be introduced into lightweight user interfaces for BrowseEverything.

Using StencilJS, Web Components themselves can be loaded using a polyfill for browsers who might not support the specification. I foresee the major decisions necessary for implementing a vanilla/plain JavaScript user interface being:

jrgriffiniii commented 4 years ago

I'm not certain how client-side state management would be supported in this (I would think of looking towards something like https://codepen.io/andybelldesign/project/editor/1f206d7807f492a111518b5d6692bb78 for inspiration).

jrgriffiniii commented 4 years ago

This still might be possible to support given that the aim of Web Components was to ensure cross-browser compatibility without the usage of a framework: https://dev.to/thatjoemoore/bringing-order-to-web-design-chaos--3fhb

I'm not certain how state could be supported on the client-side with regards to working with upload requests, but this would be a challenge regardless.