wso2 / carbon-dashboards Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
The dashboard designer should have capability to create multiple pages for a single dashboard. The view should also provide navigation between pages as well.
The following features should be available with the first milestone.
Left panel which contains Gadgets, Add Block and Pages leaves the page when scrolled down.
Ex: If a user wants to add a gadget to a block which in the very bottom of the page, that cannot be done.
Steps to reproduce
Second page will have the widget added in the first page.
Steps to reproduce
Currently the database scripts are hard-coded. We need to externalize these database scripts, hence it is possible to maintain separate sets of queries for each database types.
Left panel needs to collapsed after the layout selection.
The button in the designer to navigate to the view shows as VIEW.DASHBOARD
Also it doesn't take the user to view mode.
Currently, dashboard based REST APIs are implemented as follows,
https://localhost:9292/dashboards
We need to change it following proper way,
Currently, we do not have the theme support in react-based dashboard component. We need to provide the inbuilt dark-light theme support using available css of GoldenLayout framework.
Either rename the widget to scatter chart or change the rendering to a pie chart
The current readme is out-dated. It needs to be updated with information as what is carbon-dashboard, etc..
Ex : left panel, top menu
Currently the dashboard UI is based on previous dashboard server user interfaces. This uses Bootstrap, jQuery and Theme WSO2 heavily. This needs to be fixed and the new user interfaces needs to be re-written using Material UI.
With the current implementation the sources of the samples are resides in /samples
while all the transpiled sample widgets are copied into the portal feature. This is not the correct implementation since the keeping the transpiled JS files are similar to keeping compiled class files along with the sources.
Therefore this needs to be rectified by providing a proper way to compile and deploy the samples by user or the component compile time.
Cannot drag and change the width and height of the block
When there are no widget info providers. There is a client side error in rendering widget list as mentioned in the subject.
Currently dashboard view does not use UUFClient in order to render widgets and widget boxes. We need to use UUFClient in dashboard view and remove hard coded html segments.
Check if [1] is used, if not remove.
When there are empty blocks without any widget, the title bar of those are shown in view mode
Currently dashboard widgets are in the designer component. We should move these widgets into common UUF component and use it. Since they are sample widgets, we have to name this component as "sample store" or etc. Moreover we have to change current widgetInfoProvider into sample bundle and make a separate sample feature to install it.
Currently there is no working implementation in dashboard designer. So we need to provide working solution for dashboard designer which will cover basic use cases of Analytics & CEP
Currently the whole widget.conf file is loaded at once. Instead we need to load specific partial from the widget.conf.
Currently, we are packing dashboard database with sample dashboard and copy it from the portal feature. We need to do the samples in a proper way and remove the dashboard database from portal feature.
User should be able to share a dashboard by providing a URL. The current state of the dashboard needs to be persisted once the other users viewing the dashboard.
I'm trying to create a new gadget in the dashboard 'create a gadget' feature. I've configured a datasource in CEP and am getting an error message back "No datasources available to create a gadget. Please create a datasource to proceed.". Looking at rt.jag it looks as though you are searching for eventPublishers that are of type ui. This doesn't look right to me. Please help.
Currently, there is no feature to install dashboard component react app to WSO2 products. We need to implement a feature which will install the dashboard component into WSO2 products.
Currently, there are several REST APIs to add, modify, delete, list and get dashboards. We need to test these APIS using a testing framework.
Currently carbon-dashboards keeps several libraries such as gridstack, jquiry-ui, underscore within the repo itself. We need to move these libraries into carbon-uuf-commons repo and use it.
Theme switching doesn't work since the light theme is not present
A user should be able to share a dashboard by copying the dashboard URL.
In this case the problem is that the state (drill-down levels, user selections) are not getting shared with the other party. Therefore there should be a mechanism to store the current state of the dashboard when sharing.
Currently dashboard.json
maps widgets with each block using the block ID as follows.
{
...
"blocks": [
{
"id": "3f64fcc44bafcd84a593072c6c9bdbd603",
"x": 0,
"y": 0,
"width": 6,
"height": 4
},
...
],
"widgets": {
"3f64fcc44bafcd84a593072c6c9bdbd603": {
...
},
...
},
...
}
Instead it is better and cleaner if we can remove this mapping and place the widget descriptor within the block itself as follows.
{
...
"blocks": [
"3f64fcc44bafcd84a593072c6c9bdbd603": {
"x": 0,
"y": 0,
"width": 6,
"height": 4,
"widget": {
...
}
},
...
],
...
}
There should be APIs to get predefined widget related information and an interface that can be implemented to provide their own implementation. Eg :- In CEP usecase, they are going to provide their own implementation to get widget related information by implementing above mentioned interface
Currently there are some additional libraries in the designer. We need to remove these libs from designer.
Currently dashboard related APIs are exposed in the designer component. But we need to expose these apis from both designer and view component.
$subject.
Currently carbon-dashboards uses separate libraries for jquery, wso2theme and etc. But these libraries are available from UUF level. So we need to use this libraries in carbon-dashboards
Dashboard APIs have invalid actions such as /add
, /update
and /delete
to define CRUD operations. This needs to be fixed to have proper resource types and actions.
Eg:-
We are using Sortable library to manage widget listing. Apart from listing drag/drop capability is also coming from this lib. It should be possible to remove this lib and use jQuery Draggable/Droppable instead
Sortable.create(document.getElementById("gadgetList"), {
group: {
name: 'tile__list',
pull: 'clone',
put: false
},
animation: 150,
sort: true
});
Since we do not have any testing frameworks to test the dashboard component. we need to integrate suitable testing framework.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.