Compare commits

...

7 Commits

Author SHA1 Message Date
sead b661580c60 fix: validate pasted values 2026-05-22 22:10:58 +02:00
sead dc4e07a692 fix: viewLibs now fires only once, libPromise shared between the calls 2026-05-22 21:57:53 +02:00
semantic-release-bot f2313b31f1 chore(release): 7.8.2 [skip ci]
## [7.8.2](https://git.datacontroller.io/dc/dc/compare/v7.8.1...v7.8.2) (2026-05-20)

### Bug Fixes

* bumping ws package ([2382a55](2382a559a5))
* enabling version restore for non admin users ([5d889d8](5d889d824c))
2026-05-20 13:20:34 +00:00
allan f8810ee7e9 Merge pull request 'fix: bumping ws package' (#234) from customerfeedback into main
Release / Build-production-and-ng-test (push) Successful in 3m17s
Release / Build-and-test-development (push) Successful in 8m27s
Release / release (push) Successful in 7m4s
Reviewed-on: #234
2026-05-20 13:05:56 +00:00
allan 8ab4af8397 Merge branch 'main' into customerfeedback
Build / Build-and-ng-test (pull_request) Successful in 3m29s
Build / Build-and-test-development (pull_request) Successful in 8m29s
Lighthouse Checks / lighthouse (pull_request) Successful in 17m59s
2026-05-20 12:45:51 +00:00
4gl 2382a559a5 fix: bumping ws package
Build / Build-and-ng-test (pull_request) Failing after 3m30s
Build / Build-and-test-development (pull_request) Has been skipped
Lighthouse Checks / lighthouse (pull_request) Failing after 3m5s
2026-05-20 13:11:13 +01:00
Unknown 5d889d824c fix: enabling version restore for non admin users
Release / Build-production-and-ng-test (push) Failing after 1m11s
Release / Build-and-test-development (push) Has been skipped
Release / release (push) Has been skipped
2026-05-20 12:38:21 +01:00
8 changed files with 66 additions and 43 deletions
+8
View File
@@ -1,3 +1,11 @@
## [7.8.2](https://git.datacontroller.io/dc/dc/compare/v7.8.1...v7.8.2) (2026-05-20)
### Bug Fixes
* bumping ws package ([2382a55](https://git.datacontroller.io/dc/dc/commit/2382a559a5ac32b0f815776a90207650d5809ba6))
* enabling version restore for non admin users ([5d889d8](https://git.datacontroller.io/dc/dc/commit/5d889d824cc2f8e4ea089cbb578453125dc4ba6c))
## [7.8.1](https://git.datacontroller.io/dc/dc/compare/v7.8.0...v7.8.1) (2026-05-15)
+15
View File
@@ -2956,6 +2956,21 @@ export class EditorComponent implements OnInit, AfterViewInit, OnDestroy {
}
})
hot.addHook('afterPaste', (_data: any, coords: any) => {
// Trigger dynamic-source load + validation for pasted cells so HARDSELECT_HOOK
// rejects out-of-dropdown values (otherwise paste skips dynamicCellValidation).
const rows = new Set<number>()
for (const range of coords) {
for (let r = range.startRow; r <= range.endRow; r++) {
for (let c = range.startCol; c <= range.endCol; c++) {
this.dynamicCellValidation(r, c)
rows.add(r)
}
}
}
hot.validateRows([...rows])
})
hot.addHook('afterRender', (isForced: boolean) => {
this.eventService.dispatchEvent('resize')
+13 -3
View File
@@ -155,13 +155,23 @@ export class SasStoreService {
.adapterResponse
}
private libsPromise: Promise<any> | null = null
/**
*
* @returns All libraries
*/
public async viewLibs() {
return (await this.sasService.request('public/viewlibs', null))
.adapterResponse
public viewLibs() {
if (!this.libsPromise) {
this.libsPromise = this.sasService
.request('public/viewlibs', null)
.then((res: any) => res.adapterResponse)
.catch((err: any) => {
this.libsPromise = null
throw err
})
}
return this.libsPromise
}
public async refreshLibInfo(libref: string) {
@@ -769,9 +769,6 @@ export class ViewerComponent
let ds = []
ds = this.libDataset.split('.')
if (globals.viewer.startupSet) {
this.libraries = globals.viewer.libraries
} else {
await this.sasStoreService
.viewLibs()
.then((res: any) => {
@@ -780,7 +777,6 @@ export class ViewerComponent
.catch((err: any) => {
this.loggerService.error(err)
})
}
this.lib = ds[0]
@@ -814,9 +810,6 @@ export class ViewerComponent
libDataset = this.libDataset
this.libTab = libDataset
} else {
if (globals.viewer.startupSet) {
this.libraries = globals.viewer.libraries
} else {
await this.sasStoreService
.viewLibs()
@@ -826,7 +819,6 @@ export class ViewerComponent
.catch((err: any) => {
this.loggerService.error(err)
})
}
if (typeof this.table !== 'undefined') {
if (globals.viewer.startupSet) {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "dcfrontend",
"version": "7.8.1",
"version": "7.8.2",
"description": "Data Controller",
"devDependencies": {
"@saithodev/semantic-release-gitea": "^2.1.0",
+8 -14
View File
@@ -6,7 +6,7 @@
"": {
"name": "dc-sas",
"dependencies": {
"@sasjs/cli": "4.16.2",
"@sasjs/cli": "4.17.4",
"@sasjs/core": "4.67.1"
}
},
@@ -249,13 +249,13 @@
}
},
"node_modules/@sasjs/cli": {
"version": "4.16.2",
"resolved": "https://registry.npmjs.org/@sasjs/cli/-/cli-4.16.2.tgz",
"integrity": "sha512-hIyIK8reud8zS6A40R4kgE7Uh0X2Ppaqn3jWt5JuNoZLqfooVBv/2kuqJX+CNkOW5QAaGhoPHCvj99Ujvk4ExQ==",
"version": "4.17.4",
"resolved": "https://registry.npmjs.org/@sasjs/cli/-/cli-4.17.4.tgz",
"integrity": "sha512-lNkIy6sojgT5mRQ/tkh8lyrIxNhrREw+CTkfEmy+mDiOh9COfGWMoSpBjRn2iqHX+dwOKaUlq6UwU2zHDLOmqQ==",
"license": "ISC",
"dependencies": {
"@sasjs/adapter": "4.16.7",
"@sasjs/core": "4.64.1",
"@sasjs/core": "4.67.1",
"@sasjs/lint": "2.4.3",
"@sasjs/utils": "3.5.8",
"adm-zip": "0.5.10",
@@ -279,12 +279,6 @@
"sasjs": "build/index.js"
}
},
"node_modules/@sasjs/cli/node_modules/@sasjs/core": {
"version": "4.64.1",
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.64.1.tgz",
"integrity": "sha512-gdVzSM3+FYvd9XZ26ftLv6yDLndA6L/14nQGLUqjfL/jTPwuhJiojrkaLBAsPDlnRbHSMZSqTF94cKLvS09NBg==",
"license": "MIT"
},
"node_modules/@sasjs/cli/node_modules/@sasjs/utils": {
"version": "3.5.8",
"resolved": "https://registry.npmjs.org/@sasjs/utils/-/utils-3.5.8.tgz",
@@ -2346,9 +2340,9 @@
}
},
"node_modules/ws": {
"version": "8.19.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
"integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
"version": "8.20.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
"integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
+1 -1
View File
@@ -28,7 +28,7 @@
},
"private": true,
"dependencies": {
"@sasjs/cli": "4.16.2",
"@sasjs/cli": "4.17.4",
"@sasjs/core": "4.67.1"
}
}
+4
View File
@@ -45,6 +45,10 @@
from &dc_libref..mpe_submit
where TABLE_ID="&load_ref";
%local base_lib base_ds;
%let base_lib=%scan(&libds,1,.);
%let base_ds=%scan(&libds,2,.);
/**
* check if there is actually a version to restore
*/