data lake
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -181,40 +181,30 @@
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- Blending Keys button (only shown for blending type with non-empty blending_lakeids) -->
|
<!-- Blending Keys button (only shown for blending type with non-empty blending_lakeids) -->
|
||||||
<button class="btn btn-icon"
|
<button class="btn btn-icon" (click)="fetchBlendingKeys(user)" title="Configure Blending Query"
|
||||||
(click)="fetchBlendingKeys(user)"
|
*ngIf="canShowBlendingAction(user)">
|
||||||
title="Configure Blending Query"
|
|
||||||
*ngIf="canShowBlendingAction(user)">
|
|
||||||
<clr-icon shape="code"></clr-icon>
|
<clr-icon shape="code"></clr-icon>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- Field Mapping button -->
|
<!-- Field Mapping button -->
|
||||||
<button class="btn btn-icon"
|
<button class="btn btn-icon" (click)="openFieldMappingModal(user)" title="Field Mapping"
|
||||||
(click)="openFieldMappingModal(user)"
|
*ngIf="user.url && user.sure_connect_id">
|
||||||
title="Field Mapping"
|
|
||||||
*ngIf="user.url && user.sure_connect_id">
|
|
||||||
<clr-icon shape="map"></clr-icon>
|
<clr-icon shape="map"></clr-icon>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- Scheduler button -->
|
<!-- Scheduler button -->
|
||||||
<button class="btn btn-icon"
|
<button class="btn btn-icon" (click)="openSchedulerModal(user)" title="Scheduler">
|
||||||
(click)="openSchedulerModal(user)"
|
|
||||||
title="Scheduler">
|
|
||||||
<clr-icon shape="clock"></clr-icon>
|
<clr-icon shape="clock"></clr-icon>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- Webhook toggle button -->
|
<!-- Webhook toggle button -->
|
||||||
<button class="btn btn-icon"
|
<button class="btn btn-icon" (click)="toggleWebhook(user)" title="Toggle Webhook">
|
||||||
(click)="toggleWebhook(user)"
|
|
||||||
title="Toggle Webhook">
|
|
||||||
<clr-icon shape="network-globe"></clr-icon>
|
<clr-icon shape="network-globe"></clr-icon>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- Copy Webhook URL button -->
|
<!-- Copy Webhook URL button -->
|
||||||
<button class="btn btn-icon"
|
<button class="btn btn-icon" (click)="copyWebhookUrl(user.webhook_url)" title="Copy Webhook URL"
|
||||||
(click)="copyWebhookUrl(user.webhook_url)"
|
*ngIf="user.webhook_url && user.webhook_url.trim() !== ''">
|
||||||
title="Copy Webhook URL"
|
|
||||||
*ngIf="user.webhook_url && user.webhook_url.trim() !== ''">
|
|
||||||
<clr-icon shape="copy-to-clipboard"></clr-icon>
|
<clr-icon shape="copy-to-clipboard"></clr-icon>
|
||||||
</button>
|
</button>
|
||||||
</clr-dg-cell>
|
</clr-dg-cell>
|
||||||
@@ -455,16 +445,16 @@
|
|||||||
instanceId="edit-form-{{rowSelected.id}}"></app-cron-job-builder>
|
instanceId="edit-form-{{rowSelected.id}}"></app-cron-job-builder>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="clr-col-sm-12">
|
<!-- <div class="clr-col-sm-12">
|
||||||
<label> json</label>
|
<label> json</label>
|
||||||
<input id="name" type="Text" class="form-control" style="border: none; outline: none; height:33px !important;"
|
<input id="name" type="Text" class="form-control" style="border: none; outline: none; height:33px !important;"
|
||||||
[(ngModel)]="rowSelected.json" name=" json " />
|
[(ngModel)]="rowSelected.json" name=" json " />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="clr-col-sm-12">
|
<div class="clr-col-sm-12">
|
||||||
<label>Url</label>
|
<label>Url Endpoint</label>
|
||||||
<input class="clr-input" type="text" [(ngModel)]="rowSelected.url_endpoint" name="url_endpoint" />
|
<input class="clr-input" type="text" [(ngModel)]="rowSelected.url_endpoint" name="url_endpoint" />
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div class="clr-col-sm-12">
|
<div class="clr-col-sm-12">
|
||||||
<label>Batch Volume</label>
|
<label>Batch Volume</label>
|
||||||
@@ -493,9 +483,7 @@
|
|||||||
<label>Blending Data Lakes</label>
|
<label>Blending Data Lakes</label>
|
||||||
<div class="checkbox-container">
|
<div class="checkbox-container">
|
||||||
<div *ngFor="let dataLake of dataLakeList" class="checkbox-item">
|
<div *ngFor="let dataLake of dataLakeList" class="checkbox-item">
|
||||||
<input
|
<input type="checkbox" [value]="dataLake.id"
|
||||||
type="checkbox"
|
|
||||||
[value]="dataLake.id"
|
|
||||||
(change)="onEditBlendingLakeCheckboxChange($event, dataLake.id)"
|
(change)="onEditBlendingLakeCheckboxChange($event, dataLake.id)"
|
||||||
[checked]="isEditBlendingLakeSelected(dataLake.id)">
|
[checked]="isEditBlendingLakeSelected(dataLake.id)">
|
||||||
<label>{{ dataLake.name }}</label>
|
<label>{{ dataLake.name }}</label>
|
||||||
@@ -608,16 +596,16 @@
|
|||||||
(cronExpressionChange)="onAddCronExpressionChange($event)" instanceId="add-form"></app-cron-job-builder>
|
(cronExpressionChange)="onAddCronExpressionChange($event)" instanceId="add-form"></app-cron-job-builder>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="clr-col-sm-12">
|
<!-- <div class="clr-col-sm-12">
|
||||||
<label>json</label>
|
<label>json</label>
|
||||||
<input class="form-control" type="Text" formControlName="json"
|
<input class="form-control" type="Text" formControlName="json"
|
||||||
style="border: none; outline: none; height:33px !important;" />
|
style="border: none; outline: none; height:33px !important;" />
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div class="clr-col-sm-12">
|
<!-- <div class="clr-col-sm-12">
|
||||||
<label> Url Endpoint</label>
|
<label> Url Endpoint</label>
|
||||||
<input class="clr-input" type="text" formControlName="url_endpoint" />
|
<input class="clr-input" type="text" formControlName="url_endpoint" />
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<div class="clr-col-sm-12">
|
<div class="clr-col-sm-12">
|
||||||
<label> Batch Volume</label>
|
<label> Batch Volume</label>
|
||||||
@@ -646,10 +634,7 @@
|
|||||||
<label>Blending Data Lakes</label>
|
<label>Blending Data Lakes</label>
|
||||||
<div class="checkbox-container">
|
<div class="checkbox-container">
|
||||||
<div *ngFor="let dataLake of dataLakeList" class="checkbox-item">
|
<div *ngFor="let dataLake of dataLakeList" class="checkbox-item">
|
||||||
<input
|
<input type="checkbox" [value]="dataLake.id" (change)="onBlendingLakeCheckboxChange($event, dataLake.id)"
|
||||||
type="checkbox"
|
|
||||||
[value]="dataLake.id"
|
|
||||||
(change)="onBlendingLakeCheckboxChange($event, dataLake.id)"
|
|
||||||
[checked]="isBlendingLakeSelected(dataLake.id)">
|
[checked]="isBlendingLakeSelected(dataLake.id)">
|
||||||
<label>{{ dataLake.name }}</label>
|
<label>{{ dataLake.name }}</label>
|
||||||
</div>
|
</div>
|
||||||
@@ -1031,10 +1016,8 @@
|
|||||||
<!-- SQL Query Editor -->
|
<!-- SQL Query Editor -->
|
||||||
<div class="sql-editor-container">
|
<div class="sql-editor-container">
|
||||||
<h4>SQL Query Builder</h4>
|
<h4>SQL Query Builder</h4>
|
||||||
<textarea class="clr-textarea sql-textarea"
|
<textarea class="clr-textarea sql-textarea" [(ngModel)]="sqlQueryText"
|
||||||
[(ngModel)]="sqlQueryText"
|
placeholder="Enter your SQL query here using the available headers..." rows="6"></textarea>
|
||||||
placeholder="Enter your SQL query here using the available headers..."
|
|
||||||
rows="6"></textarea>
|
|
||||||
<div class="editor-actions">
|
<div class="editor-actions">
|
||||||
<button class="btn btn-primary" (click)="updateSqlQuery()">Update SQL Query</button>
|
<button class="btn btn-primary" (click)="updateSqlQuery()">Update SQL Query</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -1059,8 +1042,7 @@
|
|||||||
<h5>Data Lake {{ keyData.lakeId }} - Table: {{ keyData.tableName }}</h5>
|
<h5>Data Lake {{ keyData.lakeId }} - Table: {{ keyData.tableName }}</h5>
|
||||||
</div>
|
</div>
|
||||||
<div class="headers-container">
|
<div class="headers-container">
|
||||||
<span class="header-tag" *ngFor="let header of keyData.headers"
|
<span class="header-tag" *ngFor="let header of keyData.headers" (click)="insertHeaderIntoQuery(header)">
|
||||||
(click)="insertHeaderIntoQuery(header)">
|
|
||||||
{{ header }}
|
{{ header }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -1075,12 +1057,12 @@
|
|||||||
SQL Query Builder
|
SQL Query Builder
|
||||||
</h4>
|
</h4>
|
||||||
<div class="sql-editor-container">
|
<div class="sql-editor-container">
|
||||||
<textarea class="clr-textarea sql-textarea"
|
<textarea class="clr-textarea sql-textarea" [(ngModel)]="sqlQueryText"
|
||||||
[(ngModel)]="sqlQueryText"
|
placeholder="Enter your SQL query here using the available headers. Click on header names above to insert them into your query."
|
||||||
placeholder="Enter your SQL query here using the available headers. Click on header names above to insert them into your query."
|
rows="8"></textarea>
|
||||||
rows="8"></textarea>
|
|
||||||
<div class="editor-hint">
|
<div class="editor-hint">
|
||||||
<small class="clr-subtext">Tip: Click on header names above to automatically insert them into your query</small>
|
<small class="clr-subtext">Tip: Click on header names above to automatically insert them into your
|
||||||
|
query</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1115,11 +1097,8 @@
|
|||||||
<span class="field-tag">{{ field.original }}</span>
|
<span class="field-tag">{{ field.original }}</span>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="text"
|
<input type="text" class="clr-input mapping-input" [(ngModel)]="field.mapped"
|
||||||
class="clr-input mapping-input"
|
placeholder="Enter new field name" (ngModelChange)="updateFieldMapping(i, $event)">
|
||||||
[(ngModel)]="field.mapped"
|
|
||||||
placeholder="Enter new field name"
|
|
||||||
(ngModelChange)="updateFieldMapping(i, $event)">
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -1133,7 +1112,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-outline" (click)="closeFieldMappingModal()">Cancel</button>
|
<button type="button" class="btn btn-outline" (click)="closeFieldMappingModal()">Cancel</button>
|
||||||
<button type="button" class="btn btn-primary" (click)="updateFieldMappings()" [disabled]="!fieldMappingData || fieldMappingData.length === 0">Update Field Mappings</button>
|
<button type="button" class="btn btn-primary" (click)="updateFieldMappings()"
|
||||||
|
[disabled]="!fieldMappingData || fieldMappingData.length === 0">Update Field Mappings</button>
|
||||||
</div>
|
</div>
|
||||||
</clr-modal>
|
</clr-modal>
|
||||||
|
|
||||||
|
|||||||
@@ -171,6 +171,12 @@ export class Data_lakeComponent implements OnInit {
|
|||||||
webhook_url: [null] // Add webhook_url field
|
webhook_url: [null] // Add webhook_url field
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Set default SureConnect value after form initialization if list is already loaded
|
||||||
|
if (this.sureConnectList && this.sureConnectList.length > 0) {
|
||||||
|
const defaultSureConnectId = this.sureConnectList[0].id;
|
||||||
|
this.entryForm.get('sure_connect_id')?.setValue(defaultSureConnectId);
|
||||||
|
}
|
||||||
|
|
||||||
// form code start
|
// form code start
|
||||||
this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => {
|
this.extensionService.getJsonObjectsByFormCodeList(this.formcode).subscribe(data => {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
@@ -262,6 +268,20 @@ export class Data_lakeComponent implements OnInit {
|
|||||||
this.sureConnectService.getAll().subscribe((data: any[]) => {
|
this.sureConnectService.getAll().subscribe((data: any[]) => {
|
||||||
this.sureConnectList = data;
|
this.sureConnectList = data;
|
||||||
console.log('SureConnect List:', this.sureConnectList);
|
console.log('SureConnect List:', this.sureConnectList);
|
||||||
|
|
||||||
|
// Set default SureConnect value if list is not empty
|
||||||
|
if (this.sureConnectList && this.sureConnectList.length > 0) {
|
||||||
|
// Set the first SureConnect item as default
|
||||||
|
const defaultSureConnectId = this.sureConnectList[0].id;
|
||||||
|
|
||||||
|
// Set default for ADD form if it exists
|
||||||
|
if (this.entryForm && this.entryForm.get('sure_connect_id')) {
|
||||||
|
// Only set default if no value is already selected
|
||||||
|
if (!this.entryForm.get('sure_connect_id')?.value) {
|
||||||
|
this.entryForm.get('sure_connect_id')?.setValue(defaultSureConnectId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}, (error) => {
|
}, (error) => {
|
||||||
console.log('Error fetching SureConnect list:', error);
|
console.log('Error fetching SureConnect list:', error);
|
||||||
});
|
});
|
||||||
@@ -716,6 +736,12 @@ export class Data_lakeComponent implements OnInit {
|
|||||||
// Set the selected SureConnect for edit form
|
// Set the selected SureConnect for edit form
|
||||||
this.selectedSureConnect = row.sure_connect_id || null;
|
this.selectedSureConnect = row.sure_connect_id || null;
|
||||||
|
|
||||||
|
// If no SureConnect is selected, set the first one as default
|
||||||
|
if (!this.rowSelected.sure_connect_id && this.sureConnectList && this.sureConnectList.length > 0) {
|
||||||
|
this.rowSelected.sure_connect_id = this.sureConnectList[0].id;
|
||||||
|
this.selectedSureConnect = this.sureConnectList[0].id;
|
||||||
|
}
|
||||||
|
|
||||||
// Initialize blending lake IDs for edit form from string
|
// Initialize blending lake IDs for edit form from string
|
||||||
if (row.blending_lakeids && typeof row.blending_lakeids === 'string') {
|
if (row.blending_lakeids && typeof row.blending_lakeids === 'string') {
|
||||||
this.editSelectedBlendingLakeIds = row.blending_lakeids.split(',').filter(id => id.trim() !== '');
|
this.editSelectedBlendingLakeIds = row.blending_lakeids.split(',').filter(id => id.trim() !== '');
|
||||||
@@ -889,6 +915,17 @@ export class Data_lakeComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
// Reset blending_lakeids to empty string
|
// Reset blending_lakeids to empty string
|
||||||
this.entryForm.get('blending_lakeids')?.setValue('');
|
this.entryForm.get('blending_lakeids')?.setValue('');
|
||||||
|
|
||||||
|
// Set default SureConnect value if available
|
||||||
|
if (this.sureConnectList && this.sureConnectList.length > 0) {
|
||||||
|
const defaultSureConnectId = this.sureConnectList[0].id;
|
||||||
|
// Only set default if no value is already selected
|
||||||
|
if (!this.entryForm.get('sure_connect_id')?.value) {
|
||||||
|
this.entryForm.get('sure_connect_id')?.setValue(defaultSureConnectId);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.entryForm.get('sure_connect_id')?.setValue('');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.modalAdd = true;
|
this.modalAdd = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -546,7 +546,7 @@ export class UnifiedChartComponent implements OnInit, OnChanges, OnDestroy {
|
|||||||
// Check if filters are available
|
// Check if filters are available
|
||||||
hasFilters(): boolean {
|
hasFilters(): boolean {
|
||||||
const hasBaseFilters = this.baseFilters && this.baseFilters.length > 0;
|
const hasBaseFilters = this.baseFilters && this.baseFilters.length > 0;
|
||||||
console.log('Checking for filters - baseFilters:', this.baseFilters, 'hasBaseFilters:', hasBaseFilters);
|
// console.log('Checking for filters - baseFilters:', this.baseFilters, 'hasBaseFilters:', hasBaseFilters);
|
||||||
return hasBaseFilters;
|
return hasBaseFilters;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user