aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/services/tabs
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2017-11-09 12:11:16 +0100
committerLibravatar Stefan Malzner <stefan@adlk.io>2017-11-09 12:15:36 +0100
commit1839eff4fcad186871672499b6c3cc68e9539ce2 (patch)
tree207f0c0cf694309f6d84afeee220cacdc9b56242 /src/components/services/tabs
parentMerge branch 'develop' of github.com:meetfranz/franz into develop (diff)
downloadferdium-app-1839eff4fcad186871672499b6c3cc68e9539ce2.tar.gz
ferdium-app-1839eff4fcad186871672499b6c3cc68e9539ce2.tar.zst
ferdium-app-1839eff4fcad186871672499b6c3cc68e9539ce2.zip
feat(Service): Add option to display disabled services in tabs
Diffstat (limited to 'src/components/services/tabs')
-rw-r--r--src/components/services/tabs/TabBarSortableList.js3
-rw-r--r--src/components/services/tabs/TabItem.js11
-rw-r--r--src/components/services/tabs/Tabbar.js15
3 files changed, 24 insertions, 5 deletions
diff --git a/src/components/services/tabs/TabBarSortableList.js b/src/components/services/tabs/TabBarSortableList.js
index e5ae36419..3340cbbbb 100644
--- a/src/components/services/tabs/TabBarSortableList.js
+++ b/src/components/services/tabs/TabBarSortableList.js
@@ -24,6 +24,7 @@ class TabBarSortableList extends Component {
24 toggleNotifications: PropTypes.func.isRequired, 24 toggleNotifications: PropTypes.func.isRequired,
25 deleteService: PropTypes.func.isRequired, 25 deleteService: PropTypes.func.isRequired,
26 disableService: PropTypes.func.isRequired, 26 disableService: PropTypes.func.isRequired,
27 enableService: PropTypes.func.isRequired,
27 } 28 }
28 29
29 static contextTypes = { 30 static contextTypes = {
@@ -38,6 +39,7 @@ class TabBarSortableList extends Component {
38 toggleNotifications, 39 toggleNotifications,
39 deleteService, 40 deleteService,
40 disableService, 41 disableService,
42 enableService,
41 openSettings, 43 openSettings,
42 } = this.props; 44 } = this.props;
43 45
@@ -58,6 +60,7 @@ class TabBarSortableList extends Component {
58 toggleNotifications={() => toggleNotifications({ serviceId: service.id })} 60 toggleNotifications={() => toggleNotifications({ serviceId: service.id })}
59 deleteService={() => deleteService({ serviceId: service.id })} 61 deleteService={() => deleteService({ serviceId: service.id })}
60 disableService={() => disableService({ serviceId: service.id })} 62 disableService={() => disableService({ serviceId: service.id })}
63 enableService={() => enableService({ serviceId: service.id })}
61 openSettings={openSettings} 64 openSettings={openSettings}
62 /> 65 />
63 ))} 66 ))}
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js
index 9e03d2e21..638e17d95 100644
--- a/src/components/services/tabs/TabItem.js
+++ b/src/components/services/tabs/TabItem.js
@@ -32,6 +32,10 @@ const messages = defineMessages({
32 id: 'tabs.item.disableService', 32 id: 'tabs.item.disableService',
33 defaultMessage: '!!!Disable Service', 33 defaultMessage: '!!!Disable Service',
34 }, 34 },
35 enableService: {
36 id: 'tabs.item.enableService',
37 defaultMessage: '!!!Enable Service',
38 },
35 deleteService: { 39 deleteService: {
36 id: 'tabs.item.deleteService', 40 id: 'tabs.item.deleteService',
37 defaultMessage: '!!!Delete Service', 41 defaultMessage: '!!!Delete Service',
@@ -49,6 +53,7 @@ class TabItem extends Component {
49 openSettings: PropTypes.func.isRequired, 53 openSettings: PropTypes.func.isRequired,
50 deleteService: PropTypes.func.isRequired, 54 deleteService: PropTypes.func.isRequired,
51 disableService: PropTypes.func.isRequired, 55 disableService: PropTypes.func.isRequired,
56 enableService: PropTypes.func.isRequired,
52 }; 57 };
53 58
54 static contextTypes = { 59 static contextTypes = {
@@ -64,6 +69,7 @@ class TabItem extends Component {
64 toggleNotifications, 69 toggleNotifications,
65 deleteService, 70 deleteService,
66 disableService, 71 disableService,
72 enableService,
67 openSettings, 73 openSettings,
68 } = this.props; 74 } = this.props;
69 const { intl } = this.context; 75 const { intl } = this.context;
@@ -90,8 +96,8 @@ class TabItem extends Component {
90 : intl.formatMessage(messages.enableNotifications), 96 : intl.formatMessage(messages.enableNotifications),
91 click: () => toggleNotifications(), 97 click: () => toggleNotifications(),
92 }, { 98 }, {
93 label: intl.formatMessage(messages.disableService), 99 label: intl.formatMessage(service.isEnabled ? messages.disableService : messages.enableService),
94 click: () => disableService(), 100 click: () => (service.isEnabled ? disableService() : enableService()),
95 }, { 101 }, {
96 type: 'separator', 102 type: 'separator',
97 }, { 103 }, {
@@ -106,6 +112,7 @@ class TabItem extends Component {
106 'tab-item': true, 112 'tab-item': true,
107 'is-active': service.isActive, 113 'is-active': service.isActive,
108 'has-custom-icon': service.hasCustomIcon, 114 'has-custom-icon': service.hasCustomIcon,
115 'is-disabled': !service.isEnabled,
109 })} 116 })}
110 onClick={clickHandler} 117 onClick={clickHandler}
111 onContextMenu={() => menu.popup(remote.getCurrentWindow())} 118 onContextMenu={() => menu.popup(remote.getCurrentWindow())}
diff --git a/src/components/services/tabs/Tabbar.js b/src/components/services/tabs/Tabbar.js
index fdb2c0a59..5f63aed16 100644
--- a/src/components/services/tabs/Tabbar.js
+++ b/src/components/services/tabs/Tabbar.js
@@ -29,20 +29,28 @@ export default class TabBar extends Component {
29 reorder({ oldIndex, newIndex }); 29 reorder({ oldIndex, newIndex });
30 }; 30 };
31 31
32 disableService = ({ serviceId }) => { 32 toggleService = ({ serviceId, isEnabled }) => {
33 const { updateService } = this.props; 33 const { updateService } = this.props;
34 34
35 if (serviceId) { 35 if (serviceId) {
36 updateService({ 36 updateService({
37 serviceId, 37 serviceId,
38 serviceData: { 38 serviceData: {
39 isEnabled: false, 39 isEnabled,
40 }, 40 },
41 redirect: false, 41 redirect: false,
42 }); 42 });
43 } 43 }
44 } 44 }
45 45
46 disableService({ serviceId }) {
47 this.toggleService({ serviceId, isEnabled: false });
48 }
49
50 enableService({ serviceId }) {
51 this.toggleService({ serviceId, isEnabled: true });
52 }
53
46 render() { 54 render() {
47 const { 55 const {
48 services, 56 services,
@@ -64,7 +72,8 @@ export default class TabBar extends Component {
64 reload={reload} 72 reload={reload}
65 toggleNotifications={toggleNotifications} 73 toggleNotifications={toggleNotifications}
66 deleteService={deleteService} 74 deleteService={deleteService}
67 disableService={this.disableService} 75 disableService={args => this.disableService(args)}
76 enableService={args => this.enableService(args)}
68 openSettings={openSettings} 77 openSettings={openSettings}
69 distance={20} 78 distance={20}
70 axis="y" 79 axis="y"