{"version":3,"file":"scripts/frontend/frontend.min.js","mappings":"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","sources":["webpack://google-spreadsheet-to-wp-table-sync/./assets/src/scripts/Chunk/Frontend/create_tab.js","webpack://google-spreadsheet-to-wp-table-sync/webpack/bootstrap","webpack://google-spreadsheet-to-wp-table-sync/./assets/src/scripts/Chunk/Frontend/common_func.js","webpack://google-spreadsheet-to-wp-table-sync/./assets/src/scripts/Chunk/Frontend/data_tables_async.js","webpack://google-spreadsheet-to-wp-table-sync/./assets/src/scripts/Chunk/Frontend/data_table_default.js"],"sourcesContent":["jQuery(document).ready(function ($) {\r\n class ManageTab {\r\n constructor() {\r\n this.events();\r\n this.showFirstTabContent();\r\n }\r\n events() {\r\n var buttons = $('.tab_hidden_input');\r\n\r\n buttons.each(function () {\r\n $(this).on(\"click\", function (e) {\r\n let target = e.currentTarget;\r\n\r\n $(target)\r\n .parents(\".tabs_container\")\r\n .find(`.tab_contents .tab-content`)\r\n .removeClass(\"active\");\r\n\r\n let inputID = $(target).data(\"id\");\r\n\r\n $(`#${inputID}`).addClass('active');\r\n });\r\n })\r\n }\r\n\r\n showContent(e) {\r\n target\r\n .parents(\".tab_bottom_side\")\r\n .find(`.tab_contents .tab-content`)\r\n .removeClass(\"active\");\r\n\r\n let inputID = target.attr(\"id\").match(/(\\d+)/)[0];\r\n\r\n target\r\n .parents(\".tab_bottom_side\")\r\n .find(`.tab_contents #tab-content${inputID}`)\r\n .addClass(\"active\");\r\n }\r\n\r\n // Add checked in tabs and get the design.\r\n showFirstTabContent() {\r\n $(\".tabs_container\").each(function () {\r\n $(this)\r\n .find(\".tab_hidden_input:first\")\r\n .prop(\"checked\", true);\r\n });\r\n }\r\n\r\n }\r\n new ManageTab();\r\n});\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// Frontend Data table design and other config applied like pagination, shorting and so on \r\n\r\nexport default class Global_Table_Config {\r\n table_configuration($, i, elem, table_name, table_settings, sheetUrl) {\r\n let dom = `<\"filtering_input filtering_input_${i}\"${\r\n table_settings?.show_x_entries ? \"l\" : \"\"\r\n }${\r\n table_settings?.search_bar ? \"f\" : \"\"\r\n }>rt<\"bottom_options bottom_options_${i}\"${\r\n table_settings?.show_info_block ? \"i\" : \"\"\r\n }${ table_settings?.pagination ? \"p\" : \"\"}>`;\r\n\r\n if (this.isProPluginActive()) {\r\n dom = `B<\"filtering_input filtering_input_${i}\"${\r\n table_settings?.show_x_entries ? \"l\" : \"\"\r\n }${\r\n table_settings?.search_bar ? \"f\" : \"\"\r\n }>rt<\"bottom_options bottom_options_${i}\"${\r\n table_settings?.show_info_block ? \"i\" : \"\"\r\n }${ table_settings?.pagination ? \"p\" : \"\"}>`;\r\n\r\n // change the cell format according to feature saved at database\r\n this.changeRedirectionType(\r\n table_settings?.redirection_type,\r\n $(elem).find(\"#create_tables a\"),\r\n $\r\n );\r\n }\r\n\r\n // For free it need to use without pro checked\r\n this.changeCellFormat(\r\n table_settings?.cell_format,\r\n $(elem).find(\"#create_tables th, td\"),\r\n $\r\n );\r\n\r\n if ( $.fn.DataTable && $(elem).find(\"#create_tables\").length ) {\r\n $(elem).find(\"#create_tables\").DataTable(this.table_obj($, table_name, table_settings, dom));\r\n }\r\n\r\n this.setPdfUrl(sheetUrl, $(elem).find(\".dt-buttons\"));\r\n\r\n if (this.isProPluginActive()) {\r\n this.reveal_export_btns($, elem, table_settings);\r\n }\r\n\r\n this.swap_input_filter($, i, table_settings);\r\n\r\n this.swap_bottom_options($, i, table_settings);\r\n }\r\n\r\n changeRedirectionType(type, links, $) {\r\n if (!links.length) return;\r\n $.each(links, function (i, link) {\r\n $(link).attr(\"target\", type);\r\n });\r\n }\r\n\r\n changeCellFormat(formatStyle, tableCell, $) {\r\n switch (formatStyle) {\r\n case \"wrap\":\r\n $.each(tableCell, function (i, cell) {\r\n $(cell).removeClass(\"clip_style\");\r\n $(cell).removeClass(\"expanded_style\");\r\n $(cell).addClass(\"wrap_style\");\r\n });\r\n break;\r\n\r\n case \"clip\":\r\n $.each(tableCell, function (i, cell) {\r\n $(cell).removeClass(\"wrap_style\");\r\n $(cell).removeClass(\"expanded_style\");\r\n $(cell).addClass(\"clip_style\");\r\n });\r\n break;\r\n case \"expand\":\r\n $.each(tableCell, function (i, cell) {\r\n $(cell).removeClass(\"clip_style\");\r\n $(cell).removeClass(\"wrap_style\");\r\n $(cell).addClass(\"expanded_style\");\r\n });\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n isProPluginActive() {\r\n if (front_end_data.isProActive || front_end_data.isProActive != '') {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n getSpreadsheetID(url) {\r\n if (!url || url == \"\") return;\r\n\r\n let sheetID = null;\r\n\r\n sheetID = url.split(/\\//)[5];\r\n\r\n if (sheetID) return sheetID;\r\n\r\n return null;\r\n }\r\n\r\n getGridID(url) {\r\n if (!url || url == \"\") return;\r\n\r\n let gridID = null;\r\n\r\n gridID = url.match(/gid=(\\w+)/);\r\n\r\n if ( gridID != null ) {\r\n gridID = gridID[1];\r\n }\r\n\r\n if (gridID) {\r\n return gridID;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n //PDF Export as PDF\r\n setPdfUrl(url, elem) {\r\n let spreadsheetID = this.getSpreadsheetID(url);\r\n let gridID = this.getGridID(url);\r\n let pdfUrl = `https://docs.google.com/spreadsheets/d/${spreadsheetID}/export?format=pdf&id=${spreadsheetID}&gid=${gridID}`;\r\n // Forntend part design `\r\n \r\n \r\n \r\n `\r\n );\r\n }\r\n \r\n table_obj($, table_name, table_settings, dom) {\r\n\r\n let table_object = {\r\n dom: dom,\r\n order: [],\r\n // order: [[0, 'asc']],\r\n responsive: true,\r\n lengthMenu: [\r\n [1, 5, 10, 15, 30],\r\n [\r\n front_end_data.strings['1'],\r\n front_end_data.strings['5'],\r\n front_end_data.strings['10'],\r\n front_end_data.strings['15'],\r\n front_end_data.strings['30'],\r\n ]\r\n ],\r\n language: {\r\n search: front_end_data.strings['search'],\r\n lengthMenu: front_end_data.strings['filtering_show'] + \" _MENU_ \" + front_end_data.strings['filtering_entries'],\r\n info: front_end_data.strings['dataTables_info_showing'] + \" _START_ \" + front_end_data.strings['dataTables_info_to'] + \" _END_ \" + front_end_data.strings['dataTables_info_of'] + \" _TOTAL_ \" + front_end_data.strings['filtering_entries'],\r\n\r\n emptyTable: front_end_data.strings['data-empty-notice'],\r\n zeroRecords: front_end_data.strings['data-empty-notice'],\r\n paginate: {\r\n first: \"first\",\r\n previous: front_end_data.strings['previous'],\r\n next: front_end_data.strings['next'],\r\n last: front_end_data.strings['last'],\r\n },\r\n },\r\n pageLength: parseInt(table_settings.default_rows_per_page),\r\n lengthChange: true,\r\n ordering: table_settings.allow_sorting,\r\n destroy: true,\r\n scrollX: true,\r\n };\r\n\r\n $('.gswpts_tables_container').each(function () {\r\n let numberOfColumns = $(this).find('thead th').length;\r\n let table_object = {\r\n order: []\r\n };\r\n \r\n for (let i = 0; i < numberOfColumns; i++) {\r\n // table_object.order.push([i, 'asc']);\r\n table_object.order.push([i, '']);\r\n }\r\n });\r\n\r\n if (this.isProPluginActive()) {\r\n table_object.buttons = [\r\n {\r\n text: ``,\r\n className: \"ui inverted button export_btns json_btn\",\r\n action: function (e, dt, button, config) {\r\n var data = dt.buttons.exportData();\r\n $.fn.dataTable.fileSave(\r\n new Blob([JSON.stringify(data)]),\r\n `${table_name}.json`\r\n );\r\n },\r\n titleAttr: front_end_data.strings['export-json']\r\n },\r\n {\r\n text: ``,\r\n extend: \"csv\",\r\n className: \"ui inverted button export_btns csv_btn\",\r\n title: `${table_name}`,\r\n // titleAttr: \"Export as CSV\",\r\n titleAttr: front_end_data.strings['export-csv'],\r\n },\r\n {\r\n text: ``,\r\n extend: \"excel\",\r\n className: \"ui inverted button export_btns excel_btn\",\r\n title: `${table_name}`,\r\n titleAttr: front_end_data.strings['export-excel']\r\n },\r\n {\r\n text: ``,\r\n extend: \"print\",\r\n className: \"ui inverted button export_btns print_btn\",\r\n title: `${table_name}`,\r\n titleAttr: front_end_data.strings['print']\r\n },\r\n {\r\n text: ``,\r\n extend: \"copy\",\r\n className: \"ui inverted button export_btns copy_btn\",\r\n title: `${table_name}`,\r\n titleAttr: front_end_data.strings['copy']\r\n },\r\n ];\r\n\r\n table_object.lengthMenu = [\r\n [1, 5, 10, 15, 30, 50, 100, -1],\r\n [\r\n front_end_data.strings['1'],\r\n front_end_data.strings['5'],\r\n front_end_data.strings['10'],\r\n front_end_data.strings['15'],\r\n front_end_data.strings['30'],\r\n front_end_data.strings['50'],\r\n front_end_data.strings['100'],\r\n front_end_data.strings['All']\r\n ]\r\n ];\r\n\r\n if (table_settings.vertical_scrolling) {\r\n table_object.scrollY = `${table_settings.vertical_scrolling}px`;\r\n }\r\n\r\n if ( ! table_settings?.hide_on_desktop && ! table_settings?.hide_on_mobile ) {\r\n if (table_settings.hide_column ) {\r\n table_object.columnDefs = this.hideColumnByScreen(\r\n table_settings.hide_column\r\n );\r\n } \r\n } else {\r\n if (this.screenSize() === \"desktop\" ) {\r\n if (table_settings.hide_column && table_settings?.hide_on_desktop ) {\r\n table_object.columnDefs = this.hideColumnByScreen(\r\n table_settings.hide_column\r\n );\r\n }\r\n } else {\r\n if (table_settings.hide_column && table_settings?.hide_on_mobile) {\r\n table_object.columnDefs = this.hideColumnByScreen(\r\n table_settings.hide_column\r\n );\r\n }\r\n }\r\n }\r\n\r\n \r\n }\r\n\r\n return table_object;\r\n }\r\n\r\n // Return an array that will define the columns to hide\r\n hideColumnByScreen(arrayValues) {\r\n return [\r\n {\r\n targets: this.convertArrayStringToInteger(arrayValues),\r\n visible: false,\r\n searchable: false,\r\n },\r\n ];\r\n }\r\n\r\n // get the current screen size of user if greater than 740 return desktop or return mobile\r\n screenSize() {\r\n // Desktop screen size\r\n if (screen.width > 740) {\r\n return \"desktop\";\r\n } else {\r\n return \"mobile\";\r\n }\r\n }\r\n\r\n // convert string to integer from arrays\r\n convertArrayStringToInteger(arr) {\r\n if (!arr) return [];\r\n return arr.map((val) => parseInt(val));\r\n }\r\n\r\n reveal_export_btns($, elem, table_settings) {\r\n if (!table_settings) return;\r\n\r\n let export_btns = table_settings.table_export;\r\n\r\n if (export_btns != \"empty\" && export_btns) {\r\n export_btns.forEach((btn) => {\r\n $(elem)\r\n .find(\".\" + btn + \"_btn\")\r\n .removeClass(\"export_btns\");\r\n });\r\n }\r\n }\r\n\r\n swap_input_filter($, i, table_settings) {\r\n /* If checkbox is checked then swap filter */\r\n if (table_settings?.swap_filter_inputs) {\r\n $(\".filtering_input_\" + i + \"\").css(\"flex-direction\", \"row-reverse\");\r\n $(\".filtering_input_\" + i + \" > #create_tables_length\").css({\r\n \"margin-right\": \"0\",\r\n \"margin-left\": \"auto\",\r\n });\r\n $(\".filtering_input_\" + i + \" > #create_tables_filter\").css({\r\n \"margin-left\": \"0\",\r\n \"margin-right\": \"auto\",\r\n });\r\n } else {\r\n /* Set back to default position */\r\n $(\".filtering_input_\" + i + \"\").css(\"flex-direction\", \"row\");\r\n $(\".filtering_input_\" + i + \" > #create_tables_length\").css({\r\n \"margin-right\": \"auto\",\r\n \"margin-left\": \"0\",\r\n });\r\n $(\".filtering_input_\" + i + \" > #create_tables_filter\").css({\r\n \"margin-left\": \"auto\",\r\n \"margin-right\": \"0\",\r\n });\r\n }\r\n }\r\n\r\n swap_bottom_options($, i, table_settings) {\r\n let style = {\r\n flex_direction: \"row-reverse\",\r\n table_info_style: {\r\n margin_left: \"auto\",\r\n margin_right: 0,\r\n },\r\n table_paginate_style: {\r\n margin_left: 0,\r\n margin_right: \"auto\",\r\n },\r\n };\r\n\r\n if (table_settings?.swap_bottom_options) {\r\n this.bottom_option_style($, style, i);\r\n } else {\r\n style[\"flex_direction\"] = \"row\";\r\n\r\n style.table_info_style[\"margin_left\"] = 0;\r\n style.table_info_style[\"margin_right\"] = \"auto\";\r\n\r\n style.table_paginate_style[\"margin_left\"] = \"auto\";\r\n style.table_paginate_style[\"margin_right\"] = 0;\r\n\r\n this.bottom_option_style($, style, i);\r\n }\r\n }\r\n\r\n bottom_option_style($, $arg, i) {\r\n $(\".bottom_options_\" + i + \"\").css(\"flex-direction\", $arg[\"flex_direction\"]);\r\n $(\".bottom_options_\" + i + \" > #create_tables_info\").css({\r\n \"margin-left\": $arg[\"table_info_style\"][\"margin_left\"],\r\n \"margin-right\": $arg[\"table_info_style\"][\"margin_right\"],\r\n });\r\n $(\".bottom_options_\" + i + \" > #create_tables_paginate\").css({\r\n \"margin-left\": $arg[\"table_paginate_style\"][\"margin_left\"],\r\n \"margin-right\": $arg[\"table_paginate_style\"][\"margin_right\"],\r\n });\r\n }\r\n\r\n /**\r\n * Header merge \r\n */\r\n handleHeaderMergedCells($, elem) {\r\n var tableHeaders = $(elem).find('.thead-item[data-merge]');\r\n \r\n if(tableHeaders){\r\n tableHeaders.each(function (index, header) {\r\n // Check if the current header has the data-merge attribute.\r\n var dataMerge = $(header).attr('data-merge');\r\n \r\n if (dataMerge) {\r\n dataMerge = JSON.parse(dataMerge);\r\n var startCol = dataMerge[0];\r\n var numCols = dataMerge[1];\r\n \r\n // Add parentCellstart class to the starting cell\r\n $(header).addClass('parentCellstart');\r\n \r\n $(header).css({\r\n 'text-align': 'center',\r\n });\r\n \r\n // Update colspan attribute\r\n $(header).attr('colspan', numCols);\r\n \r\n // Get the next cell in the row\r\n var nextCell = $(header).next();\r\n \r\n // Loop through numCols starting from 1\r\n for (var i = 1; i < numCols; i++) {\r\n if (nextCell && nextCell.length) {\r\n $(nextCell).addClass('childCell');\r\n // nextCell.style.display = 'none'; \r\n nextCell = $(nextCell).next();\r\n }\r\n }\r\n \r\n $(elem).find('.childCell').css('display', 'none');\r\n \r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Table body merge\r\n * @param {* table body merge} $ \r\n * @param {*} elem \r\n */\r\n\r\n handleMergedCells($, elem) {\r\n var tableRows = $(elem).find('.gswpts_rows');\r\n \r\n tableRows.each(function () {\r\n var cells = $(this).find('td');\r\n \r\n cells.each(function () {\r\n if ($(this).hasClass('parentCellstart')) {\r\n\r\n // Apply the logic from the previous conversation here\r\n var dataMerge = JSON.parse($(this).attr('data-merge'));\r\n var dataIndex = JSON.parse($(this).attr('data-index'));\r\n \r\n for (var i = 0; i < dataMerge[0]; i++) {\r\n for (var j = 0; j < dataMerge[1]; j++) {\r\n var targetIndex = [\r\n dataIndex[0] + i,\r\n dataIndex[1] + j\r\n ];\r\n \r\n var targetCell = $(elem).find('[data-index=\"[' + targetIndex.join(',') + ']\"]');\r\n \r\n if (targetCell) {\r\n var cellDivContent = targetCell.find('.cell_div').text().trim();\r\n if (cellDivContent === '') {\r\n targetCell.addClass('merged-cell');\r\n targetCell.hide();\r\n\r\n if ($(this).hasClass('parentCellstart')) {\r\n $(this).css({\r\n 'text-align': 'center',\r\n 'vertical-align': 'middle'\r\n });\r\n }\r\n } else {\r\n targetCell.addClass('normal-cell');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * \r\n * Add dynamic table width in header from body td calculated on tr\r\n */\r\n handleTableWidth($, elem) {\r\n // Check if elem has a prevObject property\r\n if (elem.prevObject && elem.prevObject.length > 0) {\r\n elem = elem.prevObject;\r\n }\r\n\r\n // Ensure that the desired element is present in the jQuery object\r\n if (elem.length === 0) {\r\n console.log(\"No element found within the given object.\");\r\n return;\r\n }\r\n\r\n // Loop through each element in elem (there should be only one)\r\n elem.each(function (index, container) {\r\n // Find the element within the container\r\n var row = $(container).find(\"tr.gswpts_rows\");\r\n\r\n // Check if the element exists in the container\r\n if (row.length > 0) {\r\n // Get the bounding rectangle of the element\r\n var rect = row[0].getBoundingClientRect();\r\n\r\n // Get the total width from the bounding rectangle\r\n var totalWidth = rect.width;\r\n\r\n // Get the table element within the container\r\n var table = $(container).find(\".ui.celled.display.table.gswpts_tables.dataTable.no-footer\");\r\n\r\n // Set the width of the table\r\n table.css('width', totalWidth + \"px\");\r\n\r\n // Log the total width to the console\r\n // console.log(\"Total Width for Table with ID \" + container.id + \": \" + totalWidth + \" pixels\");\r\n }\r\n });\r\n }\r\n\r\n html_loader() {\r\n let loader = `\r\n
\r\n
\r\n
Loading
\r\n
\r\n

\r\n

\r\n

\r\n
\r\n `;\r\n return loader;\r\n }\r\n\r\n clearOverflow() {\r\n if (\r\n /Android|webOS|iPhone|iPad|Mac|Macintosh|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\r\n navigator.userAgent\r\n )\r\n ) {\r\n if (\r\n this.detectBrowser() == \"Chrome\" ||\r\n this.detectBrowser() == \"Safari\" ||\r\n this.detectBrowser() == \"MSIE\"\r\n ) {\r\n let tableScrollBody = document.querySelectorAll(\r\n \".gswpts_tables_container .dataTables_scrollBody\"\r\n );\r\n\r\n if (tableScrollBody) {\r\n tableScrollBody.forEach((element) => {\r\n if (\r\n element.parentElement.parentElement.parentElement.parentElement.classList.contains(\r\n \"collapse_style\"\r\n )\r\n ) {\r\n element.style.overflow = \"unset\";\r\n element.style.height = \"unset\";\r\n element.style.maxHeight = \"unset\";\r\n }\r\n });\r\n }\r\n\r\n // this.hideEmptyCell();\r\n }\r\n }\r\n }\r\n\r\n detectBrowser() {\r\n if ((navigator.userAgent.indexOf(\"Opera\") || navigator.userAgent.indexOf(\"OPR\")) != -1) {\r\n return \"Opera\";\r\n } else if (navigator.userAgent.indexOf(\"Chrome\") != -1) {\r\n return \"Chrome\";\r\n } else if (navigator.userAgent.indexOf(\"Safari\") != -1) {\r\n return \"Safari\";\r\n } else if (navigator.userAgent.indexOf(\"Firefox\") != -1) {\r\n return \"Firefox\";\r\n } else if (navigator.userAgent.indexOf(\"MSIE\") != -1 || !!document.documentMode == true) {\r\n return \"IE\"; //crap\r\n } else {\r\n return \"Unknown\";\r\n }\r\n }\r\n\r\n hideEmptyCell() {\r\n let tableCells = document.querySelectorAll(\".gswpts_tables_container td\");\r\n if (!tableCells) return;\r\n\r\n tableCells.forEach((element) => {\r\n if (element.innerText == \"\") {\r\n // element.style.display = \"none\";\r\n element.innerText = \"No data\";\r\n }\r\n });\r\n }\r\n\r\n bindDragScroll($container, $scroller) {\r\n var $window = jQuery(window);\r\n\r\n var x = 0;\r\n var y = 0;\r\n\r\n var x2 = 0;\r\n var y2 = 0;\r\n var t = 0;\r\n\r\n $container.on(\"mousedown\", down);\r\n $container.on(\"click\", preventDefault);\r\n $scroller.on(\"mousewheel\", horizontalMouseWheel); // prevent macbook trigger prev/next page while scrolling\r\n\r\n function down(evt) {\r\n if (evt.button === 0) {\r\n t = Date.now();\r\n x = x2 = evt.pageX;\r\n y = y2 = evt.pageY;\r\n\r\n $container.addClass(\"down\");\r\n $window.on(\"mousemove\", move);\r\n $window.on(\"mouseup\", up);\r\n\r\n evt.preventDefault();\r\n }\r\n }\r\n\r\n function move(evt) {\r\n // alert(\"move\");\r\n if ($container.hasClass(\"down\")) {\r\n var _x = evt.pageX;\r\n var _y = evt.pageY;\r\n var deltaX = _x - x;\r\n var deltaY = _y - y;\r\n\r\n $scroller[0].scrollLeft -= deltaX;\r\n\r\n x = _x;\r\n y = _y;\r\n }\r\n }\r\n\r\n function up(evt) {\r\n $window.off(\"mousemove\", move);\r\n $window.off(\"mouseup\", up);\r\n\r\n var deltaT = Date.now() - t;\r\n var deltaX = evt.pageX - x2;\r\n var deltaY = evt.pageY - y2;\r\n if (deltaT <= 300) {\r\n $scroller.stop().animate(\r\n {\r\n scrollTop: \"-=\" + deltaY * 3,\r\n scrollLeft: \"-=\" + deltaX * 3,\r\n },\r\n 500,\r\n function (x, t, b, c, d) {\r\n // easeOutCirc function from http://gsgd.co.uk/sandbox/jquery/easing/\r\n return c * Math.sqrt(1 - (t = t / d - 1) * t) + b;\r\n }\r\n );\r\n }\r\n\r\n t = 0;\r\n\r\n $container.removeClass(\"down\");\r\n }\r\n\r\n function preventDefault(evt) {\r\n if (x2 !== evt.pageX || y2 !== evt.pageY) {\r\n evt.preventDefault();\r\n return false;\r\n }\r\n }\r\n\r\n function horizontalMouseWheel(evt) {\r\n evt = evt.originalEvent;\r\n var x = $scroller.scrollLeft();\r\n var max = $scroller[0].scrollWidth - $scroller[0].offsetWidth;\r\n var dir = evt.deltaX || evt.wheelDeltaX;\r\n var stop = dir > 0 ? x >= max : x <= 0;\r\n if (stop && dir) {\r\n evt.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n addGrabCursonOnMouseDown(elem) {\r\n elem.mousedown((e) => {\r\n elem.css({\r\n cursor: \"grab\",\r\n });\r\n });\r\n elem.mouseup((e) => {\r\n elem.css({\r\n cursor: \"auto\",\r\n });\r\n });\r\n }\r\n}\r\n","import Global_Table_Config from \"./common_func\";\r\n\r\njQuery(document).ready(function ($) {\r\n class Data_Tables_Async {\r\n constructor() {\r\n this.frontend_table = $(\".gswpts_tables_container\");\r\n\r\n if (front_end_data.asynchronous_loading == \"on\") {\r\n this.events();\r\n } else {\r\n return;\r\n }\r\n }\r\n events() {\r\n this.get_frontend_table();\r\n }\r\n\r\n get_frontend_table() {\r\n $.each(this.frontend_table, function (i, elem) {\r\n let id = $(elem).attr(\"id\");\r\n $.ajax({\r\n url : front_end_data.admin_ajax,\r\n data : {\r\n action : \"gswpts_sheet_fetch\",\r\n id : id,\r\n nonce : window?.front_end_data?.nonce,\r\n },\r\n type: \"post\",\r\n success: (res) => {\r\n let tableClass = new Global_Table_Config();\r\n let table_settings = res.data.table_settings;\r\n\r\n // if (tableClass.isProPluginActive()) {\r\n if (table_settings?.responsive_style) {\r\n $(elem).addClass(table_settings?.responsive_style);\r\n }\r\n\r\n if (table_settings?.import_styles) {\r\n $(elem).addClass(`gswpts_default-style`);\r\n } else {\r\n $(elem).addClass(\r\n `gswpts_${\r\n table_settings?.table_style\r\n ? table_settings?.table_style\r\n : \"default-style\"\r\n }`\r\n );\r\n }\r\n\r\n $(elem).addClass(`gswpts_default-style`);\r\n // }\r\n\r\n if (table_settings?.show_title == \"true\") {\r\n $(elem).find(\"h3\").html(res.data.table_name);\r\n }\r\n\r\n $(elem).find(\".gswpts_tables_content\").html(res.data.output);\r\n\r\n let table_name = res.data.name;\r\n let sheetUrl = res.data.source_url;\r\n\r\n tableClass.table_configuration(\r\n $,\r\n i,\r\n elem,\r\n table_name,\r\n table_settings,\r\n sheetUrl\r\n );\r\n\r\n let scrollerContainer = $(elem).find(\".dataTables_scroll\");\r\n let scrollerElement = $(elem).find(\".dataTables_scrollBody\");\r\n\r\n if (scrollerElement) {\r\n\r\n //Extra header issue fix it how it was before when click the sort icon and has header merge\r\n function handleCommonActions(theadElement) {\r\n console.clear(); // Clearing a few basic logs that are not needed to show\r\n if (theadElement) {\r\n // Select all tr elements within theadElement\r\n var trElements = theadElement.querySelectorAll('tr');\r\n \r\n // Iterate through each trElement\r\n trElements.forEach(function(trElement) {\r\n // Apply height style to each trElement\r\n trElement.style.height = '0px';\r\n \r\n // Select all th elements within theadElement\r\n var thElements = trElement.querySelectorAll('th');\r\n \r\n // Iterate through each thElement\r\n thElements.forEach(function(thElement) {\r\n // Create a new div element with the required styles\r\n var divElement = document.createElement('div');\r\n divElement.className = 'dataTables_sizing';\r\n divElement.style.height = '0px';\r\n divElement.style.overflow = 'hidden';\r\n divElement.innerText = thElement.innerText; // Copy the text content\r\n \r\n // Empty the thElement and append the divElement\r\n thElement.innerHTML = '';\r\n thElement.appendChild(divElement);\r\n \r\n // Apply styles to each thElement\r\n thElement.style.paddingTop = '0px';\r\n thElement.style.paddingBottom = '0px';\r\n thElement.style.borderTopWidth = '0px';\r\n thElement.style.borderBottomWidth = '0px';\r\n thElement.style.height = '0px';\r\n thElement.style.textAlign = 'center';\r\n // thElement.style.display = 'none';\r\n });\r\n });\r\n }\r\n }\r\n \r\n function handlePagination() {\r\n var createTablesPaginate = document.getElementById('create_tables_paginate');\r\n if (createTablesPaginate) {\r\n var container = createTablesPaginate.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n }\r\n }\r\n \r\n \r\n var tableHeaders = document.querySelectorAll('.thead-item[data-merge]');\r\n tableHeaders.forEach(function (header) {\r\n // Check if the current header has the data-merge attribute.\r\n var dataMerge = header.getAttribute('data-merge');\r\n if (dataMerge) {\r\n var sortingElements = document.querySelectorAll('.sorting');\r\n var dataTablesLength = document.querySelectorAll('.dataTables_length');\r\n var dataTables_filter = document.querySelectorAll('.dataTables_filter');\r\n var createTablesFilterInputs = document.querySelectorAll('.dataTables_filter input');\r\n var paginateContainer = document.getElementById('create_tables_paginate');\r\n \r\n // Add a click event listener to each sorting element\r\n sortingElements.forEach(function (sortingElement) {\r\n sortingElement.addEventListener('click', function () {\r\n // Find the .dataTables_scrollBody element within the same container\r\n var container = sortingElement.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n // Find the element within the .dataTables_scrollBody\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n });\r\n });\r\n \r\n // Add a click event listener to each dataTablesLength element\r\n dataTablesLength.forEach(function (LengthElement) {\r\n LengthElement.addEventListener('click', function () {\r\n var container = LengthElement.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n console.log(\"click on dataTablesLength\");\r\n });\r\n });\r\n \r\n // Add a click event listener to each dataTables_filter element\r\n dataTables_filter.forEach(function (FilterElement) {\r\n FilterElement.addEventListener('click', function () {\r\n var container = FilterElement.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n console.log(\"click on dataTables_filter\");\r\n });\r\n });\r\n \r\n createTablesFilterInputs.forEach(function (createTablesFilterInput) {\r\n createTablesFilterInput.addEventListener('input',function () {\r\n var container = createTablesFilterInput.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n console.log(\"click on handleSearchFilter\");\r\n });\r\n });\r\n \r\n if (paginateContainer) {\r\n paginateContainer.addEventListener('click', function (event) {\r\n // Check if the clicked element is a paginate button\r\n if (event.target.classList.contains('paginate_button')) {\r\n handlePagination();\r\n console.log(\"click on paginate\");\r\n }\r\n });\r\n } \r\n }\r\n });\r\n \r\n }\r\n\r\n // END \r\n\r\n // Additional code for handling merged cells and text alignment\r\n tableClass.handleMergedCells($, elem);\r\n\r\n //Additional code for handling header merged cells and text alignment\r\n tableClass.handleHeaderMergedCells($, elem);\r\n\r\n\r\n if (front_end_data.isProActive) {\r\n if (table_settings?.cursor_behavior == \"left_right\") {\r\n // Add functionality of scrolling the table.\r\n tableClass.bindDragScroll(scrollerContainer, scrollerElement);\r\n }\r\n tableClass.addGrabCursonOnMouseDown($(elem).find(\"#create_tables\"));\r\n }\r\n \r\n\r\n // table width fixing\r\n tableClass.handleTableWidth($, $(elem).find(\".gswpts_tables_container\"));\r\n\r\n tableClass.clearOverflow();\r\n\r\n /**\r\n * FE Sorting fix by disable the sorting when has vertical merge \r\n */\r\n var tableRows = document.querySelectorAll('.gswpts_rows');\r\n var verticalMergeFound = false;\r\n if(tableRows){\r\n tableRows.forEach(function (row) {\r\n var cells = row.querySelectorAll('td');\r\n cells.forEach(function (cell, index) {\r\n var rowspan = cell.getAttribute('rowspan');\r\n\r\n if (rowspan && parseInt(rowspan) > 1) {\r\n verticalMergeFound = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n if (verticalMergeFound) {\r\n $.ajax({\r\n url : front_end_data.admin_ajax,\r\n data : {\r\n action : \"swptls_update_sorting_fe\",\r\n id : id,\r\n nonce : window?.front_end_data?.nonce,\r\n allow_sorting: false, \r\n },\r\n type: \"post\",\r\n success: (res) => {\r\n \r\n },\r\n error: (err) => {\r\n \r\n },\r\n });\r\n\r\n }\r\n // END \r\n \r\n },\r\n error: (err) => {\r\n alert(\"Something went wrong\");\r\n console.error(err);\r\n $(elem)\r\n .find(\".gswpts_tables_content\")\r\n .html(\"Table could not be loaded. Try again\");\r\n },\r\n });\r\n\r\n\r\n \r\n\r\n });\r\n }\r\n }\r\n\r\n new Data_Tables_Async();\r\n});\r\n\r\n","import Global_Table_Config from \"./common_func\";\r\n\r\njQuery(document).ready(function ($) {\r\n class Data_Tables_Default {\r\n constructor() {\r\n this.frontend_table = $(\".gswpts_tables_container\");\r\n if (front_end_data.asynchronous_loading == \"off\") {\r\n this.events();\r\n } else {\r\n return;\r\n }\r\n }\r\n events() {\r\n this.get_frontend_table();\r\n }\r\n\r\n get_frontend_table() {\r\n $.each(this.frontend_table, function (i, elem) {\r\n let table_settings = JSON.parse($(elem).attr(\"data-table_settings\"));\r\n\r\n let table_name = $(elem).attr(\"data-table_name\");\r\n let sheetUrl = $(elem).attr(\"data-url\");\r\n\r\n let table_obj = new Global_Table_Config();\r\n\r\n table_obj.table_configuration($, i, elem, table_name, table_settings, sheetUrl);\r\n\r\n let scrollerContainer = $(elem).find(\".dataTables_scroll\");\r\n let scrollerElement = $(elem).find(\".dataTables_scrollBody\");\r\n\r\n \r\n \r\n // Fix extra header when clicking the sort icon and has header merge\r\n if (scrollerElement) {\r\n\r\n //Extra header issue fix it how it was before when click the sort icon and has header merge\r\n function handleCommonActions(theadElement) {\r\n console.clear(); // Clearing a few basic logs that are not needed to show\r\n if (theadElement) {\r\n // Select all tr elements within theadElement\r\n var trElements = theadElement.querySelectorAll('tr');\r\n \r\n // Iterate through each trElement\r\n trElements.forEach(function(trElement) {\r\n // Apply height style to each trElement\r\n trElement.style.height = '0px';\r\n \r\n // Select all th elements within theadElement\r\n var thElements = trElement.querySelectorAll('th');\r\n \r\n // Iterate through each thElement\r\n thElements.forEach(function(thElement) {\r\n // Create a new div element with the required styles\r\n var divElement = document.createElement('div');\r\n divElement.className = 'dataTables_sizing';\r\n divElement.style.height = '0px';\r\n divElement.style.overflow = 'hidden';\r\n divElement.innerText = thElement.innerText; // Copy the text content\r\n \r\n // Empty the thElement and append the divElement\r\n thElement.innerHTML = '';\r\n thElement.appendChild(divElement);\r\n \r\n // Apply styles to each thElement\r\n thElement.style.paddingTop = '0px';\r\n thElement.style.paddingBottom = '0px';\r\n thElement.style.borderTopWidth = '0px';\r\n thElement.style.borderBottomWidth = '0px';\r\n thElement.style.height = '0px';\r\n thElement.style.textAlign = 'center';\r\n // thElement.style.display = 'none';\r\n });\r\n });\r\n }\r\n }\r\n \r\n function handlePagination() {\r\n var createTablesPaginate = document.getElementById('create_tables_paginate');\r\n if (createTablesPaginate) {\r\n var container = createTablesPaginate.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n }\r\n }\r\n\r\n\r\n var tableHeaders = document.querySelectorAll('.thead-item[data-merge]');\r\n tableHeaders.forEach(function (header) {\r\n // Check if the current header has the data-merge attribute.\r\n var dataMerge = header.getAttribute('data-merge');\r\n if (dataMerge) {\r\n var sortingElements = document.querySelectorAll('.sorting');\r\n var dataTablesLength = document.querySelectorAll('.dataTables_length');\r\n var dataTables_filter = document.querySelectorAll('.dataTables_filter');\r\n var createTablesFilterInputs = document.querySelectorAll('.dataTables_filter input');\r\n var paginateContainer = document.getElementById('create_tables_paginate');\r\n\r\n // Add a click event listener to each sorting element\r\n sortingElements.forEach(function (sortingElement) {\r\n sortingElement.addEventListener('click', function () {\r\n // Find the .dataTables_scrollBody element within the same container\r\n var container = sortingElement.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n // Find the element within the .dataTables_scrollBody\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n });\r\n });\r\n \r\n // Add a click event listener to each dataTablesLength element\r\n dataTablesLength.forEach(function (LengthElement) {\r\n LengthElement.addEventListener('click', function () {\r\n var container = LengthElement.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n console.log(\"click on dataTablesLength\");\r\n });\r\n });\r\n \r\n // Add a click event listener to each dataTables_filter element\r\n dataTables_filter.forEach(function (FilterElement) {\r\n FilterElement.addEventListener('click', function () {\r\n var container = FilterElement.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n console.log(\"click on dataTables_filter\");\r\n });\r\n });\r\n \r\n createTablesFilterInputs.forEach(function (createTablesFilterInput) {\r\n createTablesFilterInput.addEventListener('input',function () {\r\n var container = createTablesFilterInput.closest(\".gswpts_tables_container\");\r\n var scrollBody = container.querySelector('.dataTables_scrollBody');\r\n var thead = scrollBody.querySelector('thead');\r\n handleCommonActions(thead);\r\n console.log(\"click on handleSearchFilter\");\r\n });\r\n });\r\n\r\n if (paginateContainer) {\r\n paginateContainer.addEventListener('click', function (event) {\r\n // Check if the clicked element is a paginate button\r\n if (event.target.classList.contains('paginate_button')) {\r\n handlePagination();\r\n console.log(\"click on paginate\");\r\n }\r\n });\r\n } \r\n }\r\n });\r\n \r\n }\r\n\r\n if (front_end_data.isProActive) {\r\n table_obj.bindDragScroll(scrollerContainer, scrollerElement);\r\n\r\n if (table_settings?.cursor_behavior == \"left_right\") {\r\n // Add functionality of scrolling the table.\r\n table_obj.bindDragScroll(scrollerContainer, scrollerElement);\r\n }\r\n table_obj.addGrabCursonOnMouseDown($(elem).find(\"#create_tables\"));\r\n }\r\n \r\n \r\n // Additional code for handling merged cells and text alignment\r\n table_obj.handleMergedCells($, elem);\r\n\r\n table_obj.handleHeaderMergedCells($, elem);\r\n\r\n table_obj.handleTableWidth($, $(elem).find(\".gswpts_tables_container\"));\r\n\r\n table_obj.clearOverflow();\r\n });\r\n }\r\n }\r\n\r\n new Data_Tables_Default();\r\n});\r\n\r\n"],"names":["jQuery","document","ready","$","this","events","showFirstTabContent","each","on","e","target","currentTarget","parents","find","removeClass","inputID","data","addClass","attr","match","prop","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","Global_Table_Config","i","elem","table_name","table_settings","sheetUrl","dom","show_x_entries","search_bar","show_info_block","pagination","isProPluginActive","changeRedirectionType","redirection_type","changeCellFormat","cell_format","fn","DataTable","length","table_obj","setPdfUrl","reveal_export_btns","swap_input_filter","swap_bottom_options","type","links","link","formatStyle","tableCell","cell","front_end_data","isProActive","url","split","gridID","spreadsheetID","getSpreadsheetID","getGridID","pdfUrl","append","strings","iconsURL","filePdf","table_object","order","responsive","lengthMenu","language","search","info","emptyTable","zeroRecords","paginate","first","previous","next","last","pageLength","parseInt","default_rows_per_page","lengthChange","ordering","allow_sorting","destroy","scrollX","numberOfColumns","push","buttons","text","curlyBrackets","className","action","dt","button","config","exportData","dataTable","fileSave","Blob","JSON","stringify","titleAttr","fileCSV","extend","title","fileExcel","printIcon","copySolid","vertical_scrolling","scrollY","hide_on_desktop","hide_on_mobile","screenSize","hide_column","columnDefs","hideColumnByScreen","arrayValues","targets","convertArrayStringToInteger","visible","searchable","screen","width","arr","map","val","export_btns","table_export","forEach","btn","swap_filter_inputs","css","style","flex_direction","table_info_style","margin_left","margin_right","table_paginate_style","bottom_option_style","$arg","tableHeaders","index","header","dataMerge","parse","numCols","nextCell","hasClass","dataIndex","j","targetIndex","targetCell","join","trim","hide","prevObject","container","row","totalWidth","getBoundingClientRect","console","log","test","navigator","userAgent","detectBrowser","tableScrollBody","querySelectorAll","element","parentElement","classList","contains","overflow","height","maxHeight","indexOf","documentMode","tableCells","innerText","$container","$scroller","$window","window","x","x2","y2","t","move","evt","_x","pageX","deltaX","pageY","scrollLeft","up","off","deltaT","Date","now","deltaY","stop","animate","scrollTop","b","c","d","Math","sqrt","preventDefault","originalEvent","max","scrollWidth","offsetWidth","dir","wheelDeltaX","mousedown","cursor","mouseup","frontend_table","asynchronous_loading","get_frontend_table","id","ajax","admin_ajax","nonce","success","res","tableClass","responsive_style","import_styles","table_style","show_title","html","output","name","source_url","table_configuration","scrollerContainer","scrollerElement","handleCommonActions","theadElement","clear","trElement","thElement","divElement","createElement","innerHTML","appendChild","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","textAlign","getAttribute","sortingElements","dataTablesLength","dataTables_filter","createTablesFilterInputs","paginateContainer","getElementById","sortingElement","addEventListener","thead","closest","querySelector","LengthElement","FilterElement","createTablesFilterInput","event","createTablesPaginate","handlePagination","handleMergedCells","handleHeaderMergedCells","cursor_behavior","bindDragScroll","addGrabCursonOnMouseDown","handleTableWidth","clearOverflow","tableRows","verticalMergeFound","rowspan","error","err","alert"],"sourceRoot":""}