{"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\r\n constructor() {\r\n this.PaginationTailwindBack1 = `\r\n <svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5.77056 8.8019C5.91747 8.67501 6 8.50294 6 8.32353C6 8.14411 5.91747 7.97205 5.77056 7.84516L1.89154 4.49592L5.77056 1.14667C5.91331 1.01906 5.99229 0.848143 5.99051 0.670736C5.98872 0.49333 5.90631 0.323626 5.76101 0.198175C5.61572 0.0727263 5.41917 0.00156787 5.21371 2.57836e-05C5.00824 -0.00151535 4.81029 0.0666838 4.66249 0.189935L0.229439 4.01755C0.0825293 4.14443 -2.04722e-07 4.3165 -1.9688e-07 4.49592C-1.89037e-07 4.67533 0.0825294 4.8474 0.229439 4.97428L4.66249 8.8019C4.80945 8.92874 5.00873 9 5.21653 9C5.42432 9 5.62361 8.92874 5.77056 8.8019Z\" fill=\"#FFFFFF\"/>\r\n </svg>\r\n\r\n `;\r\n this.PaginationTainwildNext1 = `\r\n <svg width=\"6\" height=\"9\" viewBox=\"0 0 6 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M0.229439 8.8019C0.0825295 8.67501 2.1727e-08 8.50294 2.95695e-08 8.32353C3.74119e-08 8.14411 0.0825296 7.97205 0.229439 7.84516L4.10846 4.49592L0.22944 1.14667C0.0866933 1.01906 0.00770646 0.848143 0.00949193 0.670736C0.0112774 0.49333 0.0936922 0.323626 0.238986 0.198175C0.384279 0.0727263 0.580825 0.00156787 0.786293 2.57836e-05C0.991761 -0.00151535 1.18971 0.0666838 1.33751 0.189935L5.77056 4.01755C5.91747 4.14443 6 4.3165 6 4.49592C6 4.67533 5.91747 4.8474 5.77056 4.97428L1.33751 8.8019C1.19055 8.92874 0.991266 9 0.783473 9C0.57568 9 0.376394 8.92874 0.229439 8.8019Z\" fill=\"#FFFFFF\"/>\r\n </svg>\r\n\r\n `;\r\n\r\n\r\n this.PaginationTailwindBack2 = `\r\n <svg width=\"12\" height=\"9\" viewBox=\"0 0 12 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.35416 0.854143C5.40065 0.807655 5.43753 0.752466 5.46268 0.691727C5.48784 0.630987 5.50079 0.565887 5.50079 0.500143C5.50079 0.434399 5.48784 0.369299 5.46268 0.30856C5.43753 0.24782 5.40065 0.192631 5.35416 0.146143C5.30767 0.0996553 5.25248 0.0627792 5.19174 0.0376201C5.13101 0.012461 5.06591 -0.000488282 5.00016 -0.000488281C4.93442 -0.00048828 4.86932 0.012461 4.80858 0.0376201C4.74784 0.0627792 4.69265 0.0996553 4.64616 0.146143L0.646161 4.14614C0.599598 4.19259 0.562655 4.24776 0.537449 4.30851C0.512242 4.36926 0.499268 4.43438 0.499268 4.50014C0.499268 4.56591 0.512242 4.63103 0.537449 4.69178C0.562655 4.75252 0.599598 4.8077 0.646161 4.85414L4.64616 8.85414C4.74005 8.94803 4.86739 9.00077 5.00016 9.00077C5.13294 9.00077 5.26027 8.94803 5.35416 8.85414C5.44805 8.76026 5.50079 8.63292 5.50079 8.50014C5.50079 8.36737 5.44805 8.24003 5.35416 8.14614L1.70716 4.50014L5.35416 0.854143ZM11.3542 0.854143C11.4006 0.807655 11.4375 0.752466 11.4627 0.691727C11.4878 0.630987 11.5008 0.565887 11.5008 0.500143C11.5008 0.434399 11.4878 0.369299 11.4627 0.30856C11.4375 0.24782 11.4006 0.192631 11.3542 0.146143C11.3077 0.0996553 11.2525 0.0627792 11.1917 0.0376201C11.131 0.012461 11.0659 -0.000488281 11.0002 -0.000488281C10.9344 -0.000488281 10.8693 0.012461 10.8086 0.0376201C10.7478 0.0627792 10.6926 0.0996553 10.6462 0.146143L6.64616 4.14614C6.5996 4.19259 6.56266 4.24776 6.53745 4.30851C6.51224 4.36926 6.49927 4.43438 6.49927 4.50014C6.49927 4.56591 6.51224 4.63103 6.53745 4.69178C6.56266 4.75252 6.5996 4.8077 6.64616 4.85414L10.6462 8.85414C10.74 8.94803 10.8674 9.00077 11.0002 9.00077C11.1329 9.00077 11.2603 8.94803 11.3542 8.85414C11.448 8.76026 11.5008 8.63292 11.5008 8.50014C11.5008 8.36737 11.448 8.24003 11.3542 8.14614L7.70716 4.50014L11.3542 0.854143Z\" fill=\"#333333\"/>\r\n </svg>\r\n `;\r\n this.PaginationTainwildNext2 = `\r\n <svg width=\"12\" height=\"9\" viewBox=\"0 0 12 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M6.64587 0.854143C6.59938 0.807655 6.5625 0.752466 6.53735 0.691727C6.51219 0.630987 6.49924 0.565887 6.49924 0.500143C6.49924 0.434399 6.51219 0.369299 6.53735 0.30856C6.5625 0.24782 6.59938 0.192631 6.64587 0.146143C6.69236 0.0996553 6.74755 0.0627792 6.80829 0.0376201C6.86903 0.012461 6.93413 -0.000488282 6.99987 -0.000488281C7.06561 -0.00048828 7.13071 0.012461 7.19145 0.0376201C7.25219 0.0627792 7.30738 0.0996553 7.35387 0.146143L11.3539 4.14614C11.4004 4.19259 11.4374 4.24776 11.4626 4.30851C11.4878 4.36926 11.5008 4.43438 11.5008 4.50014C11.5008 4.56591 11.4878 4.63103 11.4626 4.69178C11.4374 4.75252 11.4004 4.8077 11.3539 4.85414L7.35387 8.85414C7.25998 8.94803 7.13265 9.00077 6.99987 9.00077C6.86709 9.00077 6.73976 8.94803 6.64587 8.85414C6.55198 8.76026 6.49924 8.63292 6.49924 8.50014C6.49924 8.36737 6.55198 8.24003 6.64587 8.14614L10.2929 4.50014L6.64587 0.854143ZM0.645869 0.854143C0.599381 0.807655 0.562505 0.752466 0.537346 0.691727C0.512187 0.630987 0.499238 0.565887 0.499238 0.500143C0.499238 0.434399 0.512187 0.369299 0.537346 0.30856C0.562505 0.24782 0.599381 0.192631 0.645869 0.146143C0.692357 0.0996553 0.747546 0.0627792 0.808286 0.0376201C0.869025 0.012461 0.934126 -0.000488281 0.999869 -0.000488281C1.06561 -0.000488281 1.13071 0.012461 1.19145 0.0376201C1.25219 0.0627792 1.30738 0.0996553 1.35387 0.146143L5.35387 4.14614C5.40043 4.19259 5.43738 4.24776 5.46258 4.30851C5.48779 4.36926 5.50076 4.43438 5.50076 4.50014C5.50076 4.56591 5.48779 4.63103 5.46258 4.69178C5.43738 4.75252 5.40043 4.8077 5.35387 4.85414L1.35387 8.85414C1.25998 8.94803 1.13264 9.00077 0.999869 9.00077C0.867094 9.00077 0.739756 8.94803 0.645869 8.85414C0.551983 8.76026 0.499238 8.63292 0.499238 8.50014C0.499238 8.36737 0.551983 8.24003 0.645869 8.14614L4.29287 4.50014L0.645869 0.854143Z\" fill=\"#333333\"/>\r\n </svg>\r\n `;\r\n }\r\n\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 (table_settings.table_view_mode === 'default-mode') {\r\n // Without search \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 } else if (table_settings.table_view_mode === 'search-only-mode') {\r\n \r\n if ($.fn.DataTable && $(elem).find(\"#create_tables\").length) {\r\n // Initialize DataTable and capture the instance\r\n let table = $(elem).find(\"#create_tables\").DataTable(this.table_obj($, table_name, table_settings, dom));\r\n \r\n // Implement Custom Global Search\r\n $.fn.dataTable.ext.search.push((settings, data, dataIndex) => {\r\n // Ensure the search applies only to this specific table\r\n if (settings.nTable !== table.table().node()) {\r\n return true;\r\n }\r\n \r\n // Get the global search term\r\n let searchTerm = $(elem).find(\"#create_tables_filter input\").val().toLowerCase();\r\n \r\n // If there's no search term, do not filter\r\n if (!searchTerm) {\r\n return true;\r\n }\r\n \r\n \r\n // Check if enable_column_specific_search is true\r\n if (table_settings.enable_column_specific_search) {\r\n // If table_search_column is not empty, search only in those columns\r\n if (table_settings.table_search_column.length > 0) {\r\n for (let i = 0; i < table_settings.table_search_column.length; i++) {\r\n let colIndex = table_settings.table_search_column[i]; // Use the index directly\r\n let colValue = data[colIndex].toLowerCase();\r\n\r\n // If the search term is found in this column, return true\r\n if (colValue.includes(searchTerm)) {\r\n return true;\r\n }\r\n }\r\n }else{\r\n // If table_search_column is empty, search across all columns\r\n for (let i = 0; i < data.length; i++) {\r\n let colValue = data[i].toLowerCase();\r\n if (colValue.includes(searchTerm)) {\r\n return true;\r\n }\r\n }\r\n }\r\n } else {\r\n // If enable_column_specific_search is false, search across all columns\r\n for (let i = 0; i < data.length; i++) {\r\n let colValue = data[i].toLowerCase();\r\n if (colValue.includes(searchTerm)) {\r\n return true;\r\n }\r\n }\r\n }\r\n \r\n // If the search term is not found in any of the specified columns, filter out the row.\r\n return false;\r\n });\r\n }\r\n } else {\r\n // Without search \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 \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 `<a class=\"ui dt-button inverted button transition pdf_btn\"\r\n elem.append(\r\n `<a class=\"ui inverted button export_btns pdf_btn\"\r\n href=\"${pdfUrl}\"\r\n download\r\n title=\"${front_end_data.strings['export-pdf']}\"\r\n >\r\n <span>\r\n <img src=\"${front_end_data.iconsURL.filePdf}\" />\r\n </span>\r\n </a>`\r\n );\r\n }\r\n\r\n getPaginateSettings = (tableSettings) => {\r\n const theme = tableSettings?.table_style || \"default-style\";\r\n const themePageStyles = tableSettings?.import_styles_theme_colors?.[theme] || {};\r\n const PageStyles = themePageStyles.paginationStyle || 'default_pagination';\r\n\r\n\r\n if (PageStyles === 'default_pagination') {\r\n\t\t\treturn {\r\n\t\t\t\tfirst: `<span class='paging-first-${PageStyles}'>${front_end_data.strings['first']}</span>`,\r\n\t\t\t\tprevious: `<span class='paging-backward-${PageStyles}'>${front_end_data.strings['previous']}</span>`,\r\n\t\t\t\tnext: `<span class='paging-forward-${PageStyles}'>${front_end_data.strings['next']}</span>`,\r\n\t\t\t\tlast: `<span class='paging-last-${PageStyles}'>${front_end_data.strings['last']}</span>`\r\n\t\t\t};\r\n\t\t} \r\n else if(PageStyles === 'tailwind_pagination') {\r\n\t\t\treturn {\r\n\t\t\t\tfirst: `<span class='paging-first-${PageStyles}'>${front_end_data.strings['first']}</span>`,\r\n\t\t\t\tprevious: `<span class='paging-backward-${PageStyles}'>${this.PaginationTailwindBack2}</span>`,\r\n\t\t\t\tnext: `<span class='paging-forward-${PageStyles}'>${this.PaginationTainwildNext2}</span>`,\r\n\t\t\t\tlast: `<span class='paging-last-${PageStyles}'>${front_end_data.strings['last']}</span>`\r\n\t\t\t};\r\n\t\t}\r\n else if(PageStyles === 'outlined_pagination') {\r\n\t\t\treturn {\r\n\t\t\t\tfirst: `<span class='paging-first-${PageStyles}'>${front_end_data.strings['first']}</span>`,\r\n\t\t\t\tprevious: `<span class='paging-backward-${PageStyles}'>${this.PaginationTailwindBack1}</span>`,\r\n\t\t\t\tnext: `<span class='paging-forward-${PageStyles}'>${this.PaginationTainwildNext1}</span>`,\r\n\t\t\t\tlast: `<span class='paging-last-${PageStyles}'>${front_end_data.strings['last']}</span>`\r\n\t\t\t};\r\n\t\t}\r\n \r\n else {\r\n\t\t\treturn {\r\n\t\t\t\tfirst: `<span class='paging-first-${PageStyles}'>${front_end_data.strings['first']}</span>`,\r\n\t\t\t\tprevious: `<span class='paging-backward-${PageStyles}'>‹</span>`,\r\n\t\t\t\tnext: `<span class='paging-forward-${PageStyles}'>›</span>`,\r\n\t\t\t\tlast: `<span class='paging-last-${PageStyles}'>${front_end_data.strings['last']}</span>`\r\n\t\t\t};\r\n\t\t}\r\n\r\n }\r\n \r\n table_obj($, table_name, table_settings, dom) {\r\n\r\n // Register the date format\r\n $.fn.dataTable.moment('dd, MM, YYYY');\r\n $.fn.dataTable.moment('HH:mm MMM D, YY');\r\n $.fn.dataTable.moment('dddd, MMMM Do, YYYY');\r\n $.fn.dataTable.moment('D.M.YYYY');\r\n $.fn.dataTable.moment('DD/MM/YYYY');\r\n $.fn.dataTable.moment('DD-MM-YYYY');\r\n $.fn.dataTable.moment('D-MMM-YY');\r\n $.fn.dataTable.moment('D-MMM-YYYY');\r\n $.fn.dataTable.moment('MM/DD/YYYY');\r\n $.fn.dataTable.moment('MM-DD-YYYY'); \r\n $.fn.dataTable.moment('D MMM YYYY'); \r\n $.fn.dataTable.moment('YYYY/MM/DD');\r\n $.fn.dataTable.moment('YYYY-MM-DD');\r\n $.fn.dataTable.moment('YYYY-MM-DD'); \r\n $.fn.dataTable.moment('Do MMMM YYYY');\r\n $.fn.dataTable.moment('D MMMM YYYY');\r\n $.fn.dataTable.moment('MMMM Do, YYYY');\r\n $.fn.dataTable.moment('dddd, MMMM D, YYYY'); \r\n $.fn.dataTable.moment('ddd, MMM D, YYYY');\r\n $.fn.dataTable.moment('MMMM D, YYYY');\r\n \r\n\r\n let table_object = {\r\n dom: dom,\r\n \r\n // order: [[2, 'desc']],\r\n order: table_settings.allow_singleshort\r\n\t\t\t\t\t\t? [[(table_settings.columnnumber ? table_settings.columnnumber : 0), table_settings.sorting_mode ? table_settings.sorting_mode : 'desc']]\r\n\t\t\t\t\t\t: (table_settings.allow_sorting ? [] : []),\r\n \r\n responsive: true,\r\n lengthMenu: [\r\n [1, 5, 10, 15, 30, 50],\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 ]\r\n ],\r\n\r\n language: {\r\n search: front_end_data.strings['search'], \r\n searchPlaceholder: front_end_data.strings['search-items'],\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: this.getPaginateSettings(table_settings),\r\n },\r\n \r\n pagingType: 'simple_numbers', // simple_numbers // simple // numbers // full // first_last_numbers // full_numbers\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: `<img src=\"${front_end_data.iconsURL.curlyBrackets}\" />`,\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: `<img src=\"${front_end_data.iconsURL.fileCSV}\" />`,\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: `<img src=\"${front_end_data.iconsURL.fileExcel}\" />`,\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: `<img src=\"${front_end_data.iconsURL.printIcon}\" />`,\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: `<img src=\"${front_end_data.iconsURL.copySolid}\" />`,\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 //Column is needed to hide and backend code is not used actually to hide.\r\n if ((table_settings?.hide_on_desktop_col && this.screenSize() === \"desktop\") || (table_settings?.hide_on_mobile_col && this.screenSize() === \"mobile\")) {\r\n if (this.screenSize() === \"desktop\" && table_settings.hide_column) {\r\n table_object.columnDefs = this.hideColumnByScreen(\r\n table_settings.hide_column\r\n );\r\n } else if (this.screenSize() === \"mobile\" && table_settings.hide_column_mobile) {\r\n table_object.columnDefs = this.hideColumnByScreen(\r\n table_settings.hide_column_mobile\r\n );\r\n }\r\n } \r\n }\r\n \r\n // Table height \r\n if (table_settings.vertical_scrolling) {\r\n table_object.scrollY = `${table_settings.vertical_scrolling}px`;\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 * @param {Calculate the width and fixed the header issues, zoom in/out issues} $ \r\n * @param {*} Add dynamic table width in header from body td calculated on tr\r\n * @returns \r\n */\r\n handleTableWidth($, elem) {\r\n // Store the original table widths to prevent continuous reduction.\r\n if (!window.originalTableWidths) {\r\n window.originalTableWidths = {};\r\n }\r\n \r\n function setConsistentTableWidth(container) {\r\n var tableId = $(container).attr('id') || 'table-' + Math.random().toString(36).substring(2, 10);\r\n\r\n var table = $(container).find(\".ui.celled.display.table.gswpts_tables.dataTable.no-footer\");\r\n \r\n // Get container width as a fallback.\r\n var containerWidth = $(container).width();\r\n \r\n // Get the first visible row.\r\n var row = $(container).find(\"tr.gswpts_rows:visible\").first();\r\n \r\n if (row.length > 0) {\r\n var rect = row[0].getBoundingClientRect();\r\n var rowWidth = rect.width;\r\n \r\n // Check if this is the first time we're setting width for this table.\r\n if (!window.originalTableWidths[tableId]) {\r\n // For tables with 4 or fewer columns, use container width instead of row width\r\n if ($(row).find('td, th').length <= 4) {\r\n window.originalTableWidths[tableId] = containerWidth;\r\n } else {\r\n window.originalTableWidths[tableId] = rowWidth;\r\n }\r\n }\r\n \r\n // Use the stored original width\r\n var targetWidth = window.originalTableWidths[tableId];\r\n \r\n // Make sure the width is never less than the container\r\n if (targetWidth < containerWidth * 0.95) {\r\n targetWidth = containerWidth;\r\n }\r\n \r\n // Apply the width to the table\r\n table.css('width', targetWidth + \"px\");\r\n \r\n // Ensure headers have proper width\r\n var headers = table.find(\"th\");\r\n if (headers.length > 0) {\r\n headers.each(function() {\r\n var headerWidth = $(this).width();\r\n if (headerWidth === 0) {\r\n $(this).css('width', 'auto');\r\n }\r\n });\r\n }\r\n } else {\r\n // If no visible rows, use container width\r\n table.css('width', containerWidth + \"px\");\r\n }\r\n }\r\n \r\n if (elem.prevObject && elem.prevObject.length > 0) {\r\n elem = elem.prevObject;\r\n }\r\n \r\n if (elem.length === 0) {\r\n return;\r\n }\r\n \r\n // Apply width setting to each table container\r\n elem.each(function(index, container) {\r\n setConsistentTableWidth(container);\r\n });\r\n \r\n // Handle resize events\r\n $(window).off('resize.tableWidth').on('resize.tableWidth', function() {\r\n elem.each(function(index, container) {\r\n setConsistentTableWidth(container);\r\n });\r\n });\r\n }\r\n\r\n \r\n\r\n /**\r\n * Handle paginations\r\n */\r\n handlePaginations($, elem) {\r\n function updatePaginationContent(container, style) {\r\n container.find('span').each(function () {\r\n var span = $(this);\r\n if (span.hasClass('paging-backward-default_pagination') || span.hasClass('paging-backward-modern_pagination') || span.hasClass('paging-backward-simple_pagination') || span.hasClass('paging-backward-tailwind_pagination') || span.hasClass('paging-backward-outlined_pagination') || span.hasClass('paging-backward-undefined')) {\r\n if (style === 'simple_pagination') {\r\n // span.html('‹');\r\n //span.empty().append((this.PaginationTailwindBack1);\r\n span.html(this.PaginationTailwindBack1);\r\n } \r\n else if (style === 'modern_pagination') {\r\n span.html('↠PREV');\r\n } \r\n else if(style === 'tailwind_pagination'){\r\n // span.html('‹‹');\r\n span.html(this.PaginationTailwindBack2);\r\n }\r\n\r\n else if(style === 'outlined_pagination'){\r\n // span.html('‹');\r\n span.html(this.PaginationTailwindBack1);\r\n }\r\n\r\n else {\r\n span.html('Previous');\r\n }\r\n }\r\n if (span.hasClass('paging-forward-default_pagination') || span.hasClass('paging-forward-modern_pagination') || span.hasClass('paging-forward-simple_pagination') || span.hasClass('paging-forward-tailwind_pagination') || span.hasClass('paging-forward-outlined_pagination') || span.hasClass('paging-forward-undefined')) {\r\n if (style === 'simple_pagination') {\r\n // span.html('›');\r\n span.html(this.PaginationTainwildNext1);\r\n } \r\n else if (style === 'modern_pagination') {\r\n span.html('NEXT →');\r\n } \r\n else if(style === 'tailwind_pagination'){\r\n // span.html('››');\r\n span.html(this.PaginationTainwildNext2);\r\n }\r\n else if(style === 'outlined_pagination'){\r\n // span.html('›');\r\n span.html(this.PaginationTainwildNext1);\r\n }\r\n else {\r\n span.html('Next');\r\n }\r\n }\r\n });\r\n }\r\n \r\n\r\n // Find the pagination containers within the specified element\r\n var tablePage = $(elem).find('.dataTables_paginate.paging_simple_numbers');\r\n\r\n if (tablePage.length) {\r\n tablePage.each(function () {\r\n var container = $(this);\r\n // console.log(container)\r\n var style = ''; // Variable to store the detected style\r\n\r\n // Check for simple pagination\r\n if (container.find('.paging-forward-simple_pagination, .paging-backward-simple_pagination, .paging-first-simple_pagination, .paging-last-simple_pagination').length) {\r\n container.addClass('simple-pagination-active');\r\n style = 'simple_pagination';\r\n } \r\n \r\n else if (container.find('.paging-forward-modern_pagination, .paging-backward-modern_pagination, .paging-first-modern_pagination, .paging-last-modern_pagination').length) {\r\n container.addClass('modern-pagination-active');\r\n style = 'modern_pagination';\r\n }\r\n \r\n else if (container.find('.paging-forward-tailwind_pagination, .paging-backward-tailwind_pagination, .paging-first-tailwind_pagination, .paging-last-tailwind_pagination').length) {\r\n container.addClass('tailwind-pagination-active');\r\n style = 'tailwind_pagination';\r\n }\r\n\r\n else if (container.find('.paging-forward-outlined_pagination, .paging-backward-outlined_pagination, .paging-first-outlined_pagination, .paging-last-outlined_pagination').length) {\r\n container.addClass('outlined-pagination-active');\r\n style = 'outlined_pagination';\r\n }\r\n \r\n else if (container.find('.paging-forward-default_pagination, .paging-backward-default_pagination, .paging-first-default_pagination, .paging-last-default_pagination').length) {\r\n container.addClass('default-pagination-active');\r\n style = 'default_pagination';\r\n } \r\n \r\n else if (container.find('.paging-forward-undefined, .paging-backward-undefined, .paging-first-undefined, .paging-last-undefined').length) {\r\n container.addClass('default-preset-pagination-active');\r\n style = 'default_preset_pagination';\r\n }\r\n\r\n // Initial update of the pagination content\r\n updatePaginationContent(container, style);\r\n\r\n // Attach event listener to update content on pagination click\r\n container.on('click', function () {\r\n updatePaginationContent(container, style);\r\n });\r\n\r\n\r\n // Trigger pagination design \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\r\n sortingElements.forEach(function (sortingElement) {\r\n sortingElement.addEventListener('click', function () {\r\n updatePaginationContent(container, style);\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 updatePaginationContent(container, style);\r\n \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 updatePaginationContent(container, style);\r\n });\r\n });\r\n\r\n createTablesFilterInputs.forEach(function (createTablesFilterInput) {\r\n createTablesFilterInput.addEventListener('input',function () {\r\n updatePaginationContent(container, style);\r\n \r\n });\r\n });\r\n\r\n \r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n /**\r\n * Generate and load theme style into head\r\n * @param {string} themeName - The theme name to be used in the CSS class names.\r\n */\r\n loadThemeStyle($, elem) {\r\n let themeName = '';\r\n let classList = $(elem).attr('class').split(/\\s+/);\r\n let gswptsCount = 0;\r\n\r\n for (let className of classList) {\r\n if (className.startsWith('gswpts_')) {\r\n gswptsCount++;\r\n if (gswptsCount === 3) {\r\n themeName = className.replace('gswpts_', '');\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // Check if the themeName is a default style\r\n if (['default-style', 'style-1', 'style-2', 'style-3', 'style-4', 'style-5', 'style-6', 'style-7', 'style-8'].includes(themeName)) {\r\n \r\n // Find the table element within the provided elem\r\n const tableElem = $(elem).find('table.ui.celled.display.table.gswpts_tables');\r\n\r\n if (tableElem.length === 0) {\r\n console.error('Table element not found');\r\n return;\r\n }\r\n\r\n const tableStyles = tableElem.attr('style');\r\n\r\n function getCustomPropertyValue(styleString, propertyName) {\r\n const regex = new RegExp(`${propertyName}:\\\\s*([^;]+);?`, 'i');\r\n const match = styleString.match(regex);\r\n return match ? match[1].trim() : null;\r\n }\r\n \r\n\r\n const paginationColors = getCustomPropertyValue(tableStyles, '--pagination-colors');\r\n\r\n const hexToRgba = (hex, opacity) => {\r\n\t\t\t\tconst bigint = parseInt(hex.slice(1), 16);\r\n\t\t\t\tconst r = (bigint >> 16) & 255;\r\n\t\t\t\tconst g = (bigint >> 8) & 255;\r\n\t\t\t\tconst b = bigint & 255;\r\n\t\t\t\r\n\t\t\t\treturn `rgba(${r}, ${g}, ${b}, ${opacity})`;\r\n\t\t\t}\r\n\r\n\r\n let backgroundColor;\r\n\t\t\tlet textColor;\r\n\r\n if(paginationColors){\r\n backgroundColor = hexToRgba(paginationColors, 0.1); \r\n textColor = hexToRgba(paginationColors, 0.9); \r\n }\r\n\r\n let defaultPaginationColor = paginationColors || '#828282';\r\n let simplePaginationColor = paginationColors || '#000'; \r\n\r\n\r\n\r\n let styleContent = `\r\n .gswpts_${themeName} .dataTables_paginate a.paginate_button.item {\r\n color: #000;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.default-pagination-active .paginate_button.item.active {\r\n background-color: ${defaultPaginationColor} !important;\r\n color: #ffffff !important;\r\n }\r\n\r\n // Simple pagination free -------------------\r\n .gswpts_${themeName} .simple-pagination-active .paginate_button, \r\n .gswpts_${themeName} .simple-pagination-active .paginate_button.disabled, \r\n .gswpts_${themeName} .simple-pagination-active .ellipsis{\r\n\r\n font-size: 14px;\r\n border: none;\r\n // margin: 0;\r\n // padding: 9px 16px;\r\n margin: 5px;\r\n padding: 5px 11px 4px 11px;\r\n\r\n font-weight: bold;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n\r\n }\r\n\r\n .gswpts_${themeName} .simple-pagination-active .pagination.menu a{\r\n text-decoration: none;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.simple-pagination-active .paginate_button.item.active {\r\n background-color: ${simplePaginationColor} !important;\r\n color: #ffffff !important;\r\n }\r\n\r\n \r\n // Tailwind -----------------------------------------\r\n .gswpts_${themeName} .tailwind-pagination-active .paginate_button.item.previous.disabled,\r\n .gswpts_${themeName} .tailwind-pagination-active .paginate_button.item.next.disabled{\r\n border: unset !important;\r\n box-shadow: unset !important;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.tailwind-pagination-active .paginate_button.item.active {\r\n background-color: ${backgroundColor} !important;\r\n color: ${textColor} !important;\r\n border-radius: 5px !important;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.modern-pagination-active .paginate_button.item.active {\r\n background-color: ${paginationColors} !important;\r\n color: #ffffff !important;\r\n }\r\n\r\n // outlined\r\n \r\n\r\n .gswpts_${themeName} .outlined-pagination-active .paginate_button.item.previous.disabled,\r\n .gswpts_${themeName} .outlined-pagination-active .paginate_button.item.next.disabled{\r\n border: unset !important;\r\n box-shadow: unset !important;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.outlined-pagination-active .paginate_button.item.active {\r\n background-color: #fff !important;\r\n border: 1px solid ${paginationColors} !important;\r\n color: ${paginationColors} !important;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.outlined-pagination-active .pagination.menu .previous\r\n {\r\n background-color: ${paginationColors} !important;\r\n color: #fff !important;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.outlined-pagination-active .pagination.menu .previous.disabled\r\n {\r\n background-color: #F2F2F2 !important;\r\n color: #666 !important;\r\n svg path {\r\n fill: #666 !important\r\n }\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.outlined-pagination-active .pagination.menu .next\r\n {\r\n background-color: ${paginationColors} !important;\r\n color: #fff !important;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.outlined-pagination-active .pagination.menu .next.disabled\r\n {\r\n background-color: #F2F2F2 !important;\r\n color: #666 !important;\r\n svg path {\r\n fill: #666 !important;\r\n }\r\n }\r\n\r\n \r\n\r\n `;\r\n \r\n\r\n if (tableStyles.includes('--pagination_center: 1;')) {\r\n // console.log(\"Found\");\r\n styleContent += `\r\n .gswpts_${themeName} #create_tables_paginate#create_tables_paginate {\r\n margin-left: 40% !important;\r\n position: absolute;\r\n margin-top: 30px;\r\n margin-right: 28% !important;\r\n }\r\n \r\n `;\r\n }\r\n\r\n // Create a <style> element and append it to the head\r\n const styleElement = document.createElement('style');\r\n styleElement.id = `swptls-default-theme-pagination-${themeName}`;\r\n styleElement.textContent = styleContent;\r\n document.head.appendChild(styleElement);\r\n \r\n // return;\r\n }\r\n else{\r\n // Find the table element within the provided elem\r\n const tableElem = $(elem).find('table.ui.celled.display.table.gswpts_tables');\r\n\r\n if (tableElem.length === 0) {\r\n console.error('Table element not found');\r\n return;\r\n }\r\n\r\n const tableStyles = tableElem.attr('style');\r\n\r\n function getCustomPropertyValue(styleString, propertyName) {\r\n // Create a regular expression to find the property name followed by its value\r\n const regex = new RegExp(`${propertyName}:\\\\s*([^;]+);?`, 'i');\r\n const match = styleString.match(regex);\r\n return match ? match[1].trim() : null;\r\n }\r\n const paginationColors = getCustomPropertyValue(tableStyles, '--pagination-colors');\r\n\r\n const hexToRgba = (hex, opacity) => {\r\n\t\t\t\tconst bigint = parseInt(hex.slice(1), 16);\r\n\t\t\t\tconst r = (bigint >> 16) & 255;\r\n\t\t\t\tconst g = (bigint >> 8) & 255;\r\n\t\t\t\tconst b = bigint & 255;\r\n\t\t\t\r\n\t\t\t\treturn `rgba(${r}, ${g}, ${b}, ${opacity})`;\r\n\t\t\t}\r\n\r\n\r\n let backgroundColor;\r\n\t\t\tlet textColor;\r\n\r\n backgroundColor = hexToRgba(paginationColors, 0.1); \r\n\t\t\ttextColor = hexToRgba(paginationColors, 0.9); \r\n\r\n\r\n let styleContent = `\r\n \r\n .gswpts_${themeName} table.ui.celled.display {\r\n border: none;\r\n border-collapse: unset;\r\n } \r\n \r\n // Pagination \r\n // Default pagination -------------------------------------------//\r\n\r\n .gswpts_${themeName} .default-pagination-active .paginate_button.item.previous.disabled,\r\n .gswpts_${themeName} .default-pagination-active .paginate_button.item.next.disabled\r\n {\r\n border: 1px solid rgba(169,161,161,0.23922) !important;\r\n box-shadow: unset !important;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.default-pagination-active{\r\n --pagination-colors: ${paginationColors};\r\n a.paginate_button.item.active {\r\n background-color: var(--pagination-colors) !important;\r\n color: #ffffff !important;\r\n }\r\n }\r\n\r\n // Modern pagination -------------------------------------------//\r\n \r\n .gswpts_${themeName} .modern-pagination-active .paginate_button.item.previous.disabled,\r\n .gswpts_${themeName} .modern-pagination-active .paginate_button.item.next.disabled{\r\n border: unset !important;\r\n box-shadow: unset !important;\r\n }\r\n \r\n .gswpts_${themeName} .dataTables_paginate.modern-pagination-active{\r\n --pagination-colors: ${paginationColors};\r\n a.paginate_button.item.active {\r\n background-color: var(--pagination-colors) !important;\r\n color: #ffffff !important;\r\n border-radius: 50%;\r\n border: transparent;\r\n\r\n }\r\n }\r\n\r\n .paginate_button.previous.disabled {\r\n opacity: 0.5;\r\n }\r\n\r\n .paginate_button.next.disabled .paging-forward-modern_pagination{\r\n opacity: 0.5;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.modern-pagination-active .paginate_button{\r\n box-sizing: border-box;\r\n display: inline-block;\r\n min-width: 1.5em;\r\n padding: .5em 1em;\r\n margin-left: 2px;\r\n text-align: center;\r\n text-decoration: none !important;\r\n cursor: pointer;\r\n color: inherit !important;\r\n border: 1px solid transparent;\r\n border-radius: 2px;\r\n background: transparent;\r\n\r\n }\r\n\r\n // Simple pagination -------------------------------------------//\r\n \r\n .gswpts_${themeName} .simple-pagination-active .paginate_button.item.previous.disabled,\r\n .gswpts_${themeName} .simple-pagination-active .paginate_button.item.next.disabled{\r\n border: unset !important;\r\n box-shadow: unset !important;\r\n }\r\n \r\n .gswpts_${themeName} .dataTables_paginate.simple-pagination-active{\r\n --pagination-colors: ${paginationColors};\r\n a.paginate_button.item.active {\r\n background-color: var(--pagination-colors) !important;\r\n color: #ffffff !important;\r\n border-radius: 4px;\r\n border: transparent;\r\n\r\n }\r\n }\r\n\r\n .paginate_button.previous.disabled {\r\n opacity: 0.5;\r\n }\r\n\r\n .paginate_button.next.disabled .paging-forward-simple_pagination{\r\n opacity: 0.5;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.simple-pagination-active .paginate_button{\r\n box-sizing: border-box;\r\n display: inline-block;\r\n min-width: 1.5em;\r\n padding: .5em 1em;\r\n margin-left: 2px;\r\n text-align: center;\r\n text-decoration: none !important;\r\n cursor: pointer;\r\n color: inherit !important;\r\n border: 1px solid transparent;\r\n border-radius: 2px;\r\n background: transparent;\r\n\r\n }\r\n\r\n // Tailwind pagination -------------------------------------------//\r\n \r\n .gswpts_${themeName} .tailwind-pagination-active .paginate_button.item.previous.disabled,\r\n .gswpts_${themeName} .tailwind-pagination-active .paginate_button.item.next.disabled{\r\n border: unset !important;\r\n box-shadow: unset !important;\r\n }\r\n \r\n .gswpts_${themeName} .dataTables_paginate.tailwind-pagination-active{\r\n --pagination-colors: ${paginationColors};\r\n a.paginate_button.item.active {\r\n background-color: ${backgroundColor} !important;\r\n color: ${textColor} !important;\r\n border-radius: 4px;\r\n border: transparent;\r\n\r\n }\r\n }\r\n\r\n .paginate_button.previous.disabled {\r\n opacity: 0.5;\r\n }\r\n\r\n .paginate_button.next.disabled .paging-forward-tailwind_pagination{\r\n opacity: 0.5;\r\n }\r\n\r\n .gswpts_${themeName} .dataTables_paginate.tailwind-pagination-active .paginate_button{\r\n box-sizing: border-box;\r\n display: inline-block;\r\n min-width: 1.5em;\r\n padding: .5em 1em;\r\n margin-left: 2px;\r\n text-align: center;\r\n text-decoration: none !important;\r\n cursor: pointer;\r\n color: inherit !important;\r\n border: 1px solid transparent;\r\n border-radius: 2px;\r\n background: transparent;\r\n\r\n }\r\n\r\n // Outline pagination -------------------------------------------//\r\n \r\n .gswpts_${themeName} .outlined-pagination-active .paginate_button.item.previous.disabled,\r\n .gswpts_${themeName} .outlined-pagination-active .paginate_button.item.next.disabled{\r\n border: unset !important;\r\n box-shadow: unset !important;\r\n }\r\n \r\n .gswpts_${themeName} .dataTables_paginate.outlined-pagination-active{\r\n --pagination-colors: ${paginationColors};\r\n a.paginate_button.item.active {\r\n background-color: #ffffff !important;\r\n color: var(--pagination-colors) !important;\r\n border: 1px solid var(--pagination-colors) !important;\r\n border-radius: 5px !important;\r\n\r\n }\r\n\r\n span.paging-forward-outlined_pagination{\r\n background-color: var(--pagination-colors) !important;\r\n color: #ffffff !important;\r\n border-radius: 5px !important;\r\n padding: 10px 18px;\r\n }\r\n\r\n .paginate_button.previous{\r\n background-color: var(--pagination-colors) !important;\r\n border-radius: 5px !important;\r\n \r\n svg path {\r\n fill: #ffffff !important;\r\n }\r\n }\r\n\r\n .paginate_button.previous.disabled {\r\n background-color: #F2F2F2 !important;\r\n color: #666 !important; \r\n svg path {\r\n fill: #666 !important;\r\n }\r\n }\r\n\r\n .paginate_button.next.disabled .paging-forward-outlined_pagination{\r\n background-color: #F2F2F2 !important;\r\n color: #666 !important; \r\n svg path {\r\n fill: #666 !important;\r\n }\r\n }\r\n }\r\n \r\n .gswpts_${themeName} .dataTables_paginate.outlined-pagination-active .paginate_button{\r\n box-sizing: border-box;\r\n display: inline-block;\r\n min-width: 1.5em;\r\n padding: .5em 1em;\r\n margin-left: 2px;\r\n text-align: center;\r\n text-decoration: none !important;\r\n cursor: pointer;\r\n color: inherit !important;\r\n border: 1px solid transparent;\r\n border-radius: 2px;\r\n background: transparent;\r\n\r\n }\r\n \r\n `;\r\n\r\n\r\n // Check for border type\r\n if (tableStyles.includes('--border-type: rounded;')) {\r\n styleContent += `\r\n .gswpts_${themeName} thead th:first-child {\r\n border-radius: var(--border-radius) 0 0 0 !important\r\n }\r\n .gswpts_${themeName} thead th:last-child {\r\n border-radius: 0 var(--border-radius) 0 0 !important\r\n }\r\n .gswpts_${themeName} tr:last-child td:first-child {\r\n border-radius: 0 0 0 var(--border-radius) !important\r\n }\r\n .gswpts_${themeName} tr:last-child td:last-child {\r\n border-radius: 0 0 var(--border-radius) 0 !important\r\n }\r\n `;\r\n }\r\n\r\n \r\n // Outside border \r\n styleContent += `\r\n /* .gswpts_${themeName} tbody tr td:first-child {\r\n border-left: 1px solid var(--outside-border-color) !important;\r\n }\r\n\r\n .gswpts_${themeName} tbody tr td:last-child {\r\n border-right: 1px solid var(--outside-border-color) !important;\r\n } */\r\n\r\n .gswpts_${themeName} tbody tr:last-child td {\r\n border-bottom: 1px solid var(--outside-border-color) !important;\r\n }\r\n\r\n `;\r\n\r\n // Roundeed border \r\n if (tableStyles.includes('--border-type: rounded;')) {\r\n styleContent += `\r\n .gswpts_${themeName} thead th:first-child {\r\n border-radius: var(--border-radius) 0 0 0 !important;\r\n border-right: none !important;\r\n }\r\n\r\n .gswpts_${themeName} thead th:last-child {\r\n border-radius: 0 var(--border-radius) 0 0 !important;\r\n border-left: none !important;\r\n }\r\n\r\n .gswpts_${themeName} tr:last-child td:first-child {\r\n border-radius: 0 0 0 var(--border-radius) !important;\r\n }\r\n\r\n .gswpts_${themeName} tr:last-child td:last-child {\r\n border-radius: 0 0 var(--border-radius) 0 !important;\r\n }\r\n `;\r\n }\r\n\r\n // Check for column color activation\r\n if (tableStyles.includes('--active-row-column-mode: 1;') && tableStyles.includes('--column-color-active: 1;')) {\r\n styleContent += `\r\n .gswpts_${themeName} tbody td:nth-child(odd) {\r\n background-color: var(--body-bg-color-odd) !important;\r\n }\r\n .gswpts_${themeName} tbody td:nth-child(even) {\r\n background-color: var(--body-bg-color-even) !important;\r\n }\r\n `;\r\n }\r\n\r\n // Check for row color activation\r\n if (tableStyles.includes('--active-row-column-mode: 1;') && tableStyles.includes('--row-color-active: 1;')) {\r\n styleContent += `\r\n .gswpts_${themeName} tbody tr:nth-child(even) > td {\r\n background-color: var(--body-bg-color-even) !important;\r\n }\r\n .gswpts_${themeName} tbody tr:nth-child(odd) > td {\r\n background-color: var(--body-bg-color-odd) !important;\r\n }\r\n `;\r\n \r\n }\r\n\r\n \r\n\r\n // Hover \r\n // Check for column hover activation\r\n if (tableStyles.includes('--hover-mode-row: 1;')) {\r\n styleContent += `\r\n .gswpts_${themeName} tbody tr:hover td,\r\n .gswpts_${themeName} tbody tr:hover th {\r\n background-color: var(--hover-bg-color) !important;\r\n color: var(--hover-text-color) !important;\r\n }\r\n `;\r\n }\r\n\r\n if (tableStyles.includes('--hover-mode-col: 1;')) {\r\n styleContent += `\r\n .gswpts_${themeName} table {\r\n overflow: hidden;\r\n }\r\n .gswpts_${themeName} td, th{\r\n border: 1px solid #999;\r\n padding: 10px;\r\n position: relative;\r\n }\r\n .gswpts_${themeName} td:hover::after { \r\n background-color: var(--hover-bg-color) !important;\r\n opacity: 0.2; \r\n content: ''; \r\n height: 10000px; \r\n left: 0;\r\n position: absolute; \r\n top: -5000px;\r\n width: 100%;\r\n z-index: 1; \r\n transition: 300ms; \r\n }\r\n `;\r\n }\r\n \r\n\r\n if (tableStyles.includes('--hover-mode-none: 1;')) {\r\n styleContent += `\r\n .gswpts_${themeName} tbody td:hover,\r\n .gswpts_${themeName} tbody th:hover {\r\n background-color: var(--body-bg-color);\r\n color: var(--body-text-color);\r\n }\r\n `;\r\n }\r\n\r\n if (tableStyles.includes('--pagination_center: 1;')) {\r\n // console.log(\"Found\");\r\n styleContent += `\r\n .gswpts_${themeName} #create_tables_paginate#create_tables_paginate {\r\n margin-left: 40% !important;\r\n }\r\n \r\n `;\r\n }\r\n \r\n\r\n // Create a <style> element and append it to the head\r\n const styleElement = document.createElement('style');\r\n styleElement.id = `swptls-custom-theme-style-${themeName}`;\r\n styleElement.textContent = styleContent;\r\n document.head.appendChild(styleElement);\r\n }\r\n \r\n\r\n \r\n }\r\n\r\n\r\n /**\r\n * Sort disable and hide from table\r\n * @returns \r\n */\r\n\r\n handleSortingDisable($, elem) {\r\n // Check if elem has a prevObject, and use it if present\r\n if (elem.prevObject && elem.prevObject.length > 0) {\r\n elem = elem.prevObject;\r\n }\r\n \r\n // Check if the element exists\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 // Iterate over the table containers\r\n elem.each(function (index, container) {\r\n var wrapper = $(container).find(\"#create_tables_wrapper\");\r\n \r\n // Find the headers and cells with sorting functionality\r\n // var sortingHeaders = wrapper.find(\"th.sorting\"); // for all column without specific column\r\n var sortingHeaders = wrapper.find(\"th.thead-item, th.sorting_asc, th.sorting_desc\"); // to hide full sorting \r\n \r\n // Disable click and pointer events\r\n sortingHeaders.css({\r\n \"pointer-events\": \"none\", \r\n \"cursor\": \"default\", \r\n });\r\n \r\n // Add a class to hide the sorting icon\r\n sortingHeaders.each(function () {\r\n var element = $(this);\r\n \r\n // Add class to hide ::after icons\r\n element.addClass(\"sorting-icon-hidden\");\r\n });\r\n });\r\n }\r\n\r\n\r\n // Updaet one with fix empty search click issues \r\n /**\r\n * Search wise table show and hide \r\n * @returns \r\n */\r\n handleSearchoptions($, elem, search_by) {\r\n if (elem.prevObject && elem.prevObject.length > 0) {\r\n elem = elem.prevObject;\r\n }\r\n\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 elem.each(function (index, container) {\r\n var wrapper = $(container).find(\"#create_tables_wrapper\");\r\n var searchInput = wrapper.find(\"#create_tables_filter input[type='search']\");\r\n var tableContainer = wrapper.find(\".dataTables_scroll\");\r\n\r\n if (searchInput.length === 0) {\r\n console.log('Search input not found inside #create_tables_filter for container:', container);\r\n return;\r\n }\r\n if (tableContainer.length === 0) {\r\n console.log('Table container not found for container:', container);\r\n return;\r\n }\r\n\r\n wrapper.find(\".dataTables_length\").hide();\r\n wrapper.find(\".bottom_options.bottom_options_0\").hide();\r\n\r\n function toggleTableVisibility() {\r\n var searchTerm = searchInput.val();\r\n \r\n // Condition for `search-by-typing`\r\n if ( search_by === 'search-by-typing' ) {\r\n if (!searchTerm || searchTerm.length < 2) {\r\n tableContainer.hide();\r\n } else {\r\n tableContainer.show();\r\n }\r\n } \r\n // Condition for `search-by-press`\r\n else if (search_by === 'search-by-press') {\r\n tableContainer.hide(); // Initially hide the table\r\n \r\n // Wait for the button click or Enter key event to show the table\r\n $(document).on('keypress', function (event) {\r\n if (event.which == 13) { // Enter key press\r\n var searchTerm = searchInput.val(); // Check the value again\r\n if (searchTerm && searchTerm.length >= 2) {\r\n tableContainer.show(); // Show the table only if search term is valid\r\n } else {\r\n tableContainer.hide(); // Keep table hidden if search is empty\r\n console.log(\"Search is empty. Table will not be shown.\");\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n toggleTableVisibility();\r\n \r\n searchInput.on('input', function () {\r\n toggleTableVisibility();\r\n });\r\n\r\n wrapper.find(\"#create_tables_filter\").css({ width: '100%' });\r\n });\r\n }\r\n\r\n /**\r\n * Sticky header and column \r\n * @returns \r\n */\r\n handleSticky($, elem, enable_fixed_columns, left_columns, right_columns, enable_fixed_headers, header_offset) {\r\n if (elem.prevObject && elem.prevObject.length > 0) {\r\n elem = elem.prevObject;\r\n }\r\n \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 // Find the table and scroll elements\r\n const tableElem = $(elem).find('div.dataTables_scrollHead thead th');\r\n const bodyElem = $(elem).find('div.dataTables_scrollBody tbody td');\r\n const scrollElem = $(elem).find('div.dataTables_scroll');\r\n \r\n if (tableElem.length === 0) {\r\n console.error('Table element not found');\r\n return;\r\n }\r\n \r\n // Enable fixed headers\r\n if (enable_fixed_headers) {\r\n $(elem).find('div.dataTables_scrollHead').addClass('fixed-header-active').css({\r\n position: 'sticky',\r\n top: `${header_offset}px`,\r\n zIndex: 100,\r\n boxShadow: '0px 2px 5px rgba(0,0,0,0.1)',\r\n });\r\n }\r\n \r\n // Handle left sticky columns\r\n if (enable_fixed_columns && left_columns > 0) {\r\n let leftWidth = 0;\r\n \r\n $(tableElem).each(function (index) {\r\n if (index < left_columns) {\r\n const columnWidth = $(this).outerWidth();\r\n leftWidth += columnWidth;\r\n \r\n // Apply sticky position for headers and add a class\r\n $(this).addClass(`sticky-applied-lft sticky-left-head sticky-left-col-${index + 1}`).css({\r\n position: 'sticky',\r\n left: `${leftWidth - columnWidth}px`,\r\n zIndex: 2,\r\n boxShadow: '2px 0px 5px rgba(0,0,0,0.1)', \r\n });\r\n \r\n // Apply sticky position for body cells and add a class\r\n $(bodyElem).each(function () {\r\n const cell = $(this).parent().children(`:nth-child(${index + 1})`);\r\n cell.addClass(`sticky-applied-lft sticky-left-body sticky-left-col-${index + 1}`).css({\r\n position: 'sticky',\r\n left: `${leftWidth - columnWidth}px`,\r\n zIndex: 1,\r\n boxShadow: '2px 0px 5px rgba(0,0,0,0.1)', \r\n });\r\n });\r\n }\r\n });\r\n }\r\n \r\n // Handle right sticky columns\r\n if (enable_fixed_columns && right_columns > 0) {\r\n let rightWidth = 0;\r\n \r\n $(tableElem.get().reverse()).each(function (reverseIndex) {\r\n const totalColumns = tableElem.length;\r\n const columnIndex = totalColumns - reverseIndex - 1;\r\n \r\n if (reverseIndex < right_columns) {\r\n const columnWidth = $(this).outerWidth();\r\n rightWidth += columnWidth;\r\n \r\n // Apply sticky position for headers and add a class\r\n $(this).addClass(`sticky-applied-rgt sticky-right-head sticky-right-col-${reverseIndex + 1}`).css({\r\n position: 'sticky',\r\n right: `${rightWidth - columnWidth}px`,\r\n zIndex: 2,\r\n boxShadow: '-2px 0px 5px rgba(0,0,0,0.1)', \r\n });\r\n \r\n // Apply sticky position for body cells and add a class\r\n $(bodyElem).each(function () {\r\n const cell = $(this).parent().children(`:nth-child(${columnIndex + 1})`);\r\n cell.addClass(`sticky-applied-rgt sticky-right-body sticky-right-col-${reverseIndex + 1}`).css({\r\n position: 'sticky',\r\n right: `${rightWidth - columnWidth}px`,\r\n zIndex: 1,\r\n boxShadow: '-2px 0px 5px rgba(0,0,0,0.1)', \r\n });\r\n });\r\n }\r\n });\r\n }\r\n \r\n // Add fixed columns class for easier styling\r\n if (enable_fixed_columns) {\r\n scrollElem.addClass('fixed-col-active');\r\n }\r\n }\r\n\r\n \r\n\r\n\r\n /**\r\n * Create search button and disable the search auto and serch using search button\r\n * @returns Search button empty press issue fix \r\n */\r\n CreateSearchoptions($, elem, search_by) {\r\n if (elem.prevObject && elem.prevObject.length > 0) {\r\n elem = elem.prevObject;\r\n }\r\n \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 elem.each(function (index, container) {\r\n var table = $(container).find('#create_tables').DataTable();\r\n var filter_input = $(container).find('#create_tables_filter input[type=\"search\"]').unbind();\r\n \r\n // Check if search_by is 'search-by-press' and add the class\r\n if (search_by === 'search-by-press') {\r\n $(container).find('#create_tables_filter').addClass('searchBypress');\r\n }\r\n \r\n // Create Search button front_end_data.strings['search']\r\n var search_button = $('<button type=\"button\" class=\"ui button search-by-press search-btn\"></button>')\r\n .text(front_end_data.strings['search-btn'])\r\n .click(function () {\r\n var searchTerm = filter_input.val();\r\n\r\n // Ensure the search only triggers if there is a valid input\r\n if (searchTerm && searchTerm.trim().length > 0) {\r\n table.search(searchTerm).draw();\r\n\r\n // Show table if there is valid input\r\n if (search_by === 'search-by-press') {\r\n $(container).find(\".dataTables_scroll\").show();\r\n }\r\n } else {\r\n // Keep the table hidden if search input is empty\r\n $(container).find(\".dataTables_scroll\").hide();\r\n /* console.log(\"Search input is empty. Table will not be shown.\"); */\r\n }\r\n });\r\n \r\n // Create Clear button front_end_data.strings['clear']\r\n var clear_button = $('<button type=\"button\" class=\"ui button search-by-press clear-btn\"></button>')\r\n .text(front_end_data.strings['clear-btn'])\r\n .click(function () {\r\n filter_input.val('');\r\n table.search('').draw();\r\n\r\n // Hide table when cleared\r\n if (search_by === 'search-by-press') {\r\n $(container).find(\".dataTables_scroll\").hide();\r\n }\r\n });\r\n \r\n // Append the search and clear buttons\r\n $(container).find('#create_tables_filter').append(search_button, clear_button);\r\n \r\n // Handle Enter keypress event\r\n $(document).keypress(function (event) {\r\n if (event.which == 13) { // Enter key is pressed\r\n search_button.click();\r\n }\r\n });\r\n });\r\n }\r\n\r\n \r\n \r\n html_loader() {\r\n let loader = `\r\n <div class=\"ui segment gswpts_table_loader\">\r\n <div class=\"ui active inverted dimmer\">\r\n <div class=\"ui large text loader\">Loading</div>\r\n </div>\r\n <p></p>\r\n <p></p>\r\n <p></p>\r\n </div>\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 <thead> 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 tableClass.loadThemeStyle($, elem);\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 // table width fixing \r\n /* if (table_settings?.merged_support) {\r\n tableClass.handleTableWidth($, $(elem).find(\".gswpts_tables_container\"));\r\n } */\r\n\r\n setInterval(function() {\r\n tableClass.handleTableWidth($, $(elem).find(\".gswpts_tables_container\"));\r\n }, 600);\r\n\r\n tableClass.handlePaginations($, elem);\r\n // tableClass.defaultThemepaginationStyle($, elem);\r\n\r\n // Disable sorting from the table\r\n if (table_settings?.hide_sorting_icon) {\r\n tableClass.handleSortingDisable($, $(elem).find(\".gswpts_tables_container\"));\r\n }\r\n \r\n // Makes the table hide and unhide\r\n if (table_settings?.table_view_mode === 'search-only-mode') {\r\n tableClass.handleSearchoptions($, $(elem).find(\".gswpts_tables_container\"), table_settings.search_by);\r\n }\r\n \r\n // Condition to load the search button and disable search in type and show search value once search button click or enter press \r\n if (table_settings?.table_view_mode === 'search-only-mode' && table_settings?.search_by === 'search-by-press') {\r\n tableClass.CreateSearchoptions($, $(elem).find(\".gswpts_tables_container\"), table_settings.search_by);\r\n }\r\n\r\n if (tableClass.isProPluginActive()) {\r\n\r\n if (table_settings?.enable_fixed_columns || table_settings?.fixed_headers) {\r\n tableClass.handleSticky($, $(elem).find(\".gswpts_tables_container\"), table_settings.enable_fixed_columns, table_settings.left_columns, table_settings.right_columns, table_settings.fixed_headers, table_settings.header_offset );\r\n }\r\n }\r\n\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(\"<strong>Table could not be loaded. Try again</strong>\");\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 <thead> 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 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 // Additional code for handling merged cells and text alignment\r\n table_obj.handleMergedCells($, elem);\r\n table_obj.loadThemeStyle($, elem);\r\n // table_obj.defaultThemepaginationStyle($, elem);\r\n table_obj.handleHeaderMergedCells($, elem);\r\n\r\n \r\n /* if (table_settings?.merged_support) {\r\n table_obj.handleTableWidth($, $(elem).find(\".gswpts_tables_container\"));\r\n } */\r\n\r\n setInterval(function() {\r\n table_obj.handleTableWidth($, $(elem).find(\".gswpts_tables_container\"));\r\n }, 600);\r\n\r\n /* $(window).on('resize', function () {\r\n table_obj.handleTableWidth($, $(elem).find(\".gswpts_tables_container\"));\r\n }); */\r\n\r\n table_obj.handlePaginations($, elem);\r\n\r\n // Disable sorting from the table\r\n if (table_settings?.hide_sorting_icon) {\r\n table_obj.handleSortingDisable($, $(elem).find(\".gswpts_tables_container\"));\r\n }\r\n\r\n if (table_settings?.table_view_mode === 'search-only-mode') {\r\n table_obj.handleSearchoptions($, $(elem).find(\".gswpts_tables_container\"), table_settings.search_by);\r\n }\r\n \r\n // Condition to load the search button and disable search in type and show search value once search button click or enter press \r\n if (table_settings?.table_view_mode === 'search-only-mode' && table_settings?.search_by === 'search-by-press') {\r\n table_obj.CreateSearchoptions($, $(elem).find(\".gswpts_tables_container\"), table_settings.search_by);\r\n }\r\n\r\n // Sticky feature development\r\n if (table_obj.isProPluginActive()) {\r\n if (table_settings?.enable_fixed_columns || table_settings?.fixed_headers) {\r\n table_obj.handleSticky($, $(elem).find(\".gswpts_tables_container\"), table_settings.enable_fixed_columns, table_settings.left_columns, table_settings.right_columns, table_settings.fixed_headers, table_settings.header_offset );\r\n }\r\n }\r\n \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","tableSettings","theme","table_style","PageStyles","import_styles_theme_colors","paginationStyle","first","front_end_data","strings","previous","next","last","PaginationTailwindBack2","PaginationTainwildNext2","PaginationTailwindBack1","PaginationTainwildNext1","i","elem","table_name","table_settings","sheetUrl","dom","show_x_entries","search_bar","show_info_block","pagination","isProPluginActive","changeRedirectionType","redirection_type","changeCellFormat","cell_format","table_view_mode","fn","DataTable","length","table_obj","table","dataTable","ext","search","push","settings","dataIndex","nTable","node","searchTerm","val","toLowerCase","enable_column_specific_search","table_search_column","includes","setPdfUrl","reveal_export_btns","swap_input_filter","swap_bottom_options","type","links","link","formatStyle","tableCell","cell","isProActive","url","split","gridID","spreadsheetID","getSpreadsheetID","getGridID","pdfUrl","append","iconsURL","filePdf","moment","table_object","order","allow_singleshort","columnnumber","sorting_mode","allow_sorting","responsive","lengthMenu","language","searchPlaceholder","info","emptyTable","zeroRecords","paginate","getPaginateSettings","pagingType","pageLength","parseInt","default_rows_per_page","lengthChange","ordering","destroy","scrollX","numberOfColumns","buttons","text","curlyBrackets","className","action","dt","button","config","exportData","fileSave","Blob","JSON","stringify","titleAttr","fileCSV","extend","title","fileExcel","printIcon","copySolid","hide_on_desktop_col","screenSize","hide_on_mobile_col","hide_column","columnDefs","hideColumnByScreen","hide_column_mobile","vertical_scrolling","scrollY","arrayValues","targets","convertArrayStringToInteger","visible","searchable","screen","width","arr","map","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","j","targetIndex","targetCell","join","trim","hide","setConsistentTableWidth","container","tableId","Math","random","toString","substring","containerWidth","row","rowWidth","getBoundingClientRect","window","originalTableWidths","targetWidth","headers","prevObject","off","updatePaginationContent","span","html","tablePage","sortingElements","querySelectorAll","dataTablesLength","dataTables_filter","createTablesFilterInputs","sortingElement","addEventListener","LengthElement","FilterElement","createTablesFilterInput","styleString","regex","themeName","gswptsCount","startsWith","replace","tableElem","console","error","backgroundColor","textColor","tableStyles","paginationColors","RegExp","hexToRgba","hex","opacity","bigint","slice","g","b","defaultPaginationColor","simplePaginationColor","styleContent","styleElement","createElement","id","textContent","head","appendChild","propertyName","getCustomPropertyValue","sortingHeaders","log","search_by","wrapper","searchInput","tableContainer","toggleTableVisibility","show","event","which","enable_fixed_columns","left_columns","right_columns","enable_fixed_headers","header_offset","bodyElem","scrollElem","position","top","zIndex","boxShadow","leftWidth","columnWidth","outerWidth","left","parent","children","rightWidth","get","reverse","reverseIndex","columnIndex","right","filter_input","unbind","search_button","click","draw","clear_button","keypress","test","navigator","userAgent","detectBrowser","tableScrollBody","element","parentElement","classList","contains","overflow","height","maxHeight","indexOf","documentMode","tableCells","innerText","$container","$scroller","$window","x","x2","y2","t","move","evt","_x","pageX","deltaX","pageY","scrollLeft","up","deltaT","Date","now","deltaY","stop","animate","scrollTop","c","d","sqrt","preventDefault","originalEvent","max","scrollWidth","offsetWidth","dir","wheelDeltaX","mousedown","cursor","mouseup","frontend_table","asynchronous_loading","get_frontend_table","ajax","admin_ajax","nonce","success","res","tableClass","responsive_style","import_styles","show_title","output","name","source_url","table_configuration","scrollerContainer","scrollerElement","handleCommonActions","theadElement","clear","trElement","thElement","divElement","innerHTML","paddingTop","paddingBottom","borderTopWidth","borderBottomWidth","textAlign","getAttribute","paginateContainer","getElementById","thead","closest","querySelector","createTablesPaginate","handlePagination","handleMergedCells","handleHeaderMergedCells","loadThemeStyle","cursor_behavior","bindDragScroll","addGrabCursonOnMouseDown","setInterval","handleTableWidth","handlePaginations","hide_sorting_icon","handleSortingDisable","handleSearchoptions","CreateSearchoptions","fixed_headers","handleSticky","clearOverflow","tableRows","verticalMergeFound","rowspan","err","alert"],"sourceRoot":""}