From 2ec99e1a4d739655aa8a1e654f3224dd6fa468c8 Mon Sep 17 00:00:00 2001
From: Rushabh Mehta
Date: Fri, 31 May 2013 14:44:26 +0530
Subject: [PATCH] [minor fixes] minor ui cleanups
---
public/css/ui/common.css | 10 +++++
public/js/wn/form/assign_to.js | 62 ++++++++++++++++---------------
public/js/wn/form/attachments.js | 8 +++-
public/js/wn/form/footer.js | 2 +-
public/js/wn/form/toolbar.js | 4 +-
public/js/wn/model/doclist.js | 12 +++++-
public/js/wn/ui/appframe.js | 2 +-
public/js/wn/ui/listing.js | 6 ++-
public/js/wn/views/doclistview.js | 13 ++++++-
public/js/wn/views/listview.js | 7 ++--
10 files changed, 82 insertions(+), 44 deletions(-)
diff --git a/public/css/ui/common.css b/public/css/ui/common.css
index 96b985c422..b3e0ea3393 100644
--- a/public/css/ui/common.css
+++ b/public/css/ui/common.css
@@ -265,4 +265,14 @@ textarea[data-fieldtype="Small Text"] {
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
display: inline;
+}
+
+.btn-text {
+ display: none;
+}
+
+@media (min-width: 768px) {
+ .btn-text {
+ display: inline;
+ }
}
\ No newline at end of file
diff --git a/public/js/wn/form/assign_to.js b/public/js/wn/form/assign_to.js
index b1228b170c..4ea9b01fe4 100644
--- a/public/js/wn/form/assign_to.js
+++ b/public/js/wn/form/assign_to.js
@@ -58,37 +58,41 @@ wn.ui.form.AssignTo = Class.extend({
this.dialog.hide();
}
- for(var i=0; i\
- %(avatar)s %(fullname)s \
- ×', info))
- .appendTo(this.$list);
-
- this.$list.find(".avatar").css("margin-top", "-7px")
- this.$list.find('.avatar img').centerImage();
- }
+ if(d.length) {
+ for(var i=0; i\
+ %(avatar)s %(fullname)s \
+ ×', info))
+ .appendTo(this.$list);
+
+ this.$list.find(".avatar").css("margin-top", "-7px")
+ this.$list.find('.avatar img').centerImage();
+ }
+
+ // set remove
+ this.$list.find('a.close').click(function() {
+ wn.call({
+ method:'webnotes.widgets.form.assign_to.remove',
+ args: {
+ doctype: me.frm.doctype,
+ name: me.frm.docname,
+ assign_to: $(this).attr('data-owner')
+ },
+ callback:function(r,rt) {
+ me.render(r.message);
+ me.frm.toolbar.show_infobar();
+ }
+ });
+ return false;
});
- return false;
- });
+ } else {
+ $('' + wn._("No one") + '
').appendTo(this.$list);
+ }
},
add: function() {
var me = this;
diff --git a/public/js/wn/form/attachments.js b/public/js/wn/form/attachments.js
index dc9efd830f..365183ae49 100644
--- a/public/js/wn/form/attachments.js
+++ b/public/js/wn/form/attachments.js
@@ -63,8 +63,12 @@ wn.ui.form.Attachments = Class.extend({
var file_names = keys(attachments).sort();
// add attachment objects
- for(var i=0; i' + wn._("None") + '
').appendTo(this.$list);
}
// refresh select fields with options attach_files:
diff --git a/public/js/wn/form/footer.js b/public/js/wn/form/footer.js
index a6b9e9668e..510742792a 100644
--- a/public/js/wn/form/footer.js
+++ b/public/js/wn/form/footer.js
@@ -28,7 +28,7 @@ wn.ui.form.Footer = Class.extend({
\
Tags
\
\
- \
+
\
\
diff --git a/public/js/wn/form/toolbar.js b/public/js/wn/form/toolbar.js
index 53ee16cbf7..b1188ee4f2 100644
--- a/public/js/wn/form/toolbar.js
+++ b/public/js/wn/form/toolbar.js
@@ -106,7 +106,7 @@ wn.ui.form.Toolbar = Class.extend({
this.appframe.add_button("Edit", function() {
me.frm.edit_doc();
return false;
- })
+ }, 'icon-pencil')
this.frm.$print_view_select =
this.appframe.add_select("Print Format", this.frm.print_formats)
.val(this.frm.print_formats[0])
@@ -216,7 +216,7 @@ wn.ui.form.Toolbar = Class.extend({
this.make_save_button();
}
else if(docstatus==1 && p[CANCEL]) {
- this.appframe.add_dropdown_button("File", 'Cancel', function() {
+ this.appframe.add_button('Cancel', function() {
me.frm.savecancel(this) }, 'icon-remove');
}
else if(docstatus==2 && p[AMEND]) {
diff --git a/public/js/wn/model/doclist.js b/public/js/wn/model/doclist.js
index 0bd9e61fee..dcc53f1c05 100644
--- a/public/js/wn/model/doclist.js
+++ b/public/js/wn/model/doclist.js
@@ -31,20 +31,28 @@ wn.model.DocList = Class.extend({
save: function(action, callback, btn) {
this.check_name();
if(this.check_mandatory()) {
+ var me = this;
this._call({
method: "webnotes.widgets.form.save.savedocs",
args: { docs: wn.model.compress(this.doclist), action:action},
- callback: callback,
+ callback: function(r) {
+ $(document).trigger("save", me.doc);
+ callback(r);
+ },
btn: btn
});
}
},
cancel: function(callback, btn) {
+ var me = this;
this._call({
method: "webnotes.widgets.form.save.cancel",
args: { doctype: this.doctype, name: this.name },
- callback: callback,
+ callback: function(r) {
+ $(document).trigger("save", wn.model.get_doc(me.doctype, me.name));
+ callback(r);
+ },
btn: btn
});
},
diff --git a/public/js/wn/ui/appframe.js b/public/js/wn/ui/appframe.js
index b774fdd165..fbba468b5b 100644
--- a/public/js/wn/ui/appframe.js
+++ b/public/js/wn/ui/appframe.js
@@ -182,7 +182,7 @@ wn.ui.AppFrame = Class.extend({
this.buttons[label] && this.buttons[label].remove();
this.buttons[label] = $(repl('', args))
+ %(icon)s %(label)s', args))
.appendTo(this.toolbar.find(".btn-group").css({"margin-right": "5px"}))
//.appendTo(title_toolbar ? this.$w.find(".title-button-area") : this.toolbar.find(".btn-group"))
.attr("title", wn._(label))
diff --git a/public/js/wn/ui/listing.js b/public/js/wn/ui/listing.js
index ac9adc1a45..4ef97fd261 100644
--- a/public/js/wn/ui/listing.js
+++ b/public/js/wn/ui/listing.js
@@ -229,8 +229,10 @@ wn.ui.Listing = Class.extend({
type: "GET",
args: this.get_call_args(a0),
callback: function(r) {
- if(!me.opts.no_loading)me.set_working(false);
- me.render_results(r)
+ if(!me.opts.no_loading)
+ me.set_working(false);
+ me.dirty = false;
+ me.render_results(r);
},
no_spinner: this.opts.no_loading
});
diff --git a/public/js/wn/views/doclistview.js b/public/js/wn/views/doclistview.js
index 36b90b3adf..1898209ff2 100644
--- a/public/js/wn/views/doclistview.js
+++ b/public/js/wn/views/doclistview.js
@@ -9,7 +9,7 @@ wn.views.doclistview.show = function(doctype) {
var page_name = "List/" + route[1];
if(wn.pages[page_name]) {
wn.container.change_to(wn.pages[page_name]);
- if(wn.container.page.doclistview)
+ if(wn.container.page.doclistview && wn.container.page.doclistview.dirty)
wn.container.page.doclistview.run();
} else {
if(route[1]) {
@@ -23,10 +23,19 @@ wn.views.doclistview.show = function(doctype) {
}
}
+$(document).on("save", function(event, doc) {
+ var list_page = "List/" + doc.doctype;
+ if(wn.pages[list_page]) {
+ if(wn.pages[list_page].doclistview)
+ wn.pages[list_page].doclistview.dirty = true;
+ }
+})
+
wn.views.DocListView = wn.ui.Listing.extend({
init: function(doctype) {
this.doctype = doctype;
this.label = wn._(doctype);
+ this.dirty = true;
this.label = (this.label.toLowerCase().substr(-4) == 'list') ?
wn._(this.label) : (wn._(this.label) + ' ' + wn._('List'));
this.make_page();
@@ -71,7 +80,7 @@ wn.views.DocListView = wn.ui.Listing.extend({
this.appframe.add_breadcrumb("icon-list");
this.appframe.set_views_for(this.doctype, "list");
},
-
+
setup: function() {
var me = this;
me.can_delete = wn.model.can_delete(me.doctype);
diff --git a/public/js/wn/views/listview.js b/public/js/wn/views/listview.js
index 58f6f964f1..cacb951941 100644
--- a/public/js/wn/views/listview.js
+++ b/public/js/wn/views/listview.js
@@ -151,10 +151,11 @@ wn.views.ListView = Class.extend({
});
// row #2
- var row2 = $('
Comments
\