HTML5 2
Css wisper Guest on 22nd January 2025 06:42:14 AM
  1. part1 : SpeakerDevice :
  2.  
  3. @model IEnumerable<AgentDeviceModel>
  4.  
  5. <div class="text-center mt-3">
  6.     <button class="btn btn-secondary" onclick="createAgentDevice()">ساخت کارشناس جدید</button>
  7.     <!--<button class="btn btn-secondary" onclick="shifting()">اتصال اسپیکر به کارشناس</button> -->
  8.     <button class="btn btn-secondary" onclick="syncapi()">دریافت شماره و نام از مایتل</button>
  9.  
  10.     <table class="table table-hover">
  11.         <thead>
  12.             <tr>
  13.                 <th>Id</th>
  14.                 <th>
  15.                     Device Id
  16.                     <input id="searchInput" class="form-control" type="text" placeholder="جست و جو" onkeyup="searchTable()" style="max-width:fit-content; min-width:fit-content;">
  17.                     <div id="matchedIds"></div>
  18.                 </th>
  19.                 <th>Agent Name</th>
  20.                 <th>PBX Name</th>
  21.                 <th>Speaker Name</th>
  22.                 <th>Action</th>
  23.             </tr>
  24.         </thead>
  25.         <tbody id="tableBody">
  26.             @{ int i = 1 ;}
  27.             @foreach (var Agent in Model)
  28.             {
  29.                 <tr>
  30.                     <td>@i</td>
  31.                     <td>@Agent.DeviceId</td>
  32.                     <td>@Agent.Name</td>
  33.                     <td>@Agent.PBXName</td>
  34.                     <td>@Agent.SpeakerName</td>
  35.  
  36.                     <td>
  37.                         <button class="btn btn-warning" onclick="GetAgentDevice(@Agent.Id)">بروزرسانی</button>
  38.                         <button class="btn btn-danger" onclick="DeleteAgentDevice(@Agent.Id)">حذف</button>
  39.                     </td>
  40.                 </tr>
  41.                 { i++; }
  42.             }
  43.  
  44.         </tbody>
  45.     </table>
  46. </div>
  47.  
  48.     function searchTable() {
  49.         const input = document.getElementById('searchInput');
  50.         const filter = input.value.toLowerCase();
  51.         const rows = document.querySelectorAll('#tableBody tr');
  52.         const matchedIds = [];
  53.  
  54.         rows.forEach((row) => {
  55.             const cells = row.querySelectorAll('td');
  56.             const deviceIdCell = cells[1];  // Targeting the "Device Id" column (second column)
  57.             let found = false;
  58.  
  59.             if (deviceIdCell) {
  60.                 const deviceIdContent = deviceIdCell.textContent.toLowerCase();
  61.                 if (deviceIdContent.includes(filter)) {
  62.                     found = true;
  63.                 }
  64.             }
  65.  
  66.             row.style.display = found ? '' : 'none'; // Show/hide row based on match
  67.  
  68.             if (found) {
  69.                 const idCell = row.querySelector('td:nth-child(1)');
  70.                 if (idCell) {
  71.                     matchedIds.push(idCell.textContent.trim());
  72.                 }
  73.             }
  74.         });
  75.  
  76.         const matchedIdsDiv = document.getElementById('matchedIds');
  77.         if (matchedIds.length > 0) {
  78.             matchedIdsDiv.textContent = ` Ids: ${matchedIds.join(', ')}`;
  79.         } else {
  80.             matchedIdsDiv.textContent = 'موردی یافت نشد';
  81.         }
  82.     }
  83.  
  84.     function createAgentDevice() {
  85.         window.location.href = '/Setting/CreateAgentDevice';
  86.     }
  87.     function shifting() {
  88.         window.location.href = '/Setting/Shiftings';
  89.     }
  90.     function syncapi() {
  91.         window.location.href = '/Setting/syncapi';
  92.     }
  93.     function GetAgentDevice(id) {
  94.         console.log(id);
  95.         window.location.href = '/Setting/UpdateSpeakerDevice?id=' + id;
  96.     }
  97.  
  98.     function DeleteAgentDevice(id) {
  99.         console.log(id);
  100.         window.location.href = '/Setting/DeleteSpeakerDevice?id=' + id;
  101.     }
  102.  
  103.     function SetAsFirstAgent(id) {
  104.         console.log(id);
  105.         window.location.href = '/Setting/DeleteSpeakerDevice?id=' + id + '&num=1';
  106.     }
  107.  
  108. part 2 : AgentDevice
  109.  
  110. @model IEnumerable<AgentDeviceModel>
  111.  
  112. <div class="text-center mt-3">
  113.     <!-- <button class="btn btn-secondary" onclick="createAgentDevice()">ساخت کارشناس جدید</button>
  114.    <button class="btn btn-secondary" onclick="shifting()">اتصال اسپیکر به کارشناس</button> -->
  115.     <button class="btn btn-secondary" onclick="syncapi()">دریافت شماره و نام از مایتل</button>
  116.  
  117.     <div class="">
  118.         @*     <input id="searchInput" class="form-control" type="text" placeholder="جست و جو" onkeyup="searchTable()"> *@
  119.         <div id="matchedIds">
  120.             <table class="table table-hover">
  121.  
  122.  
  123.         </div>
  124.     </div>
  125.     <thead>
  126.         <tr>
  127.             <th>Id</th>
  128.             <th>
  129.                 Device
  130.                 <input id="searchInput" class="form-control" type="text" placeholder="جست و جو" onkeyup="searchTable()" style="max-width:fit-content; min-width:fit-content;">
  131.             </th>
  132.             <th>Agent Name</th>
  133.             <th>PBX Name</th>
  134.             <th>Speaker Name</th>
  135.             <th>Action</th>
  136.         </tr>
  137.     </thead>
  138.     <tbody id="tableBody">
  139.         @{
  140.             int i = 1;
  141.         }
  142.         @foreach (var Agent in Model)
  143.         {
  144.             <tr>
  145.                 <td>@i</td>
  146.                 <td>@Agent.DeviceId</td>
  147.                 <td>@Agent.Name</td>
  148.                 <td>@Agent.PBXName</td>
  149.                 <td>@Agent.SpeakerName</td>
  150.  
  151.                 <td>
  152.                     <button class="btn btn-warning" onclick="GetAgentDevice(@Agent.Id)">بروزرسانی</button>
  153.                     <button class="btn btn-danger" onclick="DeleteAgentDevice(@Agent.Id)">حذف</button>
  154.                 </td>
  155.             </tr>
  156.             {
  157.                 i++;
  158.             }
  159.         }
  160.  
  161.     </tbody>
  162.     </table>
  163. </div>
  164.  
  165.     function searchTable() {
  166.         // const input = document.getElementById('searchInput');
  167.         // const filter = input.value.toLowerCase();
  168.         // const rows = document.querySelectorAll('#tableBody tr');
  169.         // const matchedIds = [];
  170.  
  171.         // rows.forEach((row) => {
  172.         //     const cells = row.querySelectorAll('td');
  173.         //     const deviceIdCell = cells[1];  // Targeting the "Device Id" column (second column)
  174.         //     let found = false;
  175.  
  176.         //     if (deviceIdCell) {
  177.         //         const deviceIdContent = deviceIdCell.textContent.toLowerCase();
  178.         //         if (deviceIdContent.includes(filter)) {
  179.         //             found = true;
  180.         //         }
  181.         //     }
  182.  
  183.         //     row.style.display = found ? '' : 'none'; // Show/hide row based on match
  184.  
  185.         //     if (found) {
  186.         //         const idCell = row.querySelector('td:nth-child(1)');
  187.         //         if (idCell) {
  188.         //             matchedIds.push(idCell.textContent.trim());
  189.         //         }
  190.         //     }
  191.         // });
  192.  
  193.         // const matchedIdsDiv = document.getElementById('matchedIds');
  194.         // if (matchedIds.length > 0) {
  195.         //     matchedIdsDiv.textContent = ` Ids: ${matchedIds.join(', ')}`;
  196.         // } else {
  197.         //     matchedIdsDiv.textContent = 'موردی یافت نشد';
  198.         // }
  199.         const input = document.getElementById('searchInput');
  200.         const filter = input.value.toLowerCase();
  201.         const tableBody = document.getElementById('tableBody');
  202.         const rows = tableBody.getElementsByTagName('tr');
  203.  
  204.         for (let i = 0; i < rows.length; i++) {
  205.            const td = rows[i].getElementsByTagName('td')[1]; // Get the DeviceId column
  206.            if (td) {
  207.                const txtValue = td.textContent || td.innerText;
  208.                if (txtValue.toLowerCase().indexOf(filter) > -1) {
  209.                     rows[i].style.display = '';
  210.                 } else {
  211.                     rows[i].style.display = 'none';
  212.                 }
  213.             }
  214.         }
  215.  
  216.  
  217.     }
  218.  
  219.     function createAgentDevice() {
  220.         window.location.href = '/Setting/CreateAgentDevice';
  221.     }
  222.     function shifting() {
  223.         window.location.href = '/Setting/Shiftings';
  224.     }
  225.     function syncapi() {
  226.         window.location.href = '/Setting/syncapi';
  227.     }
  228.     function GetAgentDevice(id) {
  229.         console.log(id);
  230.         window.location.href = '/Setting/UpdateAgentDevice?id=' + id;
  231.     }
  232.  
  233.     function DeleteAgentDevice(id) {
  234.         console.log(id);
  235.         window.location.href = '/Setting/DeleteAgentDevice?id=' + id;
  236.     }
  237.  
  238.     function SetAsFirstAgent(id) {
  239.         console.log(id);
  240.         window.location.href = '/Setting/DeleteAgentDevice?id=' + id + '&num=1';
  241.     }

Hightechrobo bin is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.