TSK-596 Add tooltip for all existing icons

Added tooltip for existing icons of Administration module.
This commit is contained in:
Martin Rojas Miguel Angel 2018-06-28 12:38:23 +02:00 committed by Holger Hagen
parent 7bc96ad568
commit 57906cc99f
19 changed files with 72 additions and 44 deletions

View File

@ -5,6 +5,7 @@ datasource.url=jdbc:h2:mem:taskana;IGNORECASE=TRUE;LOCK_MODE=0;INIT=CREATE SCHEM
datasource.driverClassName=org.h2.Driver datasource.driverClassName=org.h2.Driver
datasource.username=sa datasource.username=sa
datasource.password=sa datasource.password=sa
####### property that control rest api security deploy use true for no security.
devMode=false devMode=false
####### control LDAP usage ####### control LDAP usage
taskana.ldap.useLdap=false taskana.ldap.useLdap=false

View File

@ -11,8 +11,13 @@
<div *ngIf="classification" id="classification" class="panel panel-default classification"> <div *ngIf="classification" id="classification" class="panel panel-default classification">
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right"> <div class="pull-right">
<button type="button" [disabled]="!ClassificationForm.form.valid" (click)="onSave()" class="btn btn-default btn-primary">Save</button> <button type="button" [disabled]="!ClassificationForm.form.valid" (click)="onSave()" class="btn btn-default btn-primary"
<button type="button" (click)="onClear()" class="btn btn-default">Undo</button> data-toggle="tooltip" title="Save">
<span class="glyphicon glyphicon-floppy-save" aria-hidden="true"></span>
</button>
<button type="button" (click)="onClear()" class="btn btn-default" data-toggle="tooltip" title="Undo Changes">
<span class="glyphicon glyphicon-repeat blue" aria-hidden="true"></span>
</button>
<button type="button" (click)="removeClassification()" data-toggle="tooltip" title="Remove" class="btn btn-default remove"> <button type="button" (click)="removeClassification()" data-toggle="tooltip" title="Remove" class="btn btn-default remove">
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span> <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
</button> </button>

View File

@ -18,7 +18,7 @@
<svg-icon *ngIf="selectedCategory else category_unselected" class="blue" [src]="getCategoryIcon(selectedCategory).name" data-toggle="tooltip" <svg-icon *ngIf="selectedCategory else category_unselected" class="blue" [src]="getCategoryIcon(selectedCategory).name" data-toggle="tooltip"
[title]="getCategoryIcon(category).text"></svg-icon> [title]="getCategoryIcon(category).text"></svg-icon>
<ng-template #category_unselected> <ng-template #category_unselected>
<svg-icon class="blue vertical-align" src="./assets/icons/asterisk.svg"></svg-icon> <svg-icon data-toggle="tooltip" title="All" class="blue vertical-align" src="./assets/icons/asterisk.svg"></svg-icon>
</ng-template> </ng-template>
</button> </button>
<ul class="dropdown-menu dropdown-menu-classification" role="menu"> <ul class="dropdown-menu dropdown-menu-classification" role="menu">

View File

@ -4,7 +4,6 @@
<button class="btn btn-default" data-toggle="dropdown" type="button" id="dropdownMenufilter" data-toggle="dropdown" aria-haspopup="true" <button class="btn btn-default" data-toggle="dropdown" type="button" id="dropdownMenufilter" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="true"> aria-expanded="true">
<taskana-icon-type [type]="filter.type" class="vertical-align"></taskana-icon-type> <taskana-icon-type [type]="filter.type" class="vertical-align"></taskana-icon-type>
</button> </button>
<ul class="dropdown-menu dropdown-menu-users" role="menu"> <ul class="dropdown-menu dropdown-menu-users" role="menu">
<li> <li>

View File

@ -1,2 +1,3 @@
<svg-icon class="{{selected? 'white': 'blue' }} small" src="./assets/icons/{{getIconPath(type)}}"></svg-icon> <svg-icon class="{{selected? 'white': 'blue' }} small vertical-align" src="./assets/icons/{{getIconPath(type)}}" data-toggle="tooltip"
[title]="!type? 'All' : type"></svg-icon>
{{text}} {{text}}

Before

Width:  |  Height:  |  Size: 118 B

After

Width:  |  Height:  |  Size: 189 B

View File

@ -19,10 +19,10 @@ export class IconTypeComponent implements OnInit {
tooltip = false; tooltip = false;
@Input() @Input()
text = ''; text: string = undefined;
public static get allTypes(): Map<string, string> { public static get allTypes(): Map<string, string> {
return new Map([ ['PERSONAL', 'Personal'], ['GROUP', 'Group'], ['CLEARANCE', 'Clearance'], ['TOPIC', 'Topic']]) return new Map([['PERSONAL', 'Personal'], ['GROUP', 'Group'], ['CLEARANCE', 'Clearance'], ['TOPIC', 'Topic']])
}; };
constructor() { } constructor() { }
@ -32,10 +32,10 @@ export class IconTypeComponent implements OnInit {
} }
getIconPath(type: string) { getIconPath(type: string) {
return type === 'PERSONAL' ? 'user.svg' : return type === 'PERSONAL' ? 'user.svg' :
type === 'GROUP' ? 'users.svg' : type === 'GROUP' ? 'users.svg' :
type === 'TOPIC' ? 'topic.svg' : type === 'TOPIC' ? 'topic.svg' :
type === 'CLEARANCE' ? 'clearance.svg' : 'asterisk.svg'; type === 'CLEARANCE' ? 'clearance.svg' : 'asterisk.svg';
} }
} }

View File

@ -35,7 +35,7 @@ export class ClassificationCategoriesService {
getCategoryIcon(category: string): Pair { getCategoryIcon(category: string): Pair {
let categoryIcon = this.categoriesObject[category]; let categoryIcon = this.categoriesObject[category];
let text = ''; let text = category;
if (!categoryIcon) { if (!categoryIcon) {
categoryIcon = this.missingIcon; categoryIcon = this.missingIcon;
text = 'Category does not match with the configuration' text = 'Category does not match with the configuration'

View File

@ -1,8 +1,13 @@
<div *ngIf="workbasket" id="wb-information" class="panel panel-default"> <div *ngIf="workbasket" id="wb-information" class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right"> <div class="pull-right">
<button type="button" (click)="onSave()" [disabled]="!AccessItemsForm.valid || action === 'COPY'" class="btn btn-default btn-primary">Save</button> <button type="button" (click)="onSave()" [disabled]="!AccessItemsForm.valid || action === 'COPY'" class="btn btn-default btn-primary"
<button type="button" (click)="clear()" class="btn btn-default">Undo</button> data-toggle="tooltip" title="Save">
<span class="glyphicon glyphicon-floppy-save" aria-hidden="true"></span>
</button>
<button type="button" (click)="clear()" class="btn btn-default" data-toggle="tooltip" title="Undo Changes">
<span class="glyphicon glyphicon-repeat blue" aria-hidden="true"></span>
</button>
</div> </div>
<h4 class="panel-header">{{workbasket.name}} <h4 class="panel-header">{{workbasket.name}}
<span *ngIf="!workbasket.workbasketId" class="badge warning"> {{badgeMessage}}</span> <span *ngIf="!workbasket.workbasketId" class="badge warning"> {{badgeMessage}}</span>
@ -131,10 +136,9 @@
</tbody> </tbody>
</table> </table>
</form> </form>
<button id="button-add-access-item" type="button" (click)="addAccessItem()" class="btn btn-default"> <button id="button-add-access-item" type="button" (click)="addAccessItem()" class="btn btn-default" data-toggle="tooltip"
<span> title="Add new access">
<svg-icon class="green-blue" src="./assets/icons/wb-add.svg"></svg-icon> <span class="glyphicon glyphicon-plus green-blue" aria-hidden="true"></span>
</span>
Add new access Add new access
</button> </button>
<taskana-spinner [isRunning]="requestInProgress" [positionClass]=""></taskana-spinner> <taskana-spinner [isRunning]="requestInProgress" [positionClass]=""></taskana-spinner>

View File

@ -1,8 +1,8 @@
import { SimpleChange, Component, forwardRef, Input } from '@angular/core'; import { SimpleChange, Component, forwardRef, Input } from '@angular/core';
import { async, ComponentFixture, TestBed, fakeAsync, tick } from '@angular/core/testing'; import { ComponentFixture, TestBed } from '@angular/core/testing';
import { FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms'; import { FormsModule, ReactiveFormsModule, NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http'; import { HttpClientModule } from '@angular/common/http';
import { HttpModule, JsonpModule } from '@angular/http'; import { HttpModule } from '@angular/http';
import { AngularSvgIconModule } from 'angular-svg-icon'; import { AngularSvgIconModule } from 'angular-svg-icon';
import { Observable } from 'rxjs/Observable'; import { Observable } from 'rxjs/Observable';

View File

@ -1,33 +1,44 @@
<div *ngIf="workbasket" id="wb-information" class="panel panel-default"> <div *ngIf="workbasket" id="wb-information" class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right"> <div class="pull-right">
<button type="button" (click)="onSave()" [disabled]="action === 'COPY'" class="btn btn-default btn-primary">Save</button> <button type="button" (click)="onSave()" [disabled]="action === 'COPY'" class="btn btn-default btn-primary" data-toggle="tooltip"
<button type="button" (click)="onClear()" class="btn btn-default">Undo</button> title="Save">
<span class="glyphicon glyphicon-floppy-save" aria-hidden="true"></span>
</button>
<button type="button" (click)="onClear()" class="btn btn-default" data-toggle="tooltip" title="Undo Changes">
<span class="glyphicon glyphicon-repeat blue" aria-hidden="true"></span>
</button>
</div> </div>
<h4 class="panel-header">{{workbasket.name}} <h4 class="panel-header">{{workbasket.name}}
<span *ngIf="!workbasket.workbasketId" class="badge warning"> {{badgeMessage}}</span> <span *ngIf="!workbasket.workbasketId" class="badge warning"> {{badgeMessage}}</span>
</h4> </h4>
</div> </div>
<div class="panel-body"> <div class="panel-body">
<taskana-dual-list id="dual-list-Left" [(distributionTargets)]="distributionTargetsLeft" [distributionTargetsSelected]="distributionTargetsSelected" <taskana-dual-list id="dual-list-Left" header="Available distribution targets" [(distributionTargets)]="distributionTargetsLeft"
(performDualListFilter)="performFilter($event)" [side]="side.LEFT" [requestInProgress]="requestInProgressLeft" class="dual-list list-left col-xs-12 col-md-5-6 container"></taskana-dual-list> [distributionTargetsSelected]="distributionTargetsSelected" (performDualListFilter)="performFilter($event)" [side]="side.LEFT"
[requestInProgress]="requestInProgressLeft" class="dual-list list-left col-xs-12 col-md-5-6 container"></taskana-dual-list>
<div class="hidden-xs hidden-sm col-md-1 list-arrows text-center button-margin-top"> <div class="hidden-xs hidden-sm col-md-1 list-arrows text-center button-margin-top">
<button (click)="moveDistributionTargets(side.LEFT)" [disabled]="requestInProgressLeft || requestInProgressRight" class="btn btn-default move-right"> <button (click)="moveDistributionTargets(side.LEFT)" [disabled]="requestInProgressLeft || requestInProgressRight" class="btn btn-default move-right"
data-toggle="tooltip" title="Move to selected distribution targets">
<span class="glyphicon glyphicon-chevron-right blue"></span> <span class="glyphicon glyphicon-chevron-right blue"></span>
</button> </button>
<button (click)="moveDistributionTargets(side.RIGHT)" [disabled]="requestInProgressLeft || requestInProgressRight" class="btn btn-default move-left"> <button (click)="moveDistributionTargets(side.RIGHT)" [disabled]="requestInProgressLeft || requestInProgressRight" class="btn btn-default move-left"
data-toggle="tooltip" title="Move to available distribution targets">
<span class="glyphicon glyphicon-chevron-left blue"></span> <span class="glyphicon glyphicon-chevron-left blue"></span>
</button> </button>
</div> </div>
<div class="hidden visible-xs visible-sm col-xs-12 list-arrows text-center"> <div class="hidden visible-xs visible-sm col-xs-12 list-arrows text-center">
<button (click)="moveDistributionTargets(side.LEFT)" [disabled]="requestInProgressLeft || requestInProgressRight" class="btn btn-default move-down"> <button (click)="moveDistributionTargets(side.LEFT)" [disabled]="requestInProgressLeft || requestInProgressRight" class="btn btn-default move-down"
data-toggle="tooltip" title="Move to selected distribution targets">
<span class="glyphicon glyphicon-chevron-down blue"></span> <span class="glyphicon glyphicon-chevron-down blue"></span>
</button> </button>
<button (click)="moveDistributionTargets(side.RIGHT)" [disabled]="requestInProgressLeft || requestInProgressRight" class="btn btn-default move-up"> <button (click)="moveDistributionTargets(side.RIGHT)" [disabled]="requestInProgressLeft || requestInProgressRight" class="btn btn-default move-up"
data-toggle="tooltip" title="Move to available distribution targets">
<span class="glyphicon glyphicon-chevron-up blue"></span> <span class="glyphicon glyphicon-chevron-up blue"></span>
</button> </button>
</div> </div>
<taskana-dual-list id="dual-list-right" [(distributionTargets)]="distributionTargetsRight" [distributionTargetsSelected]="distributionTargetsSelected" <taskana-dual-list id="dual-list-right" header="Selected distribution targets" [(distributionTargets)]="distributionTargetsRight"
(performDualListFilter)="performFilter($event)" [requestInProgress]="requestInProgressRight" [side]="side.RIGHT" class="dual-list list-right col-xs-12 col-md-5-6 container"></taskana-dual-list> [distributionTargetsSelected]="distributionTargetsSelected" (performDualListFilter)="performFilter($event)" [requestInProgress]="requestInProgressRight"
[side]="side.RIGHT" class="dual-list list-right col-xs-12 col-md-5-6 container"></taskana-dual-list>
</div> </div>
</div> </div>

View File

@ -1,15 +1,16 @@
<div id="dual-list-Left" class="dual-list list-left col-xs-12 col-md-5-6 container"> <div id="dual-list-Left" class="dual-list list-left col-xs-12 col-md-5-6 container">
<div class="row"> <div class="row">
<div class="col-xs-2"> <div class="col-xs-2">
<button (click)="toggleDtl = !toggleDtl; selectAll(toggleDtl);" class="btn btn-default no-style" title="select all"> <button (click)="toggleDtl = !toggleDtl; selectAll(toggleDtl);" class="btn btn-default no-style" title="Toggle select all">
<span aria-hidden="true" class="glyphicon blue {{toggleDtl? 'glyphicon-check': 'glyphicon-unchecked'}}"></span> <span aria-hidden="true" class="glyphicon blue {{toggleDtl? 'glyphicon-check': 'glyphicon-unchecked'}}"></span>
</button> </button>
</div> </div>
<div class="col-xs-7"> <div class="col-xs-7">
<h5>Available distribution targets</h5> <h5>{{header}}</h5>
</div> </div>
<div class="pull-right"> <div class="pull-right">
<button class="btn btn-default" type="button" id="collapsedMenufilterWb" aria-expanded="false" (click)="toolbarState=!toolbarState"> <button class="btn btn-default" type="button" id="collapsedMenufilterWb" aria-expanded="false" (click)="toolbarState=!toolbarState"
data-toggle="tooltip" title="Filter">
<span class="glyphicon glyphicon-filter blue"></span> <span class="glyphicon glyphicon-filter blue"></span>
</button> </button>
</div> </div>

View File

@ -22,7 +22,7 @@ import { Side } from '../distribution-targets.component';
style({ opacity: 0.5, height: '50px' }), style({ opacity: 0.5, height: '50px' }),
style({ opacity: 0, height: '0px' })]))) style({ opacity: 0, height: '0px' })])))
] ]
)], )],
}) })
export class DualListComponent implements OnInit { export class DualListComponent implements OnInit {
@ -33,6 +33,7 @@ export class DualListComponent implements OnInit {
@Output() performDualListFilter = new EventEmitter<{ filterBy: FilterModel, side: Side }>(); @Output() performDualListFilter = new EventEmitter<{ filterBy: FilterModel, side: Side }>();
@Input() requestInProgress = false; @Input() requestInProgress = false;
@Input() side: Side; @Input() side: Side;
@Input() header: string;
sideNumber = 0; sideNumber = 0;
toggleDtl = false; toggleDtl = false;

View File

@ -2,12 +2,17 @@
<div *ngIf="workbasket" id="wb-information" class="panel panel-default"> <div *ngIf="workbasket" id="wb-information" class="panel panel-default">
<div class="panel-heading"> <div class="panel-heading">
<div class="pull-right"> <div class="pull-right">
<button type="button" [disabled]="!WorkbasketForm.form.valid" (click)="onSave()" class="btn btn-default btn-primary">Save</button> <button type="button" [disabled]="!WorkbasketForm.form.valid" (click)="onSave()" class="btn btn-default btn-primary" data-toggle="tooltip"
<button type="button" (click)="onClear()" class="btn btn-default">Undo</button> title="Save">
<button type="button" (click)="removeDistributionTargets()" data-toggle="tooltip" title="remove distribuition target" class="btn btn-default remove"> <span class="glyphicon glyphicon-floppy-save" aria-hidden="true"></span>
</button>
<button type="button" (click)="onClear()" class="btn btn-default" data-toggle="tooltip" title="Undo Changes">
<span class="glyphicon glyphicon-repeat blue" aria-hidden="true"></span>
</button>
<button type="button" (click)="removeDistributionTargets()" data-toggle="tooltip" title="Remove distribuition target" class="btn btn-default remove">
<span class="glyphicon glyphicon-remove-circle" aria-hidden="true"></span> <span class="glyphicon glyphicon-remove-circle" aria-hidden="true"></span>
</button> </button>
<button type="button" (click)="copyWorkbasket()" data-toggle="tooltip" title="copy" class="btn btn-default"> <button type="button" (click)="copyWorkbasket()" data-toggle="tooltip" title="Copy" class="btn btn-default">
<span class="glyphicon glyphicon-copy green-blue" aria-hidden="true"></span> <span class="glyphicon glyphicon-copy green-blue" aria-hidden="true"></span>
</button> </button>
<button type="button" (click)="removeWorkbasket()" data-toggle="tooltip" title="Remove" class="btn btn-default remove"> <button type="button" (click)="removeWorkbasket()" data-toggle="tooltip" title="Remove" class="btn btn-default remove">

View File

@ -7,6 +7,7 @@
&.has-changes{ &.has-changes{
border-bottom: solid #f0ad4e; border-bottom: solid #f0ad4e;
} }
cursor: pointer;
} }
&:first-child > a{ &:first-child > a{

View File

@ -11,7 +11,7 @@
[sortingFields]="sortingFields" [sortingFields]="sortingFields"
(performSorting)="sorting($event)"></taskana-sort> (performSorting)="sorting($event)"></taskana-sort>
<button class="btn btn-default collapsed" type="button" id="collapsedMenufilterWb" aria-expanded="false" <button class="btn btn-default collapsed" type="button" id="collapsedMenufilterWb" aria-expanded="false"
(click)="toolbarState=!toolbarState"> (click)="toolbarState=!toolbarState" data-toggle="tooltip" title="Filter">
<span class="glyphicon glyphicon-filter blue"></span> <span class="glyphicon glyphicon-filter blue"></span>
</button> </button>
</div> </div>

View File

@ -13,7 +13,7 @@
type="text" (click)="selectWorkbasket(workbasket.workbasketId)"> type="text" (click)="selectWorkbasket(workbasket.workbasketId)">
<div class="row"> <div class="row">
<dl class="col-xs-1"> <dl class="col-xs-1">
<taskana-icon-type class="vertical-align" [type]="workbasket.type" [selected]="workbasket.workbasketId === selectedId"></taskana-icon-type> <taskana-icon-type class="vertical-align" [type]="workbasket.type" tooltip="true" [selected]="workbasket.workbasketId === selectedId"></taskana-icon-type>
</dl> </dl>
<dl class="col-xs-10"> <dl class="col-xs-10">
<dt data-toggle="tooltip" title="{{workbasket.name}}">{{workbasket.name}}, <dt data-toggle="tooltip" title="{{workbasket.name}}">{{workbasket.name}},
@ -35,4 +35,4 @@
</ng-template> </ng-template>
</div> </div>
<taskana-pagination [(workbasketsResource)]="workbasketsResource" (changePage)="changePage($event)"></taskana-pagination> <taskana-pagination [(workbasketsResource)]="workbasketsResource" (changePage)="changePage($event)"></taskana-pagination>
</div> </div>

View File

@ -2,7 +2,7 @@
<div class="navbar no-border-radius navbar-inverse no-gutter col-xs-12"> <div class="navbar no-border-radius navbar-inverse no-gutter col-xs-12">
<div class="pull-left col-sm-3 col-md-4"> <div class="pull-left col-sm-3 col-md-4">
<button type="button" *ngIf="!showNavbar" class="btn btn-default navbar-toggle show pull-left" (click)="toogleNavBar();" <button type="button" *ngIf="!showNavbar" class="btn btn-default navbar-toggle show pull-left" (click)="toogleNavBar();"
aria-expanded="true" aria-controls="navbar"> aria-expanded="true" aria-controls="navbar" data-toggle="tooltip" title="Menu">
<span class="glyphicon glyphicon glyphicon-th-list white"></span> <span class="glyphicon glyphicon glyphicon-th-list white"></span>
</button> </button>
<span>&nbsp;</span> <span>&nbsp;</span>
@ -36,7 +36,7 @@
<ul class="nav"> <ul class="nav">
<svg-icon class="logo white visible-xs" src="./assets/icons/logo.svg"></svg-icon> <svg-icon class="logo white visible-xs" src="./assets/icons/logo.svg"></svg-icon>
<h2 class="navbar-brand no-margin logo visible-xs"> {{title}}</h2> <h2 class="navbar-brand no-margin logo visible-xs"> {{title}}</h2>
<button type="button" class="btn btn-default logout navbar-toggle logout show pull-right" data-toggle="tooltip" title="logout" (click)="logout()" aria-expanded="true" <button type="button" class="btn btn-default logout navbar-toggle logout show pull-right" data-toggle="tooltip" title="Logout" (click)="logout()" aria-expanded="true"
aria-controls="logout"> aria-controls="logout">
<span class="glyphicon glyphicon-share white"></span> <span class="glyphicon glyphicon-share white"></span>
</button> </button>

View File

@ -242,7 +242,7 @@ svg-icon.fa-fw > svg {
transition: opacity 300ms ease, visibility 300ms ease; transition: opacity 300ms ease, visibility 300ms ease;
} }
.vertical-align{ .vertical-align{
vertical-align: sub; vertical-align: top;
} }
.panel-heading{ .panel-heading{

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2.673 15.988l-.108-.104v-3.745l.135-.23c.736-1.247 2.138-3.517 2.19-3.546a.977.977 0 0 1 .273-.053l.206-.015.016-2.016c.012-1.539.026-2.03.056-2.082.102-.174-.143-.164 3.898-.164 3.155 0 3.731.007 3.805.044.183.092.179.041.188 2.225l.008 2.008h.188c.211 0 .328.04.392.136.061.09 2 3.43 2.079 3.583.066.125.066.151.058 2.005l-.008 1.88-.104.09-.104.09H2.781zm8.955-3.332c0-.46.03-.591.162-.699l.096-.078h1.567c.984 0 1.565-.011 1.565-.03 0-.048-1.614-2.815-1.648-2.826-.02-.007-.031.29-.031.815 0 .454-.01.878-.02.942a.408.408 0 0 1-.297.31.432.432 0 0 1-.364-.133c-.063-.068-.064-.124-.08-3.135l-.016-3.065-3.207-.008-3.209-.009L6.138 7.8c-.009 3.051-.009 3.06-.074 3.146a.39.39 0 0 1-.587.022l-.076-.078-.009-.939c-.007-.666-.02-.934-.045-.927-.028.01-1.68 2.702-1.728 2.816-.012.03.312.039 1.554.039h1.57l.097.078c.13.108.16.238.16.698v.393h4.628v-.393zm-5-2.661c-.022-.02-.039-.08-.039-.132 0-.053.017-.112.038-.133.056-.053 5.32-.053 5.374 0 .05.048.05.217 0 .265-.054.053-5.318.053-5.374 0zm.032-1.118c-.093-.063-.099-.243-.01-.29.085-.044 5.243-.044 5.329 0 .088.047.083.227-.01.29-.107.072-5.203.072-5.309 0zm-.033-1.25c-.02-.021-.038-.08-.038-.133 0-.053.017-.112.038-.132.056-.053 5.32-.053 5.374 0 .05.047.05.217 0 .264-.054.053-5.318.053-5.374 0zm1.377-1.189c-.074-.08-.066-.208.019-.265.061-.043.303-.048 1.99-.048 1.821 0 1.924.003 1.975.056.068.074.066.198-.006.262-.053.046-.237.051-1.991.051-1.833 0-1.937-.003-1.987-.056zM6.641 5.87c-.086-.06-.059-.24.044-.289.105-.051 1.146-.055 1.246-.004.13.066.157.196.059.283-.05.044-.146.05-.676.05-.456 0-.633-.01-.673-.039zM5.29 2.027H3.442V.24a.165.165 0 0 0-.168-.163H2.265a.165.165 0 0 0-.168.163v1.787H.25a.165.165 0 0 0-.168.162v.975c0 .09.075.163.168.163h1.848v1.787c0 .09.076.163.168.163h1.009a.165.165 0 0 0 .168-.163V3.327H5.29a.165.165 0 0 0 .169-.163V2.19a.165.165 0 0 0-.169-.162z"/></svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB