Установите Salesforce Variable из D3 для события щелчка в LWC - PullRequest
0 голосов
/ 16 апреля 2020

Я могу визуализировать свою диаграмму D3 в компоненте Salesforce LW C, но теперь я хочу сделать, когда я нажимаю на выбранный узел в коде D3, я хочу передать данные выбранного узла в Переменная Salesforce, которую я могу затем передать моему дочернему компоненту, который является модальным. Приведенный ниже код показывает, где я сейчас записываю имя в другой div на этой же странице, но это не помогает мне, когда я пытаюсь ссылаться на данные из переменной Salesforce.

                if (d.data.isProduct) {
                    thisNode.append("rect")
                        .attr("y", -barHeight / 2)
                        .attr("height", barHeight)
                        .attr("width", barWidth)
                        .style("fill", color)
                        .attr("class", "product " + d.data.modalName) // Add the select products modalName as a class to be used as a router to say what type of product fields to display
                        .on("click", function (d) {

                            // Only Run Logic when a Product is selected
                            if (d3.select(this).classed("product")) {

                                //var thisProductNode = d3.select(this);

                                // Only add product to the 'Selected Product' list if it was not already selected
                                if (!selectedProducts.includes(d.data.name)) {
                                    selectedProducts.push(d.data.name); // Add selected product to list of selected products to be added to the product catalog
                                    console.log('selected Products in Update: ' + JSON.stringify(selectedProducts, null, 2));
                                    selectedProductsDisplay.append('ul').append('li').text(d.data.name);
                                }


                                // Toggle the slds-hide class of the modal depending on current value
                                // - shoppingCartModal is defined at the top of the initializeD3 function
                                shoppingCartModal.classed('slds-hide', shoppingCartModal.classed('slds-hide') ? false : true);


                            }
                      });
                }

...