diff --git a/src/app/core/assets/jsdraw/Scilligence.JSDraw2.Pro.js b/src/app/core/assets/jsdraw/Scilligence.JSDraw2.Pro.js index 132f5db90..cd7973d45 100644 --- a/src/app/core/assets/jsdraw/Scilligence.JSDraw2.Pro.js +++ b/src/app/core/assets/jsdraw/Scilligence.JSDraw2.Pro.js @@ -25,8 +25,8 @@ JSDraw2.password = { encrypt: true, key: null, iv: null }; // Place the license code below // Licensed to: FDA // Product: JSDraw -// Expiration Date: 2023-Jul-30 -JSDraw2.licensecode='405562532916781761723242424242424131213141512181'; +// Expiration Date: 2024-Jul-30 +JSDraw2.licensecode='405562539916781761723242424242424131213141512181'; ////////////////////////////////////////////////////////////////////////////////// diff --git a/src/app/core/bulk-search/user-query-list-dialog/user-query-list-dialog.component.html b/src/app/core/bulk-search/user-query-list-dialog/user-query-list-dialog.component.html index ccbedc04d..f70c1593b 100644 --- a/src/app/core/bulk-search/user-query-list-dialog/user-query-list-dialog.component.html +++ b/src/app/core/bulk-search/user-query-list-dialog/user-query-list-dialog.component.html @@ -164,10 +164,12 @@

Saved Lists: -
+

- {{message}} +
{{message}}

+

+             This dialog can safely be closed and the process will continue in the background.
      View new list diff --git a/src/app/core/bulk-search/user-query-list-dialog/user-query-list-dialog.component.ts b/src/app/core/bulk-search/user-query-list-dialog/user-query-list-dialog.component.ts index 1fd0dc6b8..5080d7e11 100644 --- a/src/app/core/bulk-search/user-query-list-dialog/user-query-list-dialog.component.ts +++ b/src/app/core/bulk-search/user-query-list-dialog/user-query-list-dialog.component.ts @@ -48,6 +48,7 @@ export class UserQueryListDialogComponent implements OnInit { pastedJson: any; viewCreated = false; downloadJsonHref: SafeUrl; + refreshing = false; constructor( private bulkSearchService: BulkSearchService, @@ -99,6 +100,8 @@ export class UserQueryListDialogComponent implements OnInit { } addList(): void { + this.refreshing = false; + let found = false; this.lists.forEach(item => { if (item === this.listName) { @@ -110,15 +113,19 @@ export class UserQueryListDialogComponent implements OnInit { this.bulkSearchService.saveBulkSearchEtag(null, this.listName, this.etag).subscribe( response => { this.loadID = response.id; setTimeout(() => { + this.refresh('add'); }, 100); this.message = "Status: sending request"; this.showAddButtons = true; }, error => { this.message = "Error: There was a problem adding a new list"; + this.loading = false; + }) } else { this.message = "Cannot add: This list name is already used"; + this.loading = false; } } @@ -150,6 +157,8 @@ export class UserQueryListDialogComponent implements OnInit { } appendList(): void { + this.refreshing = false; + let found = false; this.lists.forEach(item => { if (item === this.listName) { @@ -176,6 +185,8 @@ export class UserQueryListDialogComponent implements OnInit { } useUser(name: string) { + this.refreshing = false; + this.viewCreated = false; this.setUser = null; this.loaded = false; @@ -187,6 +198,7 @@ export class UserQueryListDialogComponent implements OnInit { } pageChange(pageEvent?: PageEvent): void { + this.refreshing = false; if (pageEvent != null) { @@ -221,7 +233,7 @@ export class UserQueryListDialogComponent implements OnInit { let navigationExtras: NavigationExtras = {queryParams: {}}; const newtest = this.activeName; - navigationExtras.queryParams = {'facets': 'User List*' + this.identifier + ':' + newtest.replace(/^.*[\\\/]/, '') + '.true'}; + navigationExtras.queryParams = {'facets': 'User List*' + this.identifier.replace(/[.]/g, '!.') + ':' + newtest.replace(/^.*[\\\/]/, '') + '.true'}; this.router.navigate(['/browse-substance'], navigationExtras); this.dialogRef.close(); @@ -231,9 +243,13 @@ export class UserQueryListDialogComponent implements OnInit { this.bulkSearchService.getSaveBulkListStatus(this.loadID).pipe(take(1)).subscribe(response => { this.status = response.status; + this.refreshing = true; + console.log(response); this.message = "Status: " + this.status; if (this.status === 'Completed.') { this.loading = false; + this.refreshing = false; + } else { setTimeout(() => { this.refresh(type); @@ -242,11 +258,13 @@ export class UserQueryListDialogComponent implements OnInit { }, error => { setTimeout(() => { this.refresh(type); + console.log(error); }, 1000); }) } getUserLists(): void { + this.refreshing = false; this.bulkSearchService.getBulkSearchLists().subscribe(result => { this.bulkSearchService.listEmitter.next(result.lists); this.lists = result.lists; @@ -302,6 +320,7 @@ export class UserQueryListDialogComponent implements OnInit { } getUsers() { + this.refreshing = false; this.viewCreated = false; this.loaded = false; this.view = 'users'; @@ -311,6 +330,7 @@ export class UserQueryListDialogComponent implements OnInit { } useDraft(draft: any) { + this.refreshing = false; this.viewCreated = false; this.message = ''; this.activeName = draft; @@ -337,6 +357,7 @@ export class UserQueryListDialogComponent implements OnInit { } uploadFile(event) { + this.refreshing = false; this.viewCreated = false; if (event.target.files.length !== 1) { this.message = 'No file selected'; @@ -367,6 +388,7 @@ export class UserQueryListDialogComponent implements OnInit { useFile() { this.loading =true; + this.refreshing = false; this.viewCreated = false; if (this.loaded && this.pastedJson) { const read = JSON.parse(this.pastedJson); @@ -395,6 +417,7 @@ export class UserQueryListDialogComponent implements OnInit { useCreated() { this.view = "single"; this.viewCreated = false; + this.refreshing = false; this.loaded = false; this.useDraft(this.listName); } diff --git a/src/app/core/facets-manager/facets-manager.component.ts b/src/app/core/facets-manager/facets-manager.component.ts index 9df8c7b3d..9a84bd85c 100644 --- a/src/app/core/facets-manager/facets-manager.component.ts +++ b/src/app/core/facets-manager/facets-manager.component.ts @@ -271,7 +271,6 @@ export class FacetsManagerComponent implements OnInit, OnDestroy, AfterViewInit } private populateFacets(): void { - console.log(this.privateRawFacets); if (this.privateRawFacets && this.facetsConfig) { if (this.facetsAuthSubscription != null) { this.facetsAuthSubscription.unsubscribe(); @@ -283,7 +282,7 @@ export class FacetsManagerComponent implements OnInit, OnDestroy, AfterViewInit this.showAudit = this.authService.hasRoles('admin'); let facetKeys = Object.keys(this.facetsConfig) || []; if (this._facetDisplayType) { - if (this._facetDisplayType === 'default' || this._facetDisplayType === 'staging') { + if (this._facetDisplayType === 'default' || this.calledFrom === 'staging') { facetKeys.forEach(facetKey => { if (this.facetsConfig[facetKey].length && (facetKey === 'default' || this.authService.hasRoles(facetKey) || (facetKey === 'staging' && this.calledFrom === 'staging'))) { diff --git a/src/app/core/substances-browse/substances-browse.component.html b/src/app/core/substances-browse/substances-browse.component.html index 232543be8..d5d98c47f 100644 --- a/src/app/core/substances-browse/substances-browse.component.html +++ b/src/app/core/substances-browse/substances-browse.component.html @@ -40,7 +40,8 @@
-
+
+
{{structureSearchTerm && searchType}} Query:   @@ -49,23 +50,32 @@ - +  ≥ {{searchCutoff}} + + + + +
-
- - -
+ +
+
+
+ + + Or start a new chemical registration using this Smiles +
+
+
Sequence Query: @@ -235,12 +245,13 @@ - +
+
diff --git a/src/app/fda/config/config.json b/src/app/fda/config/config.json index 99ba8f2b0..74acca964 100644 --- a/src/app/fda/config/config.json +++ b/src/app/fda/config/config.json @@ -1,5 +1,5 @@ { - "version": "3.0.3", + "version": "3.1", "contactEmail": "GSRSSupport@fda.hhs.gov", "displayMatchApplication": "true", "adverseEventShinyHomepageDisplay": "true", @@ -626,6 +626,16 @@ ], "facets": { "substances": { + "staging": [ + "Loaded By", + "Date Loaded", + "Import Status", + "Source", + "Match Count", + "Match Key", + "Validation Type", + "Validation Message" + ], "default": [ "User List", "Deprecated",