Subversion Repositories SmartDukaan

Rev

Rev 37522 | Rev 37533 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37522 Rev 37523
Line 49... Line 49...
49
      -webkit-font-smoothing: antialiased;
49
      -webkit-font-smoothing: antialiased;
50
      font-size: 14px
50
      font-size: 14px
51
    }
51
    }
52
 
52
 
53
    .wrap {
53
    .wrap {
54
      max-width: 1440px;
54
      max-width: none;
55
      margin: 0 auto;
55
      margin: 0 auto;
56
      padding: 22px 26px 100px
56
      padding: 22px 20px 100px
57
    }
57
    }
58
 
58
 
59
    a {
59
    a {
60
      color: var(--brand);
60
      color: var(--brand);
61
      text-decoration: none
61
      text-decoration: none
Line 1894... Line 1894...
1894
    #rdrrPmWrap {
1894
    #rdrrPmWrap {
1895
      overflow: hidden
1895
      overflow: hidden
1896
    }
1896
    }
1897
 
1897
 
1898
    #rdrrPmWrap .pm-grid-wrap {
1898
    #rdrrPmWrap .pm-grid-wrap {
1899
      overflow: auto;
1899
      overflow: hidden;
1900
      max-height: 640px;
-
 
1901
      border: 1px solid var(--line);
1900
      border: 1px solid var(--line);
1902
      border-radius: 10px;
1901
      border-radius: 10px;
1903
      background: #fff
1902
      background: #fff
1904
    }
1903
    }
1905
 
1904
 
1906
    #rdrrPmWrap .pm-grid {
1905
    #rdrrPmWrap .pm-grid {
1907
      border-collapse: separate;
1906
      border-collapse: separate;
1908
      border-spacing: 0;
1907
      border-spacing: 0;
1909
      width: 100%;
1908
      width: 100%;
-
 
1909
      table-layout: fixed;
1910
      font-size: 12.5px;
1910
      font-size: 12px;
1911
      background: #fff
1911
      background: #fff
1912
    }
1912
    }
1913
 
1913
 
1914
    /* --- header (brand strip) --- */
1914
    /* --- header (brand strip) --- */
1915
    #rdrrPmWrap .pm-grid thead th {
1915
    #rdrrPmWrap .pm-grid thead th {
1916
      position: sticky;
-
 
1917
      top: 0;
-
 
1918
      z-index: 3;
-
 
1919
      padding: 10px 12px;
1916
      padding: 8px 6px;
1920
      color: #fff;
1917
      color: #fff;
1921
      font-weight: 700;
1918
      font-weight: 700;
1922
      letter-spacing: .06em;
1919
      letter-spacing: .05em;
1923
      font-size: 11.5px;
1920
      font-size: 10.5px;
1924
      text-transform: uppercase;
1921
      text-transform: uppercase;
1925
      text-align: center;
1922
      text-align: center;
1926
      white-space: nowrap;
1923
      white-space: nowrap;
1927
      background: linear-gradient(180deg, var(--brand2), var(--brand));
1924
      background: linear-gradient(180deg, var(--brand2), var(--brand));
1928
      border-bottom: 2px solid rgba(0, 0, 0, .08);
1925
      border-bottom: 2px solid rgba(0, 0, 0, .08)
1929
      box-shadow: 0 2px 0 rgba(0, 0, 0, .04)
-
 
1930
    }
1926
    }
1931
 
1927
 
1932
    #rdrrPmWrap .pm-grid thead th.pm-corner {
1928
    #rdrrPmWrap .pm-grid thead th.pm-corner {
1933
      left: 0;
1929
      width: 150px;
1934
      z-index: 5;
-
 
1935
      background: #fff;
1930
      background: #fff;
1936
      color: var(--ink);
1931
      color: var(--ink);
1937
      text-align: left;
1932
      text-align: left;
1938
      min-width: 180px;
-
 
1939
      border-right: 1px solid var(--line);
1933
      border-right: 1px solid var(--line);
1940
      padding: 8px 14px
1934
      padding: 8px 12px
1941
    }
1935
    }
1942
 
1936
 
1943
    #rdrrPmWrap .pm-corner-lbl {
1937
    #rdrrPmWrap .pm-corner-lbl {
1944
      font-size: 12px;
1938
      font-size: 11.5px;
1945
      font-weight: 700;
1939
      font-weight: 700;
1946
      letter-spacing: .05em;
1940
      letter-spacing: .05em;
1947
      color: var(--ink)
1941
      color: var(--ink)
1948
    }
1942
    }
1949
 
1943
 
1950
    #rdrrPmWrap .pm-corner-hint {
1944
    #rdrrPmWrap .pm-corner-hint {
1951
      font-size: 10.5px;
1945
      font-size: 10px;
1952
      color: var(--soft);
1946
      color: var(--soft);
1953
      font-weight: 500;
1947
      font-weight: 500;
1954
      letter-spacing: .02em;
1948
      letter-spacing: .02em;
1955
      text-transform: none;
1949
      text-transform: none;
1956
      margin-top: 2px
1950
      margin-top: 1px
1957
    }
-
 
1958
 
-
 
1959
    /* --- rows --- */
-
 
1960
    #rdrrPmWrap .pm-grid tbody tr.pm-row + tr.pm-row td {
-
 
1961
      border-top: 1px solid var(--line2)
-
 
1962
    }
-
 
1963
 
-
 
1964
    #rdrrPmWrap .pm-grid tbody tr.pm-row:hover td:not(.pm-name) {
-
 
1965
      outline: 1px solid rgba(59, 91, 219, .35);
-
 
1966
      outline-offset: -1px
-
 
1967
    }
-
 
1968
 
-
 
1969
    #rdrrPmWrap .pm-grid tbody tr.pm-row:hover .pm-name {
-
 
1970
      background: #eef2fb
-
 
1971
    }
1951
    }
1972
 
1952
 
1973
    /* --- name column (sticky) --- */
1953
    /* --- name column --- */
1974
    #rdrrPmWrap .pm-name {
1954
    #rdrrPmWrap .pm-name {
1975
      position: sticky;
-
 
1976
      left: 0;
1955
      width: 150px;
1977
      z-index: 2;
-
 
1978
      background: #fff;
1956
      background: #fff;
1979
      padding: 10px 14px;
1957
      padding: 8px 12px;
1980
      min-width: 180px;
-
 
1981
      max-width: 220px;
-
 
1982
      border-right: 1px solid var(--line);
1958
      border-right: 1px solid var(--line);
1983
      vertical-align: middle
1959
      vertical-align: middle
1984
    }
1960
    }
1985
 
1961
 
1986
    #rdrrPmWrap .pm-name-txt {
1962
    #rdrrPmWrap .pm-name-txt {
1987
      font-weight: 650;
1963
      font-weight: 650;
1988
      font-size: 13px;
1964
      font-size: 12.5px;
1989
      color: var(--ink);
1965
      color: var(--ink);
1990
      line-height: 1.2;
1966
      line-height: 1.2;
1991
      white-space: nowrap;
1967
      white-space: nowrap;
1992
      overflow: hidden;
1968
      overflow: hidden;
1993
      text-overflow: ellipsis
1969
      text-overflow: ellipsis
1994
    }
1970
    }
1995
 
1971
 
1996
    #rdrrPmWrap .pm-name-sub {
1972
    #rdrrPmWrap .pm-name-sub {
1997
      font-size: 10.5px;
1973
      font-size: 9.5px;
1998
      color: var(--soft);
1974
      color: var(--soft);
1999
      margin-top: 2px;
1975
      margin-top: 1px;
2000
      letter-spacing: .04em;
1976
      letter-spacing: .04em;
2001
      text-transform: uppercase;
1977
      text-transform: uppercase;
2002
      font-weight: 600
1978
      font-weight: 600
2003
    }
1979
    }
2004
 
1980
 
2005
    /* --- data cells --- */
1981
    /* --- data cells --- */
2006
    #rdrrPmWrap .pm-cell {
1982
    #rdrrPmWrap .pm-cell {
2007
      padding: 9px 12px;
1983
      padding: 6px 8px;
2008
      text-align: right;
1984
      text-align: right;
2009
      vertical-align: middle;
1985
      vertical-align: middle;
2010
      font-variant-numeric: tabular-nums;
1986
      font-variant-numeric: tabular-nums;
2011
      color: var(--ink);
1987
      color: var(--ink);
2012
      transition: outline-color .1s
1988
      overflow: hidden
2013
    }
1989
    }
2014
 
1990
 
2015
    #rdrrPmWrap .pm-cell-zero {
1991
    #rdrrPmWrap .pm-cell-zero {
2016
      color: #cbd0d9;
1992
      color: #cbd0d9;
2017
      font-size: 15px;
1993
      font-size: 14px;
2018
      font-weight: 500
1994
      font-weight: 500;
-
 
1995
      text-align: center
2019
    }
1996
    }
2020
 
1997
 
2021
    #rdrrPmWrap .pm-billed {
1998
    #rdrrPmWrap .pm-billed {
2022
      font-weight: 700;
1999
      font-weight: 700;
2023
      font-size: 13.5px;
2000
      font-size: 12.5px;
2024
      line-height: 1.15;
2001
      line-height: 1.1;
2025
      color: var(--ink)
2002
      color: var(--ink);
-
 
2003
      white-space: nowrap
2026
    }
2004
    }
2027
 
2005
 
2028
    #rdrrPmWrap .pm-meta {
2006
    #rdrrPmWrap .pm-meta {
2029
      margin-top: 3px;
2007
      margin-top: 2px;
2030
      font-size: 10.5px;
2008
      font-size: 9.5px;
2031
      color: var(--soft);
2009
      color: var(--soft);
2032
      font-weight: 500;
2010
      font-weight: 500;
2033
      letter-spacing: .02em;
2011
      line-height: 1.1;
2034
      display: flex;
2012
      white-space: nowrap;
2035
      justify-content: flex-end;
2013
      overflow: hidden;
2036
      gap: 8px;
-
 
2037
      line-height: 1.15
2014
      text-overflow: ellipsis
2038
    }
2015
    }
2039
 
2016
 
2040
    #rdrrPmWrap .pm-partners {
2017
    #rdrrPmWrap .pm-partners {
2041
      color: #177a3a
2018
      color: #177a3a
2042
    }
2019
    }
2043
 
2020
 
-
 
2021
    #rdrrPmWrap .pm-meta-sep {
-
 
2022
      opacity: .4;
-
 
2023
      margin: 0 3px
-
 
2024
    }
-
 
2025
 
2044
    #rdrrPmWrap .pm-po {
2026
    #rdrrPmWrap .pm-po {
2045
      color: #4a55a8
2027
      color: #4a55a8
2046
    }
2028
    }
2047
 
2029
 
2048
    #rdrrPmWrap .pm-unit {
2030
    /* --- row hover --- */
-
 
2031
    #rdrrPmWrap .pm-grid tbody tr.pm-row + tr.pm-row td {
2049
      font-size: 9.5px;
2032
      border-top: 1px solid var(--line2)
2050
      opacity: .75;
2033
    }
-
 
2034
 
-
 
2035
    #rdrrPmWrap .pm-grid tbody tr.pm-row:hover .pm-name {
2051
      margin-left: 1px
2036
      background: #eef2fb
2052
    }
2037
    }
2053
 
2038
 
2054
    /* --- totals row (pinned at top, distinct) --- */
2039
    /* --- totals row (pinned at top, distinct) --- */
2055
    #rdrrPmWrap .pm-total-row .pm-name {
2040
    #rdrrPmWrap .pm-total-row .pm-name {
2056
      background: linear-gradient(180deg, #f2f5fb, #eaeff9);
2041
      background: linear-gradient(180deg, #f2f5fb, #eaeff9);
Line 2074... Line 2059...
2074
    }
2059
    }
2075
 
2060
 
2076
    #rdrrPmWrap .pm-cell-total .pm-billed {
2061
    #rdrrPmWrap .pm-cell-total .pm-billed {
2077
      color: var(--brand);
2062
      color: var(--brand);
2078
      font-weight: 800;
2063
      font-weight: 800;
2079
      font-size: 14px
2064
      font-size: 13px
2080
    }
2065
    }
2081
 
2066
 
2082
    /* --- brand accent header gradients (slug matches JS output) --- */
2067
    /* --- brand accent header gradients (slug matches JS output) --- */
2083
    #rdrrPmWrap .pm-grid thead th.total {
2068
    #rdrrPmWrap .pm-grid thead th.total {
2084
      background: linear-gradient(180deg, #3b5bdb, #28449e)
2069
      background: linear-gradient(180deg, #3b5bdb, #28449e)
Line 3174... Line 3159...
3174
      var other = s.substring(0, s.length - 3);
3159
      var other = s.substring(0, s.length - 3);
3175
      if (other !== "") lastThree = "," + lastThree;
3160
      if (other !== "") lastThree = "," + lastThree;
3176
      return other.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;
3161
      return other.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;
3177
    }
3162
    }
3178
 
3163
 
3179
    // Compact currency: >= 1L => "12.4 L", >= 1K => "45.2 K", else raw.
3164
    // Compact currency: >= 1Cr => "1.19Cr", >= 1L => "18.68L", >= 1K => "28.4K", else raw.
-
 
3165
    // `tight=true` drops the space before the unit for narrow cells.
3180
    function pmCompactCurrency(n) {
3166
    function pmCompactCurrency(n, tight) {
3181
      n = Number(n) || 0;
3167
      n = Number(n) || 0;
-
 
3168
      var sp = tight ? "" : " ";
3182
      if (n >= 10000000) return "₹" + (n / 10000000).toFixed(2) + " Cr";
3169
      if (n >= 10000000) return "₹" + (n / 10000000).toFixed(2) + sp + "Cr";
3183
      if (n >= 100000) return "₹" + (n / 100000).toFixed(2) + " L";
3170
      if (n >= 100000) return "₹" + (n / 100000).toFixed(2) + sp + "L";
3184
      if (n >= 1000) return "₹" + (n / 1000).toFixed(1) + " K";
3171
      if (n >= 1000) return "₹" + (n / 1000).toFixed(1) + sp + "K";
3185
      return "₹" + numberToIndianCurrency(Math.round(n));
3172
      return "₹" + numberToIndianCurrency(Math.round(n));
3186
    }
3173
    }
3187
 
3174
 
3188
    // Parse the injected multi-table fragment into:
3175
    // Parse the injected multi-table fragment into:
3189
    //   { brands: [{name, slug}], rows: [{name, cells: {brand: {po, count, billed}}, totals: {po, count, billed}}] }
3176
    //   { brands: [{name, slug}], rows: [{name, cells: {brand: {po, count, billed}}, totals: {po, count, billed}}] }
Line 3314... Line 3301...
3314
          var style = (!row.isTotal && intensity > 0)
3301
          var style = (!row.isTotal && intensity > 0)
3315
                  ? ' style="background: rgba(59,91,219,' + bgAlpha + ')"' : '';
3302
                  ? ' style="background: rgba(59,91,219,' + bgAlpha + ')"' : '';
3316
          if (isZero) {
3303
          if (isZero) {
3317
            html.push('<td class="pm-cell pm-cell-zero">&mdash;</td>');
3304
            html.push('<td class="pm-cell pm-cell-zero">&mdash;</td>');
3318
          } else {
3305
          } else {
3319
            var billedTxt = pmCompactCurrency(c.billed);
3306
            var billedTxt = pmCompactCurrency(c.billed, true);
3320
            var poTxt = c.po > 0 ? pmCompactCurrency(c.po) : '';
3307
            var poTxt = c.po > 0 ? pmCompactCurrency(c.po, true) : '';
3321
            var partnerTxt = c.count > 0 ? (c.count + ' <span class="pm-unit">ptr</span>') : '';
3308
            var partnerTxt = c.count > 0 ? (c.count + 'p') : '';
-
 
3309
            var metaBits = [];
-
 
3310
            if (partnerTxt) metaBits.push('<span class="pm-partners">' + partnerTxt + '</span>');
-
 
3311
            if (poTxt) metaBits.push('<span class="pm-po">' + poTxt + '</span>');
3322
            html.push('<td class="pm-cell' + (row.isTotal ? ' pm-cell-total' : '') + '"' + style + '>' +
3312
            html.push('<td class="pm-cell' + (row.isTotal ? ' pm-cell-total' : '') + '"' + style + '>' +
3323
                    '<div class="pm-billed">' + billedTxt + '</div>' +
3313
                    '<div class="pm-billed">' + billedTxt + '</div>' +
3324
                    '<div class="pm-meta">' +
-
 
3325
                    (partnerTxt ? '<span class="pm-partners">' + partnerTxt + '</span>' : '') +
-
 
3326
                    (poTxt ? '<span class="pm-po">' + poTxt + '<span class="pm-unit"> PO</span></span>' : '') +
3314
                    (metaBits.length ? '<div class="pm-meta">' + metaBits.join('<span class="pm-meta-sep">·</span>') + '</div>' : '') +
3327
                    '</div>' +
-
 
3328
                    '</td>');
3315
                    '</td>');
3329
          }
3316
          }
3330
        });
3317
        });
3331
        html.push('</tr>');
3318
        html.push('</tr>');
3332
      });
3319
      });