summaryrefslogtreecommitdiff
path: root/addons/web/static/src
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/static/src')
-rw-r--r--addons/web/static/src/js/core/dom.js7
-rw-r--r--addons/web/static/src/js/fields/basic_fields.js19
-rw-r--r--addons/web/static/src/js/fields/relational_fields.js2
-rw-r--r--addons/web/static/src/js/views/calendar/calendar_view.js2
-rw-r--r--addons/web/static/src/js/views/control_panel/search/favorite_menu.js2
-rw-r--r--addons/web/static/src/js/views/control_panel/search/search_facet.js2
-rw-r--r--addons/web/static/src/js/views/graph/graph_view.js2
-rw-r--r--addons/web/static/src/js/views/list/list_editable_renderer.js2
-rw-r--r--addons/web/static/src/js/views/qweb/qweb_view.js2
-rw-r--r--addons/web/static/src/js/widgets/data_export.js4
-rw-r--r--addons/web/static/src/js/widgets/date_picker.js6
-rw-r--r--addons/web/static/src/js/widgets/notification.js4
-rw-r--r--addons/web/static/src/js/widgets/switch_company_menu.js14
-rw-r--r--addons/web/static/src/scss/dropdown_menu.scss3
-rw-r--r--addons/web/static/src/scss/fields.scss26
-rw-r--r--addons/web/static/src/scss/fontawesome_overridden.scss41
-rw-r--r--addons/web/static/src/scss/kanban_view.scss6
-rw-r--r--addons/web/static/src/scss/list_view.scss5
-rw-r--r--addons/web/static/src/scss/pivot_view.scss10
-rw-r--r--addons/web/static/src/scss/search_view.scss6
-rw-r--r--addons/web/static/src/scss/web_calendar.scss10
-rw-r--r--addons/web/static/src/xml/base.xml50
-rw-r--r--addons/web/static/src/xml/crash_manager.xml2
-rw-r--r--addons/web/static/src/xml/kanban.xml6
-rw-r--r--addons/web/static/src/xml/web_calendar.xml8
25 files changed, 142 insertions, 99 deletions
diff --git a/addons/web/static/src/js/core/dom.js b/addons/web/static/src/js/core/dom.js
index a61caf480e4..56d889bce69 100644
--- a/addons/web/static/src/js/core/dom.js
+++ b/addons/web/static/src/js/core/dom.js
@@ -378,9 +378,12 @@ var dom = {
var $button = $('<button/>', jQueryParams);
if (options.icon) {
- if (options.icon.substr(0, 3) === 'fa-') {
+ var isFontAwesome = options.icon.match(/(fa[brs]* )*(fa-(.+))/);
+ if (isFontAwesome) {
+ var faClass = (isFontAwesome[1] !== undefined ? isFontAwesome[1] : 'fas');
+ var faIcon = isFontAwesome[2];
$button.append($('<i/>', {
- class: 'fa fa-fw o_button_icon ' + options.icon,
+ class: faClass + ' fa-fw o_button_icon ' + faIcon
}));
} else {
$button.append($('<img/>', {
diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js
index 350dc5f5674..6e6f85e1214 100644
--- a/addons/web/static/src/js/fields/basic_fields.js
+++ b/addons/web/static/src/js/fields/basic_fields.js
@@ -539,7 +539,7 @@ var LinkButton = AbstractField.extend({
*/
_render: function () {
if (this.value) {
- var className = this.attrs.icon || 'fa-globe';
+ var className = this.attrs.icon || 'fa-globe-americas';
this.$el.html("<span role='img'/>");
this.$el.addClass("fa "+ className);
@@ -1393,7 +1393,7 @@ var ListFieldText = FieldText.extend({
var HandleWidget = AbstractField.extend({
description: _lt("Handle"),
noLabel: true,
- className: 'o_row_handle fa fa-arrows ui-sortable-handle',
+ className: 'o_row_handle fas fa-expand-arrows-alt ui-sortable-handle',
widthInList: '33px',
tagName: 'span',
supportedFieldTypes: ['integer'],
@@ -2147,9 +2147,10 @@ var PriorityWidget = AbstractField.extend({
.attr('title', tip)
.attr('aria-label', tip)
.attr('data-index', index)
- .addClass('o_priority_star fa')
- .toggleClass('fa-star', isFull)
- .toggleClass('fa-star-o', !isFull);
+ .addClass('o_priority_star')
+ .toggleClass('fas', isFull)
+ .toggleClass('far', !isFull)
+ .addClass('fa-star');
},
//--------------------------------------------------------------------------
@@ -2194,8 +2195,8 @@ var PriorityWidget = AbstractField.extend({
*/
_onMouseOver: function (event) {
clearTimeout(this.hoverTimer);
- this.$('.o_priority_star').removeClass('fa-star-o').addClass('fa-star');
- $(event.currentTarget).nextAll().removeClass('fa-star').addClass('fa-star-o');
+ this.$('.o_priority_star').removeClass('far').addClass('fas');
+ $(event.currentTarget).nextAll().removeClass('fas').addClass('far');
},
});
@@ -2351,8 +2352,8 @@ var FavoriteWidget = AbstractField.extend({
*/
_render: function () {
var tip = this.value ? _t('Remove from Favorites') : _t('Add to Favorites');
- var template = this.attrs.nolabel ? '<a href="#"><i class="fa %s" title="%s" aria-label="%s" role="img"></i></a>' : '<a href="#"><i class="fa %s" role="img" aria-label="%s"></i> %s</a>';
- this.$el.empty().append(_.str.sprintf(template, this.value ? 'fa-star' : 'fa-star-o', tip, tip));
+ var template = this.attrs.nolabel ? '<a href="#"><i class="%s" title="%s" aria-label="%s" role="img"></i></a>' : '<a href="#"><i class="%s" role="img" aria-label="%s"></i> %s</a>';
+ this.$el.empty().append(_.str.sprintf(template, this.value ? 'fas fa-star' : 'far fa-star', tip, tip));
},
//--------------------------------------------------------------------------
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js
index 51a9c434589..ed0bcc3e8c8 100644
--- a/addons/web/static/src/js/fields/relational_fields.js
+++ b/addons/web/static/src/js/fields/relational_fields.js
@@ -241,7 +241,7 @@ var FieldMany2One = AbstractField.extend({
_addAutocompleteSource: function (method, params) {
this._autocompleteSources.push({
method: method,
- placeholder: (params.placeholder ? _t(params.placeholder) : _t('Loading...')) + '<i class="fa fa-spinner fa-spin pull-right"></i>' ,
+ placeholder: (params.placeholder ? _t(params.placeholder) : _t('Loading...')) + '<i class="fa fa-spinner fa-spin fa-pull-right"></i>' ,
validation: params.validation,
loading: false,
order: params.order || 999
diff --git a/addons/web/static/src/js/views/calendar/calendar_view.js b/addons/web/static/src/js/views/calendar/calendar_view.js
index b1a6ea7be13..c90a9b40a62 100644
--- a/addons/web/static/src/js/views/calendar/calendar_view.js
+++ b/addons/web/static/src/js/views/calendar/calendar_view.js
@@ -21,7 +21,7 @@ var fieldsToGather = [
var CalendarView = AbstractView.extend({
display_name: _lt('Calendar'),
- icon: 'fa-calendar',
+ icon: 'far fa-calendar-alt',
jsLibs: ['/web/static/lib/fullcalendar/js/fullcalendar.js'],
cssLibs: ['/web/static/lib/fullcalendar/css/fullcalendar.css'],
config: _.extend({}, AbstractView.prototype.config, {
diff --git a/addons/web/static/src/js/views/control_panel/search/favorite_menu.js b/addons/web/static/src/js/views/control_panel/search/favorite_menu.js
index b2dc25d9327..be989a7728a 100644
--- a/addons/web/static/src/js/views/control_panel/search/favorite_menu.js
+++ b/addons/web/static/src/js/views/control_panel/search/favorite_menu.js
@@ -23,7 +23,7 @@ var FavoriteMenu = DropdownMenu.extend({
this.isMobile = config.device.isMobile;
this.dropdownCategory = 'favorite';
this.dropdownTitle = _t('Favorites');
- this.dropdownIcon = 'fa fa-star';
+ this.dropdownIcon = 'fas fa-star';
this.dropdownSymbol = this.isMobile ? 'fa fa-chevron-right float-right mt4' : false;
this.dropdownStyle.mainButton.class = 'o_favorites_menu_button ' +
this.dropdownStyle.mainButton.class;
diff --git a/addons/web/static/src/js/views/control_panel/search/search_facet.js b/addons/web/static/src/js/views/control_panel/search/search_facet.js
index 22d957c030b..aa83f13eb3e 100644
--- a/addons/web/static/src/js/views/control_panel/search/search_facet.js
+++ b/addons/web/static/src/js/views/control_panel/search/search_facet.js
@@ -105,7 +105,7 @@ var SearchFacet = Widget.extend({
} else if (this.facet.type === 'favorite') {
icon = 'fa-star';
} else if (this.facet.type === 'timeRange') {
- icon = 'fa-calendar';
+ icon = 'fa-calendar-alt';
}
return icon;
},
diff --git a/addons/web/static/src/js/views/graph/graph_view.js b/addons/web/static/src/js/views/graph/graph_view.js
index c3ad22f6ced..5a47002cdeb 100644
--- a/addons/web/static/src/js/views/graph/graph_view.js
+++ b/addons/web/static/src/js/views/graph/graph_view.js
@@ -21,7 +21,7 @@ var GROUPABLE_TYPES = controlPanelViewParameters.GROUPABLE_TYPES;
var GraphView = AbstractView.extend({
display_name: _lt('Graph'),
- icon: 'fa-bar-chart',
+ icon: 'fa-chart-bar',
jsLibs: [
'/web/static/lib/Chart/Chart.js',
],
diff --git a/addons/web/static/src/js/views/list/list_editable_renderer.js b/addons/web/static/src/js/views/list/list_editable_renderer.js
index 5cdde3e12dd..2afa4cc2082 100644
--- a/addons/web/static/src/js/views/list/list_editable_renderer.js
+++ b/addons/web/static/src/js/views/list/list_editable_renderer.js
@@ -1167,7 +1167,7 @@ ListRenderer.include({
if (this.addTrashIcon) {
var $icon = this.isMany2Many ?
$('<button>', {'class': 'fa fa-times', 'name': 'unlink', 'aria-label': _t('Unlink row ') + (index + 1)}) :
- $('<button>', {'class': 'fa fa-trash-o', 'name': 'delete', 'aria-label': _t('Delete row ') + (index + 1)});
+ $('<button>', {'class': 'far fa-trash-alt', 'name': 'delete', 'aria-label': _t('Delete row ') + (index + 1)});
var $td = $('<td>', {class: 'o_list_record_remove'}).append($icon);
$row.append($td);
}
diff --git a/addons/web/static/src/js/views/qweb/qweb_view.js b/addons/web/static/src/js/views/qweb/qweb_view.js
index 0c858b5eb6c..11e7b4e9aff 100644
--- a/addons/web/static/src/js/views/qweb/qweb_view.js
+++ b/addons/web/static/src/js/views/qweb/qweb_view.js
@@ -174,7 +174,7 @@ var Controller = AbstractController.extend({
*/
var QWebView = AbstractView.extend({
display_name: _lt('Freedom View'),
- icon: 'fa-file-picture-o',
+ icon: 'fa-file-image',
viewType: 'qweb',
// groupable?
enableTimeRangeMenu: true,
diff --git a/addons/web/static/src/js/widgets/data_export.js b/addons/web/static/src/js/widgets/data_export.js
index 97ec75e6b47..4f5f4e73618 100644
--- a/addons/web/static/src/js/widgets/data_export.js
+++ b/addons/web/static/src/js/widgets/data_export.js
@@ -138,9 +138,9 @@ var DataExport = Dialog.extend({
if (!$fieldList.find(".o_export_field[data-field_id='" + fieldID + "']").length) {
$fieldList.append(
$('<li>', {'class': 'o_export_field', 'data-field_id': fieldID}).append(
- $('<span>', {'class': "fa fa-arrows o_short_field mx-1"}),
+ $('<span>', {'class': "fas fa-arrows-alt o_short_field mx-1"}),
label,
- $('<span>', {'class': 'fa fa-trash m-1 pull-right o_remove_field', 'title': _t("Remove field")})
+ $('<span>', {'class': 'far fa-trash-alt m-1 pull-right o_remove_field', 'title': _t("Remove field")})
)
);
}
diff --git a/addons/web/static/src/js/widgets/date_picker.js b/addons/web/static/src/js/widgets/date_picker.js
index 9b6a92ea2f4..307c5b717d1 100644
--- a/addons/web/static/src/js/widgets/date_picker.js
+++ b/addons/web/static/src/js/widgets/date_picker.js
@@ -34,13 +34,13 @@ var DateWidget = Widget.extend({
maxDate: moment({ y: 9999, M: 11, d: 31 }),
useCurrent: false,
icons: {
- time: 'fa fa-clock-o',
- date: 'fa fa-calendar',
+ time: 'far fa-clock',
+ date: 'far fa-calendar-alt',
up: 'fa fa-chevron-up',
down: 'fa fa-chevron-down',
previous: 'fa fa-chevron-left',
next: 'fa fa-chevron-right',
- today: 'fa fa-calendar-check-o',
+ today: 'far fa-calendar-alt-check',
clear: 'fa fa-delete',
close: 'fa fa-check primary',
},
diff --git a/addons/web/static/src/js/widgets/notification.js b/addons/web/static/src/js/widgets/notification.js
index aad896bcd61..6e9dcd5fc0f 100644
--- a/addons/web/static/src/js/widgets/notification.js
+++ b/addons/web/static/src/js/widgets/notification.js
@@ -56,7 +56,7 @@ var Notification = Widget.extend({
this.icon = 'fa-exclamation';
this.className += ' bg-danger';
} else if (this.type === 'warning') {
- this.icon = 'fa-lightbulb-o';
+ this.icon = 'fa-lightbulb';
this.className += ' bg-warning';
} else if (this.type === 'success') {
this.icon = 'fa-check';
@@ -67,7 +67,7 @@ var Notification = Widget.extend({
}
if (this.buttons && this.buttons.length) {
- this.icon = 'fa-question-circle-o';
+ this.icon = 'fa-question-circle';
}
},
/**
diff --git a/addons/web/static/src/js/widgets/switch_company_menu.js b/addons/web/static/src/js/widgets/switch_company_menu.js
index 75bc918768b..2c3f137b9bc 100644
--- a/addons/web/static/src/js/widgets/switch_company_menu.js
+++ b/addons/web/static/src/js/widgets/switch_company_menu.js
@@ -60,15 +60,15 @@ var SwitchCompanyMenu = Widget.extend({
var dropdownMenu = dropdownItem.parent();
var companyID = dropdownItem.data('company-id');
var allowed_company_ids = this.allowed_company_ids;
- if (dropdownItem.find('.fa-square-o').length) {
+ if (dropdownItem.find('.fa-square').length) {
// 1 enabled company: Stay in single company mode
if (this.allowed_company_ids.length === 1) {
- dropdownMenu.find('.fa-check-square').removeClass('fa-check-square').addClass('fa-square-o');
- dropdownItem.find('.fa-square-o').removeClass('fa-square-o').addClass('fa-check-square');
+ dropdownMenu.find('.fa-check-square').removeClass('fas fa-check-square').addClass('far fa-square');
+ dropdownItem.find('.fa-square').removeClass('far fa-square').addClass('fas fa-check-square');
allowed_company_ids = [companyID]
} else { // Multi company mode
allowed_company_ids.push(companyID);
- dropdownItem.find('.fa-square-o').removeClass('fa-square-o').addClass('fa-check-square');
+ dropdownItem.find('.fa-square').removeClass('far fa-square').addClass('fas fa-check-square');
}
}
session.setCompanies(companyID, allowed_company_ids);
@@ -88,12 +88,12 @@ var SwitchCompanyMenu = Widget.extend({
var companyID = dropdownItem.data('company-id');
var allowed_company_ids = this.allowed_company_ids;
var current_company_id = allowed_company_ids[0];
- if (dropdownItem.find('.fa-square-o').length) {
+ if (dropdownItem.find('.fa-square').length) {
allowed_company_ids.push(companyID);
- dropdownItem.find('.fa-square-o').removeClass('fa-square-o').addClass('fa-check-square');
+ dropdownItem.find('.fa-square').removeClass('far fa-square').addClass('fas fa-check-square');
} else {
allowed_company_ids.splice(allowed_company_ids.indexOf(companyID), 1);
- dropdownItem.find('.fa-check-square').addClass('fa-square-o').removeClass('fa-check-square');
+ dropdownItem.find('.fa-check-square').addClass('far fa-square').removeClass('fas fa-check-square');
}
session.setCompanies(current_company_id, allowed_company_ids);
},
diff --git a/addons/web/static/src/scss/dropdown_menu.scss b/addons/web/static/src/scss/dropdown_menu.scss
index 7ce7412b6d0..6537b5b2569 100644
--- a/addons/web/static/src/scss/dropdown_menu.scss
+++ b/addons/web/static/src/scss/dropdown_menu.scss
@@ -36,10 +36,11 @@
font-weight: bold;
&:before {
- font-family: FontAwesome;
+ font-family: 'Font Awesome 5 Free';
position: absolute;
left: 4px;
content: "\f00c";
+ font-weight: 900;
}
}
.o_trash_button {
diff --git a/addons/web/static/src/scss/fields.scss b/addons/web/static/src/scss/fields.scss
index 05862d3746f..aa726c4c08f 100644
--- a/addons/web/static/src/scss/fields.scss
+++ b/addons/web/static/src/scss/fields.scss
@@ -228,10 +228,10 @@
padding-left: 5px;
}
- &.fa-star-o {
+ &.far.fa-star {
color: $o-main-color-muted;
}
- &.fa-star {
+ &.fas.fa-star {
color: gold;
}
}
@@ -239,16 +239,18 @@
// Favorite
&.o_favorite {
- i.fa {
+ i.fa,
+ i.far,
+ i.fas {
font-size: 16px;
}
- i.fa-star-o {
+ i.far.fa-star {
color: $o-main-color-muted;
&:hover {
color: gold;
}
}
- i.fa-star {
+ i.fas.fa-star {
color: gold;
}
}
@@ -375,22 +377,26 @@
opacity: 0;
transition: opacity ease 400ms;
- > button.fa {
+ > button.fa,
+ > button.far,
+ > button.fas {
border: none;
background-color: transparent;
}
- > .fa {
+ > .fa,
+ > .far,
+ > .fas {
padding: 4px;
- margin: 5px;
- cursor: pointer;
}
}
@include media-breakpoint-down(xs, $o-extra-grid-breakpoints) {
.o_form_image_controls{
position: initial;
opacity: 1;
- > .fa{
+ > .fa,
+ > .far,
+ > .fas{
width: 50%;
padding: 6px;
margin: 0px;
diff --git a/addons/web/static/src/scss/fontawesome_overridden.scss b/addons/web/static/src/scss/fontawesome_overridden.scss
index a234dbc9f81..61e88be3fc3 100644
--- a/addons/web/static/src/scss/fontawesome_overridden.scss
+++ b/addons/web/static/src/scss/fontawesome_overridden.scss
@@ -1,15 +1,15 @@
// This is rtl language specific fix
// It will override the font awesome symbols and flip them 180 degree
.o_rtl {
- .fa {
+ .fa, .far, .fas, .fab {
&.fa-align-right,
&.fa-align-left,
&.fa-chevron-right,
&.fa-chevron-left,
&.fa-arrow-right,
&.fa-arrow-left,
- &.fa-hand-o-right,
- &.fa-hand-o-left,
+ &.fa-hand-point-right,
+ &.fa-hand-point-left,
&.fa-arrow-circle-right,
&.fa-arrow-circle-left,
&.fa-caret-right,
@@ -24,15 +24,32 @@
&.fa-quote-left,
&.fa-chevron-circle-right,
&.fa-chevron-circle-left,
- &.fa-long-arrow-right,
- &.fa-long-arrow-left,
- &.fa-toggle-right,
- &.fa-toggle-left,
- &.fa-caret-square-o-right,
- &.fa-arrow-circle-o-left,
- &.fa-arrow-circle-o-right,
- &.fa-caret-square-o-left {
+ &.fa-long-arrow-alt-right,
+ &.fa-long-arrow-alt-left,
+ &.fa-caret-square-right,
+ &.fa-caret-square-left,
+ &.fa-arrow-alt-circle-left,
+ &.fa-arrow-alt-circle-right {
transform: rotate(180deg);
}
}
-} \ No newline at end of file
+}
+
+.fa, .fas {
+ font-weight: 900 !important;
+}
+
+.far {
+ font-weight: 400 !important;
+}
+
+.fa-phone {
+ transform: rotate(90deg);
+}
+
+.fa-clock {
+ transform: rotateY(180deg);
+ + * {
+ transform: rotate(0deg);
+ }
+}
diff --git a/addons/web/static/src/scss/kanban_view.scss b/addons/web/static/src/scss/kanban_view.scss
index d65a8d4fa1c..e04431eab6e 100644
--- a/addons/web/static/src/scss/kanban_view.scss
+++ b/addons/web/static/src/scss/kanban_view.scss
@@ -97,6 +97,10 @@
}
.o_kanban_record_bottom {
+ .fa, .far, .fas, .fab {
+ font-size: 15px;
+ }
+
.oe_kanban_bottom_left, .oe_kanban_bottom_right {
display: flex;
align-items: center;
@@ -112,7 +116,7 @@
.o_priority_star {
margin-top: 1px;
- font-size: 18px;
+ font-size: 15px;
}
}
.oe_kanban_bottom_right{
diff --git a/addons/web/static/src/scss/list_view.scss b/addons/web/static/src/scss/list_view.scss
index c9562df798b..86e4eefc0b0 100644
--- a/addons/web/static/src/scss/list_view.scss
+++ b/addons/web/static/src/scss/list_view.scss
@@ -65,8 +65,9 @@
user-select: none; // Prevent unwanted selection while sorting
&::after {
- font-family: FontAwesome;
+ font-family: 'Font Awesome 5 Free';
content: "\f0d7";
+ font-weight: 900;
opacity: 0;
}
&:not(:empty)::after {
@@ -76,12 +77,14 @@
cursor: n-resize;
&::after {
content: "\f0d7";
+ font-weight: 900;
}
}
&.o-sort-down {
cursor: s-resize;
&::after {
content: "\f0d8";
+ font-weight: 900;
}
}
&:hover::after {
diff --git a/addons/web/static/src/scss/pivot_view.scss b/addons/web/static/src/scss/pivot_view.scss
index d67607fe558..8ec49cb0455 100644
--- a/addons/web/static/src/scss/pivot_view.scss
+++ b/addons/web/static/src/scss/pivot_view.scss
@@ -61,18 +61,20 @@
.o_pivot_header_cell_closed {
@include o-pivot-header-cell;
&::before {
- font-family: FontAwesome;
- content: "";
+ font-family: 'Font Awesome 5 Free';
+ content: "\f067";
margin-right: 8px;
+ font-weight: 900;
}
}
.o_pivot_header_cell_opened {
@include o-pivot-header-cell;
&::before {
- font-family: FontAwesome;
- content: "";
+ font-family: 'Font Awesome 5 Free';
+ content: "\f068";
margin-right: 8px;
+ font-weight: 900;
}
}
diff --git a/addons/web/static/src/scss/search_view.scss b/addons/web/static/src/scss/search_view.scss
index 3a4aaae28dc..4aafbc74afb 100644
--- a/addons/web/static/src/scss/search_view.scss
+++ b/addons/web/static/src/scss/search_view.scss
@@ -8,6 +8,10 @@
position: relative;
padding: 0 20px 1px 0;
+ .fa, .fas, .far {
+ font-size: 10px;
+ }
+
.o_searchview_more {
font-size: 16px;
cursor: pointer;
@@ -202,7 +206,7 @@
}
}
.o-searchview-custom-public a:after {
- font-family: FontAwesome;
+ font-family: 'Font Awesome 5 Free';
content: "\f0c0";
margin-left: 5px;
font-weight: normal;
diff --git a/addons/web/static/src/scss/web_calendar.scss b/addons/web/static/src/scss/web_calendar.scss
index 759dfa94ad0..55fc4c1d9ab 100644
--- a/addons/web/static/src/scss/web_calendar.scss
+++ b/addons/web/static/src/scss/web_calendar.scss
@@ -421,12 +421,14 @@ $o-cw-filter-avatar-size: 20px;
color: transparent;
&:before {
- font: normal normal normal 13px/1 FontAwesome;
+ font: normal normal normal 13px/1 'Font Awesome 5 Free';
content: "\f053";
color: gray('400');
+ font-weight: 900;
}
&.ui-icon-circle-triangle-e:before {
- content: "\f054"
+ content: "\f054";
+ font-weight: 900;
}
}
@@ -487,7 +489,7 @@ $o-cw-filter-avatar-size: 20px;
input:not(:checked) + label .o_cw_filter_input_bg {
background: transparent!important;
- i.fa {
+ i.fa, i.far, i.fas {
visibility: hidden;
}
}
@@ -497,7 +499,7 @@ $o-cw-filter-avatar-size: 20px;
@include size($o-cw-filter-avatar-size);
border-radius: 2px;
- &.fa {
+ &.fa, &.far, &.fas {
padding: 4px 3px;
}
}
diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml
index fcff4c1e312..0027e4407bd 100644
--- a/addons/web/static/src/xml/base.xml
+++ b/addons/web/static/src/xml/base.xml
@@ -230,7 +230,7 @@
</t>
<a t-attf-class="dropdown-item #{item.classname}" role="menuitem" t-att-title="item.title or None" t-att-data-section="section.name" t-att-data-index="item_index" t-att-href="item.url or '#'">
<t t-raw="item.label"/>
- <span t-if="section.name == 'files' and widget.options.editable and !item.callback" class="fa fa-trash-o o_sidebar_delete_attachment" t-att-data-id="item.id" title="Delete this attachment" role="img" aria-label="Delete this attachment"/>
+ <span t-if="section.name == 'files' and widget.options.editable and !item.callback" class="far fa-trash-alt o_sidebar_delete_attachment" t-att-data-id="item.id" title="Delete this attachment" role="img" aria-label="Delete this attachment"/>
</a>
</t>
<div role="menuitem" t-if="section.name == 'files' and widget.options.editable" class="dropdown-item o_sidebar_add_attachment">
@@ -425,9 +425,9 @@
</div>
</div>
<div class="btn-group" role="toolbar" aria-label="Change graph">
- <button class="btn btn-secondary fa fa-bar-chart-o o_graph_button" title="Bar Chart" aria-label="Bar Chart" data-mode="bar"/>
- <button class="btn btn-secondary fa fa-area-chart o_graph_button" title="Line Chart" aria-label="Line Chart" data-mode="line"/>
- <button class="btn btn-secondary fa fa-pie-chart o_graph_button" title="Pie Chart" aria-label="Pie Chart" data-mode="pie"/>
+ <button class="btn btn-secondary far fa-chart-bar o_graph_button" title="Bar Chart" aria-label="Bar Chart" data-mode="bar"/>
+ <button class="btn btn-secondary fas fa-chart-area o_graph_button" title="Line Chart" aria-label="Line Chart" data-mode="line"/>
+ <button class="btn btn-secondary fas fa-chart-pie o_graph_button" title="Pie Chart" aria-label="Pie Chart" data-mode="pie"/>
</div>
<div class="btn-group" role="toolbar" aria-label="Change graph">
<button class="btn btn-secondary fa fa-database o_graph_button" title="Stacked" aria-label="Stacked" data-mode="stack"/>
@@ -472,8 +472,8 @@
</div>
</div>
<div class="btn-group" role="toolbar" aria-label="Pivot settings">
- <button class="btn btn-secondary fa fa-exchange o_pivot_flip_button" title="Flip axis" aria-label="Flip axis"/>
- <button class="btn btn-secondary fa fa-arrows o_pivot_expand_button" title="Expand all" aria-label="Expand all"/>
+ <button class="btn btn-secondary fas fa-exchange-alt o_pivot_flip_button" title="Flip axis" aria-label="Flip axis"/>
+ <button class="btn btn-secondary fas fa-arrows-alt o_pivot_expand_button" title="Expand all" aria-label="Expand all"/>
<button class="btn btn-secondary fa fa-download o_pivot_download" title="Download xls" aria-label="Download xls"/>
</div>
</t>
@@ -753,7 +753,7 @@
t-att-id="widget.idForLabel"/>
<a role="button" class="o_dropdown_button" draggable="false"/>
</div>
- <button type="button" t-if="!widget.noOpen" class="fa fa-external-link btn btn-secondary o_external_button" tabindex="-1" draggable="false" aria-label="External link" title="External link"/>
+ <button type="button" t-if="!widget.noOpen" class="fas fa-external-link-alt btn btn-secondary o_external_button" tabindex="-1" draggable="false" aria-label="External link" title="External link"/>
</div>
</t>
<t t-name="FieldReference" t-extend="FieldMany2One">
@@ -867,8 +867,8 @@
<div class="o_field_image" aria-atomic="true">
<t t-if="widget.mode !== 'readonly'">
<div class="o_form_image_controls">
- <button class="fa fa-pencil fa-lg float-left o_select_file_button" title="Edit" aria-label="Edit"/>
- <button class="fa fa-trash-o fa-lg float-right o_clear_file_button" title="Clear" aria-label="Clear"/>
+ <button class="fas fa-pencil-alt fa-lg float-left o_select_file_button" title="Edit" aria-label="Edit"/>
+ <button class="far fa-trash-alt fa-lg float-right o_clear_file_button" title="Clear" aria-label="Clear"/>
<span class="o_form_binary_progress">Uploading...</span>
<t t-call="HiddenInputFile">
@@ -887,12 +887,12 @@
</t>
<t t-name="CopyClipboardText">
<button class="btn btn-sm btn-primary o_clipboard_button o_btn_text_copy">
- <span class="fa fa-clipboard"></span><span> Copy Text</span>
+ <span class="far fa-clipboard"></span><span> Copy Text</span>
</button>
</t>
<t t-name="CopyClipboardChar">
<button class="btn btn-sm btn-primary o_clipboard_button o_btn_char_copy">
- <span class="fa fa-clipboard"></span><span> Copy Text</span>
+ <span class="far fa-clipboard"></span><span> Copy Text</span>
</button>
</t>
<t t-name="FieldBinaryFile">
@@ -906,8 +906,8 @@
t-att-autofocus="widget.attrs.autofocus"/>
<button type="button" class="btn btn-primary o_select_file_button" title="Select">Upload your file</button>
- <button type="button" class="btn btn-secondary fa fa-pencil o_select_file_button" title="Select" aria-label="Select"/>
- <button type="button" class="btn btn-secondary fa fa-trash-o o_clear_file_button" title="Clear" aria-label="Clear"/>
+ <button type="button" class="btn btn-secondary fas fa-pencil-alt o_select_file_button" title="Select" aria-label="Select"/>
+ <button type="button" class="btn btn-secondary far fa-trash-alt o_clear_file_button" title="Clear" aria-label="Clear"/>
<span class="o_form_binary_progress">Uploading...</span>
<t t-call="HiddenInputFile">
@@ -980,8 +980,8 @@
<div t-if="widget.mode !== 'readonly'" class="o_form_pdf_controls mt8" role="toolbar" aria-label="PDF controls">
<span class="o_form_binary_progress">Uploading...</span>
<button type="button" class="btn btn-primary o_select_file_button" title="Select">Upload your file</button>
- <button class="btn btn-secondary fa fa-pencil o_select_file_button" title="Select" aria-label="Select" type="button"></button>
- <button class="btn btn-secondary fa fa-trash-o o_clear_file_button" title="Clear" aria-label="Clear" type="button"></button>
+ <button class="btn btn-secondary fas fa-pencil-alt o_select_file_button" title="Select" aria-label="Select" type="button"></button>
+ <button class="btn btn-secondary far fa-trash-alt o_clear_file_button" title="Clear" aria-label="Clear" type="button"></button>
</div>
<iframe class="o_pdfview_iframe o_field_pdfviewer"/>
<t t-call="HiddenInputFile">
@@ -1056,7 +1056,7 @@
t-att-data-id="item.id">
<a role="menuitem" href="#" t-attf-class="dropdown-item#{item.isActive ? ' selected ' : ''}">
<t t-esc="item.description"/>
- <span t-if="item.isRemovable" t-att-data-id="item.id" class="o_trash_button" > <span class="fa fa-trash-o"></span> </span>
+ <span t-if="item.isRemovable" t-att-data-id="item.id" class="o_trash_button" > <span class="far fa-trash-alt"></span> </span>
<span t-if="item.hasOptions" t-att-data-id="item.id" class="o_submenu_switcher">
<span t-att-class="widget.openItems[item.id] ? 'fa fa-caret-down' : 'fa fa-caret-right'"></span>
</span>
@@ -1117,7 +1117,7 @@
<div t-name="web.TimeRangeMenu" class="btn-group o_dropdown">
<button t-att-class="'o_dropdown_toggler_btn btn btn-secondary dropdown-toggle o_time_range_menu_button' + (widget.isMobile ? ' o-no-caret' : '')" data-toggle="dropdown"
aria-expanded="false" tabindex="-1">
- <span class="fa fa-calendar"/> Time Ranges <span t-att-class="widget.symbol"/>
+ <span class="far fa-calendar-alt"/> Time Ranges <span t-att-class="widget.symbol"/>
</button>
<div class="dropdown-menu o_dropdown_menu o_time_range_menu" role="menu">
<div class="dropdown-item-text">
@@ -1211,7 +1211,7 @@
<span t-if="facetValue_index > 0" class="o_facet_values_sep" t-esc="widget.separator"/> <span t-esc="facetValue"/>
</t>
</div>
- <div class="fa fa-sm fa-remove o_facet_remove" role="img" aria-label="Remove" title="Remove"/>
+ <div class="fas fa-sm fa-times o_facet_remove" role="img" aria-label="Remove" title="Remove"/>
</div>
<t t-name="SearchView.autocomplete">
@@ -1242,7 +1242,7 @@
</option>
</t>
</select>
- <span class="o_searchview_extended_delete_prop fa fa-trash-o" role="img" aria-label="Delete" title="Delete"/>
+ <span class="o_searchview_extended_delete_prop far fa-trash-alt" role="img" aria-label="Delete" title="Delete"/>
</span>
<select class="o_input o_searchview_extended_prop_op"/>
<span class="o_searchview_extended_prop_value"/>
@@ -1347,7 +1347,7 @@
<label class="pt-2 font-weight-bold">Save as : </label>
<input class="form-control ml-4 o_save_list_name"
placeholder="New template"/>
- <button type="button" class="btn btn-secondary ml-1 o_save_list_btn"><i class="fa fa-floppy-o"/></button>
+ <button type="button" class="btn btn-secondary ml-1 o_save_list_btn"><i class="far fa-save"/></button>
<button type="button" class="btn btn-secondary ml-1 o_cancel_list_btn"><i class="fa fa-times"/></button>
</div>
</t>
@@ -1364,7 +1364,7 @@
</t>
</select>
<button type="button" class="btn btn-secondary d-none ml-1 o_delete_exported_list">
- <i class="fa fa-trash"/>
+ <i class="far fa-trash-alt"/>
</button>
</div>
</t>
@@ -1404,7 +1404,7 @@
</t>
<t t-name="toggle_button">
<button type="button" class="o_icon_button" t-att-title="widget.string" t-att-aria-label="widget.string" aria-pressed="false">
- <i class="fa fa-circle" t-att-title="widget.string"/>
+ <i class="far fa-circle" t-att-title="widget.string"/>
</button>
</t>
@@ -1470,7 +1470,7 @@
<t t-name="SwitchCompanyMenu">
<li class="o_switch_company_menu">
<a role="button" class="dropdown-toggle" data-toggle="dropdown" data-display="static" aria-expanded="false" href="#" aria-label="Dropdown menu" title="Dropdown menu">
- <span t-attf-class="#{widget.isMobile ? 'fa fa-building-o' : 'oe_topbar_name'}">
+ <span t-attf-class="#{widget.isMobile ? 'far fa-building' : 'oe_topbar_name'}">
<t t-if="!widget.isMobile"><t t-raw="widget.current_company_name"/></t>
</span>
</a>
@@ -1483,10 +1483,10 @@
<div class="ml-auto pl-3 pr-3 border border-top-0 border-left-0 border-bottom-0 toggle_company o_py">
<span style="height: 2rem;">
<t t-if="widget.allowed_company_ids.includes(company[0])">
- <i class="fa fa-fw fa-check-square pt-2"></i>
+ <i class="fas fa-fw fa-check-square pt-2"></i>
</t>
<t t-if="!widget.allowed_company_ids.includes(company[0])">
- <i class="fa fa-fw fa-square-o pt-2"></i>
+ <i class="far fa-fw fa-square pt-2"></i>
</t>
</span>
</div>
diff --git a/addons/web/static/src/xml/crash_manager.xml b/addons/web/static/src/xml/crash_manager.xml
index 80f67faaf83..3dd23b0bfb9 100644
--- a/addons/web/static/src/xml/crash_manager.xml
+++ b/addons/web/static/src/xml/crash_manager.xml
@@ -8,7 +8,7 @@
<div t-name="CrashManager.error" class="o_dialog_error">
<div class="alert alert-warning clearfix" role="alert">
<button class="btn btn-primary float-right ml8 o_clipboard_button">
- <i class="fa fa-clipboard mr8"/>Copy the full error to clipboard
+ <i class="far fa-clipboard mr8"/>Copy the full error to clipboard
</button>
<p><b>An error occurred</b></p>
<p>Please use the copy button to report the error to your support service.</p>
diff --git a/addons/web/static/src/xml/kanban.xml b/addons/web/static/src/xml/kanban.xml
index 9d998677dc4..75838a42739 100644
--- a/addons/web/static/src/xml/kanban.xml
+++ b/addons/web/static/src/xml/kanban.xml
@@ -14,9 +14,9 @@
<div class="o_kanban_header">
<div class="o_kanban_header_title">
<span t-attf-id="#kanban_header_#{widget.id or widget.db_id}" class="o_column_title"><t t-esc="widget.title"/></span>
- <span class="o_column_unfold"><i class="fa fa-arrows-h" role="img" aria-label="Unfold" title="Unfold"/></span>
+ <span class="o_column_unfold"><i class="fas fa-arrows-alt-h" role="img" aria-label="Unfold" title="Unfold"/></span>
<span class="o_kanban_config dropdown">
- <a class="dropdown-toggle o-no-caret" data-toggle="dropdown" href="#"><i class="fa fa-gear" role="img" aria-label="Settings" title="Settings"/></a>
+ <a class="dropdown-toggle o-no-caret" data-toggle="dropdown" href="#"><i class="fas fa-cog" role="img" aria-label="Settings" title="Settings"/></a>
<div class="dropdown-menu" role="menu">
<a role="menuitem" class="dropdown-item o_kanban_toggle_fold" href="#">Fold</a>
<t t-if="widget.grouped_by_m2o">
@@ -281,7 +281,7 @@
<t t-set="inputId" t-value="_.uniqueId('input_')"/>
<input type="checkbox" t-att-id="inputId" t-att-checked="group.state === 'checked' ? 'checked' : undefined" class="custom-control-input"/>
<label t-att-for="inputId" class="o_search_panel_label custom-control-label d-block" t-att-title="group.tooltip">
- <i t-att-class="'fa fa-fw pull-right o_toggle_fold ' + (group.folded ? 'fa-caret-left' : 'fa-caret-down')"/>
+ <i t-att-class="'fa fa-fw fa-pull-right o_toggle_fold ' + (group.folded ? 'fa-caret-left' : 'fa-caret-down')"/>
<span t-if="group.hex_color" t-att-style="'color: ' + group.hex_color + ';'">●</span>
<span class="o_search_panel_label_title"><t t-esc="group.name"/></span>
</label>
diff --git a/addons/web/static/src/xml/web_calendar.xml b/addons/web/static/src/xml/web_calendar.xml
index c17d5861f0e..50c00ab8b20 100644
--- a/addons/web/static/src/xml/web_calendar.xml
+++ b/addons/web/static/src/xml/web_calendar.xml
@@ -22,7 +22,7 @@
<div class="arrow"/>
<div class="card-header d-flex justify-content-between py-2 pr-2">
<h4 class="popover-header border-0 p-0 pt-1"/>
- <span class="o_cw_popover_close ml-4"><i class="fa fa-close small"/></span>
+ <span class="o_cw_popover_close ml-4"><i class="fas fa-times small"/></span>
</div>
<div class="o_cw_body">
</div>
@@ -33,11 +33,11 @@
<div class="o_cw_body">
<ul class="list-group list-group-flush">
<li t-if="!widget.hideDate and widget.eventDate.date" class="list-group-item">
- <i class="fa fa-fw fa-calendar-o"/>
+ <i class="far fa-fw fa-calendar-alt"/>
<b class="text-capitalize" t-esc="widget.eventDate.date"/> <small t-if="widget.eventDate.duration"><b t-esc="_.str.sprintf('(%s)', widget.eventDate.duration)"/></small>
</li>
<li t-if="!widget.hideTime and widget.eventTime.time" class="list-group-item">
- <i class="fa fa-fw fa-clock-o"/>
+ <i class="far fa-fw fa-clock"/>
<b t-esc="widget.eventTime.time"/> <small t-if="widget.eventTime.duration"><b t-esc="_.str.sprintf('(%s)', widget.eventTime.duration)"/></small>
</li>
</ul>
@@ -106,7 +106,7 @@
<t t-name="CalendarView.TodayButtonMobile">
<button class="btn btn-sm btn-link">
<span class="fa-stack o_calendar_button_today">
- <i class="fa fa-calendar-o fa-stack-2x" role="img" aria-label="Today" title="Today"/>
+ <i class="far fa-calendar-alt fa-stack-2x" role="img" aria-label="Today" title="Today"/>
<strong class="o_calendar_text fa-stack-1x"><t t-esc="moment().date()"/></strong>
</span>
</button>