diff options
Diffstat (limited to 'src/components/services')
-rw-r--r-- | src/components/services/content/ServiceWebview.js | 47 | ||||
-rw-r--r-- | src/components/services/content/Services.js | 3 | ||||
-rw-r--r-- | src/components/services/tabs/TabBarSortableList.js | 22 | ||||
-rw-r--r-- | src/components/services/tabs/TabItem.js | 19 | ||||
-rw-r--r-- | src/components/services/tabs/Tabbar.js | 3 |
5 files changed, 50 insertions, 44 deletions
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index a71017a6e..08ba5f33d 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js | |||
@@ -16,7 +16,11 @@ export default class ServiceWebview extends Component { | |||
16 | service: PropTypes.instanceOf(ServiceModel).isRequired, | 16 | service: PropTypes.instanceOf(ServiceModel).isRequired, |
17 | setWebviewReference: PropTypes.func.isRequired, | 17 | setWebviewReference: PropTypes.func.isRequired, |
18 | reload: PropTypes.func.isRequired, | 18 | reload: PropTypes.func.isRequired, |
19 | <<<<<<< HEAD | ||
20 | isAppMuted: PropTypes.bool.isRequired, | ||
21 | ======= | ||
19 | enable: PropTypes.func.isRequired, | 22 | enable: PropTypes.func.isRequired, |
23 | >>>>>>> develop | ||
20 | }; | 24 | }; |
21 | 25 | ||
22 | static defaultProps = { | 26 | static defaultProps = { |
@@ -58,6 +62,7 @@ export default class ServiceWebview extends Component { | |||
58 | service, | 62 | service, |
59 | setWebviewReference, | 63 | setWebviewReference, |
60 | reload, | 64 | reload, |
65 | isAppMuted, | ||
61 | enable, | 66 | enable, |
62 | } = this.props; | 67 | } = this.props; |
63 | 68 | ||
@@ -90,31 +95,23 @@ export default class ServiceWebview extends Component { | |||
90 | enable={enable} | 95 | enable={enable} |
91 | /> | 96 | /> |
92 | )} | 97 | )} |
93 | {service.isEnabled && ( | 98 | <Webview |
94 | <div className="services__webview-wrapper"> | 99 | ref={(element) => { this.webview = element; }} |
95 | <Webview | 100 | autosize |
96 | ref={(element) => { this.webview = element; }} | 101 | src={service.url} |
97 | 102 | preload="./webview/plugin.js" | |
98 | autosize | 103 | partition={`persist:service-${service.id}`} |
99 | src={service.url} | 104 | onDidAttach={() => setWebviewReference({ |
100 | preload="./webview/plugin.js" | 105 | serviceId: service.id, |
101 | partition={`persist:service-${service.id}`} | 106 | webview: this.webview.view, |
102 | 107 | })} | |
103 | onDidAttach={() => setWebviewReference({ | 108 | onUpdateTargetUrl={this.updateTargetUrl} |
104 | serviceId: service.id, | 109 | useragent={service.userAgent} |
105 | webview: this.webview.view, | 110 | muted={isAppMuted || service.isMuted} |
106 | })} | 111 | disablewebsecurity |
107 | 112 | allowpopups | |
108 | onUpdateTargetUrl={this.updateTargetUrl} | 113 | /> |
109 | 114 | {statusBar} | |
110 | useragent={service.userAgent} | ||
111 | |||
112 | disablewebsecurity | ||
113 | allowpopups | ||
114 | /> | ||
115 | {statusBar} | ||
116 | </div> | ||
117 | )} | ||
118 | </div> | 115 | </div> |
119 | ); | 116 | ); |
120 | } | 117 | } |
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js index 5230508f7..b1322afc2 100644 --- a/src/components/services/content/Services.js +++ b/src/components/services/content/Services.js | |||
@@ -26,6 +26,7 @@ export default class Services extends Component { | |||
26 | handleIPCMessage: PropTypes.func.isRequired, | 26 | handleIPCMessage: PropTypes.func.isRequired, |
27 | openWindow: PropTypes.func.isRequired, | 27 | openWindow: PropTypes.func.isRequired, |
28 | reload: PropTypes.func.isRequired, | 28 | reload: PropTypes.func.isRequired, |
29 | isAppMuted: PropTypes.bool.isRequired, | ||
29 | update: PropTypes.func.isRequired, | 30 | update: PropTypes.func.isRequired, |
30 | }; | 31 | }; |
31 | 32 | ||
@@ -45,6 +46,7 @@ export default class Services extends Component { | |||
45 | setWebviewReference, | 46 | setWebviewReference, |
46 | openWindow, | 47 | openWindow, |
47 | reload, | 48 | reload, |
49 | isAppMuted, | ||
48 | update, | 50 | update, |
49 | } = this.props; | 51 | } = this.props; |
50 | const { intl } = this.context; | 52 | const { intl } = this.context; |
@@ -78,6 +80,7 @@ export default class Services extends Component { | |||
78 | setWebviewReference={setWebviewReference} | 80 | setWebviewReference={setWebviewReference} |
79 | openWindow={openWindow} | 81 | openWindow={openWindow} |
80 | reload={() => reload({ serviceId: service.id })} | 82 | reload={() => reload({ serviceId: service.id })} |
83 | isAppMuted={isAppMuted} | ||
81 | enable={() => update({ | 84 | enable={() => update({ |
82 | serviceId: service.id, | 85 | serviceId: service.id, |
83 | serviceData: { | 86 | serviceData: { |
diff --git a/src/components/services/tabs/TabBarSortableList.js b/src/components/services/tabs/TabBarSortableList.js index 3340cbbbb..2daf55676 100644 --- a/src/components/services/tabs/TabBarSortableList.js +++ b/src/components/services/tabs/TabBarSortableList.js | |||
@@ -2,17 +2,8 @@ import React, { Component } from 'react'; | |||
2 | import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; | 2 | import { observer, PropTypes as MobxPropTypes } from 'mobx-react'; |
3 | import PropTypes from 'prop-types'; | 3 | import PropTypes from 'prop-types'; |
4 | import { SortableContainer } from 'react-sortable-hoc'; | 4 | import { SortableContainer } from 'react-sortable-hoc'; |
5 | import { defineMessages, intlShape } from 'react-intl'; | ||
6 | 5 | ||
7 | import TabItem from './TabItem'; | 6 | import TabItem from './TabItem'; |
8 | import { ctrlKey } from '../../../environment'; | ||
9 | |||
10 | const messages = defineMessages({ | ||
11 | addNewService: { | ||
12 | id: 'sidebar.addNewService', | ||
13 | defaultMessage: '!!!Add new service', | ||
14 | }, | ||
15 | }); | ||
16 | 7 | ||
17 | @observer | 8 | @observer |
18 | class TabBarSortableList extends Component { | 9 | class TabBarSortableList extends Component { |
@@ -22,29 +13,25 @@ class TabBarSortableList extends Component { | |||
22 | openSettings: PropTypes.func.isRequired, | 13 | openSettings: PropTypes.func.isRequired, |
23 | reload: PropTypes.func.isRequired, | 14 | reload: PropTypes.func.isRequired, |
24 | toggleNotifications: PropTypes.func.isRequired, | 15 | toggleNotifications: PropTypes.func.isRequired, |
16 | toggleAudio: PropTypes.func.isRequired, | ||
25 | deleteService: PropTypes.func.isRequired, | 17 | deleteService: PropTypes.func.isRequired, |
26 | disableService: PropTypes.func.isRequired, | 18 | disableService: PropTypes.func.isRequired, |
27 | enableService: PropTypes.func.isRequired, | 19 | enableService: PropTypes.func.isRequired, |
28 | } | 20 | } |
29 | 21 | ||
30 | static contextTypes = { | ||
31 | intl: intlShape, | ||
32 | }; | ||
33 | |||
34 | render() { | 22 | render() { |
35 | const { | 23 | const { |
36 | services, | 24 | services, |
37 | setActive, | 25 | setActive, |
38 | reload, | 26 | reload, |
39 | toggleNotifications, | 27 | toggleNotifications, |
28 | toggleAudio, | ||
40 | deleteService, | 29 | deleteService, |
41 | disableService, | 30 | disableService, |
42 | enableService, | 31 | enableService, |
43 | openSettings, | 32 | openSettings, |
44 | } = this.props; | 33 | } = this.props; |
45 | 34 | ||
46 | const { intl } = this.context; | ||
47 | |||
48 | return ( | 35 | return ( |
49 | <ul | 36 | <ul |
50 | className="tabs" | 37 | className="tabs" |
@@ -58,13 +45,14 @@ class TabBarSortableList extends Component { | |||
58 | shortcutIndex={index + 1} | 45 | shortcutIndex={index + 1} |
59 | reload={() => reload({ serviceId: service.id })} | 46 | reload={() => reload({ serviceId: service.id })} |
60 | toggleNotifications={() => toggleNotifications({ serviceId: service.id })} | 47 | toggleNotifications={() => toggleNotifications({ serviceId: service.id })} |
48 | toggleAudio={() => toggleAudio({ serviceId: service.id })} | ||
61 | deleteService={() => deleteService({ serviceId: service.id })} | 49 | deleteService={() => deleteService({ serviceId: service.id })} |
62 | disableService={() => disableService({ serviceId: service.id })} | 50 | disableService={() => disableService({ serviceId: service.id })} |
63 | enableService={() => enableService({ serviceId: service.id })} | 51 | enableService={() => enableService({ serviceId: service.id })} |
64 | openSettings={openSettings} | 52 | openSettings={openSettings} |
65 | /> | 53 | /> |
66 | ))} | 54 | ))} |
67 | <li> | 55 | {/* <li> |
68 | <button | 56 | <button |
69 | className="sidebar__add-service" | 57 | className="sidebar__add-service" |
70 | onClick={() => openSettings({ path: 'recipes' })} | 58 | onClick={() => openSettings({ path: 'recipes' })} |
@@ -72,7 +60,7 @@ class TabBarSortableList extends Component { | |||
72 | > | 60 | > |
73 | <span className="mdi mdi-plus" /> | 61 | <span className="mdi mdi-plus" /> |
74 | </button> | 62 | </button> |
75 | </li> | 63 | </li> */} |
76 | </ul> | 64 | </ul> |
77 | ); | 65 | ); |
78 | } | 66 | } |
diff --git a/src/components/services/tabs/TabItem.js b/src/components/services/tabs/TabItem.js index 638e17d95..4a37bad57 100644 --- a/src/components/services/tabs/TabItem.js +++ b/src/components/services/tabs/TabItem.js | |||
@@ -28,6 +28,14 @@ const messages = defineMessages({ | |||
28 | id: 'tabs.item.enableNotification', | 28 | id: 'tabs.item.enableNotification', |
29 | defaultMessage: '!!!Enable notifications', | 29 | defaultMessage: '!!!Enable notifications', |
30 | }, | 30 | }, |
31 | disableAudio: { | ||
32 | id: 'tabs.item.disableAudio', | ||
33 | defaultMessage: '!!!Disable audio', | ||
34 | }, | ||
35 | enableAudio: { | ||
36 | id: 'tabs.item.enableAudio', | ||
37 | defaultMessage: '!!!Enable audio', | ||
38 | }, | ||
31 | disableService: { | 39 | disableService: { |
32 | id: 'tabs.item.disableService', | 40 | id: 'tabs.item.disableService', |
33 | defaultMessage: '!!!Disable Service', | 41 | defaultMessage: '!!!Disable Service', |
@@ -50,6 +58,7 @@ class TabItem extends Component { | |||
50 | shortcutIndex: PropTypes.number.isRequired, | 58 | shortcutIndex: PropTypes.number.isRequired, |
51 | reload: PropTypes.func.isRequired, | 59 | reload: PropTypes.func.isRequired, |
52 | toggleNotifications: PropTypes.func.isRequired, | 60 | toggleNotifications: PropTypes.func.isRequired, |
61 | toggleAudio: PropTypes.func.isRequired, | ||
53 | openSettings: PropTypes.func.isRequired, | 62 | openSettings: PropTypes.func.isRequired, |
54 | deleteService: PropTypes.func.isRequired, | 63 | deleteService: PropTypes.func.isRequired, |
55 | disableService: PropTypes.func.isRequired, | 64 | disableService: PropTypes.func.isRequired, |
@@ -67,6 +76,7 @@ class TabItem extends Component { | |||
67 | shortcutIndex, | 76 | shortcutIndex, |
68 | reload, | 77 | reload, |
69 | toggleNotifications, | 78 | toggleNotifications, |
79 | toggleAudio, | ||
70 | deleteService, | 80 | deleteService, |
71 | disableService, | 81 | disableService, |
72 | enableService, | 82 | enableService, |
@@ -96,8 +106,13 @@ class TabItem extends Component { | |||
96 | : intl.formatMessage(messages.enableNotifications), | 106 | : intl.formatMessage(messages.enableNotifications), |
97 | click: () => toggleNotifications(), | 107 | click: () => toggleNotifications(), |
98 | }, { | 108 | }, { |
99 | label: intl.formatMessage(service.isEnabled ? messages.disableService : messages.enableService), | 109 | label: service.isMuted |
100 | click: () => (service.isEnabled ? disableService() : enableService()), | 110 | ? intl.formatMessage(messages.enableAudio) |
111 | : intl.formatMessage(messages.disableAudio), | ||
112 | click: () => toggleAudio(), | ||
113 | }, { | ||
114 | label: intl.formatMessage(messages.disableService), | ||
115 | click: () => disableService(), | ||
101 | }, { | 116 | }, { |
102 | type: 'separator', | 117 | type: 'separator', |
103 | }, { | 118 | }, { |
diff --git a/src/components/services/tabs/Tabbar.js b/src/components/services/tabs/Tabbar.js index 5f63aed16..fd4325107 100644 --- a/src/components/services/tabs/Tabbar.js +++ b/src/components/services/tabs/Tabbar.js | |||
@@ -15,6 +15,7 @@ export default class TabBar extends Component { | |||
15 | reorder: PropTypes.func.isRequired, | 15 | reorder: PropTypes.func.isRequired, |
16 | reload: PropTypes.func.isRequired, | 16 | reload: PropTypes.func.isRequired, |
17 | toggleNotifications: PropTypes.func.isRequired, | 17 | toggleNotifications: PropTypes.func.isRequired, |
18 | toggleAudio: PropTypes.func.isRequired, | ||
18 | deleteService: PropTypes.func.isRequired, | 19 | deleteService: PropTypes.func.isRequired, |
19 | updateService: PropTypes.func.isRequired, | 20 | updateService: PropTypes.func.isRequired, |
20 | } | 21 | } |
@@ -59,6 +60,7 @@ export default class TabBar extends Component { | |||
59 | disableToolTip, | 60 | disableToolTip, |
60 | reload, | 61 | reload, |
61 | toggleNotifications, | 62 | toggleNotifications, |
63 | toggleAudio, | ||
62 | deleteService, | 64 | deleteService, |
63 | } = this.props; | 65 | } = this.props; |
64 | 66 | ||
@@ -71,6 +73,7 @@ export default class TabBar extends Component { | |||
71 | onSortStart={disableToolTip} | 73 | onSortStart={disableToolTip} |
72 | reload={reload} | 74 | reload={reload} |
73 | toggleNotifications={toggleNotifications} | 75 | toggleNotifications={toggleNotifications} |
76 | toggleAudio={toggleAudio} | ||
74 | deleteService={deleteService} | 77 | deleteService={deleteService} |
75 | disableService={args => this.disableService(args)} | 78 | disableService={args => this.disableService(args)} |
76 | enableService={args => this.enableService(args)} | 79 | enableService={args => this.enableService(args)} |