{"id":43,"date":"2026-11-10T21:46:29","date_gmt":"2026-11-10T21:46:29","guid":{"rendered":"https:\/\/dataonesix.com\/?page_id=43"},"modified":"2026-11-12T17:16:29","modified_gmt":"2026-11-12T17:16:29","slug":"watchlist","status":"publish","type":"page","link":"https:\/\/dataonesix.com\/hi\/watchlist\/","title":{"rendered":"Watchlist"},"content":{"rendered":"\n<div id=\"dos-watchlist\">\n  <style>\n    #dos-watchlist {\n      --bg:#D8D6D2;--card:#F1F0ED;--text:#171717;\n      --muted:#66635F;--red:#7A1F2B;--blue:#287BFF;\n      --green:#247A50;--border:#BDBAB5;\n      background:var(--bg);color:var(--text);\n      font-family:Arial,sans-serif;padding:22px;\n      border-radius:14px;min-height:650px;\n      box-sizing:border-box;\n    }\n    #dos-watchlist *{box-sizing:border-box}\n    #dos-watchlist button,#dos-watchlist input,\n    #dos-watchlist select{font:inherit}\n    #dos-watchlist button{cursor:pointer}\n    #dos-watchlist .dos-top{\n      display:flex;justify-content:space-between;\n      align-items:center;gap:14px;flex-wrap:wrap;\n      margin-bottom:22px\n    }\n    #dos-watchlist h1{font-size:27px;margin:0 0 6px}\n    #dos-watchlist h2{font-size:18px;margin:0 0 14px}\n    #dos-watchlist p{color:var(--muted);margin:5px 0}\n    #dos-watchlist .dos-muted{color:var(--muted);font-size:12px}\n    #dos-watchlist .dos-btn{\n      border:1px solid var(--border);border-radius:8px;\n      padding:10px 14px;background:var(--card);\n      color:var(--text);font-weight:600\n    }\n    #dos-watchlist .dos-primary{\n      background:var(--red);border-color:var(--red);color:white\n    }\n    #dos-watchlist .dos-blue{\n      background:var(--blue);border-color:var(--blue);color:white\n    }\n    #dos-watchlist .dos-danger{color:var(--red)}\n    #dos-watchlist .dos-card{\n      background:var(--card);border:1px solid var(--border);\n      border-radius:12px;padding:17px;margin-bottom:16px;\n      min-width:0\n    }\n    #dos-watchlist .dos-stats{\n      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));\n      gap:12px;margin-bottom:16px\n    }\n    #dos-watchlist .dos-stat{\n      background:var(--card);border:1px solid var(--border);\n      padding:15px;border-radius:10px;min-width:0\n    }\n    #dos-watchlist .dos-stat strong{\n      display:block;font-size:21px;margin-top:7px\n    }\n    #dos-watchlist .dos-layout{\n      display:grid;grid-template-columns:220px minmax(0,1fr);\n      gap:16px;align-items:start\n    }\n    #dos-watchlist .dos-list{\n      width:100%;display:flex;justify-content:space-between;\n      align-items:center;text-align:left;gap:8px;\n      padding:11px;border:1px solid transparent;\n      border-radius:8px;background:transparent;color:var(--text);\n      margin:3px 0\n    }\n    #dos-watchlist .dos-list.active{\n      background:#E0DEDA;border-color:var(--red);\n      font-weight:700\n    }\n    #dos-watchlist .dos-list small{color:var(--muted)}\n    #dos-watchlist .dos-row{\n      display:flex;gap:9px;align-items:center;flex-wrap:wrap\n    }\n    #dos-watchlist .dos-input{\n      width:100%;min-width:0;padding:11px 12px;\n      border:1px solid var(--border);border-radius:8px;\n      background:#fff;color:#171717;outline:none\n    }\n    #dos-watchlist .dos-input:focus{\n      border-color:var(--blue);box-shadow:0 0 0 2px #287bff22\n    }\n    #dos-watchlist .dos-search-wrap{position:relative;flex:1;min-width:190px}\n    #dos-watchlist .dos-suggestions{\n      position:absolute;z-index:10;top:100%;left:0;right:0;\n      background:#fff;border:1px solid var(--border);\n      border-radius:8px;max-height:220px;overflow:auto;\n      box-shadow:0 5px 15px #0002\n    }\n    #dos-watchlist .dos-suggestion{\n      display:block;width:100%;padding:10px;text-align:left;\n      background:white;border:0;border-bottom:1px solid #eee;color:#171717\n    }\n    #dos-watchlist .dos-suggestion:hover{background:#eee}\n    #dos-watchlist .dos-filters{\n      display:grid;grid-template-columns:repeat(3,minmax(0,1fr));\n      gap:9px;margin-top:13px\n    }\n    #dos-watchlist .dos-table-wrap{overflow-x:auto}\n    #dos-watchlist table{\n      width:100%;border-collapse:collapse;min-width:760px\n    }\n    #dos-watchlist th,#dos-watchlist td{\n      padding:13px 10px;text-align:left;\n      border-bottom:1px solid var(--border);font-size:13px;\n      white-space:nowrap\n    }\n    #dos-watchlist th{color:var(--muted);font-weight:700}\n    #dos-watchlist .dos-company{\n      font-weight:700;cursor:pointer;color:var(--text)\n    }\n    #dos-watchlist .dos-company:hover{color:var(--blue)}\n    #dos-watchlist .dos-positive{color:var(--green);font-weight:700}\n    #dos-watchlist .dos-negative{color:var(--red);font-weight:700}\n    #dos-watchlist .dos-remove{\n      border:0;background:transparent;color:var(--red);\n      font-weight:700;padding:5px\n    }\n    #dos-watchlist .dos-spark{width:95px;height:32px}\n    #dos-watchlist .dos-empty{\n      padding:35px 12px;text-align:center;color:var(--muted)\n    }\n    #dos-watchlist .dos-modal{\n      display:none;position:fixed;inset:0;z-index:99999;\n      background:#0008;padding:18px;overflow:auto;\n      align-items:center;justify-content:center\n    }\n    #dos-watchlist .dos-modal.open{display:flex}\n    #dos-watchlist .dos-modal-box{\n      background:var(--card);border:1px solid var(--border);\n      border-radius:14px;padding:20px;width:min(600px,100%);\n      max-height:90vh;overflow:auto\n    }\n    #dos-watchlist .dos-modal-head{\n      display:flex;justify-content:space-between;gap:12px;\n      align-items:center;margin-bottom:15px\n    }\n    #dos-watchlist .dos-detail-grid{\n      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));\n      gap:10px;margin:16px 0\n    }\n    #dos-watchlist .dos-detail{\n      background:#E3E1DD;border-radius:8px;padding:12px\n    }\n    #dos-watchlist .dos-detail strong{display:block;margin-top:6px}\n    #dos-watchlist .dos-note{\n      font-size:12px;color:var(--muted);line-height:1.5\n    }\n    #dos-watchlist .dos-check{width:16px;height:16px;accent-color:var(--red)}\n    #dos-watchlist .dos-actions{display:flex;gap:8px;flex-wrap:wrap}\n    #dos-watchlist .dos-section-title{\n      display:flex;justify-content:space-between;\n      align-items:center;gap:10px;flex-wrap:wrap\n    }\n    @media(max-width:760px){\n      #dos-watchlist{padding:13px}\n      #dos-watchlist .dos-layout{grid-template-columns:1fr}\n      #dos-watchlist .dos-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}\n      #dos-watchlist .dos-filters{grid-template-columns:1fr 1fr}\n      #dos-watchlist .dos-stats{grid-template-columns:1fr 1fr}\n      #dos-watchlist h1{font-size:23px}\n    }\n    @media(max-width:420px){\n      #dos-watchlist .dos-filters{grid-template-columns:1fr}\n      #dos-watchlist .dos-stats{grid-template-columns:1fr}\n    }\n  <\/style>\n\n  <div class=\"dos-top\">\n    <div>\n      <h1>Watchlist<\/h1>\n      <p>Track and organize your favourite companies.<\/p>\n    <\/div>\n    <span class=\"dos-muted\">DATAONEsix \u00b7 DEMO MODE<\/span>\n  <\/div>\n\n  <div class=\"dos-stats\">\n    <div class=\"dos-stat\">\n      <span class=\"dos-muted\">Total Companies<\/span>\n      <strong id=\"dos-total\">0<\/strong>\n    <\/div>\n    <div class=\"dos-stat\">\n      <span class=\"dos-muted\">Watchlists<\/span>\n      <strong id=\"dos-list-total\">0<\/strong>\n    <\/div>\n    <div class=\"dos-stat\">\n      <span class=\"dos-muted\">Positive \/ Negative<\/span>\n      <strong id=\"dos-movement\">0 \/ 0<\/strong>\n    <\/div>\n  <\/div>\n\n  <div class=\"dos-layout\">\n    <aside class=\"dos-card\">\n      <div class=\"dos-section-title\">\n        <h2>My Lists<\/h2>\n        <button class=\"dos-btn dos-primary\" id=\"dos-new-list\">+ New<\/button>\n      <\/div>\n      <div class=\"dos-sidebar\" id=\"dos-list-menu\"><\/div>\n      <p class=\"dos-note\">Create separate lists for different sectors or companies.<\/p>\n    <\/aside>\n\n    <main>\n      <section class=\"dos-card\">\n        <div class=\"dos-section-title\">\n          <div>\n            <h2 id=\"dos-current-name\">My Watchlist<\/h2>\n            <span class=\"dos-muted\" id=\"dos-list-count\">0 companies<\/span>\n          <\/div>\n          <div class=\"dos-actions\">\n            <button class=\"dos-btn\" id=\"dos-rename\">Rename<\/button>\n            <button class=\"dos-btn dos-danger\" id=\"dos-delete-list\">Delete List<\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"dos-row\" style=\"margin-top:16px\">\n          <div class=\"dos-search-wrap\">\n            <input class=\"dos-input\" id=\"dos-company-search\"\n              placeholder=\"Search company or symbol...\" autocomplete=\"off\">\n            <div class=\"dos-suggestions\" id=\"dos-suggestions\" style=\"display:none\"><\/div>\n          <\/div>\n          <button class=\"dos-btn dos-primary\" id=\"dos-add-first\">+ Add Company<\/button>\n        <\/div>\n        <p class=\"dos-note\">Search a company and select it from the suggestions to add it.<\/p>\n      <\/section>\n\n      <section class=\"dos-card\">\n        <div class=\"dos-section-title\">\n          <h2>Filters &#038; Sorting<\/h2>\n          <button class=\"dos-btn\" id=\"dos-reset-filters\">Reset Filters<\/button>\n        <\/div>\n        <div class=\"dos-filters\">\n          <select class=\"dos-input\" id=\"dos-exchange\">\n            <option value=\"all\">All Exchanges<\/option>\n            <option value=\"NSE\">NSE<\/option>\n            <option value=\"BSE\">BSE<\/option>\n          <\/select>\n          <select class=\"dos-input\" id=\"dos-sector\">\n            <option value=\"all\">All Sectors<\/option>\n            <option value=\"Banking\">Banking<\/option>\n            <option value=\"IT\">IT<\/option>\n            <option value=\"Energy\">Energy<\/option>\n            <option value=\"Automobile\">Automobile<\/option>\n            <option value=\"FMCG\">FMCG<\/option>\n          <\/select>\n          <select class=\"dos-input\" id=\"dos-movement-filter\">\n            <option value=\"all\">All Changes<\/option>\n            <option value=\"positive\">Positive Change<\/option>\n            <option value=\"negative\">Negative Change<\/option>\n          <\/select>\n          <select class=\"dos-input\" id=\"dos-sort\">\n            <option value=\"default\">Default Order<\/option>\n            <option value=\"name\">Company Name A\u2013Z<\/option>\n            <option value=\"price-low\">Price: Low to High<\/option>\n            <option value=\"price-high\">Price: High to Low<\/option>\n            <option value=\"change-high\">Change: High to Low<\/option>\n            <option value=\"change-low\">Change: Low to High<\/option>\n          <\/select>\n          <select class=\"dos-input\" id=\"dos-chart-period\">\n            <option value=\"1D\">Chart: 1 Day<\/option>\n            <option value=\"1W\">Chart: 1 Week<\/option>\n            <option value=\"1M\">Chart: 1 Month<\/option>\n            <option value=\"1Y\">Chart: 1 Year<\/option>\n          <\/select>\n          <button class=\"dos-btn\" id=\"dos-export\">Export CSV<\/button>\n        <\/div>\n      <\/section>\n\n      <section class=\"dos-card\">\n        <div class=\"dos-section-title\">\n          <div>\n            <h2>Companies<\/h2>\n            <span class=\"dos-muted\">Select companies below to compare them.<\/span>\n          <\/div>\n          <button class=\"dos-btn dos-blue\" id=\"dos-compare\">Compare Selected<\/button>\n        <\/div>\n        <div class=\"dos-table-wrap\">\n          <table>\n            <thead>\n              <tr>\n                <th>Select<\/th><th>Company<\/th><th>Symbol<\/th>\n                <th>Exchange<\/th><th>Price (\u20b9)<\/th><th>Change<\/th>\n                <th>Mini Chart<\/th><th>Details<\/th><th>Remove<\/th>\n              <\/tr>\n            <\/thead>\n            <tbody id=\"dos-company-rows\"><\/tbody>\n          <\/table>\n        <\/div>\n        <div class=\"dos-empty\" id=\"dos-empty\" style=\"display:none\">\n          This Watchlist is empty. Search and add a company to get started.\n        <\/div>\n      <\/section>\n\n      <section class=\"dos-card\">\n        <h2>Last Updated<\/h2>\n        <p id=\"dos-updated\">Demo data \u00b7 Not connected to live market<\/p>\n        <p class=\"dos-note\">\n          Prices, percentages, charts and financial figures on this page are illustrative demo values.\n          They are not real-time market prices or investment recommendations.\n        <\/p>\n      <\/section>\n    <\/main>\n  <\/div>\n\n  <div class=\"dos-modal\" id=\"dos-modal\">\n    <div class=\"dos-modal-box\">\n      <div class=\"dos-modal-head\">\n        <h2 id=\"dos-modal-title\">Company Details<\/h2>\n        <button class=\"dos-btn\" id=\"dos-close-modal\">\u2715 Close<\/button>\n      <\/div>\n      <div id=\"dos-modal-content\"><\/div>\n    <\/div>\n  <\/div>\n\n  <script>\n  (function(){\n    const root = document.getElementById('dos-watchlist');\n    if(!root || root.dataset.initialized === 'yes') return;\n    root.dataset.initialized = 'yes';\n\n    const $ = id => root.querySelector('#' + id);\n    const demoCompanies = [\n      {id:'RELIANCE',name:'Reliance Industries',symbol:'RELIANCE',exchange:'NSE',sector:'Energy',price:1450.00,change:1.25,high:1600,low:1200,pe:24.5,pb:2.1,roe:9.5,roce:10.2,debt:0.42,cap:'19.5 Lakh Cr',chart:[20,25,22,31,29,38,35,44]},\n      {id:'TCS',name:'Tata Consultancy Services',symbol:'TCS',exchange:'NSE',sector:'IT',price:3800.00,change:-0.45,high:4200,low:3400,pe:28.1,pb:14.2,roe:51.0,roce:64.0,debt:0.08,cap:'13.8 Lakh Cr',chart:[45,42,47,39,43,37,40,35]},\n      {id:'HDFCBANK',name:'HDFC Bank',symbol:'HDFCBANK',exchange:'NSE',sector:'Banking',price:1700.00,change:0.80,high:1900,low:1400,pe:19.2,pb:2.8,roe:14.0,roce:0,debt:0,cap:'12.9 Lakh Cr',chart:[20,24,22,30,27,35,33,40]},\n      {id:'INFY',name:'Infosys',symbol:'INFY',exchange:'NSE',sector:'IT',price:1550.00,change:0.60,high:1800,low:1300,pe:23.4,pb:7.2,roe:30.0,roce:38.0,debt:0.05,cap:'6.4 Lakh Cr',chart:[20,23,21,28,25,31,30,37]},\n      {id:'ICICIBANK',name:'ICICI Bank',symbol:'ICICIBANK',exchange:'NSE',sector:'Banking',price:1250.00,change:-0.70,high:1400,low:1000,pe:18.5,pb:3.0,roe:17.0,roce:0,debt:0,cap:'8.8 Lakh Cr',chart:[43,40,44,38,41,34,37,30]},\n      {id:'ITC',name:'ITC',symbol:'ITC',exchange:'NSE',sector:'FMCG',price:450.00,change:0.35,high:500,low:390,pe:26.0,pb:6.5,roe:27.0,roce:32.0,debt:0.01,cap:'5.6 Lakh Cr',chart:[20,22,24,23,28,27,30,33]},\n      {id:'SBIN',name:'State Bank of India',symbol:'SBIN',exchange:'NSE',sector:'Banking',price:820.00,change:1.10,high:900,low:600,pe:10.5,pb:1.6,roe:16.0,roce:0,debt:0,cap:'7.3 Lakh Cr',chart:[20,25,23,29,28,34,37,43]},\n      {id:'WIPRO',name:'Wipro',symbol:'WIPRO',exchange:'NSE',sector:'IT',price:290.00,change:-1.20,high:350,low:250,pe:20.0,pb:2.8,roe:14.0,roce:17.0,debt:0.10,cap:'3.0 Lakh Cr',chart:[44,40,42,36,38,32,30,25]},\n      {id:'MARUTI',name:'Maruti Suzuki',symbol:'MARUTI',exchange:'NSE',sector:'Automobile',price:11200.00,change:0.95,high:13000,low:9500,pe:27.0,pb:4.0,roe:15.0,roce:20.0,debt:0.02,cap:'3.5 Lakh Cr',chart:[20,24,23,28,30,33,37,42]},\n      {id:'TATAMOTORS',name:'Tata Motors',symbol:'TATAMOTORS',exchange:'NSE',sector:'Automobile',price:700.00,change:-0.30,high:1100,low:600,pe:8.5,pb:1.8,roe:22.0,roce:18.0,debt:0.75,cap:'2.6 Lakh Cr',chart:[40,43,37,39,33,35,31,30]}\n    ];\n\n    const clone = x => JSON.parse(JSON.stringify(x));\n    const storageKey = 'dos_watchlist_v1';\n    let state;\n    try {\n      state = JSON.parse(localStorage.getItem(storageKey) || 'null');\n    } catch(e){ state = null; }\n\n    if(!state || !Array.isArray(state.lists) || !state.lists.length){\n      state = {\n        active:'main',\n        lists:[\n          {id:'main',name:'My Watchlist',companies:['RELIANCE','TCS','HDFCBANK','INFY']},\n          {id:'banking',name:'Banking',companies:['HDFCBANK','ICICIBANK','SBIN']},\n          {id:'it',name:'IT Companies',companies:['TCS','INFY','WIPRO']}\n        ]\n      };\n    }\n\n    let selected = [];\n    let searchResults = [];\n    let chartPeriod = '1D';\n\n    function save(){\n      try{localStorage.setItem(storageKey,JSON.stringify(state));}\n      catch(e){alert('Browser storage is unavailable. Changes may not remain after closing this page.');}\n    }\n    function esc(s){\n      return String(s).replace(\/[&<>\"']\/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));\n    }\n    function activeList(){\n      return state.lists.find(x=>x.id===state.active) || state.lists[0];\n    }\n    function company(id){\n      return demoCompanies.find(c=>c.id===id);\n    }\n    function money(n){\n      return Number(n).toLocaleString('en-IN',{minimumFractionDigits:2,maximumFractionDigits:2});\n    }\n    function spark(c){\n      const vals=c.chart || [20,25,22,30,27,35,32,40];\n      const min=Math.min(...vals),max=Math.max(...vals);\n      const points=vals.map((v,i)=>{\n        const x=3+i*(89\/(vals.length-1));\n        const y=27-((v-min)\/(max-min||1))*22;\n        return x.toFixed(1)+','+y.toFixed(1);\n      }).join(' ');\n      const color=c.change>=0?'#247A50':'#7A1F2B';\n      return '<svg class=\"dos-spark\" viewBox=\"0 0 95 32\" aria-label=\"Illustrative price trend\"><polyline points=\"'+points+'\" fill=\"none\" stroke=\"'+color+'\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>';\n    }\n    function renderLists(){\n      $('dos-list-menu').innerHTML=state.lists.map(l=>\n        '<button class=\"dos-list '+(l.id===state.active?'active':'')+'\" data-list=\"'+esc(l.id)+'\"><span>'+esc(l.name)+'<\/span><small>'+l.companies.length+'<\/small><\/button>'\n      ).join('');\n      $('dos-list-menu').querySelectorAll('[data-list]').forEach(btn=>{\n        btn.addEventListener('click',()=>{\n          state.active=btn.dataset.list;selected=[];save();render();\n        });\n      });\n      $('dos-list-total').textContent=state.lists.length;\n    }\n    function getFiltered(){\n      const list=activeList();\n      let arr=list.companies.map(company).filter(Boolean);\n      const exchange=$('dos-exchange').value;\n      const sector=$('dos-sector').value;\n      const movement=$('dos-movement-filter').value;\n      if(exchange!=='all')arr=arr.filter(c=>c.exchange===exchange);\n      if(sector!=='all')arr=arr.filter(c=>c.sector===sector);\n      if(movement==='positive')arr=arr.filter(c=>c.change>0);\n      if(movement==='negative')arr=arr.filter(c=>c.change<0);\n      const sort=$('dos-sort').value;\n      if(sort==='name')arr.sort((a,b)=>a.name.localeCompare(b.name));\n      if(sort==='price-low')arr.sort((a,b)=>a.price-b.price);\n      if(sort==='price-high')arr.sort((a,b)=>b.price-a.price);\n      if(sort==='change-high')arr.sort((a,b)=>b.change-a.change);\n      if(sort==='change-low')arr.sort((a,b)=>a.change-b.change);\n      return arr;\n    }\n    function renderRows(){\n      const arr=getFiltered();\n      $('dos-company-rows').innerHTML=arr.map(c=>\n        '<tr>'+\n        '<td><input class=\"dos-check\" type=\"checkbox\" data-select=\"'+c.id+'\" '+(selected.includes(c.id)?'checked':'')+' aria-label=\"Select '+esc(c.name)+'\"><\/td>'+\n        '<td><span class=\"dos-company\" data-detail=\"'+c.id+'\">'+esc(c.name)+'<\/span><br><span class=\"dos-muted\">'+esc(c.sector)+'<\/span><\/td>'+\n        '<td>'+esc(c.symbol)+'<\/td><td>'+c.exchange+'<\/td>'+\n        '<td>\u20b9'+money(c.price)+'<\/td>'+\n        '<td class=\"'+(c.change>=0?'dos-positive':'dos-negative')+'\">'+(c.change>0?'+':'')+c.change.toFixed(2)+'%<\/td>'+\n        '<td>'+spark(c)+'<\/td>'+\n        '<td><button class=\"dos-btn\" data-detail=\"'+c.id+'\">View<\/button><\/td>'+\n        '<td><button class=\"dos-remove\" data-remove=\"'+c.id+'\">Remove<\/button><\/td>'+\n        '<\/tr>'\n      ).join('');\n      $('dos-empty').style.display=arr.length?'none':'block';\n      $('dos-list-count').textContent=activeList().companies.length+' companies';\n      $('dos-company-rows').querySelectorAll('[data-detail]').forEach(el=>el.addEventListener('click',()=>showDetails(el.dataset.detail)));\n      $('dos-company-rows').querySelectorAll('[data-remove]').forEach(el=>el.addEventListener('click',()=>removeCompany(el.dataset.remove)));\n      $('dos-company-rows').querySelectorAll('[data-select]').forEach(el=>el.addEventListener('change',()=>{\n        if(el.checked){if(!selected.includes(el.dataset.select))selected.push(el.dataset.select);}\n        else selected=selected.filter(x=>x!==el.dataset.select);\n      }));\n    }\n    function renderStats(){\n      const ids=[...new Set(state.lists.flatMap(l=>l.companies))];\n      const all=ids.map(company).filter(Boolean);\n      $('dos-total').textContent=all.length;\n      $('dos-movement').textContent=all.filter(c=>c.change>0).length+' \/ '+all.filter(c=>c.change<0).length;\n    }\n    function render(){\n      renderLists();\n      $('dos-current-name').textContent=activeList().name;\n      renderRows();renderStats();\n      $('dos-updated').textContent='Demo data \u00b7 Not connected to live market';\n    }\n    function removeCompany(id){\n      const list=activeList();\n      list.companies=list.companies.filter(x=>x!==id);\n      selected=selected.filter(x=>x!==id);\n      save();render();\n    }\n    function addCompany(id){\n      const c=company(id);\n      if(!c)return;\n      const list=activeList();\n      if(list.companies.includes(id)){\n        alert('This company is already in this Watchlist.');\n        return;\n      }\n      list.companies.push(id);\n      $('dos-company-search').value='';\n      $('dos-suggestions').style.display='none';\n      save();render();\n    }\n    function showSuggestions(){\n      const q=$('dos-company-search').value.trim().toLowerCase();\n      const box=$('dos-suggestions');\n      if(!q){box.style.display='none';return;}\n      searchResults=demoCompanies.filter(c=>\n        c.name.toLowerCase().includes(q)||c.symbol.toLowerCase().includes(q)\n      ).slice(0,8);\n      box.innerHTML=searchResults.length?searchResults.map(c=>\n        '<button class=\"dos-suggestion\" data-add=\"'+c.id+'\"><strong>'+esc(c.name)+'<\/strong><br><small>'+esc(c.symbol)+' \u00b7 '+esc(c.sector)+'<\/small><\/button>'\n      ).join(''):'<div class=\"dos-suggestion\">No matching demo company found.<\/div>';\n      box.style.display='block';\n      box.querySelectorAll('[data-add]').forEach(btn=>btn.addEventListener('click',()=>addCompany(btn.dataset.add)));\n    }\n    function showDetails(id){\n      const c=company(id);if(!c)return;\n      $('dos-modal-title').textContent=c.name;\n      $('dos-modal-content').innerHTML=\n        '<p><strong>'+esc(c.symbol)+'<\/strong> \u00b7 '+esc(c.exchange)+' \u00b7 '+esc(c.sector)+'<\/p>'+\n        '<div class=\"dos-detail-grid\">'+\n        detail('Demo Price','\u20b9'+money(c.price))+\n        detail('Daily Change',(c.change>0?'+':'')+c.change.toFixed(2)+'%')+\n        detail('52 Week High','\u20b9'+money(c.high))+\n        detail('52 Week Low','\u20b9'+money(c.low))+\n        detail('Market Cap',c.cap)+detail('P\/E Ratio',c.pe)+\n        detail('P\/B Ratio',c.pb)+detail('ROE',c.roe+'%')+\n        detail('ROCE',c.roce?c.roce+'%':'Not applicable in this demo')+\n        detail('Debt \/ Equity',c.debt)+'<\/div>'+\n        '<p class=\"dos-note\">All figures are illustrative demo values, not live financial data. Financial metrics may not be comparable across different industries.<\/p>';\n      $('dos-modal').classList.add('open');\n    }\n    function detail(label,value){\n      return '<div class=\"dos-detail\"><span class=\"dos-muted\">'+esc(label)+'<\/span><strong>'+esc(value)+'<\/strong><\/div>';\n    }\n    function compare(){\n      const arr=selected.map(company).filter(Boolean);\n      if(arr.length<2){alert('Please select at least two companies to compare.');return;}\n      $('dos-modal-title').textContent='Company Comparison';\n      const metrics=[\n        ['Price',c=>'\u20b9'+money(c.price)],\n        ['Change',c=>(c.change>0?'+':'')+c.change+'%'],\n        ['Sector',c=>c.sector],['Market Cap',c=>c.cap],\n        ['P\/E',c=>c.pe],['P\/B',c=>c.pb],\n        ['ROE',c=>c.roe+'%'],['ROCE',c=>c.roce?c.roce+'%':'N\/A'],\n        ['Debt \/ Equity',c=>c.debt]\n      ];\n      $('dos-modal-content').innerHTML=\n        '<div class=\"dos-table-wrap\"><table><thead><tr><th>Metric<\/th>'+\n        arr.map(c=>'<th>'+esc(c.name)+'<\/th>').join('')+\n        '<\/tr><\/thead><tbody>'+metrics.map(m=>\n          '<tr><td><strong>'+m[0]+'<\/strong><\/td>'+\n          arr.map(c=>'<td>'+esc(m[1](c))+'<\/td>').join('')+'<\/tr>'\n        ).join('')+'<\/tbody><\/table><\/div>'+\n        '<p class=\"dos-note\">Comparison uses demo values only.<\/p>';\n      $('dos-modal').classList.add('open');\n    }\n    function exportCSV(){\n      const arr=getFiltered();\n      if(!arr.length){alert('There are no companies to export.');return;}\n      const rows=[['Company','Symbol','Exchange','Sector','Demo Price INR','Change Percent','52 Week High','52 Week Low']];\n      arr.forEach(c=>rows.push([c.name,c.symbol,c.exchange,c.sector,c.price,c.change,c.high,c.low]));\n      const csv=rows.map(row=>row.map(v=>'\"'+String(v).replace(\/\"\/g,'\"\"')+'\"').join(',')).join('\\n');\n      const blob=new Blob(['\\uFEFF'+csv],{type:'text\/csv;charset=utf-8;'});\n      const url=URL.createObjectURL(blob);\n      const a=document.createElement('a');a.href=url;a.download='dataonesix-watchlist-demo.csv';\n      document.body.appendChild(a);a.click();a.remove();URL.revokeObjectURL(url);\n    }\n\n    $('dos-company-search').addEventListener('input',showSuggestions);\n    $('dos-add-first').addEventListener('click',()=>{\n      const first=searchResults[0];\n      if(first)addCompany(first.id);else showSuggestions();\n    });\n    $('dos-new-list').addEventListener('click',()=>{\n      const name=prompt('Enter a name for your new Watchlist:');\n      if(!name||!name.trim())return;\n      const id='list_'+Date.now();\n      state.lists.push({id,name:name.trim(),companies:[]});\n      state.active=id;selected=[];save();render();\n    });\n    $('dos-rename').addEventListener('click',()=>{\n      const name=prompt('Enter the new Watchlist name:',activeList().name);\n      if(!name||!name.trim())return;\n      activeList().name=name.trim();save();render();\n    });\n    $('dos-delete-list').addEventListener('click',()=>{\n      if(state.lists.length===1){alert('At least one Watchlist must remain.');return;}\n      if(!confirm('Delete this Watchlist?'))return;\n      state.lists=state.lists.filter(l=>l.id!==state.active);\n      state.active=state.lists[0].id;selected=[];save();render();\n    });\n    ['dos-exchange','dos-sector','dos-movement-filter','dos-sort'].forEach(id=>{\n      $(id).addEventListener('change',renderRows);\n    });\n    $('dos-chart-period').addEventListener('change',e=>{chartPeriod=e.target.value;renderRows();});\n    $('dos-reset-filters').addEventListener('click',()=>{\n      $('dos-exchange').value='all';$('dos-sector').value='all';\n      $('dos-movement-filter').value='all';$('dos-sort').value='default';\n      $('dos-chart-period').value='1D';renderRows();\n    });\n    $('dos-export').addEventListener('click',exportCSV);\n    $('dos-compare').addEventListener('click',compare);\n    $('dos-close-modal').addEventListener('click',()=>$('dos-modal').classList.remove('open'));\n    $('dos-modal').addEventListener('click',e=>{\n      if(e.target===$('dos-modal'))$('dos-modal').classList.remove('open');\n    });\n    document.addEventListener('keydown',e=>{\n      if(e.key==='Escape')$('dos-modal').classList.remove('open');\n    });\n\n    render();\n  })();\n  <\/script>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Watchlist Track and organize your favourite companies. DATAONEsix \u00b7 DEMO MODE Total Companies 0 Watchlists 0 Positive \/ Negative 0 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-43","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/pages\/43","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/comments?post=43"}],"version-history":[{"count":2,"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/pages\/43\/revisions"}],"predecessor-version":[{"id":205,"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/pages\/43\/revisions\/205"}],"wp:attachment":[{"href":"https:\/\/dataonesix.com\/hi\/wp-json\/wp\/v2\/media?parent=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}