diff options
Diffstat (limited to 'addons/web/static/src')
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> |
