Compare commits

...

113 Commits

Author SHA1 Message Date
Mihajlo Medjedovic b4e5dd74d9 chore: licence checker sync
Test / Build-production-and-ng-test (push) Successful in 6m27s Details
Test / Build-and-test-development (push) Successful in 12m0s Details
Test / Build-and-test-development-latest-adapter (push) Successful in 11m55s Details
2023-10-12 14:55:22 +02:00
allan 64746b0aae Merge pull request 'sheetjs' (#53) from sheetjs into development
Test / Build-production-and-ng-test (push) Failing after 3m15s Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
Reviewed-on: #53
2023-10-12 12:52:31 +00:00
Mihajlo Medjedovic 16ae77c804 style: lint
Build / Build-and-ng-test (pull_request) Failing after 1m23s Details
2023-10-12 14:50:55 +02:00
Mihajlo Medjedovic 481c14f066 fix: reverting SheetJS upgrade, it was breaking the excel upload 2023-10-12 14:50:34 +02:00
allan 357b9849e7 Merge branch 'issue50' into development
Build / Build-and-ng-test (pull_request) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-production-and-ng-test (push) Has been cancelled Details
2023-10-12 09:38:19 +00:00
Mihajlo Medjedovic 0c8a9eef32 chore(ci): build and ng test fix
Test / Build-production-and-ng-test (push) Successful in 7m30s Details
Test / Build-and-test-development (push) Failing after 14m29s Details
Test / Build-and-test-development-latest-adapter (push) Failing after 14m45s Details
Build / Build-and-ng-test (pull_request) Successful in 1m25s Details
2023-10-12 08:33:31 +02:00
Mihajlo Medjedovic 112b1d0da4 chore(ci): audit check fix
Test / Build-production-and-ng-test (push) Failing after 2m22s Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
2023-10-12 08:26:35 +02:00
Mihajlo Medjedovic a05007416a chore(ci): audit check fix
Test / Build-production-and-ng-test (push) Failing after 2m25s Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
2023-10-12 08:21:58 +02:00
allan 9f7dd55583 Merge pull request 'Release fix' (#49) from release-fix into development
Test / Build-production-and-ng-test (push) Failing after 2m36s Details
Test / Build-and-test-development (push) Failing after 14m29s Details
Test / Build-and-test-development-latest-adapter (push) Failing after 14m30s Details
Reviewed-on: #49
2023-10-11 22:02:20 +00:00
Allan 11b06f6416 fix: bumping core library to avoid non-ascii char in mp_validatecols.sas. #50
Build / Build-and-ng-test (pull_request) Successful in 1m30s Details
2023-10-11 22:57:07 +01:00
Allan adb7eb7755 fix: removing copyright symbol from mpe_alerts macro. #50 2023-10-11 22:56:14 +01:00
Mihajlo Medjedovic b776b80728 chore: making semantic-release fail if no release available
Build / Build-and-ng-test (pull_request) Successful in 1m17s Details
2023-10-11 16:34:06 +02:00
Mihajlo Medjedovic 73a149ea7b chore: updated contributing.md with release instructions
Build / Build-and-ng-test (pull_request) Successful in 1m18s Details
2023-10-09 13:02:13 +02:00
Mihajlo Medjedovic ef8784093b chore: release is draft fix, release will update package.json version
Build / Build-and-ng-test (pull_request) Successful in 1m18s Details
2023-10-09 12:46:17 +02:00
semantic-release-bot b30c788e3d chore(release): 6.2.2 [skip ci]
## [6.2.2](https://git.datacontroller.io/dc/dc/compare/v6.2.1...v6.2.2) (2023-10-09)

### Bug Fixes

* updated SheetJS (crypto) to the latest ([8bd0dd2](8bd0dd22c2))
2023-10-09 09:52:20 +00:00
mihajlo 23899bdff3 Merge pull request 'fix: updated SheetJS (crypto) to the latest' (#48) from development into main
Release / release (push) Successful in 11m13s Details
Reviewed-on: #48
2023-10-09 09:49:16 +00:00
Mihajlo Medjedovic 8bd0dd22c2 fix: updated SheetJS (crypto) to the latest
Test / Build-production-and-ng-test (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Build / Build-and-ng-test (pull_request) Successful in 1m19s Details
2023-10-09 11:47:27 +02:00
semantic-release-bot c55b00c74f chore(release): 6.2.1 [skip ci]
Test / Build-production-and-ng-test (push) Failing after 2m3s Details
Test / Build-and-test-development (push) Successful in 11m49s Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-10-09)

### Bug Fixes

* approve, history and submit pages grouped in review module ([e056ece](e056ece223))
* closes [#39](#39) upcase issue in MPE_SECURITY ([a00d31c](a00d31caf3))
* handsontable v13 ([6f482ec](6f482ec6d9))
* latest adapter ([5e30dc0](5e30dc0f89))
* sasjs/cli and sasjs/core updated to the latest ([8571e01](8571e01e44))
* updating editors/stagedata to address issues in particular viya configurations as described in issue [#33](#33) ([94ab949](94ab949df8))
* updating logic for REPLACE loadtype ([1f2ce55](1f2ce55f24))
2023-10-09 09:03:58 +00:00
mihajlo c895f509b0 Merge pull request 'chore: fixed CI, trigger pending release' (#47) from development into main
Release / release (push) Successful in 11m20s Details
Reviewed-on: #47
2023-10-09 09:00:52 +00:00
Mihajlo Medjedovic 5968915331 chore: fixed CI, trigger pending release
Test / Build-and-test-development (push) Has been cancelled Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-production-and-ng-test (push) Has been cancelled Details
Build / Build-and-ng-test (pull_request) Successful in 1m20s Details
2023-10-09 11:00:09 +02:00
Mihajlo Medjedovic 44ffc082f6 chore: changelog revert to 6.2.0
Release / release (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-production-and-ng-test (push) Has been cancelled Details
2023-10-09 10:37:06 +02:00
semantic-release-bot b716ae5675 chore(release): 6.2.1 [skip ci]
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-10-08)

### Bug Fixes

* approve, history and submit pages grouped in review module ([e056ece](e056ece223))
* closes [#39](#39) upcase issue in MPE_SECURITY ([a00d31c](a00d31caf3))
* handsontable v13 ([6f482ec](6f482ec6d9))
* latest adapter ([5e30dc0](5e30dc0f89))
* sasjs/cli and sasjs/core updated to the latest ([8571e01](8571e01e44))
* updating editors/stagedata to address issues in particular viya configurations as described in issue [#33](#33) ([94ab949](94ab949df8))
* updating logic for REPLACE loadtype ([1f2ce55](1f2ce55f24))
2023-10-08 19:33:42 +00:00
mihajlo 01a0b59494 Merge pull request 'package-lock re-generated for CI release to pass, fixed development branch CI yaml' (#46) from development into main
Release / release (push) Failing after 6m57s Details
Reviewed-on: #46
2023-10-08 19:30:05 +00:00
Mihajlo Medjedovic 8ebc3da0bb chore(git): Merge branch 'main' into development
Build / Build-and-ng-test (pull_request) Has been cancelled Details
Test / Build-production-and-ng-test (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
2023-10-08 21:29:12 +02:00
Mihajlo Medjedovic 133577a4fa ci: fixed development yaml
Test / Build-production-and-ng-test (push) Failing after 2m3s Details
Test / Build-and-test-development-latest-adapter (push) Has been cancelled Details
Test / Build-and-test-development (push) Has been cancelled Details
Build / Build-and-ng-test (pull_request) Successful in 1m22s Details
2023-10-08 21:26:55 +02:00
Mihajlo Medjedovic a19615db41 chore: reverting 6.2.1 release
Release / release (push) Has been cancelled Details
2023-10-08 21:22:29 +02:00
Mihajlo Medjedovic 32b212a6bf chore: package-lock fix 2023-10-08 21:21:35 +02:00
semantic-release-bot 00ec4529cd chore(release): 6.2.1 [skip ci]
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-10-08)

### Bug Fixes

* approve, history and submit pages grouped in review module ([e056ece](e056ece223))
* closes [#39](#39) upcase issue in MPE_SECURITY ([a00d31c](a00d31caf3))
* handsontable v13 ([6f482ec](6f482ec6d9))
* latest adapter ([5e30dc0](5e30dc0f89))
* sasjs/cli and sasjs/core updated to the latest ([8571e01](8571e01e44))
* updating editors/stagedata to address issues in particular viya configurations as described in issue [#33](#33) ([94ab949](94ab949df8))
* updating logic for REPLACE loadtype ([1f2ce55](1f2ce55f24))
2023-10-08 19:08:09 +00:00
mihajlo 102d03888f Merge pull request 'Release fix' (#45) from development into main
Release / release (push) Failing after 7m6s Details
Reviewed-on: #45
2023-10-08 19:06:03 +00:00
mihajlo 9f8247320e Merge pull request 'Master branch sync, release procedure fixing' (#44) from master-sync into development
Build / Build-and-ng-test (pull_request) Successful in 1m20s Details
Reviewed-on: #44
2023-10-08 19:03:01 +00:00
Mihajlo Medjedovic ef871de30e chore: fixing changelog
Build / Build-and-ng-test (pull_request) Successful in 1m20s Details
2023-10-08 20:56:09 +02:00
semantic-release-bot b3a15ce26b chore(release): 6.2.1 [skip ci]
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-10-08)

### Bug Fixes

* approve, history and submit pages grouped in review module ([e056ece](e056ece223))
* closes [#39](#39) upcase issue in MPE_SECURITY ([a00d31c](a00d31caf3))
* handsontable v13 ([6f482ec](6f482ec6d9))
* latest adapter ([5e30dc0](5e30dc0f89))
* sasjs/cli and sasjs/core updated to the latest ([8571e01](8571e01e44))
* updating editors/stagedata to address issues in particular viya configurations as described in issue [#33](#33) ([94ab949](94ab949df8))
* updating logic for REPLACE loadtype ([1f2ce55](1f2ce55f24))
2023-10-08 16:56:17 +00:00
allan 270695aec2 Merge pull request 'fix: triggering release' (#43) from development into main
Release / release (push) Failing after 2m9s Details
Reviewed-on: #43
2023-10-08 16:53:54 +00:00
allan ad7392a326 Merge pull request 'chore: setting legacy-peer-deps in .npmrc' (#42) from npmrc into development
Build / Build-and-ng-test (pull_request) Has been cancelled Details
Reviewed-on: #42
2023-10-08 16:53:03 +00:00
Allan 92a50a42e2 chore: setting legacy-peer-deps in .npmrc
Build / Build-and-ng-test (pull_request) Successful in 1m21s Details
2023-10-08 17:51:27 +01:00
semantic-release-bot a3a8856d8c chore(release): 6.2.1 [skip ci]
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-10-08)

### Bug Fixes

* approve, history and submit pages grouped in review module ([e056ece](e056ece223))
* closes [#39](#39) upcase issue in MPE_SECURITY ([a00d31c](a00d31caf3))
* handsontable v13 ([6f482ec](6f482ec6d9))
* latest adapter ([5e30dc0](5e30dc0f89))
* sasjs/cli and sasjs/core updated to the latest ([8571e01](8571e01e44))
* updating editors/stagedata to address issues in particular viya configurations as described in issue [#33](#33) ([94ab949](94ab949df8))
* updating logic for REPLACE loadtype ([1f2ce55](1f2ce55f24))
2023-10-08 16:49:20 +00:00
allan 150c19b1b0 Merge pull request 'development' (#41) from development into main
Release / release (push) Failing after 2m15s Details
Reviewed-on: #41
2023-10-08 16:46:19 +00:00
allan f04c51ee4e Merge pull request 'fix: closes #39 upcase issue in MPE_SECURITY' (#40) from issue39 into development
Build / Build-and-ng-test (pull_request) Has been cancelled Details
Reviewed-on: #40
2023-10-08 16:45:23 +00:00
Allan c4338bf957 chore: updating tests, post edit hook, and access check macro. #39
Build / Build-and-ng-test (pull_request) Successful in 1m22s Details
2023-10-08 17:42:26 +01:00
Allan 5b06f4ede8 chore: improving docs for mpe_accesscheck and adding a test for mpe_accesscheck
Build / Build-and-ng-test (pull_request) Successful in 1m27s Details
2023-10-07 22:46:32 +01:00
Allan e7ab2cc956 chore: adding mpe_security_postedit hook link in MPE_TABLES on deploy. #39
Build / Build-and-ng-test (pull_request) Successful in 1m28s Details
2023-10-07 18:28:36 +01:00
Allan 5ebf8a66f7 chore: error message source file fix
Build / Build-and-ng-test (pull_request) Successful in 1m19s Details
2023-10-07 00:16:05 +01:00
Allan 3d4e886b9b chore: adding missing dependency
Build / Build-and-ng-test (pull_request) Successful in 1m22s Details
2023-10-07 00:13:48 +01:00
Allan a00d31caf3 fix: closes #39 upcase issue in MPE_SECURITY
Build / Build-and-ng-test (pull_request) Successful in 1m23s Details
adding frontend validation rule, backend upcase enforcement rule, and modification to service code to ensure values are upcased before comparison
2023-10-07 00:11:38 +01:00
allan 40fe707287 Merge pull request 'maincopy' (#38) from maincopy into development
Reviewed-on: #38
2023-09-26 07:40:05 +00:00
Allan 8296be01ba chore: cleanup of items in changelog for v6.2.1
Build / Build-and-ng-test (pull_request) Successful in 1m19s Details
2023-09-26 08:38:40 +01:00
semantic-release-bot dbeb003292 chore(release): 6.2.1 [skip ci]
Build / Build-and-ng-test (pull_request) Successful in 1m25s Details
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-09-25)

### Bug Fixes

* approve, history and submit pages grouped in review module ([e056ece](e056ece223))
* handsontable v13 ([6f482ec](6f482ec6d9))
* latest adapter ([5e30dc0](5e30dc0f89))
* sasjs/cli and sasjs/core updated to the latest ([8571e01](8571e01e44))
* updating editors/stagedata to address issues in particular viya configurations as described in issue [#33](#33) ([94ab949](94ab949df8))
* updating logic for REPLACE loadtype ([1f2ce55](1f2ce55f24))
2023-09-25 14:59:38 +00:00
allan f048501c48 Merge pull request 'development' (#37) from development into main
Release / release (push) Successful in 11m11s Details
Reviewed-on: #37
2023-09-25 14:57:44 +00:00
allan 498350b3f3 Merge pull request 'master-sync' (#36) from master-sync into development
Build / Build-and-ng-test (pull_request) Successful in 1m18s Details
Reviewed-on: #36
Reviewed-by: allan <allan@4gl.io>
2023-09-25 14:55:33 +00:00
Mihajlo Medjedovic 91e82c9c65 ci: npm ci in build.yaml
Build / Build-and-ng-test (pull_request) Successful in 1m19s Details
2023-09-25 16:53:40 +02:00
Mihajlo Medjedovic 24067ea82b chore: calling licence checker script as a part of PR action
Build / Build-and-ng-test (pull_request) Failing after 24s Details
2023-09-25 16:51:33 +02:00
semantic-release-bot aa7deddba0 chore(release): 6.2.1 [skip ci]
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-09-25)

### Bug Fixes

* approve, history and submit pages grouped in review module ([e056ece](e056ece223))
* handsontable v13 ([6f482ec](6f482ec6d9))
* latest adapter ([5e30dc0](5e30dc0f89))
* sasjs/cli and sasjs/core updated to the latest ([8571e01](8571e01e44))
* updating editors/stagedata to address issues in particular viya configurations as described in issue [#33](#33) ([94ab949](94ab949df8))
* updating logic for REPLACE loadtype ([1f2ce55](1f2ce55f24))
2023-09-25 14:33:27 +00:00
allan b2d13203d1 Merge pull request 'development' (#34) from development into main
Release / release (push) Failing after 2m25s Details
Reviewed-on: #34
2023-09-25 14:31:25 +00:00
mihajlo 19c1092b5b Merge pull request 'fix: latest adapter' (#32) from adapter-bump into development
Build / Build-and-ng-test (pull_request) Successful in 25s Details
Reviewed-on: #32
2023-09-25 14:26:49 +00:00
Mihajlo Medjedovic 94ab949df8 fix: updating editors/stagedata to address issues in particular viya configurations as described in issue #33
Build / Build-and-ng-test (pull_request) Successful in 25s Details
2023-09-25 16:24:50 +02:00
Mihajlo Medjedovic 9eb2451c2f chore(git): Merge branch 'adapter-bump' of ssh://git.datacontroller.io:29419/dc/dc into adapter-bump 2023-09-07 12:52:25 +02:00
zver 6e521bfa3e chore: renaming format names due to changes in how Viya treats the last letter
Build / Build-and-ng-test (pull_request) Failing after 23s Details
2023-09-07 11:49:29 +01:00
Mihajlo Medjedovic 239720fe0c chore(git): Merge branch 'development' into adapter-bump 2023-09-07 12:13:17 +02:00
Mihajlo Medjedovic 8571e01e44 fix: sasjs/cli and sasjs/core updated to the latest 2023-09-07 12:12:09 +02:00
Mihajlo Medjedovic 6f482ec6d9 fix: handsontable v13
Build / Build-and-ng-test (pull_request) Failing after 23s Details
2023-09-06 21:57:11 +02:00
Mihajlo Medjedovic 5e30dc0f89 fix: latest adapter
Build / Build-and-ng-test (pull_request) Failing after 24s Details
2023-09-06 17:14:49 +02:00
semantic-release-bot 3d76d12c86 chore(release): 6.2.1 [skip ci]
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-08-25)

### Bug Fixes

* approve, history and submit pages grouped in review module ([e056ece](e056ece223))
* updating logic for REPLACE loadtype ([1f2ce55](1f2ce55f24))
2023-08-25 11:46:06 +00:00
allan 93f1b81d70 Merge pull request 'Refactoring solo pages into a modules' (#19) from tsdoc into development
Release / release (push) Failing after 2m2s Details
Build / Build-and-ng-test (pull_request) Successful in 24s Details
Reviewed-on: #19
Reviewed-by: allan <allan@4gl.io>
2023-08-25 11:24:10 +00:00
allan e2b65ddd82 Merge branch 'development' into tsdoc
Build / Build-and-ng-test (pull_request) Successful in 22s Details
2023-08-25 11:19:38 +00:00
allan b64bbe91d4 Merge pull request 'fix: updating logic for REPLACE loadtype' (#25) from replace into development
Reviewed-on: #25
2023-08-25 11:19:16 +00:00
Allan 1f2ce55f24 fix: updating logic for REPLACE loadtype
Build / Build-and-ng-test (pull_request) Successful in 24s Details
Staged rows are always considered as NEW, and previous rows are considered DELETED
This is consistent with the fact that REPLACE involves a delete *, followed by an append.
2023-08-25 12:17:43 +01:00
Mihajlo Medjedovic 921157da9e chore(git): Merge branch 'development' into tsdoc
Build / Build-and-ng-test (pull_request) Successful in 23s Details
Release / release (push) Has been cancelled Details
2023-08-24 12:17:01 +02:00
allan 413acf7d05 Merge pull request 'main to dev' (#23) from main into development
Reviewed-on: #23
2023-08-24 10:12:26 +00:00
Mihajlo Medjedovic 725f75aa74 style: lint
Build / Build-and-ng-test (pull_request) Successful in 23s Details
2023-08-24 11:52:02 +02:00
Mihajlo Medjedovic c64ab8a577 chore(git): Merge branch 'tsdoc' of ssh://git.datacontroller.io:29419/dc/dc into tsdoc
Build / Build-and-ng-test (pull_request) Failing after 22s Details
2023-08-24 11:50:53 +02:00
Mihajlo Medjedovic 1154c99e0a ci: surfer install 2023-08-24 11:44:54 +02:00
dcbot 5bcdef77b8 Merge branch 'development' into tsdoc
Build / Build-and-ng-test (pull_request) Failing after 22s Details
2023-08-24 09:43:45 +00:00
semantic-release-bot e4a0089102 chore(release): 6.2.0 [skip ci]
Build / Build-and-ng-test (pull_request) Successful in 23s Details
# [6.2.0](https://git.datacontroller.io/dc/dc/compare/v6.1.0...v6.2.0) (2023-08-24)

### Bug Fixes

* re-enabling full REPLACE uploads ([08e39c4](08e39c4fca))

### Features

* support for European numeric formats ([e48e47b](e48e47bc63))
2023-08-24 08:53:36 +00:00
Mihajlo Medjedovic ba022d8a35 ci: surfer install
Release / release (push) Failing after 11m15s Details
2023-08-24 10:51:38 +02:00
semantic-release-bot c8ac859d2e chore(release): 6.2.0 [skip ci]
# [6.2.0](https://git.datacontroller.io/dc/dc/compare/v6.1.0...v6.2.0) (2023-08-24)

### Bug Fixes

* re-enabling full REPLACE uploads ([08e39c4](08e39c4fca))

### Features

* support for European numeric formats ([e48e47b](e48e47bc63))
2023-08-24 08:30:06 +00:00
allan d6fd72e880 Merge pull request 'Create Release' (#22) from development into main
Release / release (push) Failing after 11m15s Details
Reviewed-on: #22
2023-08-23 23:12:38 +00:00
allan 61cc360c85 Merge pull request 'fix: re-enabling full REPLACE uploads' (#21) from issue20 into development
Build / Build-and-ng-test (pull_request) Successful in 23s Details
Reviewed-on: #21
2023-08-23 23:10:23 +00:00
Allan 08e39c4fca fix: re-enabling full REPLACE uploads
Build / Build-and-ng-test (pull_request) Successful in 24s Details
Implemented by provision of the necessary temp tables
2023-08-24 00:09:25 +01:00
allan 8c2ee441fc Merge pull request 'Added support for European numeric formats' (#16) from issue-1 into development
Reviewed-on: #16
Reviewed-by: allan <allan@4gl.io>
2023-08-23 14:46:37 +00:00
allan 0a7d23c763 Merge branch 'development' into issue-1
Build / Build-and-ng-test (pull_request) Successful in 25s Details
2023-08-23 14:45:59 +00:00
Mihajlo Medjedovic 7b54fff26e chore: typo fix
Build / Build-and-ng-test (pull_request) Failing after 22s Details
2023-08-04 12:18:31 +02:00
Mihajlo Medjedovic cd3e0f614b chore: adding comments part 3
Build / Build-and-ng-test (pull_request) Failing after 23s Details
2023-08-04 12:05:00 +02:00
Mihajlo Medjedovic 81c0aec202 chore: removed column.ts leftover 2023-08-04 08:52:53 +02:00
Mihajlo Medjedovic 3193bdd720 chore: removing cellValidation leftover 2023-08-03 22:33:16 +02:00
Mihajlo Medjedovic b9a12454e1 chore: removing table.ts leftover 2023-08-03 22:31:59 +02:00
Mihajlo Medjedovic 01a857f7c6 chore: adding comments part 2 2023-08-03 22:31:17 +02:00
Mihajlo Medjedovic 2bb2eee80e chore: removed commented code about old workaround for excel upload validation 2023-08-03 21:58:50 +02:00
Mihajlo Medjedovic c054ea500d chore: adding comments part1 2023-08-03 17:56:34 +02:00
Mihajlo Medjedovic d7f8201246 ci: tsdoc -> webdoc
Build / Build-and-ng-test (pull_request) Failing after 22s Details
2023-08-02 09:24:16 +02:00
Mihajlo Medjedovic 622cfcc6fe chore: removed edit-route leftover
Build / Build-and-ng-test (pull_request) Failing after 21s Details
2023-08-01 16:45:18 +02:00
Mihajlo Medjedovic 303240e4d2 style: lint
Build / Build-and-ng-test (pull_request) Successful in 23s Details
2023-08-01 16:40:03 +02:00
Mihajlo Medjedovic a8b849aede chore: modularization refactor finish 2023-08-01 16:39:45 +02:00
Mihajlo Medjedovic ca281b70c9 chore(git): Merge branch 'development' into tsdoc
Build / Build-and-ng-test (pull_request) Failing after 22s Details
2023-08-01 14:52:53 +02:00
Mihajlo Medjedovic e056ece223 fix: approve, history and submit pages grouped in review module
Build / Build-and-ng-test (pull_request) Failing after 1m5s Details
Using compodoc instead of typedoc because of better angular support.
2023-08-01 14:50:04 +02:00
allan 0ae35214fb Merge pull request 'Removed ng build and ng test from PR action' (#17) from ci into development
Reviewed-on: #17
Reviewed-by: allan <allan@4gl.io>
2023-07-31 12:05:32 +00:00
Mihajlo Medjedovic 34ffac39cb ci: PR will only run lint check
Build / Build-and-ng-test (pull_request) Successful in 23s Details
2023-07-31 13:13:00 +02:00
Mihajlo Medjedovic 52d4b3eefc chore(git): Merge branch 'issue-1' of ssh://git.datacontroller.io:29419/dc/dc into issue-1
Build / Build-and-ng-test (pull_request) Successful in 7m52s Details
2023-07-31 10:12:40 +02:00
Mihajlo Medjedovic 908d2761f2 chore: addressing comments 2023-07-31 10:12:22 +02:00
mihajlo 7c98ad8c5b Merge branch 'development' into issue-1
Build / Build-and-ng-test (pull_request) Successful in 7m40s Details
2023-07-28 18:10:25 +00:00
Mihajlo Medjedovic 5bb55e6484 style: lint
Build / Build-and-ng-test (pull_request) Successful in 7m39s Details
2023-07-28 20:03:58 +02:00
Mihajlo Medjedovic e48e47bc63 feat: support for European numeric formats 2023-07-28 20:03:41 +02:00
allan 2a3f4f755c Merge pull request 'Releasing of `tsdoc.datacontroller.io`' (#15) from ci into development
Test / Build-and-test-development (push) Successful in 11m20s Details
Test / Build-and-test-development-latest-adapter (push) Successful in 11m23s Details
Reviewed-on: #15
Reviewed-by: allan <allan@4gl.io>
2023-07-27 19:34:16 +00:00
Mihajlo Medjedovic ddfae9227c chore(git): Merge branch 'development' into ci
Build / Build-and-ng-test (pull_request) Successful in 7m31s Details
2023-07-27 19:26:06 +02:00
mihajlo c74378423d Merge pull request 'chore: improving the descriptions of the steps in the release.yaml file' (#11) from releasedoc into development
Test / Build-and-test-development (push) Successful in 11m25s Details
Test / Build-and-test-development-latest-adapter (push) Successful in 11m25s Details
Reviewed-on: #11
Reviewed-by: mihajlo <mihajlo@4gl.io>
2023-07-27 17:24:51 +00:00
Mihajlo Medjedovic 0e020623a5 chore(git): Merge branch 'development' into releasedoc
Build / Build-and-ng-test (pull_request) Successful in 7m34s Details
2023-07-27 19:23:57 +02:00
Mihajlo Medjedovic eeb4000efe ci: releasing typedoc 2023-07-27 19:20:14 +02:00
mihajlo 2053c858ac Merge pull request 'Added cypress videos to the build artifacts' (#14) from ci into development
Test / Build-and-test-development (push) Successful in 11m29s Details
Test / Build-and-test-development-latest-adapter (push) Successful in 11m34s Details
Reviewed-on: #14
Reviewed-by: allan <allan@4gl.io>
2023-07-27 12:58:08 +00:00
Mihajlo Medjedovic 4c2c5d5526 style: lint
Build / Build-and-ng-test (pull_request) Successful in 7m38s Details
2023-07-27 13:49:13 +02:00
Mihajlo Medjedovic 7ccc745eb2 chore(git): Merge branch 'development' into ci
Build / Build-and-ng-test (pull_request) Failing after 1m2s Details
2023-07-27 13:15:39 +02:00
Mihajlo Medjedovic e93367fb42 ci: capturing cypress videos
Build / Build-and-ng-test (pull_request) Failing after 1m3s Details
2023-07-27 13:09:16 +02:00
allan 250fb1e8cf Merge pull request 'ci: release' (#13) from ci into development
Test / Build-and-test-development (push) Failing after 12m32s Details
Test / Build-and-test-development-latest-adapter (push) Successful in 11m15s Details
Reviewed-on: #13
Reviewed-by: allan <allan@4gl.io>
2023-07-26 19:02:05 +00:00
Mihajlo Medjedovic 1c2b87940d ci: release
Build / Build-and-ng-test (pull_request) Successful in 7m30s Details
2023-07-26 13:39:04 +02:00
Allan 25fed203c6 chore: improving the descriptions of the steps in the release.yaml file
Build / Build-and-ng-test (pull_request) Successful in 7m29s Details
2023-07-25 21:36:10 +01:00
101 changed files with 6234 additions and 19579 deletions

View File

@ -1,5 +1,5 @@
name: Build
run-name: Building and testing DC
run-name: Running Lint Check
on: [pull_request]
jobs:
@ -18,21 +18,8 @@ jobs:
env:
NPMRC: ${{ secrets.NPMRC}}
- run: apt-get update
- run: wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
- run: apt install -y ./google-chrome*.deb;
- run: export CHROME_BIN=/usr/bin/google-chrome
- run: npm run lint:check
# Install dependencies~
- run: npm ci
# Audit should fail and stop the CI if critical vulnerability found
- run: npm audit --audit-level=critical
- run: |
cd ./sas
npm audit --audit-level=critical
- run: |
cd ./client
npm audit --audit-level=critical
npm test -- --no-watch --no-progress --browsers=ChromeHeadlessCI
npm run postinstall
npm run build
cd client
npm ci
npm run license-checker

View File

@ -6,6 +6,56 @@ on:
- development
jobs:
Build-production-and-ng-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Write .npmrc file
run: |
touch client/.npmrc
echo '${{ secrets.NPMRC}}' > client/.npmrc
- name: Install Chrome for Angular tests
run: |
apt-get update
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
apt install -y ./google-chrome*.deb;
export CHROME_BIN=/usr/bin/google-chrome
- name: Write cypress credentials
run: echo "$CYPRESS_CREDS" > ./client/cypress.env.json
shell: bash
env:
CYPRESS_CREDS: ${{ secrets.CYPRESS_CREDS }}
- name: Install dependencies
run: npm ci
- name: Check audit
# Audit should fail and stop the CI if critical vulnerability found
run: |
npm audit --audit-level=critical --omit=dev
cd ./sas
npm audit --audit-level=critical --omit=dev
cd ../client
npm audit --audit-level=critical --omit=dev
- name: Angular Tests
run: |
cd client
npm test -- --no-watch --no-progress --browsers=ChromeHeadlessCI
- name: Angular Production Build
run: |
cd client
npm run postinstall
npm run build
Build-and-test-development:
runs-on: ubuntu-latest
@ -34,7 +84,9 @@ jobs:
env:
CYPRESS_CREDS: ${{ secrets.CYPRESS_CREDS }}
- run: npm ci
- name: Install dependencies
run: npm ci
# Install pm2 and prepare SASJS server
- run: npm i -g pm2
- run: curl -L https://github.com/sasjs/server/releases/latest/download/linux.zip > linux.zip
@ -77,6 +129,17 @@ jobs:
# Start frontend and run cypress
npm start & npx wait-on http://localhost:4200 && npx cypress run --browser chrome --spec "cypress/e2e/liveness.cy.ts,cypress/e2e/editor.cy.ts,cypress/e2e/excel.cy.ts,cypress/e2e/filtering.cy.ts,cypress/e2e/licensing.cy.ts"
- name: Zip Cypress videos
if: always()
run: |
zip -r cypress-videos ./client/cypress/videos
- name: Cypress videos artifacts
uses: actions/upload-artifact@v3
with:
name: cypress-videos.zip
path: cypress-videos.zip
Build-and-test-development-latest-adapter:
runs-on: ubuntu-latest
@ -106,7 +169,9 @@ jobs:
env:
CYPRESS_CREDS: ${{ secrets.CYPRESS_CREDS }}
- run: npm ci
- name: Install dependencies
run: npm ci
# Install pm2 and prepare SASJS server
- run: npm i -g pm2
- run: curl -L https://github.com/sasjs/server/releases/latest/download/linux.zip > linux.zip
@ -125,7 +190,6 @@ jobs:
npm install -g @sasjs/cli
npm install -g replace-in-files-cli
sasjs cbd -t server-ci
# sasjs request services/admin/makedata -t server-ci -d ./deploy/makeData4GL.json -c ./deploy/requestConfig.json -o ./output.json
- name: Install ZIP
run: |
@ -148,4 +212,15 @@ jobs:
replace-in-files --regex='"hosturl".*' --replacement='hosturl:"http://localhost:4200",' ./cypress.config.ts
cat ./cypress.config.ts
# Start frontend and run cypress
npm start & npx wait-on http://localhost:4200 && npx cypress run --browser chrome --spec "cypress/e2e/liveness.cy.ts,cypress/e2e/editor.cy.ts,cypress/e2e/excel.cy.ts,cypress/e2e/filtering.cy.ts,cypress/e2e/licensing.cy.ts"
npm start & npx wait-on http://localhost:4200 && npx cypress run --browser chrome --spec "cypress/e2e/liveness.cy.ts,cypress/e2e/editor.cy.ts,cypress/e2e/excel.cy.ts,cypress/e2e/filtering.cy.ts,cypress/e2e/licensing.cy.ts"
- name: Zip Cypress videos
if: always()
run: |
zip -r cypress-videos ./client/cypress/videos
- name: Cypress videos artifacts
uses: actions/upload-artifact@v3
with:
name: cypress-videos-latest-adapter.zip
path: cypress-videos.zip

View File

@ -22,35 +22,35 @@ jobs:
env:
NPMRC: ${{ secrets.NPMRC}}
- name: Install ZIP and SASjs CLI
- name: Install packages
run: |
apt-get update
apt-get install zip -y
# sasjs cli is used to compile & build the SAS services
npm i -g @sasjs/cli
# test
- name: Install JQ for parsing JSON
run: |
apt-get update
# jq is used to parse the release JSON
apt-get install jq -y
- name: Install Semantic Release and plugins and create Release
- name: Create Empty Release (assets are posted later)
run: |
npm i
npm i -g semantic-release
# We do a semantic-release DRY RUN to make the job fail if there are no changes to release
GITEA_TOKEN=${{ secrets.RELEASE_TOKEN }} GITEA_URL=https://git.datacontroller.io semantic-release --dry-run | grep -q "There are no relevant changes, so no new version is released." && exit 1
GITEA_TOKEN=${{ secrets.RELEASE_TOKEN }} GITEA_URL=https://git.datacontroller.io semantic-release
- name: Frontend Build
description: Must be created AFTER the release as the version (git tag) is used in the interface
run: |
cd client
npm ci
npm run build
- name: Build SAS9 EBI Release
description: compile SAS 9 services, remove tests & create deployment program
description: Compile SAS 9 services, remove tests & create deployment program
run: |
cd sas
npm ci
npm i
sasjs c -t sas9
rm -rf sasjsbuild/tests
sasjs b -t sas9
@ -64,7 +64,7 @@ jobs:
cp sasjsbuild/mysas9deploy.sas ./sas9.sas
- name: Build SASjs Server Release
description: compile Base (SASjs) services, remove tests & create deployment JSON
description: Compile Base (SASjs) services, remove tests & create deployment JSON
run: |
cd sas
cp sasjs/utils/favicon.ico ../client/dist/favicon.ico
@ -98,12 +98,17 @@ jobs:
- name: Release Typedoc
run: |
cd client
npm run typedoc
# deploy docs
npm -g install cloudron-surfer
npm run compodoc:build
surfer put --token ${{ secrets.TSDOC_TOKEN }} --server webdoc.datacontroller.io documentation/* /
- name: Upload assets to release
run: |
RELEASE_ID=`curl -k 'https://git.datacontroller.io/api/v1/repos/dc/dc/releases/latest?access_token=${{ secrets.RELEASE_TOKEN }}' | jq -r '.id'`
RELEASE_BODY=`curl -k 'https://git.datacontroller.io/api/v1/repos/dc/dc/releases/latest?access_token=${{ secrets.RELEASE_TOKEN }}' | jq -r '.body'`
# Update body
curl --data '{"draft": false,"body":"'"$RELEASE_BODY\n\nFor installation instructions, please visit https://docs.datacontroller.io/"'"}' -X PATCH --header 'Content-Type: application/json' -k https://git.datacontroller.io/api/v1/repos/dc/dc/releases/$RELEASE_ID?access_token=${{ secrets.RELEASE_TOKEN }}
# Upload assets
URL="https://git.datacontroller.io/api/v1/repos/dc/dc/releases/$RELEASE_ID/assets?access_token=${{ secrets.RELEASE_TOKEN }}"
curl -k $URL -F attachment=@frontend.zip
curl -k $URL -F attachment=@sas/demostream_sas9.sas

1
.gitignore vendored
View File

@ -10,6 +10,7 @@ client/src/environments/version.ts
client/cypress/screenshots
client/cypress/results
client/cypress/videos
client/documentation
cypress.env.json
sasjsbuild
sasjsresults

2
.npmrc
View File

@ -1 +1 @@
legacy-peer-deps=false
legacy-peer-deps=true

View File

@ -6,11 +6,13 @@
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/npm",
[
"@semantic-release/git",
{
"assets": [
"CHANGELOG.md"
"CHANGELOG.md",
"package.json"
]
}
],

View File

@ -1,3 +1,34 @@
## [6.2.2](https://git.datacontroller.io/dc/dc/compare/v6.2.1...v6.2.2) (2023-10-09)
### Bug Fixes
* updated SheetJS (crypto) to the latest ([8bd0dd2](https://git.datacontroller.io/dc/dc/commit/8bd0dd22c258911672303869e4df893a98e93575))
## [6.2.1](https://git.datacontroller.io/dc/dc/compare/v6.2.0...v6.2.1) (2023-10-09)
### Bug Fixes
* approve, history and submit pages grouped in review module ([e056ece](https://git.datacontroller.io/dc/dc/commit/e056ece2234ef6aab050f6a5b1f8de633b163d91))
* closes [#39](https://git.datacontroller.io/dc/dc/issues/39) upcase issue in MPE_SECURITY ([a00d31c](https://git.datacontroller.io/dc/dc/commit/a00d31caf3c5634cd61a4700fb175e76856edbb6))
* handsontable v13 ([6f482ec](https://git.datacontroller.io/dc/dc/commit/6f482ec6d909907a304ef9975262889e2370035f))
* latest adapter ([5e30dc0](https://git.datacontroller.io/dc/dc/commit/5e30dc0f892fab2af41f4ea56e30f27ec3b3912e))
* sasjs/cli and sasjs/core updated to the latest ([8571e01](https://git.datacontroller.io/dc/dc/commit/8571e01e44a8cb6df9d150d271c34bb75bffdf31))
* updating editors/stagedata to address issues in particular viya configurations as described in issue [#33](https://git.datacontroller.io/dc/dc/issues/33) ([94ab949](https://git.datacontroller.io/dc/dc/commit/94ab949df8c75072525751a2156b7a32c2e641dc))
* updating logic for REPLACE loadtype ([1f2ce55](https://git.datacontroller.io/dc/dc/commit/1f2ce55f249f4af56f0cacdec47e69246cd47431))
# [6.2.0](https://git.datacontroller.io/dc/dc/compare/v6.1.0...v6.2.0) (2023-08-24)
### Bug Fixes
* re-enabling full REPLACE uploads ([08e39c4](https://git.datacontroller.io/dc/dc/commit/08e39c4fca570406f9aad3d907cb04596421d074))
### Features
* support for European numeric formats ([e48e47b](https://git.datacontroller.io/dc/dc/commit/e48e47bc635452b59e107b235e597c26e748875e))
# [6.1.0](https://git.datacontroller.io/dc/dc/compare/v6.0.0...v6.1.0) (2023-07-25)

View File

@ -53,6 +53,17 @@ npm run lint:fix
Typedoc is used for generating typescript documentation based on the code.
That part is automated and beign done as a part of CI job.
# Release
Release is automated as a part of CI job. Workflow file: `.gitea/workflows/release.yaml`.
It will run automatically when branch merged to the `main` branch.
IMPORTANT!
If release job fails, after it has been created empty release and a tag, we must not re-run the relase job until we removed the newly create GIT TAG and RELEASE.
To remove the git tag run:
```
git push -d origin vX.X.X
```
To remove the release, you need to do it with repo administration over at [https://git.datacontroller.io/dc/dc](https://git.datacontroller.io/dc/dc)
# Troubleshooting
## Makedata service "could not create directory" error

View File

@ -10,7 +10,7 @@ const check = (cwd) => {
onlyAllow:
'AFLv2.1;Apache 2.0;Apache-2.0;Apache*;Artistic-2.0;0BSD;BSD*;BSD-2-Clause;BSD-3-Clause;CC0-1.0;CC-BY-3.0;CC-BY-4.0;ISC;MIT;MPL-2.0;ODC-By-1.0;Python-2.0;Unlicense;',
excludePackages:
'@cds/city@1.1.0;@handsontable/angular@13.0.0;handsontable@13.0.0;hyperformula@2.5.0;jackspeak@2.2.0;path-scurry@1.7.0'
'@cds/city@1.1.0;@handsontable/angular@13.1.0;handsontable@13.1.0;hyperformula@2.6.0;jackspeak@2.2.0;path-scurry@1.7.0'
},
(error, json) => {
if (error) {

18342
client/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
{
"name": "dc-client",
"description": "dc-client",
"name": "data_controller-client",
"description": "DataController Client",
"angular-cli": {},
"scripts": {
"start": "node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng serve",
@ -29,7 +29,9 @@
"cy:run": "cypress run",
"audit:prod": "npm audit --omit=dev",
"sasdocs": "sasjs doc && ./sasjs/utils/deploydocs.sh",
"typedoc": "typedoc --options typedoc.json && cd ../dc-devdocs"
"compodoc:build": "compodoc -p tsconfig.doc.json --name 'Data Controller Client'",
"compodoc:build-and-serve": "compodoc -p tsconfig.doc.json -s --name 'Data Controller Client'",
"compodoc:serve": "compodoc -s --name 'Data Controller Client'"
},
"private": true,
"dependencies": {
@ -46,9 +48,9 @@
"@clr/angular": "^13.17.0",
"@clr/icons": "^13.0.2",
"@clr/ui": "^13.17.0",
"@handsontable/angular": "^13.0.0",
"@sasjs/adapter": "4.3.6",
"@sasjs/utils": "^3.3.0",
"@handsontable/angular": "^13.1.0",
"@sasjs/adapter": "4.10.1",
"@sasjs/utils": "^3.4.0",
"@sheet/crypto": "1.20211122.1",
"@types/d3-graphviz": "^2.6.7",
"@types/text-encoding": "0.0.35",
@ -58,7 +60,7 @@
"crypto-js": "^3.3.0",
"d3-graphviz": "^5.0.2",
"fs-extra": "^7.0.1",
"handsontable": "^13.0.0",
"handsontable": "^13.1.0",
"https-browserify": "1.0.0",
"hyperformula": "^2.5.0",
"iconv-lite": "^0.5.0",
@ -69,7 +71,6 @@
"ngx-clipboard": "^16.0.0",
"ngx-json-viewer": "file:libraries/ngx-json-viewer-3.2.1.tgz",
"nodejs": "0.0.0",
"numbro": "^2.1.1",
"os-browserify": "0.3.0",
"rxjs": "^7.8.0",
"save-svg-as-png": "^1.4.17",
@ -88,6 +89,8 @@
"@angular-eslint/template-parser": "16.0.3",
"@angular/cli": "^16.1.0",
"@angular/compiler-cli": "^16.1.2",
"@babel/plugin-proposal-private-methods": "^7.18.6",
"@compodoc/compodoc": "^1.1.21",
"@cypress/webpack-preprocessor": "^5.17.1",
"@types/core-js": "^2.5.5",
"@types/crypto-js": "^4.0.1",
@ -120,9 +123,10 @@
"rimraf": "3.0.2",
"ts-loader": "^9.2.8",
"ts-node": "^3.3.0",
"typedoc": "^0.23.24",
"typedoc": "^0.24.8",
"typedoc-plugin-external-module-name": "^4.0.6",
"typescript": "~4.9.4",
"wait-on": "^6.0.1",
"watch": "^1.0.2"
}
}
}

View File

@ -1,5 +1,8 @@
import { QueryClause } from './models/TableData'
/**
* Filtering cache info, to be reused when filtering modal is re-open
*/
interface FilterCache {
cols: any[]
vals: any[]
@ -10,12 +13,18 @@ interface FilterCache {
query: QueryClause[]
}
/**
* Filtering cache info in the open viewboxes, to be reused when filtering modal is re-open
*/
interface ViewboxCache {
[key: number]: {
filter: FilterCache
}
}
/**
* Initial values when no cached values stored
*/
export const initFilter: { filter: FilterCache } = {
filter: {
cols: <any[]>[],
@ -28,6 +37,13 @@ export const initFilter: { filter: FilterCache } = {
}
}
/**
* Cached filtering values across whole app (editor, viewer, viewboxes)
* Cached lineage libraries, tables
* Cached metadata tree
* Cached usernav tree
* Cached viyaApi collections, search and selected endpoint
*/
export const globals: {
rootParam: string
editor: any

View File

@ -1,40 +0,0 @@
<div class="content-area">
<div class="card">
<div class="card-header d-flex flex-column justify-content-center">
<h3 class="text-center">
You succesfully edited table
<span class="color-blue font-weight-700">{{ libds }}</span>
</h3>
<p class="text-center">
<b>Please choose from the following actions</b>
</p>
<div class="row d-flex justify-content-center mt-20">
<button
class="btn btn-sm btn-outline text-center"
(click)="submittedTableScreen()"
>
Go to submitted table screen
</button>
<button
class="btn btn-sm btn-outline text-center"
(click)="viewerTableScreen()"
>
Go to base table screen
</button>
<button
id="approvalBtn"
class="btn btn-sm btn-success-outline text-center"
(click)="approveTableScreen()"
>
Go to approvals screen
</button>
<button
class="btn btn-sm btn-info-outline text-center"
(click)="goBack()"
>
Go back to editor
</button>
</div>
</div>
</div>
</div>

View File

@ -1,50 +0,0 @@
import { AfterViewInit, Component, OnInit } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
@Component({
selector: 'app-actions',
templateUrl: './actions.component.html',
styleUrls: ['./actions.component.scss'],
host: {
class: 'content-container'
}
})
export class ActionsComponent implements OnInit, AfterViewInit {
public dsid: any
public libds: string | undefined
constructor(
private route: ActivatedRoute,
private router: Router
) {}
public submittedTableScreen() {
this.router.navigateByUrl('/stage/' + this.dsid)
}
public approveTableScreen() {
this.router.navigateByUrl('/approve/approveDet/' + this.dsid)
}
public viewerTableScreen() {
this.router.navigateByUrl('/view/data/' + this.libds)
}
public goBack() {
this.router.navigateByUrl('/editor/' + this.libds)
}
async ngOnInit() {
this.dsid = this.route.snapshot.params['dsid']
this.libds = this.route.snapshot.params['libds']
}
ngAfterViewInit() {
setTimeout(() => {
let approvalBtn: any = window.document.getElementById('approvalBtn')
if (!!approvalBtn) {
approvalBtn.focus()
}
}, 700)
}
}

View File

@ -169,7 +169,7 @@
<clr-dropdown-menu *clrIfOpen clrPosition="bottom-left">
<a [routerLink]="['/view']" clrDropdownItem>VIEW</a>
<a [routerLink]="['/home']" clrDropdownItem>EDIT</a>
<a [routerLink]="['/submitted']" clrDropdownItem>REVIEW</a>
<a [routerLink]="['/review/submitted']" clrDropdownItem>REVIEW</a>
</clr-dropdown-menu>
</clr-dropdown>
</div>
@ -192,7 +192,7 @@
>EDIT</a
>
<a
[routerLink]="['/submitted']"
[routerLink]="['/review/submitted']"
[class.active]="
router.url.includes('submitted') ||
router.url.includes('approve') ||
@ -224,7 +224,7 @@
<ul class="nav">
<li class="nav-item">
<a
[routerLink]="['/submitted']"
[routerLink]="['/review/submitted']"
class="nav-link nav-text"
routerLinkActive="active"
>SUBMIT</a
@ -232,15 +232,16 @@
</li>
<li class="nav-item">
<a
[routerLink]="['/approve']"
[routerLink]="['/review/approve']"
class="nav-link nav-text"
[class.active]="router.url.includes('approve')"
routerLinkActive="active"
>APPROVE</a
>
</li>
<li class="nav-item">
<a
[routerLink]="['/history']"
[routerLink]="['/review/history']"
class="nav-link nav-text"
routerLinkActive="active"
>HISTORY</a

View File

@ -57,24 +57,15 @@ export class AppComponent {
private elementRef: ElementRef
) {
this.parseDcAdapterSettings()
/**
* Prints app info in the console such as:
* - Adapter versions
* - App version
* - Build timestamp
*
*/
;(window as any).appinfo = () => {
const licenseKeyData = this.licenceService.getLicenseKeyData()
if (licenseKeyData) {
const expiry_date = moment(
licenseKeyData.valid_until,
'YYYY-MM-DD'
).startOf('day')
const current_date = moment().startOf('day')
const daysToExpiry = expiry_date.diff(current_date, 'days')
licenseKeyData.valid_until += ` (${daysToExpiry} ${
daysToExpiry === 1 ? 'day' : 'days'
} remaining)`
if (isNaN(daysToExpiry)) licenseKeyData.valid_until = 'Unlimited'
}
console.table({
'Adapter version': VERSION.adapterVersion || 'n/a',
'App version': (VERSION.tag || '').replace('v', ''),
@ -87,7 +78,12 @@ export class AppComponent {
this.subscribeToLicenseEvents()
/**
* Fetches git tag ang git hash from `version.ts` file
* It's placed in the user drop down.
*/
this.commitVer = (VERSION.tag || '').replace('v', '') + '.' + VERSION.hash
router.events.subscribe((val) => {
this.routeUrl = this.router.url
@ -127,8 +123,10 @@ export class AppComponent {
this.subscribeToAppActive()
this.subscribeToDemoLimitModal()
/* In Viya streaming apps, content is served within an iframe. This code
makes that iframe "full screen" so it looks like a regular window. */
/**
* In Viya streaming apps, content is served within an iframe. This code
* makes that iframe "full screen" so it looks like a regular window.
*/
if (window.frameElement) {
window.frameElement.setAttribute(
'style',
@ -143,6 +141,9 @@ export class AppComponent {
}
}
/**
* Parses adapter settings that are found in the <sasjs> tag inside index.html
*/
private parseDcAdapterSettings() {
const sasjsElement = document.querySelector('sasjs')
@ -180,9 +181,14 @@ export class AppComponent {
this.appService.sasServiceInit()
}
/**
* Opens licence page with the active licence problem
* Problem details are encoded in the url
*/
public licenceProblemDetails(url: string) {
this.router.navigateByUrl(url)
}
/**
* Based on string provided we return true, false or null
* True -> Compute API
@ -199,6 +205,12 @@ export class AppComponent {
return value === 'true' || false
}
/**
* Listens for an `demo limit` event that will show the `Feature locked modal`
* For exmaple when in editor upload feature is not enabled
* When user tries to upload the excel, editor component will trgger this event
* And stop the execution of file upload code.
*/
public subscribeToDemoLimitModal() {
this.eventService.onDemoLimitModalShow.subscribe((featureName: string) => {
this.demoLimitNotice = {
@ -208,6 +220,10 @@ export class AppComponent {
})
}
/**
* Listens for licence events so banner can be displayed.
* App is free tier, licence will expire, is expired or is invalid
*/
public subscribeToLicenseEvents() {
this.licenceService.isAppFreeTier.subscribe((isAppFreeTier: boolean) => {
this.freeTierBanner = isAppFreeTier
@ -227,6 +243,10 @@ export class AppComponent {
)
}
/**
* Listens for an event that will activate od deactivate full application.
* Based on licence key prcoessing result
*/
public subscribeToAppActive() {
this.licenceService.isAppActivated.subscribe((value: any) => {
this.appActive = value
@ -248,31 +268,51 @@ export class AppComponent {
})
}
/**
* When startupservice request is finished with valid response, this event will
* make sure loading screen is gone.
*/
public subscribeToStartupData() {
this.eventService.onStartupDataLoaded.subscribe(() => {
this.startupDataLoaded = true
})
}
/**
* Opens requests modal when requested from event service
*/
public subscribeToRequestsModal() {
this.eventService.onRequestsModalOpen.subscribe((value: boolean) => {
this.requestsModal = true
})
}
/**
* Closes abort modal with matching ID (there could be multiple abort modals open)
*/
public closeAbortModal(abortId: number) {
let abortIndex = this.sasjsAborts.findIndex((abort) => abort.id === abortId)
this.sasjsAborts.splice(abortIndex, 1)
}
/**
* Toggles sidebar when requested from event service
*/
public toggleSidebar() {
this.eventService.toggleSidebar()
}
/**
* Whether or not current route includes the route from param
* @param route route to check
*/
public isMainRoute(route: string): boolean {
return this.router.url.includes(route)
}
/**
* Opens a page for updating the licence.
*/
public openLicencingPage() {
this.router.navigateByUrl('/licensing/update')
}

View File

@ -1,5 +1,5 @@
declare module 'save-svg-as-png'
declare module 'numbro/dist/languages.min'
declare interface Navigator {
msSaveBlob: (blob: any, defaultName?: string) => boolean
}

View File

@ -11,33 +11,16 @@ import { NotFoundComponent } from './not-found/not-found.component'
import { SasStoreService } from './services/sas-store.service'
import { SharedModule } from './shared/shared.module'
// import { EditorComponent } from './editor/editor.component'
import { ActionsComponent } from './actions/actions.component'
import { AppSharedModule } from './app-shared.module'
import { ApproveDetailsComponent } from './approve-details/approve-details.component'
import { ApproveComponent } from './approve/approve.component'
import { DeployComponent } from './deploy/deploy.component'
import { AutomaticComponent } from './deploy/sections/automatic/automatic.component'
import { ManualComponent } from './deploy/sections/manual/manual.component'
import { SasjsConfiguratorComponent } from './deploy/sections/sasjs-configurator/sasjs-configurator.component'
import { GroupComponent } from './group/group.component'
import { HistoryComponent } from './history/history.component'
import { LicensingComponent } from './licensing/licensing.component'
import { LineageComponent } from './lineage/lineage.component'
import { MetadataComponent } from './metadata/metadata.component'
import { PipesModule } from './pipes/pipes.module'
import { RoleComponent } from './role/role.component'
import { ApproveRouteComponent } from './routes/approve-route/approve-route.component'
import { HistoryRouteComponent } from './routes/history-route/history-route.component'
import { ReviewRouteComponent } from './routes/review-route/review-route.component'
import { LicensingGuard } from './routes/licensing.guard'
import { UsernavRouteComponent } from './routes/usernav-route/usernav-route.component'
import { AppService } from './services/app.service'
import { InfoModalComponent } from './shared/abort-modal/info-modal.component'
import { RequestsModalComponent } from './shared/requests-modal/requests-modal.component'
import { SubmitterComponent } from './submitter/submitter.component'
import { UserComponent } from './user/user.component'
import { HomeModule } from './home/home.module'
import { SystemComponent } from './system/system.component'
import { DirectivesModule } from './directives/directives.module'
import { ViyaApiExplorerComponent } from './viya-api-explorer/viya-api-explorer.component'
import { NgxJsonViewerModule } from 'ngx-json-viewer'
@ -46,27 +29,11 @@ import { NgxJsonViewerModule } from 'ngx-json-viewer'
declarations: [
AppComponent,
NotFoundComponent,
ApproveComponent,
ApproveDetailsComponent,
ActionsComponent,
HistoryComponent,
LineageComponent,
SubmitterComponent,
ApproveRouteComponent,
HistoryRouteComponent,
MetadataComponent,
ReviewRouteComponent,
ReviewRouteComponent,
UsernavRouteComponent,
UserComponent,
GroupComponent,