@inboxsdk/core 1.0.4 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/inboxsdk.js +31 -171
- package/inboxsdk.js.map +1 -1
- package/package.json +1 -1
- package/pageWorld.js +3 -47
- package/pageWorld.js.map +1 -1
- package/src/common/load-script.d.ts.map +1 -1
- package/src/common/load-script.js +0 -1
- package/src/common/log-error.d.ts.map +1 -1
- package/src/common/log-error.js +0 -6
- package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.d.ts +3 -0
- package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.d.ts.map +1 -0
- package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +3 -8
- package/src/inboxsdk-js/inboxsdk-NONREMOTE.d.ts +3 -0
- package/src/inboxsdk-js/inboxsdk-NONREMOTE.d.ts.map +1 -0
- package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +4 -6
- package/src/inboxsdk-js/inboxsdk-REMOTE.d.ts +3 -0
- package/src/inboxsdk-js/inboxsdk-REMOTE.d.ts.map +1 -0
- package/src/inboxsdk-js/inboxsdk-REMOTE.js +2 -5
- package/src/inboxsdk-js/inboxsdk-TEST.d.ts +3 -0
- package/src/inboxsdk-js/inboxsdk-TEST.d.ts.map +1 -0
- package/src/inboxsdk-js/inboxsdk-TEST.js +5 -6
- package/src/inboxsdk-js/inboxsdk.d.ts +8 -0
- package/src/inboxsdk-js/inboxsdk.d.ts.map +1 -0
- package/src/inboxsdk-js/inboxsdk.js +22 -32
- package/src/inboxsdk-js/loading/load-platform-implementation-DEV.d.ts +2 -0
- package/src/inboxsdk-js/loading/load-platform-implementation-DEV.d.ts.map +1 -0
- package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +14 -16
- package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts +1 -1
- package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts.map +1 -1
- package/src/injected-js/gmail/modify-suggestions.test.js +2 -2
- package/src/injected-js/gmail/setup-gmail-interceptor.js +7 -14
- package/src/injected-js/injected-logger.js +1 -1
- package/src/injected-js/setup-error-silencer.js +1 -2
- package/src/injected-js/xhr-proxy-factory.js +0 -3
- package/src/injected-js/xhr-proxy-factory.test.js +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +6 -16
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -3
- package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -1
- package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +2 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +3 -5
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +11 -2
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +41 -40
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +1 -2
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +3 -4
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +13 -14
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +1 -2
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +2 -2
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +3 -5
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +8 -9
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +28 -31
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +4 -5
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +2 -4
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +4 -8
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +11 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +10 -11
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +5 -6
- package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +3 -4
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +2 -3
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +2 -3
- package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +21 -30
- package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +1 -1
- package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +2 -3
- package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +1 -2
- package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +1 -2
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +4 -8
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +5 -6
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +1 -2
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +4 -5
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +1 -8
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +2 -3
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +8 -9
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +7 -8
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +2 -3
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +5 -6
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +2 -3
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +2 -5
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +1 -2
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +2 -3
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +5 -6
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +4 -6
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +1 -2
- package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +12 -14
- package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +3 -6
- package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +4 -5
- package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -1
- package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -1
- package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -1
- package/src/platform-implementation-js/lib/idMap.d.ts +1 -2
- package/src/platform-implementation-js/lib/idMap.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/idMap.js +4 -44
- package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +3 -4
- package/src/platform-implementation-js/lib/logger.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/logger.js +0 -2
- package/src/platform-implementation-js/lib/react/ElementContainer.js +3 -7
- package/src/platform-implementation-js/lib/waitForAsync.js +0 -1
- package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.d.ts +3 -0
- package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.d.ts.map +1 -0
- package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +5 -9
- package/src/platform-implementation-js/main.d.ts +5 -0
- package/src/platform-implementation-js/main.d.ts.map +1 -0
- package/src/platform-implementation-js/main.js +38 -61
- package/src/platform-implementation-js/namespaces/conversations.js +2 -3
- package/src/platform-implementation-js/namespaces/keyboard.js +0 -1
- package/src/platform-implementation-js/namespaces/lists.js +1 -2
- package/src/platform-implementation-js/namespaces/nav-menu.js +2 -3
- package/src/platform-implementation-js/namespaces/router.js +3 -4
- package/src/platform-implementation-js/namespaces/toolbars.js +1 -2
- package/src/platform-implementation-js/platform-implementation.js +0 -3
- package/src/platform-implementation-js/views/app-menu-item-view.js +2 -1
- package/src/platform-implementation-js/views/collapsible-panel-view.js +2 -1
- package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/compose-view.js +0 -1
- package/src/platform-implementation-js/views/content-panel-view.js +1 -2
- package/src/platform-implementation-js/views/conversations/custom-message-view.js +3 -4
- package/src/platform-implementation-js/views/conversations/message-view.js +1 -2
- package/src/platform-implementation-js/views/conversations/thread-view.js +1 -2
- package/src/platform-implementation-js/views/nav-item-view.js +1 -2
- package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +2 -3
- package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts.map +1 -1
- package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -1
- package/src/platform-implementation-js/widgets/drawer-view.js +1 -2
- package/src/platform-implementation-js/widgets/modal-view.js +1 -2
- package/src/platform-implementation-js/widgets/mole-view.js +1 -2
- package/src/platform-implementation-js/dom-driver/gmail/custom-style.d.ts +0 -2
- package/src/platform-implementation-js/dom-driver/gmail/custom-style.d.ts.map +0 -1
- package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +0 -17
- package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +0 -23
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +0 -31
- package/src/platform-implementation-js/lib/rewriteCssWithIdMap.d.ts +0 -2
- package/src/platform-implementation-js/lib/rewriteCssWithIdMap.d.ts.map +0 -1
- package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +0 -4
- package/src/platform-implementation-js/lib/shared-style.js +0 -23
- package/src/types/gulp-add-src.d.ts +0 -7
- package/src/types/jest-puppeteer.d.ts +0 -11
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _idMap = _interopRequireDefault(require("../../../../lib/idMap"));
|
|
4
5
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
5
6
|
var _kefir = _interopRequireDefault(require("kefir"));
|
|
6
7
|
var _kefirBus = _interopRequireDefault(require("kefir-bus"));
|
|
7
8
|
var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
|
|
8
9
|
var _pdelay = _interopRequireDefault(require("pdelay"));
|
|
9
10
|
var _fs = _interopRequireDefault(require("fs"));
|
|
10
|
-
var _idMap = _interopRequireDefault(require("../../../../lib/idMap"));
|
|
11
11
|
var _index = _interopRequireDefault(require("./index"));
|
|
12
12
|
var _ContentPanelViewDriver = _interopRequireDefault(require("../../../../driver-common/sidebar/ContentPanelViewDriver"));
|
|
13
13
|
var _mockWebstorage = _interopRequireDefault(require("mock-webstorage"));
|
|
14
|
+
jest.mock('../../../../lib/idMap', () => {
|
|
15
|
+
function idMap(key) {
|
|
16
|
+
const legacyMapping = {
|
|
17
|
+
app_sidebar_content_panel: 'bccbBAHIcfEeHCHf'
|
|
18
|
+
};
|
|
19
|
+
return legacyMapping[key];
|
|
20
|
+
}
|
|
21
|
+
return idMap;
|
|
22
|
+
});
|
|
14
23
|
jest.mock('../../../../lib/dom/make-element-child-stream', () => {
|
|
15
24
|
return () => require('kefir-bus')();
|
|
16
25
|
});
|
|
@@ -79,7 +88,7 @@ function makeDriver(appId, opts) {
|
|
|
79
88
|
return {
|
|
80
89
|
eventSdkPassive() {},
|
|
81
90
|
error(err, details) {
|
|
82
|
-
console.error('logger.error called:', err, details);
|
|
91
|
+
console.error('logger.error called:', err, details);
|
|
83
92
|
throw err;
|
|
84
93
|
}
|
|
85
94
|
};
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _find = _interopRequireDefault(require("lodash/find"));
|
|
10
9
|
var _findIndex = _interopRequireDefault(require("lodash/findIndex"));
|
|
11
10
|
var _ud = require("ud");
|
|
@@ -37,49 +36,47 @@ const COMPANION_SIDEBAR_CONTENT_CLOSED_SHADOW_CLASS = 'brC-brG-btc';
|
|
|
37
36
|
// instances (including from other extensions) communicate with this Primary
|
|
38
37
|
// through DOM events.
|
|
39
38
|
class GmailAppSidebarPrimary {
|
|
39
|
+
_stopper = (0, _kefirStopper.default)();
|
|
40
|
+
|
|
41
|
+
// There could be multiple InboxSDK instances (and therefore GmailDrivers)
|
|
42
|
+
// talking to this Primary, so we shouldn't privilege the specific GmailDriver
|
|
43
|
+
// that happened to create the Primary. Only use this GmailDriver for
|
|
44
|
+
// logging-related functionality!
|
|
45
|
+
|
|
40
46
|
// This Primary has an identifier used by the DOM events to specify they're
|
|
41
47
|
// talking to this Primary. This leaves us some room for having multiple
|
|
42
48
|
// Primary instances (representing different visual locations in Gmail) or
|
|
43
49
|
// multiple classes that make use of the same DOM events, but we don't make
|
|
44
50
|
// use of that now. Mainly I didn't want to risk baking in the singleton
|
|
45
51
|
// nature too deeply; that always seems to bite me.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return JSON.parse(global.localStorage.getItem('inboxsdk__sidebar_ordering') || 'null');
|
|
63
|
-
} catch (err) {
|
|
64
|
-
console.error('failed to read sidebar order data', err); //eslint-disable-line no-console
|
|
65
|
-
}
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
set(data) {
|
|
69
|
-
try {
|
|
70
|
-
global.localStorage.setItem('inboxsdk__sidebar_ordering', JSON.stringify(data));
|
|
71
|
-
} catch (err) {
|
|
72
|
-
console.error('failed to set sidebar order data', err); //eslint-disable-line no-console
|
|
73
|
-
}
|
|
52
|
+
_instanceId = `${Date.now()}-${Math.random()}`;
|
|
53
|
+
_instanceIdsToDescriptors = new Map();
|
|
54
|
+
_threadSidebarComponent = null;
|
|
55
|
+
_threadIconArea = null;
|
|
56
|
+
_globalIconArea = null;
|
|
57
|
+
_globalButtonContainers = new Map();
|
|
58
|
+
_threadButtonContainers = new Map();
|
|
59
|
+
_contentContainers = new Map();
|
|
60
|
+
_threadSidebarContainerEl = null;
|
|
61
|
+
_currentIds = new Set();
|
|
62
|
+
_orderManager = new _orderManager.default({
|
|
63
|
+
get() {
|
|
64
|
+
try {
|
|
65
|
+
return JSON.parse(global.localStorage.getItem('inboxsdk__sidebar_ordering') || 'null');
|
|
66
|
+
} catch (err) {
|
|
67
|
+
console.error('failed to read sidebar order data', err);
|
|
74
68
|
}
|
|
75
|
-
}
|
|
76
|
-
(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
69
|
+
},
|
|
70
|
+
set(data) {
|
|
71
|
+
try {
|
|
72
|
+
global.localStorage.setItem('inboxsdk__sidebar_ordering', JSON.stringify(data));
|
|
73
|
+
} catch (err) {
|
|
74
|
+
console.error('failed to set sidebar order data', err);
|
|
80
75
|
}
|
|
81
|
-
}
|
|
82
|
-
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
_updateHighlightedAppThreadIconBus = (0, _kefirBus.default)();
|
|
79
|
+
constructor(driver, companionSidebarContentContainerElement) {
|
|
83
80
|
this._driver = driver;
|
|
84
81
|
this._companionSidebarContentContainerEl = companionSidebarContentContainerElement;
|
|
85
82
|
this._setupElement();
|
|
@@ -105,10 +102,9 @@ class GmailAppSidebarPrimary {
|
|
|
105
102
|
try {
|
|
106
103
|
global.localStorage.setItem('inboxsdk__global_app_sidebar_should_open', String(open));
|
|
107
104
|
} catch (err) {
|
|
108
|
-
console.error('error saving', err);
|
|
105
|
+
console.error('error saving', err);
|
|
109
106
|
}
|
|
110
107
|
}
|
|
111
|
-
|
|
112
108
|
_getShouldThreadAppSidebarOpen() {
|
|
113
109
|
return global.localStorage.getItem('inboxsdk__thread_app_sidebar_should_open') !== 'false';
|
|
114
110
|
}
|
|
@@ -116,10 +112,9 @@ class GmailAppSidebarPrimary {
|
|
|
116
112
|
try {
|
|
117
113
|
global.localStorage.setItem('inboxsdk__thread_app_sidebar_should_open', String(open));
|
|
118
114
|
} catch (err) {
|
|
119
|
-
console.error('error saving', err);
|
|
115
|
+
console.error('error saving', err);
|
|
120
116
|
}
|
|
121
117
|
}
|
|
122
|
-
|
|
123
118
|
_createThreadSidebarIfNeeded() {
|
|
124
119
|
if (this._threadSidebarContainerEl) return this._threadSidebarContainerEl;
|
|
125
120
|
const threadSidebarContainerEl = this._threadSidebarContainerEl = document.createElement('div');
|
|
@@ -194,6 +189,11 @@ class GmailAppSidebarPrimary {
|
|
|
194
189
|
}
|
|
195
190
|
this._renderThreadSidebar();
|
|
196
191
|
}
|
|
192
|
+
_appSidebarRefSetter = threadSidebarComponent => {
|
|
193
|
+
if (threadSidebarComponent) {
|
|
194
|
+
this._threadSidebarComponent = threadSidebarComponent;
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
197
|
_renderThreadSidebar() {
|
|
198
198
|
const threadSidebarContainerEl = this._threadSidebarContainerEl;
|
|
199
199
|
if (!threadSidebarContainerEl) {
|
|
@@ -230,6 +230,7 @@ class GmailAppSidebarPrimary {
|
|
|
230
230
|
}
|
|
231
231
|
return activeButtonContainer;
|
|
232
232
|
}
|
|
233
|
+
_closeButton = null;
|
|
233
234
|
_addButton(iconArea, event, isGlobal) {
|
|
234
235
|
var _this = this;
|
|
235
236
|
// we put adding the content panel icon in the iconArea in an asap so that we
|
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
|
|
10
9
|
var _censorHTMLtree = _interopRequireDefault(require("../../../../common/censorHTMLtree"));
|
|
11
10
|
var _kefir = _interopRequireDefault(require("kefir"));
|
|
@@ -16,8 +15,8 @@ var _gmailTooltipView = _interopRequireDefault(require("../widgets/gmail-tooltip
|
|
|
16
15
|
var _dropdownView = _interopRequireDefault(require("../../../widgets/buttons/dropdown-view"));
|
|
17
16
|
var _monitorTopBannerSizeAndReact = _interopRequireDefault(require("./gmail-app-toolbar-button-view/monitor-top-banner-size-and-react"));
|
|
18
17
|
class GmailAppToolbarButtonView {
|
|
18
|
+
_element = null;
|
|
19
19
|
constructor(driver, inButtonDescriptor) {
|
|
20
|
-
(0, _defineProperty2.default)(this, "_element", null);
|
|
21
20
|
this._driver = driver;
|
|
22
21
|
this._stopper = (0, _kefirStopper.default)();
|
|
23
22
|
this._iconSettings = {};
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _find = _interopRequireDefault(require("lodash/find"));
|
|
10
9
|
var _kefir = _interopRequireDefault(require("kefir"));
|
|
11
10
|
var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
|
|
@@ -20,9 +19,9 @@ var _simulateMouseEvent = require("../../../lib/dom/simulate-mouse-event");
|
|
|
20
19
|
var _waitFor = _interopRequireDefault(require("../../../lib/wait-for"));
|
|
21
20
|
var _streamWaitFor = _interopRequireDefault(require("../../../lib/stream-wait-for"));
|
|
22
21
|
class GmailAttachmentCardView {
|
|
22
|
+
_stopper = (0, _kefirStopper.default)();
|
|
23
|
+
_previewClicks = _kefir.default.pool();
|
|
23
24
|
constructor(options, driver, messageViewDriver) {
|
|
24
|
-
(0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
|
|
25
|
-
(0, _defineProperty2.default)(this, "_previewClicks", _kefir.default.pool());
|
|
26
25
|
this._driver = driver;
|
|
27
26
|
this._messageViewDriver = messageViewDriver;
|
|
28
27
|
if (options.element) {
|
|
@@ -124,7 +123,7 @@ class GmailAttachmentCardView {
|
|
|
124
123
|
if (!downloadUrl) return null;
|
|
125
124
|
const finalUrl = await this._driver.resolveUrlRedirects(downloadUrl);
|
|
126
125
|
if (!/^https:\/\/mail-attachment\.googleusercontent\.com\/attachment\//.test(finalUrl)) {
|
|
127
|
-
console.error('getDownloadURL returned unexpected url', finalUrl);
|
|
126
|
+
console.error('getDownloadURL returned unexpected url', finalUrl);
|
|
128
127
|
const err = new Error('getDownloadURL returned unexpected url');
|
|
129
128
|
this._driver.getLogger().error(err, {
|
|
130
129
|
finalUrlCensored: finalUrl.replace(/\?[^/]+$/, '?[...]')
|
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _ud = require("ud");
|
|
10
9
|
var _escape = _interopRequireDefault(require("lodash/escape"));
|
|
11
10
|
var _kefir = _interopRequireDefault(require("kefir"));
|
|
@@ -17,20 +16,20 @@ var _inboxDropdownButtonView = _interopRequireDefault(require("../widgets/button
|
|
|
17
16
|
var _gmailDropdownView = _interopRequireDefault(require("../widgets/gmail-dropdown-view"));
|
|
18
17
|
var _dropdownButtonViewController = _interopRequireDefault(require("../../../widgets/buttons/dropdown-button-view-controller"));
|
|
19
18
|
class GmailCollapsibleSectionView {
|
|
19
|
+
_collapsibleSectionDescriptor = {};
|
|
20
|
+
_element = null;
|
|
21
|
+
_headerElement = null;
|
|
22
|
+
_titleElement = null;
|
|
23
|
+
_bodyElement = null;
|
|
24
|
+
_contentElement = null;
|
|
25
|
+
_tableBodyElement = null;
|
|
26
|
+
_collapsedContainer = null;
|
|
27
|
+
_messageElement = null;
|
|
28
|
+
_footerElement = null;
|
|
29
|
+
_isCollapsed = false;
|
|
30
|
+
_inboxDropdownButtonView = null;
|
|
31
|
+
_dropdownViewController = null;
|
|
20
32
|
constructor(driver, groupOrderHint, isSearch, isCollapsible) {
|
|
21
|
-
(0, _defineProperty2.default)(this, "_collapsibleSectionDescriptor", {});
|
|
22
|
-
(0, _defineProperty2.default)(this, "_element", null);
|
|
23
|
-
(0, _defineProperty2.default)(this, "_headerElement", null);
|
|
24
|
-
(0, _defineProperty2.default)(this, "_titleElement", null);
|
|
25
|
-
(0, _defineProperty2.default)(this, "_bodyElement", null);
|
|
26
|
-
(0, _defineProperty2.default)(this, "_contentElement", null);
|
|
27
|
-
(0, _defineProperty2.default)(this, "_tableBodyElement", null);
|
|
28
|
-
(0, _defineProperty2.default)(this, "_collapsedContainer", null);
|
|
29
|
-
(0, _defineProperty2.default)(this, "_messageElement", null);
|
|
30
|
-
(0, _defineProperty2.default)(this, "_footerElement", null);
|
|
31
|
-
(0, _defineProperty2.default)(this, "_isCollapsed", false);
|
|
32
|
-
(0, _defineProperty2.default)(this, "_inboxDropdownButtonView", null);
|
|
33
|
-
(0, _defineProperty2.default)(this, "_dropdownViewController", null);
|
|
34
33
|
this._driver = driver;
|
|
35
34
|
this._isSearch = isSearch;
|
|
36
35
|
this._groupOrderHint = groupOrderHint;
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = addComposeNotice;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _kefir = _interopRequireDefault(require("kefir"));
|
|
10
9
|
var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
|
|
11
10
|
var _insertElementInOrder = _interopRequireDefault(require("../../../../lib/dom/insert-element-in-order"));
|
|
@@ -24,12 +23,12 @@ function addComposeNotice(gmailComposeView, options) {
|
|
|
24
23
|
return composeNotice;
|
|
25
24
|
}
|
|
26
25
|
class ComposeNotice extends _SimpleElementView.default {
|
|
26
|
+
_stopper = (0, _kefirStopper.default)();
|
|
27
27
|
constructor(gmailComposeView, orderHint) {
|
|
28
28
|
let el = document.createElement('div');
|
|
29
29
|
el.style.fontFamily = 'Roboto,RobotoDraft,Helvetica,Arial,sans-serif';
|
|
30
30
|
el.style.fontSize = '14px';
|
|
31
31
|
super(el);
|
|
32
|
-
(0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
|
|
33
32
|
this._gmailComposeView = gmailComposeView;
|
|
34
33
|
this._orderHint = orderHint;
|
|
35
34
|
el.className = 'inboxsdk__compose_notice';
|
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js
CHANGED
|
@@ -82,7 +82,7 @@ function sizeFixer(driver, gmailComposeView) {
|
|
|
82
82
|
* but recalculate them based on actual height of an inner child
|
|
83
83
|
*/
|
|
84
84
|
const scrollBodyInner = scrollBody.querySelector('.qz');
|
|
85
|
-
const height =
|
|
85
|
+
const height = scrollBodyInner?.offsetHeight || scrollBody.offsetHeight;
|
|
86
86
|
const maxHeight = parseInt(scrollBody.style.getPropertyValue('max-height'), 10);
|
|
87
87
|
const isFullScreen = gmailComposeView.isFullscreen();
|
|
88
88
|
const newMaxHeight = maxHeight - unexpectedHeight;
|
|
@@ -99,7 +99,7 @@ function sizeFixer(driver, gmailComposeView) {
|
|
|
99
99
|
|
|
100
100
|
// NOTE: max-height and min-height in full screen are same
|
|
101
101
|
scrollBodyCssRules.push(`min-height: ${newMaxHeight}px !important;`);
|
|
102
|
-
const maybeBodyMinHeight = parseInt(maybeBody
|
|
102
|
+
const maybeBodyMinHeight = parseInt(maybeBody?.style.minHeight, 10) || maxHeight;
|
|
103
103
|
const maybeBodyNewMinHeight = maybeBodyMinHeight - unexpectedHeight;
|
|
104
104
|
maybeBodyCssRules = `min-height: ${maybeBodyNewMinHeight}px !important;`;
|
|
105
105
|
}
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _autoHtml = _interopRequireDefault(require("auto-html"));
|
|
10
9
|
var _transducers = _interopRequireDefault(require("transducers.js"));
|
|
11
10
|
var _once = _interopRequireDefault(require("lodash/once"));
|
|
@@ -75,10 +74,10 @@ let hasReportedMissingBody = false;
|
|
|
75
74
|
class GmailComposeView {
|
|
76
75
|
// Set only after the message is sent.
|
|
77
76
|
|
|
77
|
+
_closedProgrammatically = false;
|
|
78
|
+
_destroyed = false;
|
|
79
|
+
_hasSetupLinkPopOvers = false;
|
|
78
80
|
constructor(element, xhrInterceptorStream, driver, options) {
|
|
79
|
-
(0, _defineProperty2.default)(this, "_closedProgrammatically", false);
|
|
80
|
-
(0, _defineProperty2.default)(this, "_destroyed", false);
|
|
81
|
-
(0, _defineProperty2.default)(this, "_hasSetupLinkPopOvers", false);
|
|
82
81
|
this;
|
|
83
82
|
this._element = element;
|
|
84
83
|
this._element.classList.add('inboxsdk__compose');
|
|
@@ -718,7 +717,6 @@ class GmailComposeView {
|
|
|
718
717
|
}
|
|
719
718
|
close() {
|
|
720
719
|
if (this.isInlineReplyForm()) {
|
|
721
|
-
// eslint-disable-next-line no-console
|
|
722
720
|
console.warn("Trying to close an inline reply which doesn't work.");
|
|
723
721
|
return;
|
|
724
722
|
}
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
|
|
10
9
|
var _once = _interopRequireDefault(require("lodash/once"));
|
|
11
10
|
var _autoHtml = _interopRequireDefault(require("auto-html"));
|
|
@@ -30,14 +29,14 @@ var _findParent = _interopRequireDefault(require("../../../../common/find-parent
|
|
|
30
29
|
var _reemitClickEventForReact = _interopRequireDefault(require("../../../lib/dom/reemitClickEventForReact"));
|
|
31
30
|
let hasSeenOldElement = false;
|
|
32
31
|
class GmailMessageView {
|
|
32
|
+
_eventStream = (0, _kefirBus.default)();
|
|
33
|
+
_stopper = (0, _kefirStopper.default)();
|
|
34
|
+
_messageLoaded = false;
|
|
35
|
+
_sender = null;
|
|
36
|
+
_recipients = null;
|
|
37
|
+
_recipientEmailAddresses = null;
|
|
38
|
+
_recipientsFull = null;
|
|
33
39
|
constructor(element, gmailThreadView, driver) {
|
|
34
|
-
(0, _defineProperty2.default)(this, "_eventStream", (0, _kefirBus.default)());
|
|
35
|
-
(0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
|
|
36
|
-
(0, _defineProperty2.default)(this, "_messageLoaded", false);
|
|
37
|
-
(0, _defineProperty2.default)(this, "_sender", null);
|
|
38
|
-
(0, _defineProperty2.default)(this, "_recipients", null);
|
|
39
|
-
(0, _defineProperty2.default)(this, "_recipientEmailAddresses", null);
|
|
40
|
-
(0, _defineProperty2.default)(this, "_recipientsFull", null);
|
|
41
40
|
this._element = element;
|
|
42
41
|
this._threadViewDriver = gmailThreadView;
|
|
43
42
|
this._driver = driver;
|
|
@@ -354,7 +353,7 @@ class GmailMessageView {
|
|
|
354
353
|
addAttachmentIcon(iconDescriptor) {
|
|
355
354
|
const attachmentIcon = new _attachmentIcon.default();
|
|
356
355
|
if (!this._element) {
|
|
357
|
-
console.warn('addDateIcon called on destroyed message');
|
|
356
|
+
console.warn('addDateIcon called on destroyed message');
|
|
358
357
|
return attachmentIcon;
|
|
359
358
|
}
|
|
360
359
|
this._element.setAttribute('inboxsdk__message_added_attachment_icon', 'true');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gmail-nav-item-view.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gmail-nav-item-view.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.ts"],"names":[],"mappings":"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"}
|
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _includes = _interopRequireDefault(require("lodash/includes"));
|
|
10
9
|
var _last = _interopRequireDefault(require("lodash/last"));
|
|
11
10
|
var _once = _interopRequireDefault(require("lodash/once"));
|
|
@@ -26,44 +25,21 @@ var _gmailElementGetter = _interopRequireDefault(require("../../gmail-element-ge
|
|
|
26
25
|
var _simulateMouseEvent = require("../../../../lib/dom/simulate-mouse-event");
|
|
27
26
|
var _querySelectorOrFail = _interopRequireDefault(require("../../../../lib/dom/querySelectorOrFail"));
|
|
28
27
|
class GmailRouteView {
|
|
28
|
+
_stopper = (0, _kefirStopper.default)();
|
|
29
29
|
constructor(_ref, gmailRouteProcessor, driver) {
|
|
30
30
|
let {
|
|
31
31
|
urlObject,
|
|
32
32
|
type,
|
|
33
|
-
routeID
|
|
33
|
+
routeID,
|
|
34
34
|
cachedRouteData
|
|
35
35
|
} = _ref;
|
|
36
|
-
(0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
|
|
37
|
-
(0, _defineProperty2.default)(this, "getParams", (0, _once.default)(() => {
|
|
38
|
-
let params;
|
|
39
|
-
if (this._customRouteID) {
|
|
40
|
-
params = this._getCustomParams();
|
|
41
|
-
} else {
|
|
42
|
-
params = this._getNativeParams();
|
|
43
|
-
const routeID = this.getRouteID();
|
|
44
|
-
if (routeID) {
|
|
45
|
-
const routeIDParams = this._extractParamKeysFromRouteID(routeID);
|
|
46
|
-
const routeParams = {};
|
|
47
|
-
routeIDParams.forEach(function (param) {
|
|
48
|
-
if (params[param]) {
|
|
49
|
-
routeParams[param] = params[param];
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
params = routeParams;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return Object.freeze(params);
|
|
56
|
-
}));
|
|
57
|
-
(0, _defineProperty2.default)(this, "_getThreadContainerElement", (0, _once.default)(() => {
|
|
58
|
-
return _gmailElementGetter.default.getThreadContainerElement();
|
|
59
|
-
}));
|
|
60
36
|
// Check we implement interface
|
|
61
37
|
this;
|
|
62
38
|
this._type = type;
|
|
63
39
|
this._hash = urlObject.hash;
|
|
64
40
|
this._name = urlObject.name;
|
|
65
41
|
this._paramsArray = urlObject.params;
|
|
66
|
-
this._customRouteID =
|
|
42
|
+
this._customRouteID = routeID;
|
|
67
43
|
this._cachedRouteData = cachedRouteData;
|
|
68
44
|
this._stopper = (0, _kefirStopper.default)();
|
|
69
45
|
this._rowListViews = [];
|
|
@@ -133,6 +109,26 @@ class GmailRouteView {
|
|
|
133
109
|
isCustomRouteBelongingToApp() {
|
|
134
110
|
return this._type === 'CUSTOM';
|
|
135
111
|
}
|
|
112
|
+
getParams = (0, _once.default)(() => {
|
|
113
|
+
let params;
|
|
114
|
+
if (this._customRouteID) {
|
|
115
|
+
params = this._getCustomParams();
|
|
116
|
+
} else {
|
|
117
|
+
params = this._getNativeParams();
|
|
118
|
+
const routeID = this.getRouteID();
|
|
119
|
+
if (routeID) {
|
|
120
|
+
const routeIDParams = this._extractParamKeysFromRouteID(routeID);
|
|
121
|
+
const routeParams = {};
|
|
122
|
+
routeIDParams.forEach(function (param) {
|
|
123
|
+
if (params[param]) {
|
|
124
|
+
routeParams[param] = params[param];
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
params = routeParams;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return Object.freeze(params);
|
|
131
|
+
});
|
|
136
132
|
addCollapsibleSection(sectionDescriptorProperty, groupOrderHint) {
|
|
137
133
|
return this._addCollapsibleSection(sectionDescriptorProperty, groupOrderHint, true);
|
|
138
134
|
}
|
|
@@ -301,15 +297,13 @@ class GmailRouteView {
|
|
|
301
297
|
return this._hash === this._gmailRouteProcessor.NativeRouteIDs.CHAT_WELCOME;
|
|
302
298
|
}
|
|
303
299
|
_isChatDmRoute() {
|
|
304
|
-
|
|
305
|
-
return this._name === 'chat' && ((_this$_paramsArray = this._paramsArray) === null || _this$_paramsArray === void 0 ? void 0 : _this$_paramsArray[0]) === 'dm' && !!((_this$_paramsArray2 = this._paramsArray) !== null && _this$_paramsArray2 !== void 0 && _this$_paramsArray2[1]);
|
|
300
|
+
return this._name === 'chat' && this._paramsArray?.[0] === 'dm' && !!this._paramsArray?.[1];
|
|
306
301
|
}
|
|
307
302
|
_isSpacesWelcomeRoute() {
|
|
308
303
|
return this._hash === this._gmailRouteProcessor.NativeRouteIDs.SPACES_WELCOME;
|
|
309
304
|
}
|
|
310
305
|
_isSpaceRoute() {
|
|
311
|
-
|
|
312
|
-
return this._name === 'chat' && ((_this$_paramsArray3 = this._paramsArray) === null || _this$_paramsArray3 === void 0 ? void 0 : _this$_paramsArray3[0]) === 'space' && !!((_this$_paramsArray4 = this._paramsArray) !== null && _this$_paramsArray4 !== void 0 && _this$_paramsArray4[1]);
|
|
306
|
+
return this._name === 'chat' && this._paramsArray?.[0] === 'space' && !!this._paramsArray?.[1];
|
|
313
307
|
}
|
|
314
308
|
_isMeetRoute() {
|
|
315
309
|
return this._hash === this._gmailRouteProcessor.NativeRouteIDs.MEET;
|
|
@@ -441,6 +435,9 @@ class GmailRouteView {
|
|
|
441
435
|
_extractParamKeysFromRouteID(routeID) {
|
|
442
436
|
return routeID.split('/').filter(part => part[0] === ':').map(part => part.substring(1));
|
|
443
437
|
}
|
|
438
|
+
_getThreadContainerElement = (0, _once.default)(() => {
|
|
439
|
+
return _gmailElementGetter.default.getThreadContainerElement();
|
|
440
|
+
});
|
|
444
441
|
}
|
|
445
442
|
var _default = (0, _ud.defn)(module, GmailRouteView);
|
|
446
443
|
exports.default = _default;
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _ud = require("ud");
|
|
10
9
|
var _find = _interopRequireDefault(require("lodash/find"));
|
|
11
10
|
var _zip = _interopRequireDefault(require("lodash/zip"));
|
|
@@ -24,11 +23,10 @@ var _makeElementViewStream = _interopRequireDefault(require("../../../lib/dom/ma
|
|
|
24
23
|
const THREAD_ROW_SELECTED_CLASSNAME = 'x7';
|
|
25
24
|
const THREAD_ROW_SELECTED_CLASSNAME_REGEX = /\bx7\b/;
|
|
26
25
|
class GmailRowListView {
|
|
26
|
+
_threadRowViewDrivers = new Set();
|
|
27
|
+
_elementsToViews = new Map();
|
|
28
|
+
_selectedThreadRowViews = new Set();
|
|
27
29
|
constructor(rootElement, routeViewDriver, gmailDriver) {
|
|
28
|
-
(0, _defineProperty2.default)(this, "_threadRowViewDrivers", new Set());
|
|
29
|
-
(0, _defineProperty2.default)(this, "_elementsToViews", new Map());
|
|
30
|
-
(0, _defineProperty2.default)(this, "_selectedThreadRowViews", new Set());
|
|
31
|
-
(0, _defineProperty2.default)(this, "_batchedSignalThreadRowViewSelectionChangeScheduled", false);
|
|
32
30
|
this._eventStreamBus = (0, _kefirBus.default)();
|
|
33
31
|
this._stopper = this._eventStreamBus.ignoreValues().beforeEnd(() => null);
|
|
34
32
|
this._gmailDriver = gmailDriver;
|
|
@@ -151,6 +149,7 @@ class GmailRowListView {
|
|
|
151
149
|
});
|
|
152
150
|
this._pendingExpansions.clear();
|
|
153
151
|
}
|
|
152
|
+
_batchedSignalThreadRowViewSelectionChangeScheduled = false;
|
|
154
153
|
_batchedSignalThreadRowViewSelectionChange() {
|
|
155
154
|
if (this._batchedSignalThreadRowViewSelectionChangeScheduled) {
|
|
156
155
|
return;
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
exports.removeAllThreadRowUnclaimedModifications = removeAllThreadRowUnclaimedModifications;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _once = _interopRequireDefault(require("lodash/once"));
|
|
11
10
|
var _flatten = _interopRequireDefault(require("lodash/flatten"));
|
|
12
11
|
var _includes = _interopRequireDefault(require("lodash/includes"));
|
|
@@ -29,7 +28,6 @@ var _dropdownView = _interopRequireDefault(require("../../../widgets/buttons/dro
|
|
|
29
28
|
var _gmailLabelView = _interopRequireDefault(require("../widgets/gmail-label-view"));
|
|
30
29
|
var _gmailActionButtonView = _interopRequireDefault(require("../widgets/gmail-action-button-view"));
|
|
31
30
|
var _updateIcon = _interopRequireDefault(require("../../../driver-common/update-icon"));
|
|
32
|
-
/* eslint-disable no-console */
|
|
33
31
|
const cachedModificationsByRow = (0, _ud.defonce)(module, () => new WeakMap());
|
|
34
32
|
function focusAndNoPropagation(event) {
|
|
35
33
|
this.focus();
|
|
@@ -48,9 +46,9 @@ function starGroupEventInterceptor(event) {
|
|
|
48
46
|
}
|
|
49
47
|
}
|
|
50
48
|
class GmailThreadRowView {
|
|
49
|
+
_stopper = (0, _kefirStopper.default)();
|
|
50
|
+
_isDestroyed = false;
|
|
51
51
|
constructor(element, rowListViewDriver, gmailDriver) {
|
|
52
|
-
(0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
|
|
53
|
-
(0, _defineProperty2.default)(this, "_isDestroyed", false);
|
|
54
52
|
this;
|
|
55
53
|
(0, _assert.default)(element.hasAttribute('id'), 'check element is main thread row');
|
|
56
54
|
this._isVertical = (0, _intersection.default)(Array.from(element.classList), ['zA', 'apv']).length === 2;
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _findIndex = _interopRequireDefault(require("lodash/findIndex"));
|
|
10
9
|
var _asap = _interopRequireDefault(require("asap"));
|
|
11
10
|
var _ud = require("ud");
|
|
@@ -40,8 +39,8 @@ It was a strange world, can you believe who the President of the United States w
|
|
|
40
39
|
const ADD_ON_SIDEBAR_CONTENT_SELECTOR = '.J-KU-Jz';
|
|
41
40
|
const ACTIVE_ADD_ON_ICON_SELECTOR = '.J-KU-KO';
|
|
42
41
|
class GmailAppSidebarView {
|
|
42
|
+
_stopper = (0, _kefirStopper.default)();
|
|
43
43
|
constructor(driver, sidebarContainerEl, addonSidebarElement, widthManager) {
|
|
44
|
-
(0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
|
|
45
44
|
this._driver = driver;
|
|
46
45
|
|
|
47
46
|
// We need to be able to cooperate with other apps/extensions that are
|
|
@@ -77,10 +76,9 @@ class GmailAppSidebarView {
|
|
|
77
76
|
try {
|
|
78
77
|
global.localStorage.setItem('inboxsdk__app_sidebar_should_open', String(open));
|
|
79
78
|
} catch (err) {
|
|
80
|
-
console.error('error saving', err);
|
|
79
|
+
console.error('error saving', err);
|
|
81
80
|
}
|
|
82
81
|
}
|
|
83
|
-
|
|
84
82
|
_createElement(_sidebarContainerEl, _addonSidebarContainerEl, widthManager) {
|
|
85
83
|
let container, iconArea;
|
|
86
84
|
let component;
|
|
@@ -173,19 +171,17 @@ class GmailAppSidebarView {
|
|
|
173
171
|
try {
|
|
174
172
|
return JSON.parse(global.localStorage.getItem('inboxsdk__sidebar_ordering') || 'null');
|
|
175
173
|
} catch (err) {
|
|
176
|
-
console.error('failed to read sidebar order data', err);
|
|
174
|
+
console.error('failed to read sidebar order data', err);
|
|
177
175
|
}
|
|
178
176
|
},
|
|
179
|
-
|
|
180
177
|
set(data) {
|
|
181
178
|
try {
|
|
182
179
|
global.localStorage.setItem('inboxsdk__sidebar_ordering', JSON.stringify(data));
|
|
183
180
|
} catch (err) {
|
|
184
|
-
console.error('failed to set sidebar order data', err);
|
|
181
|
+
console.error('failed to set sidebar order data', err);
|
|
185
182
|
}
|
|
186
183
|
}
|
|
187
184
|
});
|
|
188
|
-
|
|
189
185
|
updateHighlightedAppIconBus.bufferWithTimeOrCount(150, 100).filter(events => events.length > 0).takeUntilBy(this._stopper).onValue(() => {
|
|
190
186
|
const elBoundingBox = el.getBoundingClientRect();
|
|
191
187
|
const boundingTop = elBoundingBox.top + el.scrollTop;
|
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js
CHANGED
|
@@ -12,6 +12,16 @@ var _gmailThreadSidebarView = _interopRequireDefault(require("./gmail-thread-sid
|
|
|
12
12
|
var _ContentPanelViewDriver = _interopRequireDefault(require("../../../driver-common/sidebar/ContentPanelViewDriver"));
|
|
13
13
|
var _gmailElementGetter = _interopRequireDefault(require("../gmail-element-getter"));
|
|
14
14
|
var _mockWebstorage = _interopRequireDefault(require("mock-webstorage"));
|
|
15
|
+
jest.mock('../../../lib/idMap', () => {
|
|
16
|
+
function idMap(key) {
|
|
17
|
+
const legacyMapping = {
|
|
18
|
+
app_sidebar_content_panel: 'bccbBAHIcfEeHCHf',
|
|
19
|
+
sidebar_button_container: 'CdCEaDfbJJbHDEaD'
|
|
20
|
+
};
|
|
21
|
+
return legacyMapping[key];
|
|
22
|
+
}
|
|
23
|
+
return idMap;
|
|
24
|
+
});
|
|
15
25
|
jest.mock('../../../lib/dom/make-element-child-stream', () => {
|
|
16
26
|
return () => require('kefir-bus')();
|
|
17
27
|
});
|
|
@@ -174,7 +184,7 @@ function makeDriver(appId, opts) {
|
|
|
174
184
|
return {
|
|
175
185
|
eventSdkPassive() {},
|
|
176
186
|
error(err, details) {
|
|
177
|
-
console.error('logger.error called:', err, details);
|
|
187
|
+
console.error('logger.error called:', err, details);
|
|
178
188
|
throw err;
|
|
179
189
|
}
|
|
180
190
|
};
|