Файловый менеджер - Редактировать - /home/bean7936/deribos.com/wp-content3e392d/plugins/graphina-elementor-charts-and-graphs/dist/tree.js.map
Назад
{"version":3,"file":"tree.js","sources":["../assets/elementor/js/apex-tree/TreeChart.js"],"sourcesContent":["// Class specifically for Advance Data table\nexport default class TreeChart {\n constructor() {\n this.chartHandlers = {};\n this.init();\n this.observer = {};\n }\n\n // Initialize the class by setting up handlers and events\n init() {\n this.bindElementorInit(); // Bind Elementor hooks separately\n }\n\n bindElementorInit() {\n // Flag to track if our handler has been registered\n let elementorHookCalled = false;\n \n const runOnElementorReady = () => {\n if (elementorHookCalled) return;\n \n // Wait for Elementor modules to be ready\n if (window.elementorFrontend && window.elementorFrontend.elementsHandler) {\n elementorHookCalled = true;\n \n // Register the widget handler\n window.elementorFrontend.hooks.addAction('frontend/element_ready/widget', ($scope) => {\n const chartElement = $scope.find('.graphina-tree-chart');\n if (chartElement.length > 0) {\n this.initializeTables(chartElement);\n }\n });\n }\n };\n\n // Case 1: Check if Elementor is already initialized\n if (window.elementorFrontend && window.elementorFrontend.elementsHandler) {\n runOnElementorReady();\n }\n\n // Case 2: Wait for Elementor to initialize\n jQuery(window).on('elementor/frontend/init', () => {\n // Add a small delay to ensure modules are loaded\n setTimeout(runOnElementorReady, 50);\n });\n\n // Case 3: Fallback for non-Elementor pages\n jQuery(document).ready(() => {\n if (!elementorHookCalled) {\n const chartElements = jQuery('.graphina-tree-chart');\n if (chartElements.length > 0) {\n chartElements.each((index, element) => {\n this.initializeTables(jQuery(element));\n });\n }\n }\n });\n }\n\n handleElementorWidgetInit() {\n elementorFrontend.hooks.addAction('frontend/element_ready/widget', ($scope) => {\n const chartElement = $scope.find('.graphina-tree-chart');\n if (chartElement.length > 0) {\n this.initializeTables(chartElement);\n }\n });\n }\n\n initializeTables(chartElement) {\n this.observeTableElement(chartElement, 'tree')\n }\n\n // Setup IntersectionObserver to call setupTree when the element is in the viewport\n observeTableElement(element, chartType) {\n\n const elementID = element.data('element_id')\n if (gcfe_public_localize.view_port === 'off') {\n if (!this.observer[elementID]) {\n this.observer[elementID] = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n // Element is in viewport; initialize the chart\n this.setupTree(jQuery(entry.target), chartType);\n // Stop observing the element after initializing the chart\n this.observer[elementID].unobserve(entry.target);\n }\n });\n }, { threshold: 0.1 }); // Trigger when at least 10% of the element is visible\n }\n this.observer[elementID].observe(element[0]); // Start observing the chart element\n } else {\n this.setupTree(element, chartType);\n }\n }\n getDynamicTreeData(settings, extraData, elementId) {\n \n let post_id = jQuery(`[data-element_id=\"${elementId}\"]`).closest('[data-elementor-id]').data('elementor-id');\n return new Promise((resolve, reject) => {\n jQuery.ajax({\n url: gcfe_public_localize.ajaxurl,\n type: 'POST',\n dataType: 'json',\n data: {\n action : 'graphina_get_dynamic_tree_data',\n nonce : gcfe_public_localize.tree_nonce,\n chartType : 'tree',\n post_id : post_id,\n element_id : elementId,\n series_count: 0,\n settings : JSON.stringify(settings),\n \n },\n success: (response) => {\n resolve(response);\n },\n error: (error) => {\n console.error('AJAX Error:', error);\n reject(new Error('AJAX request failed.'));\n },\n });\n });\n }\n\n addContentLists(columns,extraData,chartType){\n const element = parent.document.querySelector(`[data-setting=\"${extraData.graphina_prefix}${chartType}_available_tree_columns\"`);\n if (!element) return;\n \n element.innerHTML = ''; // Clear existing options\n try {\n element.value = columns\n } catch (error) {\n console.log(error);\n }\n }\n\n async setupTree(element, chartType) {\n\n const element_id = element.data('element_id')\n const chartOptions = element.data('chart_options');\n let chart_data = element.data('chart_data');\n \n const extraData = element.data('extra_data');\n const settings = element.data('settings');\n\n chartOptions.nodeTemplate = (content) => {\n const template = extraData.tree_template;\n return new Function('content', `return \\`${template}\\`;`)(content);\n };\n \n\n\n try {\n if(extraData.chart_data_option === true){\n \n const dynamicData = await this.getDynamicTreeData(settings, extraData, element_id);\n\n // for showing available field in json\n this.addContentLists(dynamicData.chart_data.columns,extraData,chartType)\n chart_data = dynamicData.chart_data.tree_data\n jQuery(document).find(`.graphina-${element_id}-loader`).hide()\n }\n \n const tree = new ApexTree(element, chartOptions);\n tree.render(chart_data);\n } catch (error) {\n console.log(error);\n }\n\n }\n \n \n \n}\n \n\n\nnew TreeChart();\n"],"names":["TreeChart","elementorHookCalled","runOnElementorReady","$scope","chartElement","chartElements","index","element","chartType","elementID","entries","entry","settings","extraData","elementId","post_id","resolve","reject","response","error","columns","element_id","chartOptions","chart_data","content","template","dynamicData"],"mappings":"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"}
| ver. 1.6 |
Github
|
.
| PHP 8.3.30 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка