fix: CSP issues, clarity local library build, fixed some style issues
This commit is contained in:
BIN
client/libraries/clr-angular-17.9.0.tgz
Normal file
BIN
client/libraries/clr-angular-17.9.0.tgz
Normal file
Binary file not shown.
BIN
client/libraries/clr-ui-17.9.0.tgz
Normal file
BIN
client/libraries/clr-ui-17.9.0.tgz
Normal file
Binary file not shown.
2889
client/package-lock.json
generated
2889
client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -45,9 +45,9 @@
|
|||||||
"@angular/platform-browser-dynamic": "^17.3.3",
|
"@angular/platform-browser-dynamic": "^17.3.3",
|
||||||
"@angular/router": "^17.3.3",
|
"@angular/router": "^17.3.3",
|
||||||
"@cds/core": "^6.15.1",
|
"@cds/core": "^6.15.1",
|
||||||
"@clr/angular": "^17.9.0",
|
"@clr/angular": "file:libraries/clr-angular-17.9.0.tgz",
|
||||||
"@clr/icons": "^13.0.2",
|
"@clr/icons": "^13.0.2",
|
||||||
"@clr/ui": "^17.9.0",
|
"@clr/ui": "file:libraries/clr-ui-17.9.0.tgz",
|
||||||
"@handsontable/angular": "^15.3.0",
|
"@handsontable/angular": "^15.3.0",
|
||||||
"@sasjs/adapter": "^4.11.0",
|
"@sasjs/adapter": "^4.11.0",
|
||||||
"@sasjs/utils": "^3.4.0",
|
"@sasjs/utils": "^3.4.0",
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
<div class="clr-row card-block mt-15 d-flex justify-content-between">
|
<div class="clr-row card-block mt-15 d-flex justify-content-between">
|
||||||
<div class="clr-col-md-auto">
|
<div class="clr-col-md-auto">
|
||||||
<div class="encoding-block">
|
<div class="encoding-block">
|
||||||
<clr-radio-container class="mt-0-i" clrInline>
|
<clr-radio-container class="mt-0" clrInline>
|
||||||
<clr-radio-wrapper>
|
<clr-radio-wrapper>
|
||||||
<input
|
<input
|
||||||
type="radio"
|
type="radio"
|
||||||
@ -193,7 +193,7 @@
|
|||||||
libName: (libds?.split('.'))![0],
|
libName: (libds?.split('.'))![0],
|
||||||
tableName: (libds?.split('.'))![1]
|
tableName: (libds?.split('.'))![1]
|
||||||
} as libdsParsed"
|
} as libdsParsed"
|
||||||
class="editor-title text-center mt-0-i"
|
class="editor-title text-center mt-0"
|
||||||
>
|
>
|
||||||
<clr-tooltip>
|
<clr-tooltip>
|
||||||
<clr-icon
|
<clr-icon
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit } from '@angular/core'
|
import { Component, OnInit, ViewEncapsulation } from '@angular/core'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-not-found',
|
selector: 'app-not-found',
|
||||||
@ -6,7 +6,8 @@ import { Component, OnInit } from '@angular/core'
|
|||||||
styleUrls: ['./not-found.component.scss'],
|
styleUrls: ['./not-found.component.scss'],
|
||||||
host: {
|
host: {
|
||||||
class: 'content-container'
|
class: 'content-container'
|
||||||
}
|
},
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class NotFoundComponent implements OnInit {
|
export class NotFoundComponent implements OnInit {
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
@ -350,13 +350,12 @@ export class ApproveDetailsComponent implements AfterViewInit, OnDestroy {
|
|||||||
this.params = param
|
this.params = param
|
||||||
this.response = res
|
this.response = res
|
||||||
this.calcDiff()
|
this.calcDiff()
|
||||||
|
this.callChangesInfo(this.tableId)
|
||||||
})
|
})
|
||||||
.catch((err: any) => err)
|
.catch((err: any) => err)
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
this.loadingTable = true
|
this.loadingTable = true
|
||||||
})
|
})
|
||||||
|
|
||||||
this.callChangesInfo(this.tableId)
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
if (typeof this.router.snapshot.params['tableId'] === 'undefined') {
|
if (typeof this.router.snapshot.params['tableId'] === 'undefined') {
|
||||||
@ -379,6 +378,7 @@ export class ApproveDetailsComponent implements AfterViewInit, OnDestroy {
|
|||||||
this.params = param
|
this.params = param
|
||||||
this.response = res
|
this.response = res
|
||||||
this.calcDiff()
|
this.calcDiff()
|
||||||
|
this.callChangesInfo(this.tableId)
|
||||||
})
|
})
|
||||||
.catch((err: any) => {
|
.catch((err: any) => {
|
||||||
this.acceptLoading = false
|
this.acceptLoading = false
|
||||||
@ -387,8 +387,6 @@ export class ApproveDetailsComponent implements AfterViewInit, OnDestroy {
|
|||||||
this.loadingTable = true
|
this.loadingTable = true
|
||||||
this.setFocus()
|
this.setFocus()
|
||||||
})
|
})
|
||||||
|
|
||||||
this.callChangesInfo(this.tableId)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnDestroy() {
|
ngOnDestroy() {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit } from '@angular/core'
|
import { Component, OnInit, ViewEncapsulation } from '@angular/core'
|
||||||
import { globals } from '../_globals'
|
import { globals } from '../_globals'
|
||||||
import { HelperService } from '../services/helper.service'
|
import { HelperService } from '../services/helper.service'
|
||||||
import { Location } from '@angular/common'
|
import { Location } from '@angular/common'
|
||||||
@ -12,7 +12,8 @@ import { RequestWrapperResponse } from '../models/request-wrapper/RequestWrapper
|
|||||||
styleUrls: ['./role.component.scss'],
|
styleUrls: ['./role.component.scss'],
|
||||||
host: {
|
host: {
|
||||||
class: 'content-container'
|
class: 'content-container'
|
||||||
}
|
},
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class RoleComponent implements OnInit {
|
export class RoleComponent implements OnInit {
|
||||||
public roles: Array<any> | undefined
|
public roles: Array<any> | undefined
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit, OnDestroy } from '@angular/core'
|
import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-home-route',
|
selector: 'app-home-route',
|
||||||
@ -6,7 +6,8 @@ import { Component, OnInit, OnDestroy } from '@angular/core'
|
|||||||
styleUrls: ['./home-route.component.scss'],
|
styleUrls: ['./home-route.component.scss'],
|
||||||
host: {
|
host: {
|
||||||
class: 'content-container'
|
class: 'content-container'
|
||||||
}
|
},
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class HomeRouteComponent implements OnInit, OnDestroy {
|
export class HomeRouteComponent implements OnInit, OnDestroy {
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit } from '@angular/core'
|
import { Component, OnInit, ViewEncapsulation } from '@angular/core'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-review-route',
|
selector: 'app-review-route',
|
||||||
@ -6,7 +6,8 @@ import { Component, OnInit } from '@angular/core'
|
|||||||
styleUrls: ['./review-route.component.scss'],
|
styleUrls: ['./review-route.component.scss'],
|
||||||
host: {
|
host: {
|
||||||
class: 'content-container'
|
class: 'content-container'
|
||||||
}
|
},
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class ReviewRouteComponent implements OnInit {
|
export class ReviewRouteComponent implements OnInit {
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit } from '@angular/core'
|
import { Component, OnInit, ViewEncapsulation } from '@angular/core'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-usernav-route',
|
selector: 'app-usernav-route',
|
||||||
@ -6,7 +6,8 @@ import { Component, OnInit } from '@angular/core'
|
|||||||
styleUrls: ['./usernav-route.component.scss'],
|
styleUrls: ['./usernav-route.component.scss'],
|
||||||
host: {
|
host: {
|
||||||
class: 'content-container'
|
class: 'content-container'
|
||||||
}
|
},
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class UsernavRouteComponent implements OnInit {
|
export class UsernavRouteComponent implements OnInit {
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit, OnDestroy } from '@angular/core'
|
import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-view-route',
|
selector: 'app-view-route',
|
||||||
@ -6,7 +6,8 @@ import { Component, OnInit, OnDestroy } from '@angular/core'
|
|||||||
styleUrls: ['./view-route.component.scss'],
|
styleUrls: ['./view-route.component.scss'],
|
||||||
host: {
|
host: {
|
||||||
class: 'content-container'
|
class: 'content-container'
|
||||||
}
|
},
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class ViewRouteComponent implements OnInit, OnDestroy {
|
export class ViewRouteComponent implements OnInit, OnDestroy {
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Component, OnInit, OnDestroy } from '@angular/core'
|
import { Component, OnInit, OnDestroy, ViewEncapsulation } from '@angular/core'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-xlmap-route',
|
selector: 'app-xlmap-route',
|
||||||
@ -6,7 +6,8 @@ import { Component, OnInit, OnDestroy } from '@angular/core'
|
|||||||
styleUrls: ['./xlmap-route.component.scss'],
|
styleUrls: ['./xlmap-route.component.scss'],
|
||||||
host: {
|
host: {
|
||||||
class: 'content-container'
|
class: 'content-container'
|
||||||
}
|
},
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class XLMapRouteComponent implements OnInit, OnDestroy {
|
export class XLMapRouteComponent implements OnInit, OnDestroy {
|
||||||
constructor() {}
|
constructor() {}
|
||||||
|
@ -223,7 +223,7 @@ export class SasStoreService {
|
|||||||
tables[tableName] = [tableData]
|
tables[tableName] = [tableData]
|
||||||
return (
|
return (
|
||||||
await this.sasService.request(program, tables, {
|
await this.sasService.request(program, tables, {
|
||||||
useComputeApi: false
|
useComputeApi: null // Using WEB APPROACH as a temporary workaround until VIYA JES API is fixed. For other server types then VIYA this is not applicable
|
||||||
})
|
})
|
||||||
).adapterResponse
|
).adapterResponse
|
||||||
}
|
}
|
||||||
@ -232,7 +232,7 @@ export class SasStoreService {
|
|||||||
tables[tableName] = [tableData]
|
tables[tableName] = [tableData]
|
||||||
return (
|
return (
|
||||||
await this.sasService.request(program, tables, {
|
await this.sasService.request(program, tables, {
|
||||||
useComputeApi: false
|
useComputeApi: null // Using WEB APPROACH as a temporary workaround until VIYA JES API is fixed. For other server types then VIYA this is not applicable
|
||||||
})
|
})
|
||||||
).adapterResponse
|
).adapterResponse
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
>
|
>
|
||||||
<h3 class="modal-title">
|
<h3 class="modal-title">
|
||||||
{{ data.modalTitle }}
|
{{ data.modalTitle }}
|
||||||
<p *ngIf="data.sasService && data.sasService.length > 0" class="sasService">
|
<p *ngIf="data.sasService && data.sasService.length > 0" class="sasService mt-0">
|
||||||
SAS Service: <strong>{{ data.sasService }}</strong>
|
SAS Service: <strong>{{ data.sasService }}</strong>
|
||||||
</p>
|
</p>
|
||||||
</h3>
|
</h3>
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<div class="modal-body d-flex">
|
<div class="modal-body d-flex">
|
||||||
<div class="add-new d-flex clr-flex-column">
|
<div class="add-new d-flex clr-flex-column">
|
||||||
<p class="mt-0-i">Add new</p>
|
<p class="mt-0">Add new</p>
|
||||||
|
|
||||||
<hr class="w-100" />
|
<hr class="w-100" />
|
||||||
|
|
||||||
@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
<div class="currently-open">
|
<div class="currently-open">
|
||||||
<div class="d-flex clr-justify-content-between">
|
<div class="d-flex clr-justify-content-between">
|
||||||
<p class="mt-0-i">Currently open</p>
|
<p class="mt-0">Currently open</p>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<a
|
<a
|
||||||
@ -198,7 +198,7 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<ng-container *ngIf="hotColumns.colHeadersVisible">
|
<ng-container *ngIf="hotColumns.colHeadersVisible">
|
||||||
<p class="mt-0-i">Columns To Display (drag and re-order)</p>
|
<p class="mt-0">Columns To Display (drag and re-order)</p>
|
||||||
<div
|
<div
|
||||||
class="cols-list"
|
class="cols-list"
|
||||||
cdkDropList
|
cdkDropList
|
||||||
|
@ -47,11 +47,11 @@
|
|||||||
serverUrl=""
|
serverUrl=""
|
||||||
appLoc="/Public/app/dc"
|
appLoc="/Public/app/dc"
|
||||||
serverType="SASJS"
|
serverType="SASJS"
|
||||||
loginMechanism="Default"
|
loginMechanism="Redirected"
|
||||||
debug="false"
|
debug="false"
|
||||||
useComputeApi="true"
|
useComputeApi="true"
|
||||||
contextName="SAS Job Execution compute context"
|
contextName="SAS Job Execution compute context"
|
||||||
adminGroup="sec-sas9-prd-int-sasplatform-300114sasjs"
|
adminGroup="SASAdministrators"
|
||||||
dcPath="/tmp/dc"
|
dcPath="/tmp/dc"
|
||||||
hotLicenceKey="non-commercial-and-evaluation"
|
hotLicenceKey="non-commercial-and-evaluation"
|
||||||
>
|
>
|
||||||
|
@ -704,12 +704,6 @@ body[cds-theme="light"] {
|
|||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-header {
|
|
||||||
border-bottom: 2px solid #e4e4e4;
|
|
||||||
padding: 0 0 .5rem 0;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.main-container .content-container {
|
.main-container .content-container {
|
||||||
min-height: 0px;
|
min-height: 0px;
|
||||||
position: relative;
|
position: relative;
|
||||||
@ -1496,6 +1490,12 @@ body[cds-theme="light"] {
|
|||||||
|
|
||||||
// REQUESTS-MODAL.COMPONENT
|
// REQUESTS-MODAL.COMPONENT
|
||||||
app-requests-modal {
|
app-requests-modal {
|
||||||
|
.modal-header--accessible {
|
||||||
|
border-bottom: 1px solid #e4e4e4;
|
||||||
|
padding: 0 0 .5rem 0;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
.dropdown-item {
|
.dropdown-item {
|
||||||
&.selected {
|
&.selected {
|
||||||
background: #d8e3e9;
|
background: #d8e3e9;
|
||||||
@ -1509,7 +1509,7 @@ app-requests-modal {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.requests-modal .modal-header .close clr-icon {
|
.requests-modal .modal-header--accessible--accessible .close clr-icon {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2423,10 +2423,6 @@ app-viewboxes {
|
|||||||
height: 80vh;
|
height: 80vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-footer {
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-body {
|
.modal-body {
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@ -2731,6 +2727,12 @@ body[cds-theme="light"] {
|
|||||||
|
|
||||||
// AUTOMATIC-DEPLOY.COMPONENT
|
// AUTOMATIC-DEPLOY.COMPONENT
|
||||||
app-automatic-deploy {
|
app-automatic-deploy {
|
||||||
|
.dc-loc-input-wrapper {
|
||||||
|
input {
|
||||||
|
width: 500px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.auto-deploy {
|
.auto-deploy {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -2824,7 +2826,6 @@ app-info-modal {
|
|||||||
|
|
||||||
.modal-footer {
|
.modal-footer {
|
||||||
position: relative;
|
position: relative;
|
||||||
border-top: 1px solid #dcdcdc;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.systext {
|
.systext {
|
||||||
@ -3038,7 +3039,7 @@ app-edit-record {
|
|||||||
top: 5px;
|
top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-header {
|
.modal-header--accessible {
|
||||||
padding: 0 0 1rem 0;
|
padding: 0 0 1rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3903,6 +3904,14 @@ body[cds-theme="light"] {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.modal .modal-body {
|
||||||
|
padding: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal .modal-footer {
|
||||||
|
padding: 0 15px 15px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
.log-wrapper {
|
.log-wrapper {
|
||||||
min-height: 50px;
|
min-height: 50px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
@ -4070,10 +4079,6 @@ body[cds-theme="light"] {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.mt-0 {
|
.mt-0 {
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mt-0-i {
|
|
||||||
margin-top: 0 !important;
|
margin-top: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4502,10 +4507,14 @@ body[cds-theme="light"] {
|
|||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-header .close clr-icon {
|
.modal-header--accessible {
|
||||||
|
padding: 15px 15px 0 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-header--accessible .close clr-icon {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.show-close .modal-header .close clr-icon {
|
.show-close .modal-header--accessible .close clr-icon {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -18px;
|
top: -18px;
|
||||||
|
Reference in New Issue
Block a user