Coder Social home page Coder Social logo

jayhamilton / ngx-dynamic-dashboard-framework Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 7.0 61.2 MB

Dynamic Dashboard - This is a json driven dashboard framework that enables the creation and configuration of boards and gadgets/widgets.

License: MIT License

JavaScript 0.66% TypeScript 72.21% HTML 19.79% SCSS 7.34%
angular dynamic json material-design drag-and-drop widget-library angular-material gadget ngx-charts angular-cdk

ngx-dynamic-dashboard-framework's Introduction

NGX Dynamic Dashboard Framework

This project is based on the open source project https://github.com/catalogicsoftware/ngx-dynamic-dashboard-framework I created a few years ago.

The keys design aspects:

Blog Post

Medium Blog Post

Examples

New Board

New Board Creation

Add Gadget

Add Gadget

Drag/Drop and Layout

Multi-board Configuration

Multiple Boards

Dynamic Navigation

Developers Guide To Framework Extension - Creating A Gadget

Define the Gadget Component, Service and View

Define the gadget's model

  • The model is used to dynamically create and render the gadget and its property page forms. This model is an entry into a model array used for all gadgets. You will simply add an entry to the model's array. See the BarChartComponent entry.
  • Add an entry for the gadget in the library model array library.json

Add the gadget entry to the gadget factory class

Gadget Icon

JSON Definition

 [
  {...},
  {
    "componentType": "AreaChartComponent",
    "title": "Area Chart Component Component Tool",
    "subtitle": "Area chart tool subtitle",
    "description": "Select this gadget .....",
    "icon": "../../assets/images/trend.png",
    "instanceId": -1,
    "tags": [],
    "propertyPages": [
      {
        "displayName": "Configuration",
        ...
        "properties": [
          {
            "controlType": "textbox",
            "key": "title",
            "label": "Title",
            "value": "Property Components",
            "required": true,
            "order": 1
          },
          {
            "controlType": "textbox",
            "key": "subtitle",
            "label": "Subtitle",
            "value": "Product component subtitle",
            "required": false,
            "order": 2
          }
        ]
      }
    ],
    "actions": [
      {
        "name": "add"
      }
    ]
  }
]

This project was generated with Angular CLI version 13.1.1.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module.

Build

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

Running unit tests

Run ng test to execute the unit tests via Karma.

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI Overview and Command Reference page.

ngx-dynamic-dashboard-framework's People

Contributors

jayhamilton avatar jhamilton2025 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ngx-dynamic-dashboard-framework's Issues

Create string variables in the bar-chart.component.ts to replace the "hard coded strings" found in the bar-chart.component.html files.

Within the bar-chart.component.html page change lines 17, 18 and 19 with variables. You will define the variables within the bar-chart.component.ts file starting on line 13. These will be string variables and will reflect the type of information displayed in the bar chart.

See: https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables

Add a function to return the array of players.

The array of players is currently initialized in the constructor. Change this behavior to have the footballStats variable get set by a function called setFootballStats(). In that function, return the footballStats array. We will then further refine this to have the data come from a REST API.

As a user of the bar chart I would like to have 5 additional players added to the default data

Switch to the main branch. You are currently on a forked repository. From the main branch, pull the changes you pushed so that you have them locally. When you switch to the main branch, you should see a blue icon with a down arrow indicating 1 change was pushed. You now need to pull it to your local machine.

Update the barcode.component.ts file and the array data structure called sales_data. Change the name of the array data structure from sales_data to football_stats. Then update the default data to include 5 additional JSON objects for football players total game yardage. Save these changes, and commit them. You will need to create a new fork branch again and push it. Then create a pull request for me to review the changes. I will then merge them into the remote main branch.

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.