Compare commits
20 Commits
Author | SHA1 | Date | |
---|---|---|---|
aea252ccc6 | |||
d8908f9c7f | |||
95289aa952 | |||
149e318a87 | |||
8657826e60 | |||
a45f5bb3b2 | |||
ae9a91a7a1 | |||
3638bde633 | |||
3a2361f42c | |||
1bd0eef913 | |||
85aa3b38b7 | |||
678859a68d | |||
e531acee3f | |||
4a45ebfe3b | |||
8fb9a344f2 | |||
8829b60220 | |||
4e64f28732 | |||
a0749de700 | |||
f9623e046e | |||
bce1fd57ef |
30
CHANGELOG.md
30
CHANGELOG.md
@ -1,3 +1,33 @@
|
|||||||
|
## [6.14.1](https://git.datacontroller.io/dc/dc/compare/v6.14.0...v6.14.1) (2025-03-05)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* handle national language datetime formats ([149e318](https://git.datacontroller.io/dc/dc/commit/149e318a8787be0109f25aeec3a1270ea75a97b2))
|
||||||
|
* updating logic to use NLDAT formats ([95289aa](https://git.datacontroller.io/dc/dc/commit/95289aa9524d3cb2b1c248cfb84f6b0d0a490c32))
|
||||||
|
|
||||||
|
# [6.14.0](https://git.datacontroller.io/dc/dc/compare/v6.13.2...v6.14.0) (2025-02-26)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* uses SORTSEQ=LINGUISTIC for the services/metanav/metadetails service ([a45f5bb](https://git.datacontroller.io/dc/dc/commit/a45f5bb3b27a86da5f55ff28c9c7669956484ddf))
|
||||||
|
|
||||||
|
## [6.13.2](https://git.datacontroller.io/dc/dc/compare/v6.13.1...v6.13.2) (2025-02-26)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* get metadata email if exists ([1bd0eef](https://git.datacontroller.io/dc/dc/commit/1bd0eef913593579771c647d80010ce628c00819))
|
||||||
|
|
||||||
|
## [6.13.1](https://git.datacontroller.io/dc/dc/compare/v6.13.0...v6.13.1) (2025-02-18)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* Avoiding LATIN1 unprintables in various UI locations ([bce1fd5](https://git.datacontroller.io/dc/dc/commit/bce1fd57ef397cfdd030552c3f424a8407174729))
|
||||||
|
* updated @sasjs/adapter, crypto-browserify ([4e64f28](https://git.datacontroller.io/dc/dc/commit/4e64f28732868b07ec2ab403912bd384c62c7e1d))
|
||||||
|
|
||||||
# [6.13.0](https://git.datacontroller.io/dc/dc/compare/v6.12.3...v6.13.0) (2025-01-31)
|
# [6.13.0](https://git.datacontroller.io/dc/dc/compare/v6.12.3...v6.13.0) (2025-01-31)
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ const check = (cwd) => {
|
|||||||
onlyAllow:
|
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;',
|
'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:
|
excludePackages:
|
||||||
'@cds/city@1.1.0;@handsontable/angular@14.4.0;handsontable@14.4.0;hyperformula@2.7.0;jackspeak@2.2.0;path-scurry@1.7.0'
|
'@cds/city@1.1.0;@handsontable/angular@14.6.2;handsontable@14.6.2;hyperformula@2.7.1;jackspeak@3.4.3;path-scurry@1.11.1;package-json-from-dist@1.0.1'
|
||||||
},
|
},
|
||||||
(error, json) => {
|
(error, json) => {
|
||||||
if (error) {
|
if (error) {
|
||||||
|
10666
client/package-lock.json
generated
10666
client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -49,14 +49,14 @@
|
|||||||
"@clr/icons": "^13.0.2",
|
"@clr/icons": "^13.0.2",
|
||||||
"@clr/ui": "^17.0.1",
|
"@clr/ui": "^17.0.1",
|
||||||
"@handsontable/angular": "^14.3.0",
|
"@handsontable/angular": "^14.3.0",
|
||||||
"@sasjs/adapter": "4.10.2",
|
"@sasjs/adapter": "^4.11.0",
|
||||||
"@sasjs/utils": "^3.4.0",
|
"@sasjs/utils": "^3.4.0",
|
||||||
"@sheet/crypto": "file:libraries/sheet-crypto.tgz",
|
"@sheet/crypto": "file:libraries/sheet-crypto.tgz",
|
||||||
"@types/d3-graphviz": "^2.6.7",
|
"@types/d3-graphviz": "^2.6.7",
|
||||||
"@types/text-encoding": "0.0.35",
|
"@types/text-encoding": "0.0.35",
|
||||||
"base64-arraybuffer": "^0.2.0",
|
"base64-arraybuffer": "^0.2.0",
|
||||||
"buffer": "^5.4.3",
|
"buffer": "^5.4.3",
|
||||||
"crypto-browserify": "3.12.0",
|
"crypto-browserify": "^3.12.1",
|
||||||
"crypto-js": "^4.2.0",
|
"crypto-js": "^4.2.0",
|
||||||
"d3-graphviz": "^5.0.2",
|
"d3-graphviz": "^5.0.2",
|
||||||
"fs-extra": "^7.0.1",
|
"fs-extra": "^7.0.1",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "dcfrontend",
|
"name": "dcfrontend",
|
||||||
"version": "6.13.0",
|
"version": "6.14.1",
|
||||||
"description": "Data Controller",
|
"description": "Data Controller",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@saithodev/semantic-release-gitea": "^2.1.0",
|
"@saithodev/semantic-release-gitea": "^2.1.0",
|
||||||
|
8
sas/package-lock.json
generated
8
sas/package-lock.json
generated
@ -7,7 +7,7 @@
|
|||||||
"name": "dc-sas",
|
"name": "dc-sas",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sasjs/cli": "^4.11.1",
|
"@sasjs/cli": "^4.11.1",
|
||||||
"@sasjs/core": "^4.53.0"
|
"@sasjs/core": "^4.55.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@coolaj86/urequest": {
|
"node_modules/@coolaj86/urequest": {
|
||||||
@ -116,9 +116,9 @@
|
|||||||
"integrity": "sha512-Grwydm5GxBsYk238PZw41XPjXVVQ9vWcvfZ06L2P0bQbvK0sGn7l69JA7H5MGr3QcaLpiD4Kg70cAh7PgE+JOw=="
|
"integrity": "sha512-Grwydm5GxBsYk238PZw41XPjXVVQ9vWcvfZ06L2P0bQbvK0sGn7l69JA7H5MGr3QcaLpiD4Kg70cAh7PgE+JOw=="
|
||||||
},
|
},
|
||||||
"node_modules/@sasjs/core": {
|
"node_modules/@sasjs/core": {
|
||||||
"version": "4.53.0",
|
"version": "4.55.0",
|
||||||
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.53.0.tgz",
|
"resolved": "https://registry.npmjs.org/@sasjs/core/-/core-4.55.0.tgz",
|
||||||
"integrity": "sha512-bGLa9OUlrA6s8+TFjoxc1/0B7LlR+f1gLEXU5vNnrxbidOZ8raR+i1vgBtF4Ux9432G8g+Ju80E5vR/Q/QyK3Q==",
|
"integrity": "sha512-M+OTbNzQZIpGiQUUAR3RLYAomM32TAjzj9B/OiEqHbz18IsBz2Vufv669SCrWWft2E/MnHlXGVfqQGJOGQYI6w==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@sasjs/lint": {
|
"node_modules/@sasjs/lint": {
|
||||||
|
@ -29,6 +29,6 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sasjs/cli": "^4.11.1",
|
"@sasjs/cli": "^4.11.1",
|
||||||
"@sasjs/core": "^4.53.0"
|
"@sasjs/core": "^4.55.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,6 +96,8 @@ data work.emails;
|
|||||||
/* get email from metadata if not in input table */
|
/* get email from metadata if not in input table */
|
||||||
if metadata_getnasn(uri,"EmailAddresses",1,emailuri)<=0 then do;
|
if metadata_getnasn(uri,"EmailAddresses",1,emailuri)<=0 then do;
|
||||||
putlog "DCWARN: " alert_user " has no emails in MPE_EMAILS or metadata!";
|
putlog "DCWARN: " alert_user " has no emails in MPE_EMAILS or metadata!";
|
||||||
|
end;
|
||||||
|
else do;
|
||||||
if metadata_getattr(emailuri,"Address",user_email)<0 then do;
|
if metadata_getattr(emailuri,"Address",user_email)<0 then do;
|
||||||
putlog 'DCWARN: Unexpected error! Valid emailURI but no email. Weird.';
|
putlog 'DCWARN: Unexpected error! Valid emailURI but no email. Weird.';
|
||||||
end;
|
end;
|
||||||
|
@ -249,26 +249,18 @@ data vars(keep=name type length varnum format);
|
|||||||
end;
|
end;
|
||||||
else do;
|
else do;
|
||||||
if format2='' then format=cats(length,'.');
|
if format2='' then format=cats(length,'.');
|
||||||
else if format2=:'DATETIME' or format2=:'E8601DT' then do;
|
else if format2=:'DATETIME' or format2=:'E8601DT' or format=:'NLDATM'
|
||||||
|
then do;
|
||||||
format='DATETIME19.';
|
format='DATETIME19.';
|
||||||
end;
|
end;
|
||||||
else if format2=:'DATE' or format2=:'DDMMYY'
|
else if format2=:'DATE' or format2=:'DDMMYY'
|
||||||
or format2=:'MMDDYY' or format2=:'YYMMDD'
|
or format2=:'MMDDYY' or format2=:'YYMMDD'
|
||||||
or format2=:'E8601DA' or format2=:'B8601DA'
|
or format2=:'E8601DA' or format2=:'B8601DA'
|
||||||
|
or format=:'NLDATE'
|
||||||
then do;
|
then do;
|
||||||
format='DATE9.';
|
format='DATE9.';
|
||||||
end;
|
end;
|
||||||
else if format2='BEST' & formatl=0 then format=cats('BEST',length,'.');
|
else if format2='BEST' & formatl=0 then format=cats('BEST',length,'.');
|
||||||
/*
|
|
||||||
else if format2=:'DATETIME' or format2=:'DATE' or format2=:'DDMMYY'
|
|
||||||
or format2=:'MMDDYY' or format2=:'YYMMDD' then do;
|
|
||||||
*date or datetime format so use original ;
|
|
||||||
dsid=open("&libref..&ds");
|
|
||||||
vnum=varnum(dsid,name);
|
|
||||||
format=varfmt(dsid,vnum);
|
|
||||||
dsid=close(dsid);
|
|
||||||
end;
|
|
||||||
*/
|
|
||||||
else do;
|
else do;
|
||||||
if formatl=0 then formatl=length;
|
if formatl=0 then formatl=length;
|
||||||
format=cats(format2,formatl,'.',formatd);
|
format=cats(format2,formatl,'.',formatd);
|
||||||
|
@ -82,7 +82,7 @@ create table out1 (rename=(SUBMITTED_ON_DTTM1=SUBMITTED_ON_DTTM)) as
|
|||||||
)
|
)
|
||||||
|
|
||||||
%webout(OPEN)
|
%webout(OPEN)
|
||||||
%webout(OBJ,fromSAS)
|
%webout(OBJ,fromSAS,missing=STRING)
|
||||||
%webout(CLOSE)
|
%webout(CLOSE)
|
||||||
|
|
||||||
|
|
||||||
|
@ -340,7 +340,8 @@ select upcase(loadtype)
|
|||||||
if ctrlOptions ne '' then
|
if ctrlOptions ne '' then
|
||||||
colType=cats(coltype,',"type":"dropdown","source":',ctrlOptions,"}");
|
colType=cats(coltype,',"type":"dropdown","source":',ctrlOptions,"}");
|
||||||
else if type='num' then do;
|
else if type='num' then do;
|
||||||
if format=:'DATETIME' or format=:'E8601DT' then do;
|
if format=:'DATETIME' or format=:'E8601DT' or format=:'NLDATM'
|
||||||
|
then do;
|
||||||
colType=cats(coltype
|
colType=cats(coltype
|
||||||
,',"type":"date","dateFormat":"YYYY-MM-DD HH:mm:ss"'
|
,',"type":"date","dateFormat":"YYYY-MM-DD HH:mm:ss"'
|
||||||
,',"correctFormat":"true"}');
|
,',"correctFormat":"true"}');
|
||||||
@ -349,7 +350,7 @@ select upcase(loadtype)
|
|||||||
end;
|
end;
|
||||||
else if format=:'DATE' or format=:'DDMMYY' or format=:'MMDDYY'
|
else if format=:'DATE' or format=:'DDMMYY' or format=:'MMDDYY'
|
||||||
or format=:'YYMMDD' or format=:'E8601DA' or format=:'B8601DA'
|
or format=:'YYMMDD' or format=:'E8601DA' or format=:'B8601DA'
|
||||||
or format=:'MONYY'
|
or format=:'MONYY' or format=:'NLDATE'
|
||||||
then do;
|
then do;
|
||||||
/* see bottom of file for more date formats!! */
|
/* see bottom of file for more date formats!! */
|
||||||
/* also when updating, update stagedata.sas and mp_getcols.sas
|
/* also when updating, update stagedata.sas and mp_getcols.sas
|
||||||
|
@ -45,6 +45,6 @@ create table work.fromsas (rename=(SUBMITTED_ON=SUBMITTED_ON_DTTM)) as
|
|||||||
)
|
)
|
||||||
|
|
||||||
%webout(OPEN)
|
%webout(OPEN)
|
||||||
%webout(OBJ,fromSAS)
|
%webout(OBJ,fromSAS,missing=STRING)
|
||||||
%webout(CLOSE)
|
%webout(CLOSE)
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ run;
|
|||||||
)
|
)
|
||||||
|
|
||||||
%webout(OPEN)
|
%webout(OPEN)
|
||||||
%webout(OBJ,saslibs)
|
%webout(OBJ,saslibs,missing=STRING)
|
||||||
%webout(CLOSE)
|
%webout(CLOSE)
|
||||||
|
|
||||||
%mpeterm()
|
%mpeterm()
|
||||||
|
@ -341,7 +341,7 @@ proc sql;
|
|||||||
create table ids as select distinct id from graphviz3;
|
create table ids as select distinct id from graphviz3;
|
||||||
|
|
||||||
%webout(OPEN)
|
%webout(OPEN)
|
||||||
%webout(OBJ,fromSAS)
|
%webout(OBJ,fromSAS,missing=STRING)
|
||||||
%webout(OBJ,ids,dslabel=clickableIDS)
|
%webout(OBJ,ids,dslabel=clickableIDS)
|
||||||
%webout(OBJ,info)
|
%webout(OBJ,info)
|
||||||
%webout(OBJ,flatdata)
|
%webout(OBJ,flatdata)
|
||||||
|
@ -23,10 +23,11 @@
|
|||||||
%mm_getdetails(&objecturi
|
%mm_getdetails(&objecturi
|
||||||
,outattrs=work.attributes
|
,outattrs=work.attributes
|
||||||
,outassocs=work.associations
|
,outassocs=work.associations
|
||||||
|
,sortoptions=SORTSEQ=LINGUISTIC
|
||||||
)
|
)
|
||||||
|
|
||||||
%webout(OPEN)
|
%webout(OPEN)
|
||||||
%webout(OBJ,attributes)
|
%webout(OBJ,attributes, missing=STRING)
|
||||||
%webout(OBJ,associations)
|
%webout(OBJ,associations)
|
||||||
%webout(CLOSE)
|
%webout(CLOSE)
|
||||||
%mpeterm()
|
%mpeterm()
|
||||||
|
@ -26,6 +26,6 @@ options metarepository=&repo;
|
|||||||
)
|
)
|
||||||
|
|
||||||
%webout(OPEN)
|
%webout(OPEN)
|
||||||
%webout(OBJ,objects)
|
%webout(OBJ,objects,missing=STRING)
|
||||||
%webout(CLOSE)
|
%webout(CLOSE)
|
||||||
%mpeterm()
|
%mpeterm()
|
||||||
|
Reference in New Issue
Block a user