Compare commits
7 Commits
v7.8.1
...
127-235-issues
| Author | SHA1 | Date | |
|---|---|---|---|
| b661580c60 | |||
| dc4e07a692 | |||
| f2313b31f1 | |||
| f8810ee7e9 | |||
| 8ab4af8397 | |||
| 2382a559a5 | |||
| 5d889d824c |
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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')
|
||||
|
||||
|
||||
@@ -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
@@ -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",
|
||||
|
||||
Generated
+8
-14
@@ -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
@@ -28,7 +28,7 @@
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@sasjs/cli": "4.16.2",
|
||||
"@sasjs/cli": "4.17.4",
|
||||
"@sasjs/core": "4.67.1"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user