{"version":3,"file":"js/plugins/table-helper.64acaa1e6d9e3714bd34.js","mappings":"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","sources":["webpack://@template/frontend/./scripts/libraries/_plugins/table-helper.js","webpack://@template/frontend/./node_modules/tablesort/src/tablesort.js"],"sourcesContent":["import Tablesort from \"tablesort\";\n\nexport default class TableHelper {\n  constructor() {\n    let _this = this;\n    _this.tables = $(\".vbw-o-table\");\n\n  }\n\n  init() {\n    const _this = this;\n    if (_this.tables && _this.tables.length > 0) {\n      _this.initSorting(_this.tables);\n      _this.initPagination(_this.tables);\n    }\n  }\n\n  initSorting(elements) {\n    let _this = this;\n    let sortedTables = elements.filter(function () {\n      return typeof $(this).attr(\"data-enable-sorting\") !== \"undefined\";\n    });\n    for (let i = 0; i < sortedTables.length; i++) {\n      let table = elements[i];\n      Tablesort(table);\n      table.addEventListener(\"beforeSort\", _this.hideAllRows);\n      table.addEventListener(\"afterSort\", _this.showPaginatedRows);\n    }\n  }\n\n  initPagination(elements) {\n    let _this = this;\n    let paginatedTables = elements.filter(function () {\n      return (\n        typeof $(this).attr(\"data-pagination\") !== \"undefined\" &&\n        parseInt($(this).attr(\"data-pagination\")) > 0\n      );\n    });\n    for (let i = 0; i < paginatedTables.length; i++) {\n      let table = $(elements[i]);\n\n      let pagination = parseInt(table.attr(\"data-pagination\"));\n      let button = table.next(\".vbw-button-see-more\");\n      button.removeClass(\"hidden\");\n\n      table.find(\"tr.vbw-o-table__row\").slice(pagination).addClass(\"hidden\");\n\n      button.on(\"click\", _this.seeMore);\n\n      if (typeof table.attr(\"data-paged-rows\") !== \"undefined\") {\n        let newValue =\n          parseInt(table.attr(\"data-paged-rows\")) +\n          parseInt(table.attr(\"data-pagination\"));\n        table.data(\"data-paged-rows\", newValue);\n      } else {\n        table.attr(\n          \"data-paged-rows\",\n          table.find(\".vbw-o-table__row:not(.hidden)\").length\n        );\n      }\n    }\n  }\n\n  seeMore(event) {\n    requestAnimationFrame(() => {\n      setTimeout(() => {\n        let table = $(event.currentTarget).prev(\".vbw-o-table[data-pagination]\");\n        let pagination = parseInt(table.attr(\"data-pagination\"));\n        table\n          .find(\"tr.vbw-o-table__row.hidden:lt(\" + pagination + \")\")\n          .removeClass(\"hidden\");\n        let pagedRows = parseInt(table.attr(\"data-paged-rows\"));\n        table.attr(\"data-paged-rows\", pagedRows + pagination);\n        $(event.currentTarget).focusout();\n        event.currentTarget.blur();\n        event.preventDefault();\n      }, 0);\n    });\n  }\n\n  hideAllRows(e) {\n    let table = $(e.currentTarget);\n    table.find(\".vbw-o-table__row\").addClass(\"hidden\");\n  }\n\n  showPaginatedRows(e) {\n    let table = $(e.currentTarget);\n    let pagedRows = table.attr(\"data-paged-rows\");\n    table\n      .find(\"tr.vbw-o-table__row.hidden:lt(\" + pagedRows + \")\")\n      .removeClass(\"hidden\");\n  }\n}\n\n(function () {\n  let cleanNumber = function (i) {\n    return i.replace(/[^\\-?0-9.]/g, \"\");\n  },\n  compareNumber = function (a, b) {\n    a = parseFloat(a);\n    b = parseFloat(b);\n\n    a = isNaN(a) ? 0 : a;\n    b = isNaN(b) ? 0 : b;\n\n    return a - b;\n  };\n\n  Tablesort.extend(\n    \"number\",\n    function (item) {\n      return (\n        item.match(/^[-+]?[£\\x24Û¢´€]?\\d+\\s*([,\\.]\\d{0,2})/) || // Prefixed currency\n        item.match(/^[-+]?\\d+\\s*([,\\.]\\d{0,2})?[£\\x24Û¢´€]/) || // Suffixed currency\n        item.match(/^[-+]?(\\d)*-?([,\\.]){0,1}-?(\\d)+([E,e][\\-+][\\d]+)?%?$/)\n      ); // Number\n    },\n    function (a, b) {\n      a = cleanNumber(a);\n      b = cleanNumber(b);\n\n      return compareNumber(b, a);\n    }\n  );\n})();\n",";(function() {\n  function Tablesort(el, options) {\n    if (!(this instanceof Tablesort)) return new Tablesort(el, options);\n\n    if (!el || el.tagName !== 'TABLE') {\n      throw new Error('Element must be a table');\n    }\n    this.init(el, options || {});\n  }\n\n  var sortOptions = [];\n\n  var createEvent = function(name) {\n    var evt;\n\n    if (!window.CustomEvent || typeof window.CustomEvent !== 'function') {\n      evt = document.createEvent('CustomEvent');\n      evt.initCustomEvent(name, false, false, undefined);\n    } else {\n      evt = new CustomEvent(name);\n    }\n\n    return evt;\n  };\n\n  var getInnerText = function(el,options) {\n    return el.getAttribute(options.sortAttribute || 'data-sort') || el.textContent || el.innerText || '';\n  };\n\n  // Default sort method if no better sort method is found\n  var caseInsensitiveSort = function(a, b) {\n    a = a.trim().toLowerCase();\n    b = b.trim().toLowerCase();\n\n    if (a === b) return 0;\n    if (a < b) return 1;\n\n    return -1;\n  };\n\n  var getCellByKey = function(cells, key) {\n    return [].slice.call(cells).find(function(cell) {\n      return cell.getAttribute('data-sort-column-key') === key;\n    });\n  };\n\n  // Stable sort function\n  // If two elements are equal under the original sort function,\n  // then there relative order is reversed\n  var stabilize = function(sort, antiStabilize) {\n    return function(a, b) {\n      var unstableResult = sort(a.td, b.td);\n\n      if (unstableResult === 0) {\n        if (antiStabilize) return b.index - a.index;\n        return a.index - b.index;\n      }\n\n      return unstableResult;\n    };\n  };\n\n  Tablesort.extend = function(name, pattern, sort) {\n    if (typeof pattern !== 'function' || typeof sort !== 'function') {\n      throw new Error('Pattern and sort must be a function');\n    }\n\n    sortOptions.push({\n      name: name,\n      pattern: pattern,\n      sort: sort\n    });\n  };\n\n  Tablesort.prototype = {\n\n    init: function(el, options) {\n      var that = this,\n          firstRow,\n          defaultSort,\n          i,\n          cell;\n\n      that.table = el;\n      that.thead = false;\n      that.options = options;\n\n      if (el.rows && el.rows.length > 0) {\n        if (el.tHead && el.tHead.rows.length > 0) {\n          for (i = 0; i < el.tHead.rows.length; i++) {\n            if (el.tHead.rows[i].getAttribute('data-sort-method') === 'thead') {\n              firstRow = el.tHead.rows[i];\n              break;\n            }\n          }\n          if (!firstRow) {\n            firstRow = el.tHead.rows[el.tHead.rows.length - 1];\n          }\n          that.thead = true;\n        } else {\n          firstRow = el.rows[0];\n        }\n      }\n\n      if (!firstRow) return;\n\n      var onClick = function() {\n        if (that.current && that.current !== this) {\n          that.current.removeAttribute('aria-sort');\n        }\n\n        that.current = this;\n        that.sortTable(this);\n      };\n\n      // Assume first row is the header and attach a click handler to each.\n      for (i = 0; i < firstRow.cells.length; i++) {\n        cell = firstRow.cells[i];\n        cell.setAttribute('role','columnheader');\n        if (cell.getAttribute('data-sort-method') !== 'none') {\n          cell.tabindex = 0;\n          cell.addEventListener('click', onClick, false);\n\n          if (cell.getAttribute('data-sort-default') !== null) {\n            defaultSort = cell;\n          }\n        }\n      }\n\n      if (defaultSort) {\n        that.current = defaultSort;\n        that.sortTable(defaultSort);\n      }\n    },\n\n    sortTable: function(header, update) {\n      var that = this,\n          columnKey = header.getAttribute('data-sort-column-key'),\n          column = header.cellIndex,\n          sortFunction = caseInsensitiveSort,\n          item = '',\n          items = [],\n          i = that.thead ? 0 : 1,\n          sortMethod = header.getAttribute('data-sort-method'),\n          sortOrder = header.getAttribute('aria-sort');\n\n      that.table.dispatchEvent(createEvent('beforeSort'));\n\n      // If updating an existing sort, direction should remain unchanged.\n      if (!update) {\n        if (sortOrder === 'ascending') {\n          sortOrder = 'descending';\n        } else if (sortOrder === 'descending') {\n          sortOrder = 'ascending';\n        } else {\n          sortOrder = that.options.descending ? 'descending' : 'ascending';\n        }\n\n        header.setAttribute('aria-sort', sortOrder);\n      }\n\n      if (that.table.rows.length < 2) return;\n\n      // If we force a sort method, it is not necessary to check rows\n      if (!sortMethod) {\n        var cell;\n        while (items.length < 3 && i < that.table.tBodies[0].rows.length) {\n          if(columnKey) {\n            cell = getCellByKey(that.table.tBodies[0].rows[i].cells, columnKey);\n          } else {\n            cell = that.table.tBodies[0].rows[i].cells[column];\n          }\n\n          // Treat missing cells as empty cells\n          item = cell ? getInnerText(cell,that.options) : \"\";\n\n          item = item.trim();\n\n          if (item.length > 0) {\n            items.push(item);\n          }\n\n          i++;\n        }\n\n        if (!items) return;\n      }\n\n      for (i = 0; i < sortOptions.length; i++) {\n        item = sortOptions[i];\n\n        if (sortMethod) {\n          if (item.name === sortMethod) {\n            sortFunction = item.sort;\n            break;\n          }\n        } else if (items.every(item.pattern)) {\n          sortFunction = item.sort;\n          break;\n        }\n      }\n\n      that.col = column;\n\n      for (i = 0; i < that.table.tBodies.length; i++) {\n        var newRows = [],\n            noSorts = {},\n            j,\n            totalRows = 0,\n            noSortsSoFar = 0;\n\n        if (that.table.tBodies[i].rows.length < 2) continue;\n\n        for (j = 0; j < that.table.tBodies[i].rows.length; j++) {\n          var cell;\n\n          item = that.table.tBodies[i].rows[j];\n          if (item.getAttribute('data-sort-method') === 'none') {\n            // keep no-sorts in separate list to be able to insert\n            // them back at their original position later\n            noSorts[totalRows] = item;\n          } else {\n            if (columnKey) {\n              cell = getCellByKey(item.cells, columnKey);\n            } else {\n              cell = item.cells[that.col];\n            }\n            // Save the index for stable sorting\n            newRows.push({\n              tr: item,\n              td: cell ? getInnerText(cell,that.options) : '',\n              index: totalRows\n            });\n          }\n          totalRows++;\n        }\n        // Before we append should we reverse the new array or not?\n        // If we reverse, the sort needs to be `anti-stable` so that\n        // the double negatives cancel out\n        if (sortOrder === 'descending') {\n          newRows.sort(stabilize(sortFunction, true));\n        } else {\n          newRows.sort(stabilize(sortFunction, false));\n          newRows.reverse();\n        }\n\n        // append rows that already exist rather than creating new ones\n        for (j = 0; j < totalRows; j++) {\n          if (noSorts[j]) {\n            // We have a no-sort row for this position, insert it here.\n            item = noSorts[j];\n            noSortsSoFar++;\n          } else {\n            item = newRows[j - noSortsSoFar].tr;\n          }\n\n          // appendChild(x) moves x if already present somewhere else in the DOM\n          that.table.tBodies[i].appendChild(item);\n        }\n      }\n\n      that.table.dispatchEvent(createEvent('afterSort'));\n    },\n\n    refresh: function() {\n      if (this.current !== undefined) {\n        this.sortTable(this.current, true);\n      }\n    }\n  };\n\n  if (typeof module !== 'undefined' && module.exports) {\n    module.exports = Tablesort;\n  } else {\n    window.Tablesort = Tablesort;\n  }\n})();\n"],"names":["cleanNumber","TableHelper","_classCallCheck","this","tables","$","_createClass","key","value","_this","length","initSorting","initPagination","elements","sortedTables","filter","attr","i","table","Tablesort","addEventListener","hideAllRows","showPaginatedRows","paginatedTables","parseInt","pagination","button","next","removeClass","find","slice","addClass","on","seeMore","newValue","data","event","requestAnimationFrame","setTimeout","currentTarget","prev","pagedRows","focusout","blur","preventDefault","e","replace","item","match","a","b","parseFloat","isNaN","compareNumber","el","options","tagName","Error","init","sortOptions","createEvent","name","evt","window","CustomEvent","document","initCustomEvent","undefined","getInnerText","getAttribute","sortAttribute","textContent","innerText","caseInsensitiveSort","trim","toLowerCase","getCellByKey","cells","call","cell","stabilize","sort","antiStabilize","unstableResult","td","index","extend","pattern","push","prototype","firstRow","defaultSort","that","thead","rows","tHead","onClick","current","removeAttribute","sortTable","setAttribute","tabindex","header","update","columnKey","column","cellIndex","sortFunction","items","sortMethod","sortOrder","dispatchEvent","descending","tBodies","every","col","j","newRows","noSorts","totalRows","noSortsSoFar","tr","reverse","appendChild","refresh","module","exports"],"sourceRoot":""}