[refactor] Load languages on load of slide

This commit is contained in:
Nabin Hait 2017-09-13 19:41:33 +05:30
parent 57730794b6
commit 1d2525d6ce
2 changed files with 50 additions and 53 deletions

View file

@ -33,28 +33,36 @@ frappe.pages['setup-wizard'].on_page_load = function(wrapper) {
frappe.boot.setup_wizard_requires || []);
frappe.require(requires, function() {
frappe.setup.run_event("before_load");
var wizard_settings = {
parent: wrapper,
slides: frappe.setup.slides,
slide_class: frappe.setup.SetupWizardSlide,
unidirectional: 1,
before_load: ($footer) => {
$footer.find('.next-btn').removeClass('btn-default')
.addClass('btn-primary');
$footer.find('.text-right').prepend(
$(`<a class="complete-btn btn btn-sm primary">
${__("Complete Setup")}</a>`));
frappe.call({
method: "frappe.desk.page.setup_wizard.setup_wizard.load_languages",
freeze: true,
callback: function(r) {
frappe.setup.data.lang = r.message;
frappe.setup.run_event("before_load");
var wizard_settings = {
parent: wrapper,
slides: frappe.setup.slides,
slide_class: frappe.setup.SetupWizardSlide,
unidirectional: 1,
before_load: ($footer) => {
$footer.find('.next-btn').removeClass('btn-default')
.addClass('btn-primary');
$footer.find('.text-right').prepend(
$(`<a class="complete-btn btn btn-sm primary">
${__("Complete Setup")}</a>`));
}
}
frappe.wizard = new frappe.setup.SetupWizard(wizard_settings);
frappe.setup.run_event("after_load");
// frappe.wizard.values = test_values_edu;
let route = frappe.get_route();
if(route) {
frappe.wizard.show_slide(route[1]);
}
}
}
frappe.wizard = new frappe.setup.SetupWizard(wizard_settings);
frappe.setup.run_event("after_load");
// frappe.wizard.values = test_values_edu;
let route = frappe.get_route();
if(route) {
frappe.wizard.show_slide(route[1]);
}
});
});
};
@ -297,11 +305,17 @@ frappe.setup.slides_settings = [
],
onload: function(slide) {
if (frappe.setup.data.lang) {
this.setup_fields(slide);
} else {
frappe.setup.utils.load_languages(slide, this.setup_fields);
this.setup_fields(slide);
var language_field = slide.get_field("language");
language_field.set_input(frappe.setup.data.default_language || "English");
if (!frappe.setup._from_load_messages) {
language_field.$input.trigger("change");
}
delete frappe.setup._from_load_messages;
moment.locale("en");
},
setup_fields: function(slide) {
@ -410,27 +424,6 @@ frappe.setup.slides_settings = [
];
frappe.setup.utils = {
load_languages: function(slide, callback) {
frappe.call({
method: "frappe.desk.page.setup_wizard.setup_wizard.load_languages",
freeze: true,
callback: function(r) {
frappe.setup.data.lang = r.message;
callback(slide);
var language_field = slide.get_field("language");
language_field.set_input(frappe.setup.data.default_language || "English");
if (!frappe.setup._from_load_messages) {
language_field.$input.trigger("change");
}
delete frappe.setup._from_load_messages;
moment.locale("en");
}
});
},
load_regional_data: function(slide, callback) {
frappe.call({
method:"frappe.geo.country_info.get_country_timezone_info",

View file

@ -29,6 +29,7 @@ frappe.ui.Graph = class Graph {
summary = [],
mode = '',
call_setup = true
}) {
if(Object.getPrototypeOf(this) === frappe.ui.Graph.prototype) {
@ -64,13 +65,17 @@ frappe.ui.Graph = class Graph {
this.$graph = null;
// Validate all arguments, check passed data format, set defaults
if (call_setup) {
this.setup();
}
frappe.require("assets/frappe/js/lib/snap.svg-min.js", this.setup.bind(this));
}
setup() {
this.bind_window_event();
this.refresh();
frappe.require("assets/frappe/js/lib/snap.svg-min.js", () => {
this.bind_window_event();
this.refresh();
});
}
bind_window_event() {
@ -625,6 +630,7 @@ frappe.ui.HeatMap = class HeatMap extends frappe.ui.Graph {
specific_values = [],
summary = [],
mode = 'heatmap',
call_setup = false
} = {}) {
super(arguments[0]);
this.start = start;
@ -634,6 +640,7 @@ frappe.ui.HeatMap = class HeatMap extends frappe.ui.Graph {
this.count_label = count_label;
this.legend_colors = ['#ebedf0', '#c6e48b', '#7bc96f', '#239a3b', '#196127'];
this.setup();
}
setup_base_values() {
@ -664,7 +671,7 @@ frappe.ui.HeatMap = class HeatMap extends frappe.ui.Graph {
}
setup_values() {
this.distribution = this.get_distribution(this.legend_colors, this.data);
this.distribution = this.get_distribution(this.data, this.legend_colors);
this.month_names = ["January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December"
];
@ -809,10 +816,7 @@ frappe.ui.HeatMap = class HeatMap extends frappe.ui.Graph {
this.setup_values();
}
get_distribution(mapper_array, data = {}) {
if(!data) {
data = {};
}
get_distribution(data={}, mapper_array) {
let data_values = Object.keys(data).map(key => data[key]);
let data_max_value = Math.max(...data_values);