From 40f679322b2eb337f506236042d3dfd418b9c4e1 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Mon, 2 Nov 2015 19:38:30 +0530 Subject: [PATCH] [enhancement] Show who is currently viewing a document --- frappe/public/build.json | 4 +- frappe/public/css/calendar.css | 2 +- frappe/public/css/common.css | 8 +- frappe/public/css/desk.css | 24 ++-- frappe/public/css/desktop.css | 6 +- frappe/public/css/docs.css | 22 ++-- frappe/public/css/form.css | 12 +- frappe/public/css/form_grid.css | 2 +- frappe/public/css/gantt.css | 2 +- frappe/public/css/indicator.css | 2 +- frappe/public/css/list.css | 8 +- frappe/public/css/mobile.css | 14 +- frappe/public/css/module.css | 2 +- frappe/public/css/navbar.css | 8 +- frappe/public/css/offcanvas-website.css | 6 +- frappe/public/css/offcanvas.css | 4 +- frappe/public/css/sidebar.css | 43 ++++--- frappe/public/css/slickgrid.css | 6 +- frappe/public/css/tree.css | 2 +- frappe/public/css/website.css | 26 ++-- .../public/js/frappe/form/form_sidebar.html | 5 + frappe/public/js/frappe/form/form_viewers.js | 76 +++++++++++ frappe/public/js/frappe/form/share.js | 63 ++++----- frappe/public/js/frappe/form/sidebar.js | 8 ++ .../js/frappe/form/users_in_sidebar.html | 11 ++ frappe/public/js/frappe/model/model.js | 6 + .../frappe/{socket.js => socketio_client.js} | 57 +++++++-- frappe/public/js/frappe/views/formview.js | 3 + frappe/public/js/legacy/form.js | 2 +- frappe/public/less/sidebar.less | 12 +- socketio.js | 121 +++++++++++++++--- 31 files changed, 403 insertions(+), 164 deletions(-) create mode 100644 frappe/public/js/frappe/form/form_viewers.js create mode 100644 frappe/public/js/frappe/form/users_in_sidebar.html rename frappe/public/js/frappe/{socket.js => socketio_client.js} (66%) diff --git a/frappe/public/build.json b/frappe/public/build.json index 429cda87e0..05992d5777 100644 --- a/frappe/public/build.json +++ b/frappe/public/build.json @@ -65,7 +65,7 @@ "public/js/frappe/ui/messages.js", "public/js/frappe/request.js", - "public/js/frappe/socket.js", + "public/js/frappe/socketio_client.js", "public/js/frappe/router.js", "public/js/frappe/defaults.js", "public/js/lib/microtemplate.js", @@ -149,8 +149,10 @@ "public/js/frappe/form/print_layout.html", "public/js/frappe/form/print.js", "public/js/frappe/form/sidebar.js", + "public/js/frappe/form/users_in_sidebar.html", "public/js/frappe/form/share.js", "public/js/frappe/form/set_sharing.html", + "public/js/frappe/form/form_viewers.js", "public/js/frappe/form/form_sidebar.html", "public/js/frappe/form/footer/form_footer.html", diff --git a/frappe/public/css/calendar.css b/frappe/public/css/calendar.css index 24e0287f25..65bca24ec2 100644 --- a/frappe/public/css/calendar.css +++ b/frappe/public/css/calendar.css @@ -6,7 +6,7 @@ margin-left: -1px; } th.fc-widget-header { - background-color: #f7fafc; + background-color: #F7FAFC; color: #8C99A5; } .fc-unthemed th, diff --git a/frappe/public/css/common.css b/frappe/public/css/common.css index c59e118733..769eb98990 100644 --- a/frappe/public/css/common.css +++ b/frappe/public/css/common.css @@ -18,10 +18,10 @@ p { margin: 10px 0px; } .text-color { - color: #36414c !important; + color: #36414C !important; } .text-muted { - color: #8d99a6 !important; + color: #8D99A6 !important; } .text-extra-muted { color: #d1d8dd !important; @@ -82,7 +82,7 @@ a.text-extra-muted { } kbd { color: inherit; - background-color: #f0f4f7; + background-color: #F0F4F7; } .btn [class^="icon-"], .nav [class^="icon-"], @@ -186,7 +186,7 @@ a.badge-hover:active .badge { transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); text-align: center; - color: #36414c !important; + color: #36414C !important; } #freeze.dark { background-color: #334143; diff --git a/frappe/public/css/desk.css b/frappe/public/css/desk.css index 1cee95245e..26da6972ba 100644 --- a/frappe/public/css/desk.css +++ b/frappe/public/css/desk.css @@ -18,10 +18,10 @@ p { margin: 10px 0px; } .text-color { - color: #36414c !important; + color: #36414C !important; } .text-muted { - color: #8d99a6 !important; + color: #8D99A6 !important; } .text-extra-muted { color: #d1d8dd !important; @@ -82,7 +82,7 @@ a.text-extra-muted { } kbd { color: inherit; - background-color: #f0f4f7; + background-color: #F0F4F7; } .btn [class^="icon-"], .nav [class^="icon-"], @@ -186,7 +186,7 @@ a.badge-hover:active .badge { transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); text-align: center; - color: #36414c !important; + color: #36414C !important; } #freeze.dark { background-color: #334143; @@ -237,11 +237,11 @@ a.form-link { display: none; } .link-primary { - color: #5e64ff; + color: #5E64FF; } .link-primary:hover, .link-primary:focus { - color: #5e64ff; + color: #5E64FF; } .ui-autocomplete .link-option { font-weight: normal; @@ -358,13 +358,13 @@ ul.linked-with-list li { .ui-autocomplete .ui-state-focus, .ui-datepicker .ui-state-hover, .ui-autocomplete .ui-state-hover { - background-color: #f0f4f7 !important; - color: #36414c !important; + background-color: #F0F4F7 !important; + color: #36414C !important; text-shadow: none !important; } .ui-datepicker .ui-state-active, .ui-autocomplete .ui-state-active { - background-color: #5e64ff !important; + background-color: #5E64FF !important; color: #fff !important; text-shadow: none !important; } @@ -390,7 +390,7 @@ ul.linked-with-list li { } } .panel-bg { - background-color: #f7fafc; + background-color: #F7FAFC; } .light-bg { background-color: #fafbfc; @@ -452,7 +452,7 @@ ul.linked-with-list li { .msg-box { padding: 30px 15px; text-align: center; - color: #8d99a6; + color: #8D99A6; } .no-border { border: none !important; @@ -483,7 +483,7 @@ ul.linked-with-list li { border-top: 1px solid #d1d8dd; } .file-upload .input-group-addon { - color: #8d99a6; + color: #8D99A6; font-size: 12px; } .file-upload .file-upload-or { diff --git a/frappe/public/css/desktop.css b/frappe/public/css/desktop.css index de7c2114b8..3ea69a976f 100644 --- a/frappe/public/css/desktop.css +++ b/frappe/public/css/desktop.css @@ -75,11 +75,11 @@ body[data-route="desktop"] .navbar-default { letter-spacing: normal; } .app-icon:hover path { - fill: #ffffff; + fill: #fff; } .app-icon:hover i, .app-icon:hover { - color: #ffffff; + color: #fff; } .app-icon-small { padding: 12px; @@ -168,7 +168,7 @@ body[data-route="desktop"] .navbar-default { } .desktop-list-item:hover, .desktop-list-item:focus { - background-color: #f7fafc; + background-color: #F7FAFC; } .desktop-list-item h4 { display: inline-block; diff --git a/frappe/public/css/docs.css b/frappe/public/css/docs.css index 39a764a691..984f664cd2 100644 --- a/frappe/public/css/docs.css +++ b/frappe/public/css/docs.css @@ -38,7 +38,7 @@ body { .offcanvas .sidebar .divider { height: 1px; overflow: hidden; - background-color: #ebeff2; + background-color: #EBEFF2; width: 100%; margin: 0px; } @@ -52,7 +52,7 @@ body { .offcanvas .sidebar .dropdown-menu > li > a:focus, .offcanvas .sidebar .sidebar-menu > li > a:active, .offcanvas .sidebar .dropdown-menu > li > a:active { - background-color: #f0f4f7; + background-color: #F0F4F7; } @media (max-width: 767px) { .page-content { @@ -124,7 +124,7 @@ body { } .offcanvas .sidebar-label { text-transform: uppercase; - color: #8d99a6; + color: #8D99A6; font-size: 85%; margin: 0px; font-weight: bold; @@ -175,7 +175,7 @@ body { background-color: rgba(255, 255, 255, 0.9); } .navbar .navbar-search-icon { - color: #6c7680; + color: #6C7680; font-size: inherit; position: relative; right: 24px; @@ -194,7 +194,7 @@ body { } .navbar-center { float: left; - color: #6c7680; + color: #6C7680; } #navbar-breadcrumbs > li > a:before { font-family: FontAwesome; @@ -211,12 +211,12 @@ body { top: 3px; content: "\f105"; margin-right: 10px; - color: #c0c9d2; + color: #C0C9D2; } #navbar-breadcrumbs > li > a:hover:before, #navbar-breadcrumbs > li > a:focus:before, #navbar-breadcrumbs > li > a:active:before { - color: #36414c; + color: #36414C; } #navbar-breadcrumbs > li > a { padding: 6px 15px 10px 0px; @@ -245,7 +245,7 @@ body { } .breadcrumb { line-height: 1.5em; - color: #8d99a6; + color: #8D99A6; background-color: transparent; margin-bottom: 10px; padding: 0px; @@ -261,7 +261,7 @@ a, a:hover, a:focus, a:visited { - color: #5e64ff; + color: #5E64FF; } a.btn-primary { color: #fff; @@ -296,7 +296,7 @@ h2 { border-top: 1px solid #d1d8dd; } .docs-footer a { - color: #8d99a6; + color: #8D99A6; } .docs-footer li { display: inline-block; @@ -312,7 +312,7 @@ h2 { font-weight: 400; } .jumbotron p { - font-color: #8d99a6 !important; + font-color: #8D99A6 !important; } .browser-image { min-height: 300px; diff --git a/frappe/public/css/form.css b/frappe/public/css/form.css index 77307f7484..53012a4dce 100644 --- a/frappe/public/css/form.css +++ b/frappe/public/css/form.css @@ -22,7 +22,7 @@ .form-clickable-section { border-top: 1px solid #d1d8dd; padding: 10px 15px; - background-color: #f7fafc; + background-color: #F7FAFC; } .form-page.second-page { border-top: 1px solid #d1d8dd; @@ -56,7 +56,7 @@ } .form-section:not(:last-child), .form-inner-toolbar { - border-bottom: 1px solid #ebeff2; + border-bottom: 1px solid #EBEFF2; } .empty-section { display: none !important; @@ -125,7 +125,7 @@ } .control-label, .grid-heading-row { - color: #8d99a6; + color: #8D99A6; font-size: 12px; } .control-label { @@ -186,7 +186,7 @@ select.form-control { margin-top: -3px; margin-left: 1px; font-weight: 500; - color: #8d99a6; + color: #8D99A6; } @media (min-width: 768px) { .layout-main .form-column.col-sm-12 > form > .input-max-width { @@ -208,7 +208,7 @@ select.form-control { padding: 15px 15px 15px 0px; } .form-column { - border-bottom: 1px solid #ebeff2; + border-bottom: 1px solid #EBEFF2; } .form-column:last-child { border-bottom: 0px; @@ -229,7 +229,7 @@ select.form-control { } .form-page .frappe-control { padding: 7px 15px; - border-bottom: 1px solid #ebeff2; + border-bottom: 1px solid #EBEFF2; margin: 0px -15px; } .form-page .frappe-control .link-btn { diff --git a/frappe/public/css/form_grid.css b/frappe/public/css/form_grid.css index 2a053e0736..7612e126ce 100644 --- a/frappe/public/css/form_grid.css +++ b/frappe/public/css/form_grid.css @@ -4,7 +4,7 @@ } .grid-heading-row { border-bottom: 1px solid #d1d8dd; - background-color: #f7fafc; + background-color: #F7FAFC; font-weight: bold; } .grid-row { diff --git a/frappe/public/css/gantt.css b/frappe/public/css/gantt.css index 943b380d6a..4118a25366 100644 --- a/frappe/public/css/gantt.css +++ b/frappe/public/css/gantt.css @@ -31,7 +31,7 @@ .fn-gantt .rightPanel .month, .fn-gantt .rightPanel .year, .fn-gantt .bottom { - background-color: #f7fafc !important; + background-color: #F7FAFC !important; } .fn-gantt .today { background-color: #D9F6FF !important; diff --git a/frappe/public/css/indicator.css b/frappe/public/css/indicator.css index 3965b40e1d..80ce0872f4 100644 --- a/frappe/public/css/indicator.css +++ b/frappe/public/css/indicator.css @@ -22,7 +22,7 @@ } .indicator.grey::before, .indicator-right.grey::after { - background: #f0f4f7; + background: #F0F4F7; } .indicator.blue::before, .indicator-right.blue::after { diff --git a/frappe/public/css/list.css b/frappe/public/css/list.css index 767799d180..38cc4ccd3d 100644 --- a/frappe/public/css/list.css +++ b/frappe/public/css/list.css @@ -20,7 +20,7 @@ .set-filters .btn-group .btn-default { background-color: transparent; border: 1px solid #d1d8dd; - color: #8d99a6; + color: #8D99A6; } .filter-box { border-top: 1px solid #d1d8dd; @@ -61,18 +61,18 @@ margin-bottom: 0px; } .list-row-head { - background-color: #f7fafc; + background-color: #F7FAFC; border-bottom: 1px solid #d1d8dd !important; } .list-row:hover, .grid-row:hover { - background: #f7fafc; + background: #F7FAFC; } .list-row:last-child { border-bottom: 0px; } .list-row-head { - background-color: #f7fafc; + background-color: #F7FAFC; border-bottom: 1px solid #d1d8dd !important; } .list-row .h6 { diff --git a/frappe/public/css/mobile.css b/frappe/public/css/mobile.css index 7db6690e0f..9334d975f3 100644 --- a/frappe/public/css/mobile.css +++ b/frappe/public/css/mobile.css @@ -38,7 +38,7 @@ body { .offcanvas .sidebar .divider { height: 1px; overflow: hidden; - background-color: #ebeff2; + background-color: #EBEFF2; width: 100%; margin: 0px; } @@ -52,7 +52,7 @@ body { .offcanvas .sidebar .dropdown-menu > li > a:focus, .offcanvas .sidebar .sidebar-menu > li > a:active, .offcanvas .sidebar .dropdown-menu > li > a:active { - background-color: #f0f4f7; + background-color: #F0F4F7; } @media (max-width: 991px) { input[type='checkbox'] { @@ -133,7 +133,7 @@ body { #navbar-breadcrumbs > li > a:before { content: "\f104"; margin-right: 10px; - color: #6c7680; + color: #6C7680; } #navbar-breadcrumbs li:not(:nth-last-child(-n+1)) { display: none; @@ -204,7 +204,7 @@ body { } .sidebar .navbar-search-icon { float: right; - color: #6c7680; + color: #6C7680; font-size: inherit; position: relative; right: 7px; @@ -232,7 +232,7 @@ body { } .sidebar .user-menu, .sidebar .user-menu .octicon { - color: #6c7680; + color: #6C7680; } .sidebar .user-menu img { margin-top: -1px; @@ -266,12 +266,12 @@ body { top: 3px; content: "\f104"; margin-right: 10px; - color: #6c7680; + color: #6C7680; } body.no-breadcrumbs .navbar .navbar-home:hover:before, body.no-breadcrumbs .navbar .navbar-home:focus:before, body.no-breadcrumbs .navbar .navbar-home:active:before { - color: #36414c !important; + color: #36414C !important; } body[data-route=""] .navbar .navbar-home, body[data-route="desktop"] .navbar .navbar-home { diff --git a/frappe/public/css/module.css b/frappe/public/css/module.css index 75024f0c7a..066f7f0dbe 100644 --- a/frappe/public/css/module.css +++ b/frappe/public/css/module.css @@ -18,7 +18,7 @@ } .module-item:hover, .module-item:focus { - background-color: #f7fafc; + background-color: #F7FAFC; } .module-item:last-child { border: none; diff --git a/frappe/public/css/navbar.css b/frappe/public/css/navbar.css index 88624271e0..2433f99baf 100644 --- a/frappe/public/css/navbar.css +++ b/frappe/public/css/navbar.css @@ -42,7 +42,7 @@ background-color: rgba(255, 255, 255, 0.9); } .navbar .navbar-search-icon { - color: #6c7680; + color: #6C7680; font-size: inherit; position: relative; right: 24px; @@ -61,7 +61,7 @@ } .navbar-center { float: left; - color: #6c7680; + color: #6C7680; } #navbar-breadcrumbs > li > a:before { font-family: FontAwesome; @@ -78,12 +78,12 @@ top: 3px; content: "\f105"; margin-right: 10px; - color: #c0c9d2; + color: #C0C9D2; } #navbar-breadcrumbs > li > a:hover:before, #navbar-breadcrumbs > li > a:focus:before, #navbar-breadcrumbs > li > a:active:before { - color: #36414c; + color: #36414C; } #navbar-breadcrumbs > li > a { padding: 6px 15px 10px 0px; diff --git a/frappe/public/css/offcanvas-website.css b/frappe/public/css/offcanvas-website.css index 8f29a119cb..ed9a4835bd 100644 --- a/frappe/public/css/offcanvas-website.css +++ b/frappe/public/css/offcanvas-website.css @@ -38,7 +38,7 @@ body { .offcanvas .sidebar .divider { height: 1px; overflow: hidden; - background-color: #ebeff2; + background-color: #EBEFF2; width: 100%; margin: 0px; } @@ -52,7 +52,7 @@ body { .offcanvas .sidebar .dropdown-menu > li > a:focus, .offcanvas .sidebar .sidebar-menu > li > a:active, .offcanvas .sidebar .dropdown-menu > li > a:active { - background-color: #f0f4f7; + background-color: #F0F4F7; } @media (max-width: 767px) { .page-content { @@ -124,7 +124,7 @@ body { } .offcanvas .sidebar-label { text-transform: uppercase; - color: #8d99a6; + color: #8D99A6; font-size: 85%; margin: 0px; font-weight: bold; diff --git a/frappe/public/css/offcanvas.css b/frappe/public/css/offcanvas.css index b425fcb053..f3d487e96d 100644 --- a/frappe/public/css/offcanvas.css +++ b/frappe/public/css/offcanvas.css @@ -38,7 +38,7 @@ body { .offcanvas .sidebar .divider { height: 1px; overflow: hidden; - background-color: #ebeff2; + background-color: #EBEFF2; width: 100%; margin: 0px; } @@ -52,5 +52,5 @@ body { .offcanvas .sidebar .dropdown-menu > li > a:focus, .offcanvas .sidebar .sidebar-menu > li > a:active, .offcanvas .sidebar .dropdown-menu > li > a:active { - background-color: #f0f4f7; + background-color: #F0F4F7; } diff --git a/frappe/public/css/sidebar.css b/frappe/public/css/sidebar.css index c9a03858a6..9431506c26 100644 --- a/frappe/public/css/sidebar.css +++ b/frappe/public/css/sidebar.css @@ -38,7 +38,7 @@ body { .offcanvas .sidebar .divider { height: 1px; overflow: hidden; - background-color: #ebeff2; + background-color: #EBEFF2; width: 100%; margin: 0px; } @@ -52,7 +52,7 @@ body { .offcanvas .sidebar .dropdown-menu > li > a:focus, .offcanvas .sidebar .sidebar-menu > li > a:active, .offcanvas .sidebar .dropdown-menu > li > a:active { - background-color: #f0f4f7; + background-color: #F0F4F7; } .hide-form-sidebar .form-sidebar { display: none !important; @@ -108,7 +108,7 @@ body[data-route^="Module"] .main-menu .form-sidebar { .sidebar-menu h6, .sidebar-menu .h6 { text-transform: uppercase; - color: #8d99a6; + color: #8D99A6; font-size: 10px; margin-top: 0px; } @@ -122,7 +122,7 @@ body[data-route^="Module"] .main-menu .form-sidebar { } .form-sidebar .form-tags input { font-size: 12px !important; - color: #36414c !important; + color: #36414C !important; font-style: italic; } .form-sidebar .form-tags .tagit-new { @@ -137,34 +137,39 @@ body[data-route^="Module"] .main-menu .form-sidebar { .form-sidebar .attachment-row a.close { margin-top: -5px; } -.form-sidebar .form-shared .share-doc-btn { +.form-sidebar .form-shared .share-doc-btn, +.form-sidebar .form-viewers .share-doc-btn { cursor: pointer; } -.form-sidebar .form-shared .octicon { +.form-sidebar .form-shared .octicon, +.form-sidebar .form-viewers .octicon { position: relative; top: 2px; left: 7px; } -.form-sidebar .form-shared .avatar { +.form-sidebar .form-shared .avatar, +.form-sidebar .form-viewers .avatar { margin-top: 5px; } -.form-sidebar .form-shared .shared-with-everyone { +.form-sidebar .form-shared .shared-with-everyone, +.form-sidebar .form-viewers .shared-with-everyone { border-style: solid; - border-color: #f0f4f7; - background-color: #f0f4f7; + border-color: #F0F4F7; + background-color: #F0F4F7; } -.form-sidebar .form-shared .shared-with-everyone .octicon { - color: #36414c !important; +.form-sidebar .form-shared .shared-with-everyone .octicon, +.form-sidebar .form-viewers .shared-with-everyone .octicon { + color: #36414C !important; } .form-sidebar .form-shared .share-doc-btn:hover, .form-sidebar .form-shared .share-doc-btn:focus, .form-sidebar .form-shared .share-doc-btn:active { - background-color: #f0f4f7; + background-color: #F0F4F7; } .form-sidebar .form-shared .share-doc-btn:hover .octicon-plus, .form-sidebar .form-shared .share-doc-btn:focus .octicon-plus, .form-sidebar .form-shared .share-doc-btn:active .octicon-plus { - color: #36414c !important; + color: #36414C !important; } .sidebar-left .form-sidebar .form-tags, .sidebar-left .form-sidebar .assignment-row, @@ -172,20 +177,24 @@ body[data-route^="Module"] .main-menu .form-sidebar { .sidebar-left .form-sidebar .modified-by, .sidebar-left .form-sidebar .created-by, .sidebar-left .form-sidebar .tags-label, -.sidebar-left .form-sidebar .shared-with-label { +.sidebar-left .form-sidebar .shared-with-label, +.sidebar-left .form-sidebar .form-viewers, +.sidebar-left .form-sidebar .viewers-label { padding: 12px 14px; } .sidebar-left .form-sidebar .assigned-to-label, .sidebar-left .form-sidebar .attachments-label, .sidebar-left .form-sidebar .tags-label, -.sidebar-left .form-sidebar .shared-with-label { +.sidebar-left .form-sidebar .shared-with-label, +.sidebar-left .form-sidebar .viewers-label { padding: 12px 14px; margin-bottom: 0px; } .sidebar-left .form-sidebar .assigned-to-label, .sidebar-left .form-sidebar .tags-label, .sidebar-left .form-sidebar .attachments-label.has-attachments, -.sidebar-left .form-sidebar .shared-with-label { +.sidebar-left .form-sidebar .shared-with-label, +.sidebar-left .form-sidebar .viewers-label { padding-bottom: 0px; } .sidebar-left .form-sidebar a.close { diff --git a/frappe/public/css/slickgrid.css b/frappe/public/css/slickgrid.css index e1d9345782..6e3315872c 100644 --- a/frappe/public/css/slickgrid.css +++ b/frappe/public/css/slickgrid.css @@ -13,7 +13,7 @@ border-bottom: 1px solid #d1d8dd; } .slick-headerrow-column { - background-color: #f7fafc !important; + background-color: #F7FAFC !important; text-overflow: clip; } .slick-headerrow-column input { @@ -37,9 +37,9 @@ .slick-header-columns { font-size: 12px; font-weight: bold; - background-color: #f7fafc; + background-color: #F7FAFC; border-color: #d1d8dd !important; - color: #8d99a6 !important; + color: #8D99A6 !important; } .slick-header-column:hover, .slick-header-column-active { diff --git a/frappe/public/css/tree.css b/frappe/public/css/tree.css index 9ed3d0e6e1..0f2d455872 100644 --- a/frappe/public/css/tree.css +++ b/frappe/public/css/tree.css @@ -15,7 +15,7 @@ ul.tree-children { color: #5e64ff !important; } .tree-hover { - background-color: #f7fafc; + background-color: #F7FAFC; min-height: 20px; border: 1px solid #d1d8dd; } diff --git a/frappe/public/css/website.css b/frappe/public/css/website.css index a2867dd839..413be3d4c4 100644 --- a/frappe/public/css/website.css +++ b/frappe/public/css/website.css @@ -18,10 +18,10 @@ p { margin: 10px 0px; } .text-color { - color: #36414c !important; + color: #36414C !important; } .text-muted { - color: #8d99a6 !important; + color: #8D99A6 !important; } .text-extra-muted { color: #d1d8dd !important; @@ -82,7 +82,7 @@ a.text-extra-muted { } kbd { color: inherit; - background-color: #f0f4f7; + background-color: #F0F4F7; } .btn [class^="icon-"], .nav [class^="icon-"], @@ -186,7 +186,7 @@ a.badge-hover:active .badge { transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); text-align: center; - color: #36414c !important; + color: #36414C !important; } #freeze.dark { background-color: #334143; @@ -288,7 +288,7 @@ a.no-decoration:active { } .indicator.grey::before, .indicator-right.grey::after { - background: #f0f4f7; + background: #F0F4F7; } .indicator.blue::before, .indicator-right.blue::after { @@ -339,7 +339,7 @@ a.no-decoration:active { background-color: #fafbfc; } .panel-bg { - background-color: #f7fafc; + background-color: #F7FAFC; } .navbar-bg { background-color: #f5f7fa; @@ -463,7 +463,7 @@ fieldset { margin: 0px; padding: 5px 0px; border: none; - color: #8d99a6; + color: #8D99A6; font-size: 12px; } .page-sidebar .sidebar-item:first-child { @@ -473,7 +473,7 @@ fieldset { padding-bottom: 10px; } .page-sidebar .sidebar-item a { - color: #8d99a6; + color: #8D99A6; } .page-sidebar .sidebar-item a:hover { border-color: inherit; @@ -499,7 +499,7 @@ fieldset { } .web-list-item { padding: 15px 0px; - border-bottom: 1px solid #ebeff2; + border-bottom: 1px solid #EBEFF2; } .web-list-item h1, .web-list-item h2, @@ -609,7 +609,7 @@ a.active { color: inherit; } .breadcrumb > .active { - color: #8d99a6; + color: #8D99A6; } .post:last-child { border-bottom: none; @@ -662,7 +662,7 @@ body { .offcanvas .sidebar .divider { height: 1px; overflow: hidden; - background-color: #ebeff2; + background-color: #EBEFF2; width: 100%; margin: 0px; } @@ -676,7 +676,7 @@ body { .offcanvas .sidebar .dropdown-menu > li > a:focus, .offcanvas .sidebar .sidebar-menu > li > a:active, .offcanvas .sidebar .dropdown-menu > li > a:active { - background-color: #f0f4f7; + background-color: #F0F4F7; } @media (max-width: 767px) { .page-content { @@ -748,7 +748,7 @@ body { } .offcanvas .sidebar-label { text-transform: uppercase; - color: #8d99a6; + color: #8D99A6; font-size: 85%; margin: 0px; font-weight: bold; diff --git a/frappe/public/js/frappe/form/form_sidebar.html b/frappe/public/js/frappe/form/form_sidebar.html index 95661e4c99..53acbf0384 100644 --- a/frappe/public/js/frappe/form/form_sidebar.html +++ b/frappe/public/js/frappe/form/form_sidebar.html @@ -39,6 +39,11 @@
  • {%= __("Shared With") %}
  • +