Skip to content

Commit 29eaf62

Browse files
authoredFeb 23, 2023
Merge pull request #36 from intersystems-ib/fix/rf2-json-compatibility
compat with rf2 json fields
2 parents 16ec5f2 + 96a0e5d commit 29eaf62

File tree

4 files changed

+35
-46
lines changed

4 files changed

+35
-46
lines changed
 

‎CONTRIB.md

+17-6
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,29 @@ Please, go through the following steps if you want to contribute to this project
88
# Development Environment
99
You need a running **iris-datapipe** instance in order to get the iris-datapipeUI working.
1010

11-
You have two options to set up your development environment:
12-
1311
## Setup
14-
You need a local `Node.js` installation.
12+
* Install Node
13+
14+
* Install local Angular
1515

16-
Install project dependencies using `npm`:
1716
```
18-
npm install
17+
mkdir angular-8
18+
cd angular-8
19+
npm install npm@latest
20+
npm install @angular/cli@8.3.21
1921
```
2022

21-
Run development server:
23+
* Install project dependencies
24+
2225
```
26+
cd iris-datapipeUI
27+
npm install --legacy-peer-deps
28+
```
29+
30+
* Run development server
31+
32+
```bash
33+
export NODE_OPTIONS=--openssl-legacy-provider # see https://github.com/webpack/webpack/issues/14532
2334
ng serve
2435
```
2536

‎README.md

+12-32
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,20 @@
1-
**DataPipeUI** is a frontend build on *Angular* for [iris-datapipe](https://github.com/intersystems-ib/iris-datapipe), an **InterSystems IRIS** application which provides a set of re-usable components you can use to handle incoming data flow into ingestion, staging and operation phases in a homogeneus and flexible way.
1+
**DataPipeUI** is a user interface [iris-datapipe](https://github.com/intersystems-ib/iris-datapipe), an interoperability framework to ingest data in InterSystems IRIS in a flexible way.
22

3-
<img src="img/iris-datapipeUI.gif">
3+
<img src="img/iris-datapipeUI-arch.png" width="600" />
44

5-
Want to contribute to this project? See [CONTRIB.md](./CONTRIB.md)
5+
# QuickStart
6+
* Be sure you have [iris-datapipe](https://github.com/intersystems-ib/iris-datapipe) running.
7+
* After that, you can run the UI container:
8+
```
9+
docker-compose up -d
10+
```
11+
* Access the UI at http://localhost:8080/ and log-in using your InterSystems IRIS credentials.
12+
13+
<img src="img/iris-datapipeUI.gif">
614

715
# Configuration
816
Set up environment files so you can reach you [iris-datapipe](https://github.com/intersystems-ib/iris-datapipe) instance.
917
* [environment.ts](./src/environments/environment.ts) - non production environment
1018
* [environment.prod.ts](./src/environments/environment.ts) - production environment
1119

12-
# Build & Run
13-
*DataPipeUI* is an Angular application, so you can use usual Angular approachs to run it. You can do it locally or using a container.
14-
15-
# Local
16-
If you have a local *Node.js* installation you build the application as follows:
17-
18-
```console
19-
# install project dependencies
20-
npm install
21-
# non-production build
22-
ng build
23-
```
24-
25-
Then, to run the application:
26-
* Copy the generated `dist/DataPipeUI` package into you web server.
27-
28-
# Container
29-
You can also run the application using a web server in a container.
30-
31-
Check that [docker-compose.yml](./docker-compose.yml) is using a network so you can reach your iris-datapipe instance.
32-
33-
Build & run the application:
34-
```console
35-
docker-compose up -d
36-
```
37-
38-
Application will be available at:
39-
* *Credentials*: use your *iris-datapipe* instance credentials
40-
* *URL*: http://localhost:8080/
20+
Want to contribute to this project? See [CONTRIB.md](./CONTRIB.md)

‎img/iris-datapipeUI-arch.png

182 KB
Loading

‎src/app/datapipe/datapipe.service.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -251,10 +251,9 @@ export class DatapipeService {
251251
/**
252252
* StagingStatus format
253253
*/
254-
getStagingStatusChipFormat(status: string, errors?: string): any {
255-
let errorArr: any[];
256-
if (errors) {
257-
errorArr = JSON.parse(errors);
254+
getStagingStatusChipFormat(status: string, errorArr: any[]): any {
255+
if (typeof(errorArr) == "string" && errorArr !== "") {
256+
errorArr = JSON.parse(errorArr);
258257
}
259258
return {
260259
cssClass: 'staging-' + status.toLowerCase().replace('/', ''),
@@ -271,10 +270,9 @@ export class DatapipeService {
271270
/**
272271
* OperStatus format
273272
*/
274-
getOperStatusChipFormat(status: string, retries?: number, errors?: string): any {
275-
let errorArr: any[];
276-
if (errors) {
277-
errorArr = JSON.parse(errors);
273+
getOperStatusChipFormat(status: string, retries?: number, errorArr?: string[]): any {
274+
if (typeof(errorArr) == "string" && errorArr !== "") {
275+
errorArr = JSON.parse(errorArr);
278276
}
279277
return {
280278
cssClass: 'oper-' + status.toLowerCase().replace('/', ''),

0 commit comments

Comments
 (0)
Please sign in to comment.