Compare commits
14 Commits
d80c59afce
...
v6.16.2
Author | SHA1 | Date | |
---|---|---|---|
a61e2de140 | |||
881d2b060e | |||
4830c6d219 | |||
4c3c9ac88c | |||
7e1c610a4d | |||
8139f495ce | |||
89ab296151 | |||
a0dc92c403 | |||
86134f478a | |||
9a2addc18e | |||
9264ce2a60 | |||
cbd69df708 | |||
ca7caa25b6 | |||
c10330627f |
30
CHANGELOG.md
30
CHANGELOG.md
@ -1,3 +1,33 @@
|
||||
## [6.16.2](https://git.datacontroller.io/dc/dc/compare/v6.16.1...v6.16.2) (2025-06-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* streaming viya deploy `isStreaming` function stability fix ([4830c6d](https://git.datacontroller.io/dc/dc/commit/4830c6d2191cb47abcc7919bc1d49e55595e6121))
|
||||
|
||||
## [6.16.1](https://git.datacontroller.io/dc/dc/compare/v6.16.0...v6.16.1) (2025-06-06)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* viya deploy updating index html based on URL ([86134f4](https://git.datacontroller.io/dc/dc/commit/86134f478ae0b9426e01bfcc9ca4ee597ca733f7))
|
||||
* viya streamed app deploy page flow fix ([89ab296](https://git.datacontroller.io/dc/dc/commit/89ab2961513b245eeea48d1867c6496d3261761e))
|
||||
|
||||
# [6.16.0](https://git.datacontroller.io/dc/dc/compare/v6.15.2...v6.16.0) (2025-06-05)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* adapter bump ([ca7caa2](https://git.datacontroller.io/dc/dc/commit/ca7caa25b6eea1bd4579fb8b67ec9b211a893079))
|
||||
* automatic viya deploy timing issue ([037a97b](https://git.datacontroller.io/dc/dc/commit/037a97b6ffa27b40891531ae6812ebe5b5e71e34))
|
||||
* bump core to ensure ff works on viya streaming deploy ([cbd69df](https://git.datacontroller.io/dc/dc/commit/cbd69df708edf3a8446115ca7315fac3557dcf97)), closes [#156](https://git.datacontroller.io/dc/dc/issues/156)
|
||||
* viya deploy load data timing ([abdbb67](https://git.datacontroller.io/dc/dc/commit/abdbb674713796e5308eb4272197a5c253868a85))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* viya deploy, update the index.html contextname ([7223955](https://git.datacontroller.io/dc/dc/commit/72239558af2ee50cdfc71b7e185e6661ab568ba1))
|
||||
|
||||
## [6.15.2](https://git.datacontroller.io/dc/dc/compare/v6.15.1...v6.15.2) (2025-06-04)
|
||||
|
||||
|
||||
|
8
client/package-lock.json
generated
8
client/package-lock.json
generated
@ -21,7 +21,7 @@
|
||||
"@clr/icons": "^13.0.2",
|
||||
"@clr/ui": "file:libraries/clr-ui-17.9.0.tgz",
|
||||
"@handsontable/angular": "^15.3.0",
|
||||
"@sasjs/adapter": "^4.11.0",
|
||||
"@sasjs/adapter": "^4.12.0",
|
||||
"@sasjs/utils": "^3.4.0",
|
||||
"@sheet/crypto": "file:libraries/sheet-crypto.tgz",
|
||||
"@types/d3-graphviz": "^2.6.7",
|
||||
@ -5912,9 +5912,9 @@
|
||||
]
|
||||
},
|
||||
"node_modules/@sasjs/adapter": {
|
||||
"version": "4.11.3",
|
||||
"resolved": "https://registry.npmjs.org/@sasjs/adapter/-/adapter-4.11.3.tgz",
|
||||
"integrity": "sha512-KF6G4vzs4l4efjpCD02og3kB44uFfJ1u2UWu749VdHtLKNN9l+PO26/moR+YAmRmmz2I9sC3X09fZE1nlN6zgw==",
|
||||
"version": "4.12.0",
|
||||
"resolved": "https://registry.npmjs.org/@sasjs/adapter/-/adapter-4.12.0.tgz",
|
||||
"integrity": "sha512-1W78CzWyovSNSgjJ36fyckAGrzYqaRyDpjyO+sTchv3JjY0G7ZKw2gaX+NVASDGhKvt4L9PEkJ/Gk7ZG2BSkJA==",
|
||||
"hasInstallScript": true,
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
|
@ -49,7 +49,7 @@
|
||||
"@clr/icons": "^13.0.2",
|
||||
"@clr/ui": "file:libraries/clr-ui-17.9.0.tgz",
|
||||
"@handsontable/angular": "^15.3.0",
|
||||
"@sasjs/adapter": "^4.11.0",
|
||||
"@sasjs/adapter": "^4.12.0",
|
||||
"@sasjs/utils": "^3.4.0",
|
||||
"@sheet/crypto": "file:libraries/sheet-crypto.tgz",
|
||||
"@types/d3-graphviz": "^2.6.7",
|
||||
|
@ -8,6 +8,7 @@ import {
|
||||
} from '@angular/core'
|
||||
import SASjs, { SASjsConfig } from '@sasjs/adapter'
|
||||
import { DcAdapterSettings } from 'src/app/models/DcAdapterSettings'
|
||||
import { HelperService } from 'src/app/services'
|
||||
import { DeployService } from 'src/app/services/deploy.service'
|
||||
import { EventService } from 'src/app/services/event.service'
|
||||
import { LoggerService } from 'src/app/services/logger.service'
|
||||
@ -82,7 +83,8 @@ export class AutomaticComponent implements OnInit {
|
||||
private deployService: DeployService,
|
||||
private sasService: SasService,
|
||||
private sasViyaService: SasViyaService,
|
||||
private loggerService: LoggerService
|
||||
private loggerService: LoggerService,
|
||||
private helperService: HelperService
|
||||
) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
@ -325,7 +327,8 @@ export class AutomaticComponent implements OnInit {
|
||||
})
|
||||
}
|
||||
|
||||
this.updateIndexHtmlComputeContext()
|
||||
if (this.helperService.isStreamingViya())
|
||||
this.updateIndexHtmlComputeContext()
|
||||
})
|
||||
.catch((err: any) => {
|
||||
this.eventService.showAbortModal('makedata', JSON.stringify(err))
|
||||
@ -341,18 +344,29 @@ export class AutomaticComponent implements OnInit {
|
||||
}
|
||||
|
||||
/**
|
||||
* Only when on Viya, this method will update the `contextname` in the `DataController.html` on the SAS drive
|
||||
* Only when on Viya streamed app, this method will update the `contextname` in the `index.html` on the SAS drive
|
||||
* This is needed to ensure that the DC will use the same compute context `makedata` service used to run against.
|
||||
*/
|
||||
public async updateIndexHtmlComputeContext() {
|
||||
const filenamePath = location.search.split('/').pop()
|
||||
const filename = filenamePath?.includes('.') ? filenamePath : undefined
|
||||
|
||||
if (!filename) {
|
||||
this.eventService.showAbortModal(
|
||||
null,
|
||||
'We could not figure out the file name of `index.html` based on the url.'
|
||||
)
|
||||
return
|
||||
}
|
||||
|
||||
const indexHtmlContent = await this.sasService.getFileContent(
|
||||
`${this.appLoc}/services`,
|
||||
'DataController.html'
|
||||
filename
|
||||
)
|
||||
|
||||
if (!indexHtmlContent) {
|
||||
this.loggerService.error(
|
||||
`Failed to get DataController.html at ${this.appLoc}/services`
|
||||
`Failed to get ${filename} at ${this.appLoc}/services`
|
||||
)
|
||||
return
|
||||
}
|
||||
@ -374,11 +388,7 @@ export class AutomaticComponent implements OnInit {
|
||||
)
|
||||
|
||||
await this.sasService
|
||||
.updateFileContent(
|
||||
`${this.appLoc}/services`,
|
||||
'DataController.html',
|
||||
updatedContent
|
||||
)
|
||||
.updateFileContent(`${this.appLoc}/services`, filename, updatedContent)
|
||||
.catch((err: any) => {
|
||||
this.loggerService.error(`Failed to update DataController.html: ${err}`)
|
||||
})
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { Injectable } from '@angular/core'
|
||||
import cloneDeep from 'lodash-es/cloneDeep'
|
||||
import * as CryptoMD5 from 'crypto-js/md5'
|
||||
import { SasService } from './sas.service'
|
||||
|
||||
const librariesToShow = 50
|
||||
|
||||
@ -12,7 +13,7 @@ export class HelperService {
|
||||
public loadMoreCount: number = librariesToShow
|
||||
public isMicrosoft: boolean = false
|
||||
|
||||
constructor() {
|
||||
constructor(private sasService: SasService) {
|
||||
this.isMicrosoft = this.isIEorEDGE()
|
||||
console.log('Is IE or Edge?', this.isMicrosoft)
|
||||
}
|
||||
@ -314,6 +315,20 @@ export class HelperService {
|
||||
}
|
||||
}
|
||||
|
||||
public isStreamingViya(): boolean {
|
||||
const serverType = this.sasService.getServerType()
|
||||
|
||||
if (serverType !== 'SASVIYA') return false
|
||||
|
||||
if (
|
||||
location.search.toLowerCase().includes('?_file=') &&
|
||||
location.pathname.toLowerCase().includes('/sasjobexecution')
|
||||
)
|
||||
return true
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
// Required type is NodeJS.Timeout
|
||||
// But NodeJS is not available in browser so we have to go with any
|
||||
private debounceTimeout: any
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "dcfrontend",
|
||||
"version": "6.15.2",
|
||||
"version": "6.16.2",
|
||||
"description": "Data Controller",
|
||||
"devDependencies": {
|
||||
"@saithodev/semantic-release-gitea": "^2.1.0",
|
||||
|
10
sas/package-lock.json
generated
10
sas/package-lock.json
generated
@ -7,7 +7,7 @@
|
||||
"name": "dc-sas",
|
||||
"dependencies": {
|
||||
"@sasjs/cli": "^4.12.7",
|
||||
"@sasjs/core": "^4.58.1"
|
||||
"@sasjs/core": "^4.58.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@coolaj86/urequest": {
|
||||
@ -76,12 +76,18 @@
|
||||
"sasjs": "build/index.js"
|
||||
}
|
||||
},
|
||||
"node_modules/@sasjs/core": {
|
||||
"node_modules/@sasjs/cli/node_modules/@sasjs/core": {
|
||||
"version": "4.58.1",
|
||||
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.58.1.tgz",
|
||||
"integrity": "sha512-Qp6KAtp1VZcmN5HLGSIUE9H41qpFuihWLbjNygOYp+NRs/Y8VagpHrYeyIQbh3cSgchiJEMXudLql8hoU06wpg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@sasjs/core": {
|
||||
"version": "4.58.2",
|
||||
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.58.2.tgz",
|
||||
"integrity": "sha512-P/DMCHfFrZT+50DIT7CiYBSjxOo5m0AHBLNKHGFOMfQnEymOKekQPk2Xzw5wkQyg8gjp2yBKhRwhpni5rvJFgQ==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@sasjs/lint": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@sasjs/lint/-/lint-2.4.3.tgz",
|
||||
|
@ -29,6 +29,6 @@
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@sasjs/cli": "^4.12.7",
|
||||
"@sasjs/core": "^4.58.1"
|
||||
"@sasjs/core": "^4.58.2"
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user