Redmind commited on
Commit
71aaabf
·
verified ·
1 Parent(s): e0ede30

Update templates/company_profile.html

Browse files
Files changed (1) hide show
  1. templates/company_profile.html +206 -86
templates/company_profile.html CHANGED
@@ -2,7 +2,8 @@
2
  <html lang="en">
3
 
4
  <head>
5
-
 
6
  <title>Company Profile</title>
7
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
8
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
@@ -15,6 +16,12 @@
15
  rel="stylesheet" />
16
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" />
17
  <style>
 
 
 
 
 
 
18
  body {
19
  background-color: transparent !important;
20
  }
@@ -24,6 +31,57 @@
24
  margin-top: 10px;
25
  margin-left: -50px;
26
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
 
28
  .content-wrapper {
29
  background-color: transparent !important;
@@ -45,8 +103,8 @@
45
 
46
 
47
  .table-responsive {
48
- width: 100%;
49
-
50
  }
51
 
52
  .table {
@@ -102,17 +160,17 @@
102
 
103
  th:nth-child(3),
104
  td:nth-child(3) {
105
- width: 10%;
106
  }
107
 
108
  th:nth-child(4),
109
  td:nth-child(4) {
110
- width: 15%;
111
  }
112
 
113
  th:nth-child(5),
114
  td:nth-child(5) {
115
- width: 20%;
116
  }
117
 
118
  th:nth-child(6),
@@ -128,6 +186,7 @@
128
  td:nth-child(8) {
129
  width: 10%;
130
  }
 
131
  .alert {
132
  position: relative;
133
  padding: 15px;
@@ -169,11 +228,11 @@
169
  <div class="content-header">
170
  <div class="container-fluid">
171
  <div class="row mb-2">
172
- <div class="col-12">
173
  <div class="col-12 d-flex justify-content-end mb-3">
174
  <button class="btn btn-primary" style="margin-bottom:-30px;position:fixed" id="add">Add</button>
175
  </div>
176
- </div>
177
  <input type="hidden" id="userRole" name="userRole" value={{role}}>
178
  <div class="row">
179
  <div id="message-container" style="margin-left: 200px;width:600px;"></div>
@@ -183,12 +242,27 @@
183
  </div>
184
  <!-- Main content -->
185
  <section class="content" id="startTable" style="display: none;">
186
- <div class="container-fluid">
187
  <div class="row">
188
  <div class="col-12">
189
  <div class="card">
190
  <div class="card-body table-container">
191
- <table id="companyTable" class=" table table-bordered table-striped">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
192
  <thead>
193
  <tr>
194
  <th>Sno</th>
@@ -201,8 +275,7 @@
201
  <th>Delete</th>
202
  </tr>
203
  </thead>
204
- <tbody>
205
- </tbody>
206
  </table>
207
  </div>
208
  </div>
@@ -237,17 +310,19 @@
237
  <label for="domain">Domain<span class="text-danger">*</span></label>
238
  <input type="text" class="form-control" id="domain" name="domain" required>
239
  </div>
240
- <div class="form-group">
241
  <label for="llm_tools">LLM Tools<span class="text-danger">*</span></label>
242
- <select class="form-control" id="llm_tools" name="llm_tools" multiple required>
243
  <option value="Database">Database</option>
244
  <option value="Static Documents">Static Documents</option>
245
  <option value="API">API</option>
246
  </select>
 
247
  <div class="invalid-feedback">
248
  Please select at least one LLM tool.
249
  </div>
250
  </div>
 
251
  <div class="form-group">
252
  <label for="domain">UserName<span class="text-danger">*</span></label>
253
  <input type="text" class="form-control" id="username" name="username" required>
@@ -272,25 +347,47 @@
272
  const company_id=sessionStorage.getItem('company_id');
273
  console.log('Current role:', role); // Debug statement to check the role
274
  document.getElementById('userRole').value = role;
 
 
275
  $('#addModal').hide(); // Make sure this is called initially
276
-
 
 
 
 
 
277
  if (role === 'superadmin') {
278
  console.log("insidse compamy profile super admin");
279
 
280
  $('#startTable').show();
281
  $('#addModal').hide();
282
- document.getElementById('add').style.display = 'block';
283
-
 
284
  } else {
285
  console.log("insidse company profile admin");
286
- document.getElementById('add').style.display = 'none';
287
  const modalTitle = document.getElementById('addModalLabel');
288
  modalTitle.textContent = 'Company Details';
289
  viewCompany(company_id);
290
-
291
  }
 
 
 
 
 
 
 
292
  fetchCompanies();
293
  });
 
 
 
 
 
 
 
 
294
  window.addEventListener('pageshow', function (event) {
295
  if (event.persisted || (window.performance && window.performance.navigation.type === 2)) {
296
  window.location.reload();
@@ -300,31 +397,60 @@
300
 
301
  $(document).ready(function () {
302
  // Initialize DataTable
303
- $('#companyTable').DataTable();
 
 
 
 
 
 
 
 
 
 
 
 
304
  // Initialize Select2
305
- $('#llm_tools').select2({
306
  theme: 'bootstrap4',
307
  placeholder: 'Select',
308
- allowClear: true
 
309
  });
310
-
311
- });
312
  // Show modal function
313
  $('#add').on('click', function () {
314
  const modalTitle = document.getElementById('addModalLabel');
315
  modalTitle.textContent = 'Add Company Details';
316
  console.log('Modal title after setting:', modalTitle.textContent); // This should log the new title
317
-
 
 
 
 
318
  $('#addModal').modal('show');
319
  $('#save').show();
320
  $('#saveupdate').hide();
 
 
321
  clearmodal();
322
  $('#save').prop('disabled', false); // Disable the "Save" button when the modal opens
323
  });
324
  $('.modal-footer .btn-secondary, .modal-header .close').on('click', function () {
325
  $('#addModal').modal('hide');
326
  });
327
-
 
 
 
 
 
 
 
 
 
 
 
328
 
329
  $(document).on('click', '.btn-view', function () {
330
  const companyId = $(this).data('id');
@@ -354,53 +480,36 @@
354
  deleteCompany(companyId); // Call the delete function with the company ID
355
  }
356
  });
357
-
358
  // View company details
359
- function viewCompany(companyId) {
360
- // Fetch company details by ID
361
  const username = sessionStorage.getItem('username');
362
  const modalTitle = document.getElementById('addModalLabel');
363
  modalTitle.textContent = 'View Company Details';
364
 
 
365
  $.getJSON(`/api/getcompanydetails/${companyId}`, function (company) {
366
- // Set values and attributes for the form fields
 
 
367
  $('#company_name').val(company.company_name).attr('readonly', 'readonly');
368
  $('#company_code').val(company.company_code).attr('readonly', 'readonly');
369
  $('#domain').val(company.domain).attr('readonly', 'readonly');
 
 
 
370
 
371
- // Clear existing options in the dropdown
372
- $('#llm_tools').empty();
373
-
374
- // Add the options that are present in company.llm_tools
375
- const availableOptions = {
376
- 'Database': 'Database',
377
- 'Static Documents': 'Static Documents',
378
- 'API': 'API'
379
- };
380
-
381
- if (Array.isArray(company.llm_tools)) {
382
- company.llm_tools.forEach(tool => {
383
- if (availableOptions[tool]) {
384
- $('#llm_tools').append(new Option(availableOptions[tool], tool, true, true));
385
- }
386
- });
387
- }
388
-
389
- $('#llm_tools').prop('disabled', true); // Disable the dropdown
390
-
391
- $('#username').val(username).attr('readonly', 'readonly'); // Set username field
392
-
393
- // Show the modal with view details only
394
  $('#saveupdate').hide();
395
  $('#save').hide();
396
  $('#addModal').modal('show');
397
  }).fail(function () {
398
- alert("Error retrieving company details.");
399
  });
400
  }
401
-
402
  // Edit company details
403
  function Editcompany(companyId) {
 
404
  const username=sessionStorage.getItem('username');
405
  const modalTitle = document.getElementById('addModalLabel');
406
  modalTitle.textContent = 'Edit Company Details';
@@ -410,14 +519,14 @@
410
  $('#company_name').removeAttr('readonly');
411
  $('#company_code').removeAttr('readonly');
412
  $('#domain').removeAttr('readonly');
413
- $('#llm_tools').prop('disabled', false);
414
  $('#save').hide();
415
  $('#saveupdate').show();
416
  // Populate the form with the company's details
417
  $('#company_name').val(company.company_name);
418
  $('#company_code').val(company.company_code);
419
  $('#domain').val(company.domain);
420
- $('#llm_tools').val(company.llm_tools.split(',')).trigger('change');
421
  $('#username').val(username).attr('readonly', 'readonly');// Disable the select input
422
 
423
  //sessionStorage.setItem('llmTools', company.llm_tools); // Store as a string
@@ -457,23 +566,25 @@
457
  }
458
  function saveupdate(companyId) {
459
  console.log("company_id", companyId);
460
- var companyData = {
461
- company_name: $('#company_name').val(),
462
- company_code: $('#company_code').val(),
463
- domain: $('#domain').val(),
464
- llm_tools: $('#llm_tools').val().join(','),
465
- username: $('#username').val() // Assuming llm_tools is a multi-select
466
- };
467
- console.log("company_data", companyData);
468
 
469
  $.ajax({
470
  url: `/api/putcompanydetails/${companyId}`,
471
  type: 'PUT',
472
- data: companyData,
 
 
473
  success: function (response) {
474
- // alert('Company details updated successfully.');
475
- const messageContainer = document.getElementById('message-container');
476
- if(messageContainer)
477
  messageContainer.innerHTML = `
478
  <div class='alert alert-success'>
479
  Company Data Updated successfully
@@ -483,19 +594,20 @@
483
  fetchCompanies();
484
  },
485
  error: function () {
486
-
487
- const messageContainer = document.getElementById('message-container');
488
- if(messageContainer)
489
  messageContainer.innerHTML = `
490
  <div class='alert alert-danger'>
491
  No changes have been made to update company details.
492
  <button class='close' style='font-size:medium;margin-top:6px;' onclick='dismissMessage()'>OK</button>
493
  </div>`;
494
- $('#addModal').modal('hide');
495
- //alert('No changes have been made to update company details.');
496
  }
497
  });
498
  }
 
499
  function saveProfile() {
500
  const form = document.getElementById('companyForm');
501
 
@@ -505,11 +617,14 @@
505
  form.reportValidity();
506
  return;
507
  }
 
508
  // Gather form data
509
  const company_name = document.getElementById('company_name').value;
510
  const company_code = document.getElementById('company_code').value;
511
  const domain = document.getElementById('domain').value;
512
- const llm_tools = $('#llm_tools').val();
 
 
513
  const username=$('#username').val();
514
 
515
 
@@ -520,7 +635,7 @@
520
  formData.append("company_name", company_name);
521
  formData.append("company_code", company_code);
522
  formData.append("domain", domain);
523
- formData.append("llm_tools", llm_tools.join(','));
524
  formData.append("username",username);
525
  formData.append("password",password);
526
  formData.append("role",rolesave);
@@ -582,21 +697,26 @@
582
  `<a href='#' class='btn btn-warning btn-sm'onclick='Editcompany(${company.company_id})'><i class='fas fa-edit'></i></a>`,
583
  `<a href='#' class='btn btn-danger btn-sm' onclick='deleteCompany(${company.company_id})'><i class='fas fa-trash'></i></a>`
584
 
585
- ]).draw(false);
586
- });
587
  } catch (error) {
588
  console.error('Error fetching companies:', error);
589
  }
590
  }
591
  function clearmodal() {
592
- $('#companyForm')[0].reset(); // Reset all form fields
593
- $('#llm_tools').val(null).trigger('change'); // Clear and reset the Select2 field
594
- $('#llm_tools').select2({
595
- theme: 'bootstrap4',
596
- placeholder: 'Select',
597
- allowClear: true
598
- }); // Reinitialize Select2
599
- }
 
 
 
 
 
600
 
601
  </script>
602
  </body>
 
2
  <html lang="en">
3
 
4
  <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
  <title>Company Profile</title>
8
  <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
9
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
 
16
  rel="stylesheet" />
17
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" />
18
  <style>
19
+
20
+ #add {
21
+ display: inline-block ;
22
+ margin-right: 15px !important; /* Optional: Adjust margin if needed */
23
+ }
24
+
25
  body {
26
  background-color: transparent !important;
27
  }
 
31
  margin-top: 10px;
32
  margin-left: -50px;
33
  }
34
+ /* Ensure the DataTable wrapper takes the full width */
35
+ .dataTables_wrapper {
36
+ width: 100%;
37
+ }
38
+ /* Ensure the DataTable wrapper takes the full width */
39
+ .dataTables_wrapper {
40
+ width: 100%;
41
+ }
42
+
43
+
44
+
45
+ /* Style for the custom dropdown */
46
+ .custom-dropdown {
47
+ position: relative;
48
+ display: inline-block;
49
+ margin-left: 10px; /* Space between label and dropdown */
50
+ }
51
+
52
+ .dropdown-button {
53
+ background-color: white;
54
+ color: black;
55
+ padding: 5px;
56
+ border: 1px solid black;
57
+ border-radius: 4px;
58
+ cursor: pointer;
59
+ text-align: left;
60
+ width: 60px; /* Adjust width as needed */
61
+ }
62
+
63
+ .dropdown-content {
64
+ display: none;
65
+ position: absolute;
66
+ background-color: #f9f9f9;
67
+ min-width: 80px; /* Adjust width as needed */
68
+ box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
69
+ z-index: 1;
70
+ border: 1px solid #ddd;
71
+ top: 100%; /* Position below the button */
72
+ left: 0;
73
+ }
74
+
75
+ .dropdown-content a {
76
+ padding: 10px;
77
+ text-decoration: none;
78
+ display: block;
79
+ color: #333;
80
+ }
81
+
82
+ .dropdown-content a:hover {
83
+ background-color: #ddd;
84
+ }
85
 
86
  .content-wrapper {
87
  background-color: transparent !important;
 
103
 
104
 
105
  .table-responsive {
106
+ width: 95%;
107
+ overflow-x:none;
108
  }
109
 
110
  .table {
 
160
 
161
  th:nth-child(3),
162
  td:nth-child(3) {
163
+ width: 20%;
164
  }
165
 
166
  th:nth-child(4),
167
  td:nth-child(4) {
168
+ width: 20%;
169
  }
170
 
171
  th:nth-child(5),
172
  td:nth-child(5) {
173
+ width: 10%;
174
  }
175
 
176
  th:nth-child(6),
 
186
  td:nth-child(8) {
187
  width: 10%;
188
  }
189
+
190
  .alert {
191
  position: relative;
192
  padding: 15px;
 
228
  <div class="content-header">
229
  <div class="container-fluid">
230
  <div class="row mb-2">
231
+ <!-- <div class="col-12">
232
  <div class="col-12 d-flex justify-content-end mb-3">
233
  <button class="btn btn-primary" style="margin-bottom:-30px;position:fixed" id="add">Add</button>
234
  </div>
235
+ </div> -->
236
  <input type="hidden" id="userRole" name="userRole" value={{role}}>
237
  <div class="row">
238
  <div id="message-container" style="margin-left: 200px;width:600px;"></div>
 
242
  </div>
243
  <!-- Main content -->
244
  <section class="content" id="startTable" style="display: none;">
245
+
246
  <div class="row">
247
  <div class="col-12">
248
  <div class="card">
249
  <div class="card-body table-container">
250
+ <div class="dataTables_wrapper">
251
+ <div class="row">
252
+ <div class="dataTables_length" >
253
+ <label style="display: inline-block;margin-right:800px; margin-bottom: -40px;" >Show entries:
254
+ <div class="custom-dropdown">
255
+ <button class="dropdown-button">5</button>
256
+ <div class="dropdown-content">
257
+ <a href="#" data-length="5">5</a>
258
+ <a href="#" data-length="10">10</a>
259
+ <a href="#" data-length="50">50</a>
260
+ <a href="#" data-length="100">100</a>
261
+ </div>
262
+ </div>
263
+ </label>
264
+ </div>
265
+ <table id="companyTable" class="table display mb-4 dataTablesCard dataTable table-responsive-xl card-table" >
266
  <thead>
267
  <tr>
268
  <th>Sno</th>
 
275
  <th>Delete</th>
276
  </tr>
277
  </thead>
278
+
 
279
  </table>
280
  </div>
281
  </div>
 
310
  <label for="domain">Domain<span class="text-danger">*</span></label>
311
  <input type="text" class="form-control" id="domain" name="domain" required>
312
  </div>
313
+ <div class="form-group" >
314
  <label for="llm_tools">LLM Tools<span class="text-danger">*</span></label>
315
+ <select class="form-select" id="llm_tools" name="llm_tools[]" multiple required>
316
  <option value="Database">Database</option>
317
  <option value="Static Documents">Static Documents</option>
318
  <option value="API">API</option>
319
  </select>
320
+
321
  <div class="invalid-feedback">
322
  Please select at least one LLM tool.
323
  </div>
324
  </div>
325
+
326
  <div class="form-group">
327
  <label for="domain">UserName<span class="text-danger">*</span></label>
328
  <input type="text" class="form-control" id="username" name="username" required>
 
347
  const company_id=sessionStorage.getItem('company_id');
348
  console.log('Current role:', role); // Debug statement to check the role
349
  document.getElementById('userRole').value = role;
350
+ const passedCompanyName = sessionStorage.getItem('company_name')
351
+ document.getElementById('selectedCompany').innerText = `Company Name: ${passedCompanyName}`;
352
  $('#addModal').hide(); // Make sure this is called initially
353
+ function checkForAddButton() {
354
+ const addButton = document.getElementById('add');
355
+
356
+ if (addButton) {
357
+ // Stop checking once the element is found
358
+ clearInterval(checkInterval);
359
  if (role === 'superadmin') {
360
  console.log("insidse compamy profile super admin");
361
 
362
  $('#startTable').show();
363
  $('#addModal').hide();
364
+ $('#add').show();
365
+
366
+
367
  } else {
368
  console.log("insidse company profile admin");
369
+ $('#add').hide();
370
  const modalTitle = document.getElementById('addModalLabel');
371
  modalTitle.textContent = 'Company Details';
372
  viewCompany(company_id);
 
373
  }
374
+ }
375
+ }
376
+ const checkInterval = setInterval(checkForAddButton, 100); //
377
+ document.querySelector('.dropdown-button').addEventListener('click', function() {
378
+ const dropdownContent = document.querySelector('.dropdown-content');
379
+ dropdownContent.style.display = dropdownContent.style.display === 'block' ? 'none' : 'block';
380
+ });
381
  fetchCompanies();
382
  });
383
+ window.addEventListener('click', function(event) {
384
+ if (!event.target.matches('.dropdown-button')) {
385
+ const dropdownContents = document.querySelectorAll('.dropdown-content');
386
+ dropdownContents.forEach(function(content) {
387
+ content.style.display = 'none';
388
+ });
389
+ }
390
+ });
391
  window.addEventListener('pageshow', function (event) {
392
  if (event.persisted || (window.performance && window.performance.navigation.type === 2)) {
393
  window.location.reload();
 
397
 
398
  $(document).ready(function () {
399
  // Initialize DataTable
400
+ //$('#companyTable').DataTable();
401
+ $('#companyTable').DataTable({
402
+
403
+ "paging": true,
404
+ "pageLength":5,
405
+ "lengthChange": false,
406
+ "searching": true,
407
+ "ordering": true,
408
+ "info": true,
409
+ "autoWidth": false,
410
+ "responsive": true
411
+ });
412
+
413
  // Initialize Select2
414
+ $('select').select2({
415
  theme: 'bootstrap4',
416
  placeholder: 'Select',
417
+ allowClear: true,
418
+ dropdownParent: $('#addModal')
419
  });
420
+
 
421
  // Show modal function
422
  $('#add').on('click', function () {
423
  const modalTitle = document.getElementById('addModalLabel');
424
  modalTitle.textContent = 'Add Company Details';
425
  console.log('Modal title after setting:', modalTitle.textContent); // This should log the new title
426
+ $('#company_name').removeAttr('readonly');
427
+ $('#company_code').removeAttr('readonly');
428
+ $('#domain').removeAttr('readonly');
429
+ $('select').prop('disabled', false);
430
+ $('#username').removeAttr('readonly');
431
  $('#addModal').modal('show');
432
  $('#save').show();
433
  $('#saveupdate').hide();
434
+
435
+
436
  clearmodal();
437
  $('#save').prop('disabled', false); // Disable the "Save" button when the modal opens
438
  });
439
  $('.modal-footer .btn-secondary, .modal-header .close').on('click', function () {
440
  $('#addModal').modal('hide');
441
  });
442
+ $('#addModal').on('shown.bs.modal', function() {
443
+ $('#companyTable').DataTable().columns.adjust().draw();
444
+ // Initialize Select2 only if not already initialized
445
+ if (!$('#llm_tools').hasClass('select2-hidden-accessible')) {
446
+ $('select').select2({
447
+ theme: 'bootstrap4',
448
+ placeholder: 'Select LLM Tools',
449
+ allowClear: true,
450
+ dropdownParent: $('#addModal')
451
+ });
452
+ }
453
+ });
454
 
455
  $(document).on('click', '.btn-view', function () {
456
  const companyId = $(this).data('id');
 
480
  deleteCompany(companyId); // Call the delete function with the company ID
481
  }
482
  });
483
+ });
484
  // View company details
485
+ function viewCompany(companyId) {
 
486
  const username = sessionStorage.getItem('username');
487
  const modalTitle = document.getElementById('addModalLabel');
488
  modalTitle.textContent = 'View Company Details';
489
 
490
+ // Fetch company details by ID
491
  $.getJSON(`/api/getcompanydetails/${companyId}`, function (company) {
492
+ console.log("Fetched company details:", company);
493
+
494
+ // Set the company fields to readonly
495
  $('#company_name').val(company.company_name).attr('readonly', 'readonly');
496
  $('#company_code').val(company.company_code).attr('readonly', 'readonly');
497
  $('#domain').val(company.domain).attr('readonly', 'readonly');
498
+ $('select').val(company.llm_tools.split(',')).trigger('change');
499
+ $('select').prop('disabled', true);
500
+ $('#username').val(username).attr('readonly', 'readonly');
501
 
502
+ // Show the modal
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
503
  $('#saveupdate').hide();
504
  $('#save').hide();
505
  $('#addModal').modal('show');
506
  }).fail(function () {
507
+ console.error("Error retrieving company details.");
508
  });
509
  }
 
510
  // Edit company details
511
  function Editcompany(companyId) {
512
+
513
  const username=sessionStorage.getItem('username');
514
  const modalTitle = document.getElementById('addModalLabel');
515
  modalTitle.textContent = 'Edit Company Details';
 
519
  $('#company_name').removeAttr('readonly');
520
  $('#company_code').removeAttr('readonly');
521
  $('#domain').removeAttr('readonly');
522
+ $('select').prop('disabled', false);
523
  $('#save').hide();
524
  $('#saveupdate').show();
525
  // Populate the form with the company's details
526
  $('#company_name').val(company.company_name);
527
  $('#company_code').val(company.company_code);
528
  $('#domain').val(company.domain);
529
+ $('select').val(company.llm_tools.split(',')).trigger('change');
530
  $('#username').val(username).attr('readonly', 'readonly');// Disable the select input
531
 
532
  //sessionStorage.setItem('llmTools', company.llm_tools); // Store as a string
 
566
  }
567
  function saveupdate(companyId) {
568
  console.log("company_id", companyId);
569
+ const llm_tools= $('#llm_tools').select2("val");
570
+ var formData = new FormData();
571
+ formData.append('company_name', $('#company_name').val());
572
+ formData.append('company_code', $('#company_code').val());
573
+ formData.append('domain', $('#domain').val());
574
+ formData.append('llm_tools',llm_tools); // Assuming llm_tools is a multi-select
575
+
576
+ console.log("company_data", formData);
577
 
578
  $.ajax({
579
  url: `/api/putcompanydetails/${companyId}`,
580
  type: 'PUT',
581
+ data: formData,
582
+ processData: false, // Important for FormData
583
+ contentType: false,
584
  success: function (response) {
585
+ // alert('Company details updated successfully.');
586
+ const messageContainer = document.getElementById('message-container');
587
+ if (messageContainer)
588
  messageContainer.innerHTML = `
589
  <div class='alert alert-success'>
590
  Company Data Updated successfully
 
594
  fetchCompanies();
595
  },
596
  error: function () {
597
+
598
+ const messageContainer = document.getElementById('message-container');
599
+ if (messageContainer)
600
  messageContainer.innerHTML = `
601
  <div class='alert alert-danger'>
602
  No changes have been made to update company details.
603
  <button class='close' style='font-size:medium;margin-top:6px;' onclick='dismissMessage()'>OK</button>
604
  </div>`;
605
+ $('#addModal').modal('hide');
606
+ //alert('No changes have been made to update company details.');
607
  }
608
  });
609
  }
610
+
611
  function saveProfile() {
612
  const form = document.getElementById('companyForm');
613
 
 
617
  form.reportValidity();
618
  return;
619
  }
620
+
621
  // Gather form data
622
  const company_name = document.getElementById('company_name').value;
623
  const company_code = document.getElementById('company_code').value;
624
  const domain = document.getElementById('domain').value;
625
+ const llm_tools = $('#llm_tools').select2("val");
626
+ console.log("Selected LLM Tools:", llm_tools);
627
+ // console.log("llm_tools element:", document.getElementById('llm_tools'));
628
  const username=$('#username').val();
629
 
630
 
 
635
  formData.append("company_name", company_name);
636
  formData.append("company_code", company_code);
637
  formData.append("domain", domain);
638
+ formData.append("llm_tools", llm_tools);
639
  formData.append("username",username);
640
  formData.append("password",password);
641
  formData.append("role",rolesave);
 
697
  `<a href='#' class='btn btn-warning btn-sm'onclick='Editcompany(${company.company_id})'><i class='fas fa-edit'></i></a>`,
698
  `<a href='#' class='btn btn-danger btn-sm' onclick='deleteCompany(${company.company_id})'><i class='fas fa-trash'></i></a>`
699
 
700
+ ])
701
+ });table.draw(false);
702
  } catch (error) {
703
  console.error('Error fetching companies:', error);
704
  }
705
  }
706
  function clearmodal() {
707
+ $('#companyForm')[0].reset(); // Reset all form fields
708
+ $('#llm_tools').val(null).trigger('change'); // Clear and reset the Select2 field without reinitializing
709
+ }
710
+
711
+ document.querySelectorAll('.dropdown-content a').forEach(function(item) {
712
+ item.addEventListener('click', function() {
713
+ const length = item.getAttribute('data-length');
714
+ // Set the DataTable page length
715
+ $('#companyTable').DataTable().page.len(parseInt(length)).draw();
716
+ document.querySelector('.dropdown-button').textContent = length;
717
+ });
718
+ });
719
+
720
 
721
  </script>
722
  </body>