Skip to main content

Study of an AngularJS application: Feeding Excel based data into an SVG Flowchart with AngularJS and NodeJS

Reference article
Implementing a Flowchart with SVG and AngularJS
Source code from original article is here.
 
Customization goals
a) Feed the SVG flowchart nodes from excel datasheet
b) Understand a bit of the AngularJS and NodeJS client-server communication
c) Learn javascript debugging on server side as well as client side using VS Code editor
As a beginner to AngularJS-NodeJS, the customization is based on a partial study of the original article.


 
Most challenging challenge as a dummy
There was a space of time when I thought I was publishing the server side JSON data to the same URL as the front-end html page. And then trying to debug it and not knowing why: in one case the data was coming from the server side only, while in the other case it was coming from mocked data on client side. Kept on looking for whether data was getting lost, or did I need routing. There were debug sessions where both server side and client side individually appeared working correctly.
Some days later I realized I needed to consume server response data from different URL (it had to be different than URL of Index HTML page being viewed from browser).
 
Application environment
a) OS: Windows 10 desktop
b) Code editor: Visual Studio Code
c) Server-side: NodeJS + ExpressJS
d) Client-side: AngularJS, SVG, JSON
e) Application Data source: Excel
f) Server Data-publish format: JSON




 
Snaps of the working application
1. Start the node server from the terminal:
image_thumb43
server is ready and starts listening on configured port:
image_thumb44


2. Launch a browser and navigate to the application’s configured URL:
image_thumb45
a 2-paned application opens up with the left pane showing the json data and the right pane showing the SVG nodes read from excel sheet:
image_thumb46
the nodes can be rearranged by mouse drag and drop:
image_thumb48




3. Delete one of the nodes from the feeder excel sheet:
image_thumb49
image_thumb50
refresh the browser and see the updated nodes – no server restart required:
image_thumb51



4. Check the logs and see that only the server side logging done is visible:
image_thumb52

 
When can we see the client side logs?
Client side debugging is possible using VS Code editor. Some configurations are required – please refer the launch.json file from the customized application code base.
Also required is a VS Code extension - Debugger for Chrome:
image_thumb53
as well as the remote debugging port setting while launching Chrome:
image_thumb35














Comments

Post a Comment

Popular posts from this blog

Experimenting with Visio and VBScript

This diagram is created:               using this code:                                                                         Copy the code: Option Explicit Dim strVSDPath, filesys Dim vsoApplication, vsoDocument, vsoPages, vsoPage Dim vsoMaster1, vsoMaster2, vsoStencil Dim vsoShape1, vsoShape2, vsoConnector1 Dim itr Const visAutoConnectDirDown = 2     'Connect down. Const visAutoConnectDirLeft = 3     'Connect to the left. Const visAutoConnectDirNone = 0     'Connect without relocating the shapes. Const visAutoConnectDirRight = 4     'Connect to the right. Const visAutoConnectDirUp = 1         'Connect up....

QTP – search sub-folders for existence of QTP scripts

  Suppose we want to report on all subfolders in a specific root folder that contain script files. Consider the example folder structure here – ODBC_MYSQL, ODBC_SQLEXPRESS and Test1 are the folders that have QTP scripts: Here’s a VBScript program that takes the root (start) folder as input, and iterates all subfolders recursively to report on the ones that are actual QTP script folders: Note: This program can be run directly as a VBScript program, or from within a QTP script by toggling the comment between lines 17 and 18. (p.s.: if Print statement does not work on specific version of QTP, use the Msgbox statement. For real world test automation projects, do not use either – to avoid human intervention!) On running the program, Folders across various levels (Level 2, 3) get reported!

Fresh brew with NUnit for Selenium over a cuppa VS2010 Express’o

  Selenese coffee beans 1) A recorded Selenium script for a simple scenario of googling for the term Tomato. This recording should have been saved as an export in C# format. 2) VS2010 express editors – for C# and Web dev 3) MS Excel 4) Browsers – Chrome, Firefox, IE 5) WebDriver for Google Chrome Prepare the Coffee Machine Let’s install NUnit extension, NuGet package manager, Selenium packages and include MS Excel Interop reference into VS2010. Essentially 2 different editors are required from the VS2010 stable: a) Microsoft Visual C# 2010 Express – get NUnit b) Microsoft Visual Web Developer 2010 Express – to get NuGet and Selenium   Let’s get started with Microsoft Visual C# 2010 Express – Invoke Extension Manager: Browse the Online Gallery and download NUnit Test Application: Install NUnit: Confirm that installation succeeded: and this page is displayed in your default browser: Choose to create a New Project: Select th...