Git Product home page Git Product logo

hypermediaui's Introduction

Hypermedia UI

THIS PROJECT HAS MOVED. It is now part of the RESTyard organization. Find it here.

This is an experimental UI to generically process Siren speaking http servers. Note that it is developed to access Siren APIs which format Actions using a accessable class link which delivers a JsonSchema.

This Client is (for now) designed to work with the WebApiHypermediaExtensions project. Use the demoserver "CarShack" from this project to have a quick compliant backend.

There will be bugs and it is not very fault tollerant. Be nice to the UI :)

There is a demo deployment for testing: demo

Todo List

Clean up all the code todos :)

  • move to newest angular and rx version

UI

  • Use rel of hypermedia links to name breadcrums buttons -> add to ApiPath
  • Breadcrums: for query pagination in ApiPath use a drop down button containing all with same url but different query string to save space

BUGS

  • angular2-json-schema-form: 0.7.0-alpha.1 leaves schema version in schema object when translating from schema 4 to 6. Until fixed the schema version is removed before passing on.

Features

  • Support standard Siren actions (at the moment only WebapiHypermediaExtensions style Actions) with parameters (form encoded): option: generate schema and feed it to the form generator

  • Detect if link leads to a html site. Open this page in a new tab e.g. example.com navigation in carshack

  • Config Dialog:

    • default api on main page
    • developer configs: show empty sections, show classes, show raw tab
    • store user config in a cookie
  • Read selflink and place a refresh button on entities, this could be the first link to extract from default rendering

  • Add copy button to arbitary links

  • Add warning are where messages can be shown, maybe console like

  • Authorization/Authentification support

    • basic authentification
    • JSON Web Tokens (+ OAuth?)
  • Add option to add custom headers using the config

  • make more pretty look for nested objects and lists

Code

  • Refactor breadcrum into own control
  • Self host material icon font so it is off line enabled (demos!)

Class based Controlls

  • Research: loadable components from remotes at runtime

hypermediaui's People

Contributors

gregonnet avatar mathiasreichardt avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

hypermediaui's Issues

Cyclic Dependency Warning due production build

Steps to reproduce

$ ng build --prod

Given Output

$ ng build -prod

# ...

WARNING in Circular dependency detected:
src\app\hypermedia-view\embedded-entity-view\embedded-entity-view.component.ngfactory.js -> src\app\hypermedia-view\entity-view\entity-view.component.ngfactory.js -> src\app\hypermedia-view\embedded-entity-view\embedded-entity-view.component.ngfactory.js

WARNING in Circular dependency detected:
src\app\hypermedia-view\entity-view\entity-view.component.ngfactory.js -> src\app\hypermedia-view\embedded-entity-view\embedded-entity-view.component.ngfactory.js -> src\app\hypermedia-view\entity-view\entity-view.component.ngfactory.js

Problem

The <app-entity-view.component> uses <app-embedded-entity-view.component> and vice versa.

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.