Laravel, JavaScript, HTML: код разделения - PullRequest
0 голосов
/ 08 января 2020

В настоящее время я беру код с массивного Laravel блейда и разделяю каждую переменную диаграммы и функции, на которые она опирается, в свой собственный файл javascript, который затем импортирую обратно в блейд;

<script type="module" src="/js/bundle/charts/submittedForms.js"></script>

и звоните как

submittedForms(ctx, mockData)

Моя проблема в настоящее время связана с первой из вспомогательных функций. Я не уверен, что я просто неправильно экспортирую переменную диаграммы и вспомогательную функцию из файла JS их контейнера;

let submittedForms = new Chart(ctx, {
    //chart defined here
});

module.exports = {
    changeSubmittedFormsData(
    //function described here
    },
    submittedForms
};

Или сама функция просто ... сломана. Может быть, потому что я не передаю все необходимые методы, которые он использует? Или неправильно передать их? Сама функция,

               function changeSubmittedFormsData(type, mockData, resetDropDown, resetDropDownButtonText, clearLegendSelections, addCustomLegend){
                    submittedFormsType=type
                    document.getElementById("SubmittedFormsDropdownButton").innerHTML= typeToMenuLabel(type)
                    submittedForms.data.labels = getLabels(mockData.submittedForms[submittedFormsType])
                    submittedForms.data.datasets.forEach((dataset) => {
                        dataset.data= getVals(mockData.submittedForms[submittedFormsType])
                    });
                    addCustomLegend("#location-legend",locationChart)
                    submittedForms.update();
                    resetDropDown()
                    resetDropDownButtonText()

                    $('#location-legend').off("click");
                    clearLegendSelections()
                    locationChart.data.datasets[0].backgroundColor= locationColors[locationType].slice()
                    addCustomLegend("#location-legend",locationChart)
                    locationChart.update()
                } 

и вот как я ее называю,

changeSubmittedFormsData(type, mockData, resetDropDown, resetDropDownButtonText, clearLegendSelections, addCustomLegend)

Ошибка, выдаваемая из блейд-файла: «changeSubmittedFormsData не определено».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...