{"id":26615929,"url":"https://github.com/serban-petrescu/ui5-viz","last_synced_at":"2025-04-10T05:36:11.956Z","repository":{"id":57385310,"uuid":"89020236","full_name":"serban-petrescu/ui5-viz","owner":"serban-petrescu","description":"UI5 data visualization controls","archived":false,"fork":false,"pushed_at":"2017-09-10T08:35:28.000Z","size":599,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-24T04:11:56.947Z","etag":null,"topics":["graph","odata","ui5","visualization"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serban-petrescu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-04-21T20:14:01.000Z","updated_at":"2019-12-17T06:01:36.000Z","dependencies_parsed_at":"2022-09-26T16:50:38.838Z","dependency_job_id":null,"html_url":"https://github.com/serban-petrescu/ui5-viz","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serban-petrescu%2Fui5-viz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serban-petrescu%2Fui5-viz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serban-petrescu%2Fui5-viz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serban-petrescu%2Fui5-viz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serban-petrescu","download_url":"https://codeload.github.com/serban-petrescu/ui5-viz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248164284,"owners_count":21058117,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["graph","odata","ui5","visualization"],"created_at":"2025-03-24T06:46:11.346Z","updated_at":"2025-04-10T05:36:11.936Z","avatar_url":"https://github.com/serban-petrescu.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UI5 Data Visualization [![Build Status](https://travis-ci.org/serban-petrescu/ui5-viz.svg?branch=master)](https://travis-ci.org/serban-petrescu/ui5-viz) [![Built with Grunt](https://cdn.gruntjs.com/builtwith.svg)](https://gruntjs.com/) [![GitHub Release](https://img.shields.io/github/release/serban-petrescu/ui5-viz.svg)](https://github.com/serban-petrescu/ui5-viz/releases) [![License](https://img.shields.io/github/license/serban-petrescu/ui5-viz.svg)](https://github.com/serban-petrescu/ui5-viz/blob/master/LICENSE)\nA set of controls centered around the visualization of data.\n\n## Graph\n### Plain\nThe core control of this library is the `Graph` control. It can represent an (un)directed graph with the help of two aggregations: `Nodes` and `Links`. The `Graph` control is based on the [d3 force-directed graph](https://bl.ocks.org/mbostock/4062045).\n\nEach link has two associated nodes and may have a label. Nodes may be expanded or collapsed by clicking on them. Further details for a node may be displayed with the help of the `details` event (based on the HTML `contextmenu` event: left-click on desktops, long tap on mobiles). Nodes also may be in a busy state, when they display a busy indicator.\n\n[Sample](https://serban-petrescu.github.io/ui5-viz/sample/plain.html).\n\n### Key Based\nThe plain approach has one major downside: the links between nodes are done via UI5 associations. This means that it is not suitable for data binding. To overcome this, two specialized classes are provided: `KeyNode` and `KeyLink`. Each `KeyNode` must have a unique key (unique inside the graph) and each `KeyLink` stored the keys of two nodes. This representation is more suitable for data binding, because the keys are properties of both the nodes and the links.\n\n[Sample](https://serban-petrescu.github.io/ui5-viz/sample/keys.html).\n\n## OData Metadata Explorer\nThe `MetadataExplorer` is a specialized control for visualizing the metadata of an OData service. For each OData entity type a node is created and for each OData association a link between the associated entity types is created. The explorer may either display all the nodes at once or it can start with a subset of `root` nodes, allowing the user to expand and collapse the further nodes.\n\n[Sample](https://serban-petrescu.github.io/ui5-viz/sample/meta.html) (left - all nodes; right - root nodes).\n\n## OData Explorer\nThe `ODataExplorer` is a splecialized control for visualizing the contents of an OData service. It starts from a root entity given as a path in the model. The user may expand each node to obtain the related nodes (linked through a navigation property). For single-cardinality navigation properties, a simple link is created between the nodes. For multiple-cardinality navigation properties, a dedicated node is used to represent the navigation property. Paging is also enabled by creating a dedicated 'More' node (similar mechanism as for the UI5 growing list).\n\n[Sample](https://serban-petrescu.github.io/ui5-viz/sample/odata.html) (the root node may be changed with the context menu).\n\n## Links\n- samples (the OData ones are based on the Northwind sample service; it may take a while to load):\n  - [plain](https://serban-petrescu.github.io/ui5-viz/sample/plain.html)\n  - [keys](https://serban-petrescu.github.io/ui5-viz/sample/keys.html)\n  - [meta](https://serban-petrescu.github.io/ui5-viz/sample/meta.html)\n  - [odata](https://serban-petrescu.github.io/ui5-viz/sample/odata.html)\n- [jsDoc](http://serban-petrescu.github.io/ui5-viz/jsdoc/)\n- [latest build](http://serban-petrescu.github.io/ui5-viz/latest.zip)\n\nFor a specific version of this library, check the [releases section](https://github.com/serban-petrescu/ui5-viz/releases).\n\nYou can also cosume this library through bower: `bower install spet-ui5-viz`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserban-petrescu%2Fui5-viz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserban-petrescu%2Fui5-viz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserban-petrescu%2Fui5-viz/lists"}