Browse Source

[style] style fixes for setup wizard and charts

version-14
Rushabh Mehta 8 years ago
parent
commit
772adf4199
12 changed files with 152 additions and 51 deletions
  1. +10
    -6
      frappe/desk/page/setup_wizard/setup_wizard.css
  2. +6
    -5
      frappe/desk/page/setup_wizard/setup_wizard.js
  3. +5
    -3
      frappe/desk/page/setup_wizard/setup_wizard.py
  4. +4
    -4
      frappe/desk/page/setup_wizard/setup_wizard_page.html
  5. +41
    -0
      frappe/public/css/desk.css
  6. +0
    -9
      frappe/public/css/mobile.css
  7. +6
    -5
      frappe/public/js/frappe/form/control.js
  8. +22
    -1
      frappe/public/js/frappe/ui/charts.js
  9. +6
    -2
      frappe/public/js/frappe/ui/field_group.js
  10. +2
    -1
      frappe/public/js/frappe/views/reports/grid_report.js
  11. +50
    -1
      frappe/public/less/desk.less
  12. +0
    -14
      frappe/public/less/mobile.less

+ 10
- 6
frappe/desk/page/setup_wizard/setup_wizard.css View File

@@ -15,26 +15,30 @@


.setup-wizard-slide .lead { .setup-wizard-slide .lead {
margin-bottom: 10px; margin-bottom: 10px;
font-weight: 500;
} }


.setup-wizard-slide .form {
margin-top: 20px;
.setup-wizard-slide.with-form {
margin: 40px auto;
border: 1px solid #d1d8dd; border: 1px solid #d1d8dd;
box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.1); box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.1);
} }


.setup-wizard-slide .footer { .setup-wizard-slide .footer {
margin: 20px auto;
padding: 30px;
} }


.setup-wizard-progress { .setup-wizard-progress {
border-bottom: 1px solid #d1d8dd;
padding-bottom: 15px;
margin: -20px auto 20px;
padding: 15px;
} }


.setup-wizard-slide .fa-fw { .setup-wizard-slide .fa-fw {
vertical-align: middle; vertical-align: middle;
font-size: 10px;
}

.setup-wizard-slide .fa-fw.active {
color: #5e64ff;
} }


.setup-wizard-slide .icon-circle-blank { .setup-wizard-slide .icon-circle-blank {


+ 6
- 5
frappe/desk/page/setup_wizard/setup_wizard.js View File

@@ -548,11 +548,10 @@ function load_frappe_slides() {
title: __("The First User: You"), title: __("The First User: You"),
icon: "fa fa-user", icon: "fa fa-user",
fields: [ fields: [
{"fieldname": "first_name", "label": __("First Name"), "fieldtype": "Data",
{"fieldname": "full_name", "label": __("Full Name"), "fieldtype": "Data",
reqd:1}, reqd:1},
{"fieldname": "last_name", "label": __("Last Name"), "fieldtype": "Data"},
{"fieldname": "email", "label": __("Email Address"), "fieldtype": "Data", {"fieldname": "email", "label": __("Email Address"), "fieldtype": "Data",
reqd:1, "description": __("You will use it to Login"), "options":"Email"},
reqd:1, "description": __("Login id"), "options":"Email"},
{"fieldname": "password", "label": __("Password"), "fieldtype": "Password", {"fieldname": "password", "label": __("Password"), "fieldtype": "Password",
reqd:1}, reqd:1},
{fieldtype:"Attach Image", fieldname:"attach_user", {fieldtype:"Attach Image", fieldname:"attach_user",
@@ -563,8 +562,10 @@ function load_frappe_slides() {
if(user!=="Administrator") { if(user!=="Administrator") {
slide.form.fields_dict.password.$wrapper.toggle(false); slide.form.fields_dict.password.$wrapper.toggle(false);
slide.form.fields_dict.email.$wrapper.toggle(false); slide.form.fields_dict.email.$wrapper.toggle(false);
slide.form.fields_dict.first_name.set_input(frappe.boot.user.first_name);
slide.form.fields_dict.last_name.set_input(frappe.boot.user.last_name);
if(frappe.boot.user.first_name || frappe.boot.user.last_name) {
slide.form.fields_dict.full_name.set_input(
[frappe.boot.user.first_name, frappe.boot.user.last_name].join(' ').trim());
}


var user_image = frappe.get_cookie("user_image"); var user_image = frappe.get_cookie("user_image");
if(user_image) { if(user_image) {


+ 5
- 3
frappe/desk/page/setup_wizard/setup_wizard.py View File

@@ -5,7 +5,6 @@ from __future__ import unicode_literals


import frappe, json, os import frappe, json, os
from frappe.utils import strip, cint from frappe.utils import strip, cint
from frappe import _
from frappe.translate import (set_default_language, get_dict, send_translations) from frappe.translate import (set_default_language, get_dict, send_translations)
from frappe.geo.country_info import get_country_info from frappe.geo.country_info import get_country_info
from frappe.utils.file_manager import save_file from frappe.utils.file_manager import save_file
@@ -84,11 +83,14 @@ def update_user_name(args):
args['name'] = args.get("email") args['name'] = args.get("email")


_mute_emails, frappe.flags.mute_emails = frappe.flags.mute_emails, True _mute_emails, frappe.flags.mute_emails = frappe.flags.mute_emails, True
first_name, last_name = args.get('full_name'), ''
if ' ' in first_name:
first_name, last_name = first_name.split(' ', 1)
doc = frappe.get_doc({ doc = frappe.get_doc({
"doctype":"User", "doctype":"User",
"email": args.get("email"), "email": args.get("email"),
"first_name": args.get("first_name"),
"last_name": args.get("last_name")
"first_name": first_name,
"last_name": last_name
}) })
doc.flags.no_welcome_mail = True doc.flags.no_welcome_mail = True
doc.insert() doc.insert()


+ 4
- 4
frappe/desk/page/setup_wizard/setup_wizard_page.html View File

@@ -1,17 +1,17 @@
<div class="container setup-wizard-slide {%= css_class %}" data-slide-name="{%= name %}">
<div class="container setup-wizard-slide {%= css_class %} with-form" data-slide-name="{%= name %}">
<div class="text-center setup-wizard-progress text-extra-muted"> <div class="text-center setup-wizard-progress text-extra-muted">
{% for (var i=0; i < slides_count; i++) { %} {% for (var i=0; i < slides_count; i++) { %}
<i class="fa-fw {% if (i+1==step) { %} fa fa-circle {% } else { %} fa fa-circle-o {% } %}"></i>
<i class="fa fa-fw fa-circle{% if (i+1==step) { %} active {% } %}"></i>
{% } %} {% } %}
</div> </div>
<p class="text-center lead">{%= title %}</p> <p class="text-center lead">{%= title %}</p>
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-sm-12">
{% if (help) { %} <p class="text-center">{%= help %}</p> {% } %}
<!-- {% if (help) { %} <p class="text-center">{%= help %}</p> {% } %} -->
<div class="form"></div> <div class="form"></div>
</div> </div>
</div> </div>
<div class="footer text-center">
<div class="footer text-right">
<div> <div>
<a class="prev-btn hide grey small">{%= __("Previous") %}</a> <a class="prev-btn hide grey small">{%= __("Previous") %}</a>
<a class="next-btn hide btn btn-primary btn-sm">{%= __("Next") %}</a> <a class="next-btn hide btn btn-primary btn-sm">{%= __("Next") %}</a>


+ 41
- 0
frappe/public/css/desk.css View File

@@ -665,3 +665,44 @@ fieldset[disabled] .form-control {
.note-editor.note-frame .note-editing-area .note-editable { .note-editor.note-frame .note-editing-area .note-editable {
color: #36414C; color: #36414C;
} }
.c3 svg {
font-family: inherit;
font-size: 10px;
color: #36414C;
}
.c3-line {
stroke-width: 3px;
}
.c3-tooltip {
box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
border-radius: 3px;
opacity: 1;
}
.c3-tooltip tr {
border: none;
}
.c3-tooltip th {
color: #8D99A6;
background-color: #ffffff;
font-size: 12px;
font-weight: normal;
padding: 2px 5px;
text-align: left;
border: 1px solid #d1d8dd;
}
.c3-tooltip td {
color: #36414C;
font-size: 11px;
padding: 3px 6px;
background-color: #fff;
border: 1px solid #d1d8dd;
}
.c3-tooltip td > span {
display: inline-block;
width: 10px;
height: 10px;
margin-right: 6px;
}
.c3-tooltip td.value {
text-align: right;
}

+ 0
- 9
frappe/public/css/mobile.css View File

@@ -322,15 +322,6 @@ body {
margin-top: 10px; margin-top: 10px;
text-align: left; text-align: left;
} }
#page-setup-wizard .form-section:first-child .form-column:first-child .frappe-control:first-child {
border-top: 1px solid #d1d8dd;
}
#page-setup-wizard .form-section:last-child .form-column:last-child .frappe-control:last-child {
border-bottom: 1px solid #d1d8dd;
}
#page-setup-wizard .setup-wizard-slide .form {
border: none;
}
body[data-route^="Form"] .page-head .sub-heading { body[data-route^="Form"] .page-head .sub-heading {
right: 90px; right: 90px;
} }


+ 6
- 5
frappe/public/js/frappe/form/control.js View File

@@ -611,11 +611,6 @@ frappe.ui.form.ControlCurrency = frappe.ui.form.ControlFloat.extend({
frappe.ui.form.ControlPercent = frappe.ui.form.ControlFloat; frappe.ui.form.ControlPercent = frappe.ui.form.ControlFloat;


frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({
datepicker_options: {
language: "en",
autoClose: true,
todayButton: new Date()
},
set_input: function(value) { set_input: function(value) {
this._super(value); this._super(value);
if(value && this.last_value !== this.value) { if(value && this.last_value !== this.value) {
@@ -630,6 +625,12 @@ frappe.ui.form.ControlDate = frappe.ui.form.ControlData.extend({
}, },
set_date_options: function() { set_date_options: function() {
var me = this; var me = this;
this.datepicker_options = {
language: "en",
autoClose: true,
todayButton: new Date()
};

var date_format = var date_format =
(frappe.boot.sysdefaults.date_format || 'yyyy-mm-dd'); (frappe.boot.sysdefaults.date_format || 'yyyy-mm-dd');
this.datepicker_options.dateFormat = date_format; this.datepicker_options.dateFormat = date_format;


+ 22
- 1
frappe/public/js/frappe/ui/charts.js View File

@@ -23,7 +23,7 @@ frappe.ui.Chart = Class.extend({
data: {}, data: {},
axis: { axis: {
x: { x: {
type: 'category' // this needed to load string x value
type: this.opts.x_type || 'category' // this needed to load string x value
}, },
y: { y: {
padding: { bottom: 10 } padding: { bottom: 10 }
@@ -47,6 +47,27 @@ frappe.ui.Chart = Class.extend({


chart_dict["data"]["type"] = this.opts.chart_type || "line"; chart_dict["data"]["type"] = this.opts.chart_type || "line";


if(this.opts.x_type==='timeseries') {
if(!chart_dict.axis.x.tick) {
chart_dict.axis.x.tick = {}
}
chart_dict.axis.x.tick.culling = {max: 15};
chart_dict.axis.x.tick.format = frappe.boot.sysdefaults.date_format
.replace('yyyy', '%Y').replace('mm', '%m').replace('dd', '%d');
};

// set color
if(!chart_dict.data.colors) {
colors = ['#4E50A6', '#7679FB', '#A3A5FC', '#925191', '#5D3EA4', '#8D5FFA',
'#5E3AA8', '#7B933D', '#4F8EA8'];
chart_dict.data.colors = {};
chart_dict.data.columns.forEach(function(d, i) {
if(d[0]!=='x') {
chart_dict.data.colors[d[0]] = colors[i-1];
}
});
}

return c3.generate(chart_dict); return c3.generate(chart_dict);
}, },




+ 6
- 2
frappe/public/js/frappe/ui/field_group.js View File

@@ -75,8 +75,12 @@ frappe.ui.FieldGroup = frappe.ui.form.Layout.extend({
} }
} }
if(errors.length && !ignore_errors) { if(errors.length && !ignore_errors) {
msgprint('<b>' + __('Missing Values Required') + "</b><br>"
+ errors.join('<br>'));
msgprint({
title: __('Missing Values Required'),
message: __('Following fields have missing values:') +
'<br><br><ul><li>' + errors.join('<li>') + '</ul>',
indicator: 'orange'
});
return null; return null;
} }
return ret; return ret;


+ 2
- 1
frappe/public/js/frappe/views/reports/grid_report.js View File

@@ -671,7 +671,8 @@ frappe.views.GridReportWithPlot = frappe.views.GridReport.extend({


this.chart = new frappe.ui.Chart({ this.chart = new frappe.ui.Chart({
wrapper: this.chart_area, wrapper: this.chart_area,
data: chart_data
data: chart_data,
x_type: 'timeseries'
}); });
}, },




+ 50
- 1
frappe/public/less/desk.less View File

@@ -533,4 +533,53 @@ textarea.form-control {


.note-editor.note-frame .note-editing-area .note-editable { .note-editor.note-frame .note-editing-area .note-editable {
color: @text-color; color: @text-color;
}
}

.c3 svg {
font-family: inherit;
font-size: 10px;
color: @text-color;
}

.c3-line {
stroke-width: 3px;
}

.c3-tooltip {
box-shadow: 3px 3px 3px rgba(0,0,0,0.1);
border-radius: 3px;
opacity: 1;
}

.c3-tooltip tr {
border: none;
}

.c3-tooltip th {
color: @text-muted;
background-color: #ffffff;
font-size: 12px;
font-weight: normal;
padding: 2px 5px;
text-align: left;
border: 1px solid @border-color;
}

.c3-tooltip td {
color: @text-color;
font-size: 11px;
padding: 3px 6px;
background-color: #fff;
border: 1px solid @border-color;
}

.c3-tooltip td > span {
display: inline-block;
width: 10px;
height: 10px;
margin-right: 6px;
}

.c3-tooltip td.value {
text-align: right; }


+ 0
- 14
frappe/public/less/mobile.less View File

@@ -392,20 +392,6 @@ body {
} }
} }


#page-setup-wizard {
.form-section:first-child .form-column:first-child .frappe-control:first-child {
border-top: 1px solid @border-color;
}

.form-section:last-child .form-column:last-child .frappe-control:last-child {
border-bottom: 1px solid @border-color;
}

.setup-wizard-slide .form {
border: none;
}
}

body[data-route^="Form"] { body[data-route^="Form"] {
.page-head .sub-heading { .page-head .sub-heading {
right: 90px; right: 90px;


Loading…
Cancel
Save