@inboxsdk/core 2.1.36 → 2.1.38
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 +433 -463
- package/package.json +1 -1
- package/pageWorld.js +13 -12
- package/src/common/isNotNil.d.ts.map +1 -0
- package/src/inboxsdk.d.ts +1 -1
- package/src/injected-js/xhr-proxy-factory.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.d.ts +2 -2
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts +2 -2
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.d.ts.map +1 -1
- package/src/platform-implementation-js/platform-implementation.d.ts.map +1 -1
- package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +3 -5
- package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/conversations/custom-message-view.d.ts +4 -12
- package/src/platform-implementation-js/views/conversations/custom-message-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/conversations/message-view.d.ts +7 -7
- package/src/platform-implementation-js/views/conversations/message-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.d.ts +1 -2
- package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.d.ts.map +1 -1
- package/src/platform-implementation-js/views/thread-row-view.d.ts +3 -0
- package/src/platform-implementation-js/views/thread-row-view.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/isNotNil.d.ts.map +0 -1
- /package/src/{platform-implementation-js/lib → common}/isNotNil.d.ts +0 -0
package/inboxsdk.js
CHANGED
|
@@ -863,6 +863,21 @@ function isElementVisible(el) {
|
|
|
863
863
|
|
|
864
864
|
/***/ }),
|
|
865
865
|
|
|
866
|
+
/***/ 6230:
|
|
867
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
868
|
+
|
|
869
|
+
"use strict";
|
|
870
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
871
|
+
/* harmony export */ "Z": () => (/* binding */ isNotNil)
|
|
872
|
+
/* harmony export */ });
|
|
873
|
+
// Type predicate to avoid opting out of strict type checking in filter operations.
|
|
874
|
+
// Adapted from https://stackoverflow.com/a/46700791
|
|
875
|
+
function isNotNil(value) {
|
|
876
|
+
return value != null;
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
/***/ }),
|
|
880
|
+
|
|
866
881
|
/***/ 7403:
|
|
867
882
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
868
883
|
|
|
@@ -875,7 +890,7 @@ function isElementVisible(el) {
|
|
|
875
890
|
|
|
876
891
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- SDK_VERSION is injected by webpack
|
|
877
892
|
///@ts-ignore
|
|
878
|
-
const BUILD_VERSION = "2.1.
|
|
893
|
+
const BUILD_VERSION = "2.1.38-1712087227941-d4c8bfd8eba680c6";
|
|
879
894
|
if (false) {}
|
|
880
895
|
|
|
881
896
|
/***/ }),
|
|
@@ -1287,6 +1302,8 @@ function makeElementStreamMerger() {
|
|
|
1287
1302
|
var gmail_element_getter = __webpack_require__(2851);
|
|
1288
1303
|
// EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.ts + 31 modules
|
|
1289
1304
|
var gmail_compose_view = __webpack_require__(1166);
|
|
1305
|
+
// EXTERNAL MODULE: ./src/common/isNotNil.ts
|
|
1306
|
+
var isNotNil = __webpack_require__(6230);
|
|
1290
1307
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.ts
|
|
1291
1308
|
/* module decorator */ module = __webpack_require__.hmd(module);
|
|
1292
1309
|
|
|
@@ -1297,14 +1314,15 @@ var gmail_compose_view = __webpack_require__(1166);
|
|
|
1297
1314
|
|
|
1298
1315
|
|
|
1299
1316
|
|
|
1317
|
+
|
|
1300
1318
|
var impStream = js_default()(module, imp);
|
|
1301
1319
|
function setupComposeViewDriverStream(gmailDriver, messageViewDriverStream, xhrInterceptorStream) {
|
|
1302
1320
|
return impStream.flatMapLatest(imp => imp(gmailDriver, messageViewDriverStream, xhrInterceptorStream));
|
|
1303
1321
|
}
|
|
1304
1322
|
function imp(gmailDriver, messageViewDriverStream, xhrInterceptorStream) {
|
|
1305
1323
|
return kefir_esm.fromPromise(gmail_element_getter/* default.waitForGmailModeToSettle */.Z.waitForGmailModeToSettle()).flatMap(() => {
|
|
1306
|
-
|
|
1307
|
-
|
|
1324
|
+
let elementStream;
|
|
1325
|
+
let isStandalone = false;
|
|
1308
1326
|
if (gmail_element_getter/* default.isStandaloneComposeWindow */.Z.isStandaloneComposeWindow()) {
|
|
1309
1327
|
elementStream = _setupStandaloneComposeElementStream();
|
|
1310
1328
|
isStandalone = true;
|
|
@@ -1324,7 +1342,7 @@ function imp(gmailDriver, messageViewDriverStream, xhrInterceptorStream) {
|
|
|
1324
1342
|
}
|
|
1325
1343
|
function _setupStandardComposeElementStream() {
|
|
1326
1344
|
return _waitForContainerAndMonitorChildrenStream(() => gmail_element_getter/* default.getComposeWindowContainer */.Z.getComposeWindowContainer()).flatMap(composeGrandParent => {
|
|
1327
|
-
|
|
1345
|
+
const composeParentEl = composeGrandParent.el.querySelector('div.AD');
|
|
1328
1346
|
if (composeParentEl) {
|
|
1329
1347
|
return (0,make_element_child_stream/* default */.Z)(composeParentEl).takeUntilBy(composeGrandParent.removalStream).map(_informElement('composeFullscreenStateChanged'));
|
|
1330
1348
|
} else {
|
|
@@ -1353,7 +1371,7 @@ function _setupStandardComposeElementStream() {
|
|
|
1353
1371
|
el,
|
|
1354
1372
|
removalStream: removalStream.merge(hiddenStream).take(1)
|
|
1355
1373
|
};
|
|
1356
|
-
}).filter(
|
|
1374
|
+
}).filter(isNotNil/* default */.Z)).flatMap(event => {
|
|
1357
1375
|
if (!event) throw new Error('Should not happen');
|
|
1358
1376
|
const el = event.el.querySelector('[role=dialog]');
|
|
1359
1377
|
if (!el || !el.querySelector('form')) {
|
|
@@ -2344,7 +2362,7 @@ function _getArrayValueFromPath(responseArray, path) {
|
|
|
2344
2362
|
/* unused harmony exports extractThreadsFromSearchResponse_20220909, replaceThreadsInSearchResponse_20220909 */
|
|
2345
2363
|
/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4431);
|
|
2346
2364
|
/* harmony import */ var bignumber_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(bignumber_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
2347
|
-
/* harmony import */ var
|
|
2365
|
+
/* harmony import */ var _common_isNotNil__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6230);
|
|
2348
2366
|
|
|
2349
2367
|
|
|
2350
2368
|
function extractThreadsFromSearchResponse(response) {
|
|
@@ -2378,7 +2396,7 @@ function extractThreadsFromSearchResponse(response) {
|
|
|
2378
2396
|
}))
|
|
2379
2397
|
}
|
|
2380
2398
|
};
|
|
2381
|
-
}).filter(
|
|
2399
|
+
}).filter(_common_isNotNil__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z);
|
|
2382
2400
|
}
|
|
2383
2401
|
function extractThreadsFromSearchResponse_20220909(parsedResponse) {
|
|
2384
2402
|
const threadDescriptors = parsedResponse && parsedResponse[2];
|
|
@@ -2403,7 +2421,7 @@ function extractThreadsFromSearchResponse_20220909(parsedResponse) {
|
|
|
2403
2421
|
}))
|
|
2404
2422
|
}
|
|
2405
2423
|
};
|
|
2406
|
-
}).filter(
|
|
2424
|
+
}).filter(_common_isNotNil__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z);
|
|
2407
2425
|
}
|
|
2408
2426
|
function extractThreadsFromThreadResponse(response) {
|
|
2409
2427
|
const parsedResponse = JSON.parse(response);
|
|
@@ -2456,7 +2474,7 @@ function extractThreadsFromThreadResponse(response) {
|
|
|
2456
2474
|
}
|
|
2457
2475
|
};
|
|
2458
2476
|
}
|
|
2459
|
-
}).filter(
|
|
2477
|
+
}).filter(_common_isNotNil__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z);
|
|
2460
2478
|
}
|
|
2461
2479
|
function extractThreadsFromThreadResponse_20220909(parsedResponse) {
|
|
2462
2480
|
const threadDescriptors = parsedResponse && parsedResponse[1];
|
|
@@ -2505,7 +2523,7 @@ function extractThreadsFromThreadResponse_20220909(parsedResponse) {
|
|
|
2505
2523
|
}
|
|
2506
2524
|
};
|
|
2507
2525
|
}
|
|
2508
|
-
}).filter(
|
|
2526
|
+
}).filter(_common_isNotNil__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z);
|
|
2509
2527
|
}
|
|
2510
2528
|
function getRecipientsFromMessageDescriptor(messageDescriptor) {
|
|
2511
2529
|
if (!messageDescriptor[2]) return;
|
|
@@ -4900,8 +4918,8 @@ function getAddressInformationExtractor(addressType, composeView) {
|
|
|
4900
4918
|
}
|
|
4901
4919
|
};
|
|
4902
4920
|
}
|
|
4903
|
-
// EXTERNAL MODULE: ./src/
|
|
4904
|
-
var isNotNil = __webpack_require__(
|
|
4921
|
+
// EXTERNAL MODULE: ./src/common/isNotNil.ts
|
|
4922
|
+
var isNotNil = __webpack_require__(6230);
|
|
4905
4923
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.ts
|
|
4906
4924
|
|
|
4907
4925
|
|
|
@@ -5676,6 +5694,7 @@ function setFromEmail(driver, gmailComposeView, email) {
|
|
|
5676
5694
|
|
|
5677
5695
|
|
|
5678
5696
|
|
|
5697
|
+
|
|
5679
5698
|
|
|
5680
5699
|
|
|
5681
5700
|
let hasReportedMissingBody = false;
|
|
@@ -5792,7 +5811,7 @@ class GmailComposeView {
|
|
|
5792
5811
|
return null;
|
|
5793
5812
|
}
|
|
5794
5813
|
}
|
|
5795
|
-
}).filter(
|
|
5814
|
+
}).filter(isNotNil/* default */.Z);
|
|
5796
5815
|
this.#eventStream.plug(kefir_esm.merge([saveAndSendStream, kefir_esm.fromEvents(this.#element, 'buttonAdded').map(() => {
|
|
5797
5816
|
return {
|
|
5798
5817
|
eventName: 'buttonAdded'
|
|
@@ -8009,6 +8028,8 @@ class GmailThreadRowView {
|
|
|
8009
8028
|
iconSettings: {},
|
|
8010
8029
|
iconWrapper: document.createElement('div'),
|
|
8011
8030
|
remove() {
|
|
8031
|
+
// Trigger any mouseleave handlers that were added by onHover.
|
|
8032
|
+
this.iconWrapper.dispatchEvent(new MouseEvent('mouseleave'));
|
|
8012
8033
|
this.iconWrapper.remove();
|
|
8013
8034
|
}
|
|
8014
8035
|
};
|
|
@@ -8028,6 +8049,28 @@ class GmailThreadRowView {
|
|
|
8028
8049
|
} else {
|
|
8029
8050
|
iconWrapper.removeAttribute('data-tooltip');
|
|
8030
8051
|
}
|
|
8052
|
+
if (iconDescriptor.onHover) {
|
|
8053
|
+
const {
|
|
8054
|
+
onHover
|
|
8055
|
+
} = iconDescriptor;
|
|
8056
|
+
// Using property instead of addEventListener so we replace any old handler
|
|
8057
|
+
// added by a previous iconDescriptor emitted from the stream.
|
|
8058
|
+
iconWrapper.onmouseenter = () => {
|
|
8059
|
+
// We only add the mouseleave listener here and use addEventListener so
|
|
8060
|
+
// it doesn't get replaced if a new iconDescriptor is emitted from the
|
|
8061
|
+
// stream while the user is hovering.
|
|
8062
|
+
const hoverEnd = new Promise(resolve => {
|
|
8063
|
+
iconWrapper.addEventListener('mouseleave', () => {
|
|
8064
|
+
resolve();
|
|
8065
|
+
}, {
|
|
8066
|
+
once: true
|
|
8067
|
+
});
|
|
8068
|
+
});
|
|
8069
|
+
onHover({
|
|
8070
|
+
hoverEnd
|
|
8071
|
+
});
|
|
8072
|
+
};
|
|
8073
|
+
}
|
|
8031
8074
|
const labelParent = this._getLabelParent();
|
|
8032
8075
|
if (!labelParent.contains(iconWrapper)) {
|
|
8033
8076
|
(0,querySelectorOrFail/* default */.Z)(labelParent, '.y6').insertAdjacentElement('beforebegin', iconWrapper);
|
|
@@ -10586,7 +10629,7 @@ options.insert = htmlElement => {
|
|
|
10586
10629
|
htmlElement.setAttribute('data-inboxsdk-version',
|
|
10587
10630
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
|
|
10588
10631
|
///@ts-ignore
|
|
10589
|
-
"2.1.
|
|
10632
|
+
"2.1.38-1712087227941-d4c8bfd8eba680c6");
|
|
10590
10633
|
document.head.append(htmlElement);
|
|
10591
10634
|
};
|
|
10592
10635
|
options.domAPI = (styleDomAPI_default());
|
|
@@ -10696,21 +10739,6 @@ style="width: 396px; height: 18px; max-height: 18px; padding: 5px; color: rgb(34
|
|
|
10696
10739
|
|
|
10697
10740
|
/***/ }),
|
|
10698
10741
|
|
|
10699
|
-
/***/ 8727:
|
|
10700
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
10701
|
-
|
|
10702
|
-
"use strict";
|
|
10703
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
10704
|
-
/* harmony export */ "Z": () => (/* binding */ isNotNil)
|
|
10705
|
-
/* harmony export */ });
|
|
10706
|
-
// Type predicate to avoid opting out of strict type checking in filter operations.
|
|
10707
|
-
// Adapted from https://stackoverflow.com/a/46700791
|
|
10708
|
-
function isNotNil(value) {
|
|
10709
|
-
return value != null;
|
|
10710
|
-
}
|
|
10711
|
-
|
|
10712
|
-
/***/ }),
|
|
10713
|
-
|
|
10714
10742
|
/***/ 3045:
|
|
10715
10743
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
10716
10744
|
|
|
@@ -11728,7 +11756,7 @@ if (!globalThis.__InboxSDKImpLoader) {
|
|
|
11728
11756
|
await onready;
|
|
11729
11757
|
const {
|
|
11730
11758
|
makePlatformImplementation
|
|
11731
|
-
} = await Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__,
|
|
11759
|
+
} = await Promise.resolve(/* import() eager */).then(__webpack_require__.bind(__webpack_require__, 1359));
|
|
11732
11760
|
return makePlatformImplementation(appId, opts, {
|
|
11733
11761
|
piMainStarted,
|
|
11734
11762
|
piLoadStarted,
|
|
@@ -11809,99 +11837,6 @@ class Compose {
|
|
|
11809
11837
|
|
|
11810
11838
|
/***/ }),
|
|
11811
11839
|
|
|
11812
|
-
/***/ 5558:
|
|
11813
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
11814
|
-
|
|
11815
|
-
"use strict";
|
|
11816
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11817
|
-
/* harmony export */ "ZP": () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
11818
|
-
/* harmony export */ "kI": () => (/* binding */ MessageViewToolbarSectionNames)
|
|
11819
|
-
/* harmony export */ });
|
|
11820
|
-
/* unused harmony export MessageViewViewStates */
|
|
11821
|
-
/* harmony import */ var kefir__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6609);
|
|
11822
|
-
/* harmony import */ var _common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7791);
|
|
11823
|
-
/* harmony import */ var _views_conversations_thread_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7422);
|
|
11824
|
-
/* harmony import */ var _views_conversations_message_view__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5052);
|
|
11825
|
-
/* harmony import */ var _lib_handler_registry__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(3208);
|
|
11826
|
-
|
|
11827
|
-
|
|
11828
|
-
|
|
11829
|
-
|
|
11830
|
-
|
|
11831
|
-
const memberMap = new WeakMap();
|
|
11832
|
-
const MessageViewViewStates = Object.freeze({
|
|
11833
|
-
/**
|
|
11834
|
-
* One case where a {@link MessageView} is 'HIDDEN' is when there are too many messages in a thread,
|
|
11835
|
-
* and the message doesn't show at all.
|
|
11836
|
-
*/
|
|
11837
|
-
HIDDEN: 'HIDDEN',
|
|
11838
|
-
/**
|
|
11839
|
-
* {@link MessageView}s are collapsed when they are partially shown. The {@link MessageView}'s subject line and timestamp is visible, but the body of the message may be truncated.
|
|
11840
|
-
*/
|
|
11841
|
-
COLLAPSED: 'COLLAPSED',
|
|
11842
|
-
EXPANDED: 'EXPANDED'
|
|
11843
|
-
});
|
|
11844
|
-
const MessageViewToolbarSectionNames = Object.freeze({
|
|
11845
|
-
MORE: 'MORE'
|
|
11846
|
-
});
|
|
11847
|
-
class Conversations {
|
|
11848
|
-
MessageViewViewStates = MessageViewViewStates;
|
|
11849
|
-
MessageViewToolbarSectionNames = MessageViewToolbarSectionNames;
|
|
11850
|
-
constructor(appId, driver, membrane) {
|
|
11851
|
-
const members = {
|
|
11852
|
-
appId,
|
|
11853
|
-
driver,
|
|
11854
|
-
threadViewHandlerRegistry: new _lib_handler_registry__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z(),
|
|
11855
|
-
messageViewHandlerRegistries: {
|
|
11856
|
-
all: new _lib_handler_registry__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z(),
|
|
11857
|
-
loaded: new _lib_handler_registry__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z()
|
|
11858
|
-
},
|
|
11859
|
-
attachmentCardViewHandlerRegistry: new _lib_handler_registry__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z()
|
|
11860
|
-
};
|
|
11861
|
-
memberMap.set(this, members);
|
|
11862
|
-
driver.getStopper().onValue(() => {
|
|
11863
|
-
members.threadViewHandlerRegistry.dumpHandlers();
|
|
11864
|
-
members.messageViewHandlerRegistries.all.dumpHandlers();
|
|
11865
|
-
members.messageViewHandlerRegistries.loaded.dumpHandlers();
|
|
11866
|
-
});
|
|
11867
|
-
driver.getAttachmentCardViewDriverStream().filter(cardDriver => cardDriver.getAttachmentType() === 'FILE').onValue(attachmentCardViewDriver => {
|
|
11868
|
-
const attachmentCardView = membrane.get(attachmentCardViewDriver);
|
|
11869
|
-
members.attachmentCardViewHandlerRegistry.addTarget(attachmentCardView);
|
|
11870
|
-
});
|
|
11871
|
-
_setupViewDriverWatcher(appId, driver.getThreadViewDriverStream().filter(t => !t.isLoadingStub()), _views_conversations_thread_view__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z, members.threadViewHandlerRegistry, this, membrane);
|
|
11872
|
-
_setupViewDriverWatcher(appId, driver.getMessageViewDriverStream(), _views_conversations_message_view__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, members.messageViewHandlerRegistries.all, this, membrane);
|
|
11873
|
-
_setupViewDriverWatcher(appId, driver.getMessageViewDriverStream().flatMap(messageViewDriver => messageViewDriver.isLoaded() ? kefir__WEBPACK_IMPORTED_MODULE_0__.constant(messageViewDriver) : messageViewDriver.getEventStream().filter(event => event.eventName === 'messageLoad').map(() => messageViewDriver).take(1)), _views_conversations_message_view__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, members.messageViewHandlerRegistries.loaded, this, membrane);
|
|
11874
|
-
}
|
|
11875
|
-
registerThreadViewHandler(handler) {
|
|
11876
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).threadViewHandlerRegistry.registerHandler(handler);
|
|
11877
|
-
}
|
|
11878
|
-
registerMessageViewHandler(handler) {
|
|
11879
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewHandlerRegistries.loaded.registerHandler(handler);
|
|
11880
|
-
}
|
|
11881
|
-
registerMessageViewHandlerAll(handler) {
|
|
11882
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewHandlerRegistries.all.registerHandler(handler);
|
|
11883
|
-
}
|
|
11884
|
-
registerFileAttachmentCardViewHandler(handler) {
|
|
11885
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).attachmentCardViewHandlerRegistry.registerHandler(handler);
|
|
11886
|
-
}
|
|
11887
|
-
}
|
|
11888
|
-
function _setupViewDriverWatcher(appId, stream, ViewClass, handlerRegistry, ConversationsInstance, membrane) {
|
|
11889
|
-
var combinedStream = stream.map(function (viewDriver) {
|
|
11890
|
-
const view = membrane.get(viewDriver);
|
|
11891
|
-
return {
|
|
11892
|
-
viewDriver,
|
|
11893
|
-
view
|
|
11894
|
-
};
|
|
11895
|
-
});
|
|
11896
|
-
// A delay is currently necessary so that ThreadView can wait for its MessageViews.
|
|
11897
|
-
combinedStream.flatMap(event => event.viewDriver.getReadyStream().map(() => event).takeUntilBy(kefir__WEBPACK_IMPORTED_MODULE_0__.fromEvents(event.view, 'destroy'))).onValue(function (event) {
|
|
11898
|
-
handlerRegistry.addTarget(event.view);
|
|
11899
|
-
});
|
|
11900
|
-
}
|
|
11901
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Conversations);
|
|
11902
|
-
|
|
11903
|
-
/***/ }),
|
|
11904
|
-
|
|
11905
11840
|
/***/ 326:
|
|
11906
11841
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
11907
11842
|
|
|
@@ -12416,7 +12351,7 @@ function _updateNavMenu(members, newRouteViewDriver) {
|
|
|
12416
12351
|
|
|
12417
12352
|
/***/ }),
|
|
12418
12353
|
|
|
12419
|
-
/***/
|
|
12354
|
+
/***/ 1359:
|
|
12420
12355
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
12421
12356
|
|
|
12422
12357
|
"use strict";
|
|
@@ -12460,43 +12395,45 @@ class Membrane {
|
|
|
12460
12395
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/views/conversations/attachment-card-view.ts
|
|
12461
12396
|
|
|
12462
12397
|
class AttachmentCardView extends safe_event_emitter/* default */.Z {
|
|
12398
|
+
#attachmentCardImplementation;
|
|
12399
|
+
#driver;
|
|
12400
|
+
#membrane;
|
|
12401
|
+
destroyed = false;
|
|
12463
12402
|
constructor(attachmentCardImplementation, driver, membrane) {
|
|
12464
12403
|
super();
|
|
12465
|
-
this
|
|
12466
|
-
this
|
|
12467
|
-
this
|
|
12468
|
-
this.
|
|
12469
|
-
this._attachmentCardImplementation.getStopper().onValue(() => {
|
|
12404
|
+
this.#driver = driver;
|
|
12405
|
+
this.#membrane = membrane;
|
|
12406
|
+
this.#attachmentCardImplementation = attachmentCardImplementation;
|
|
12407
|
+
this.#attachmentCardImplementation.getStopper().onValue(() => {
|
|
12470
12408
|
this.destroyed = true;
|
|
12471
12409
|
this.emit('destroy');
|
|
12472
12410
|
});
|
|
12473
12411
|
}
|
|
12474
12412
|
getAttachmentType() {
|
|
12475
|
-
return this.
|
|
12413
|
+
return this.#attachmentCardImplementation.getAttachmentType();
|
|
12476
12414
|
}
|
|
12477
12415
|
addButton(buttonOptions) {
|
|
12478
|
-
this.
|
|
12416
|
+
this.#attachmentCardImplementation.addButton(buttonOptions);
|
|
12479
12417
|
}
|
|
12480
12418
|
getTitle() {
|
|
12481
|
-
return this.
|
|
12419
|
+
return this.#attachmentCardImplementation.getTitle();
|
|
12482
12420
|
}
|
|
12483
12421
|
|
|
12484
12422
|
/**
|
|
12485
12423
|
* @deprecated Please use the same-named method on the AttachmentCardClickEvent object instead.
|
|
12486
12424
|
*/
|
|
12487
12425
|
getDownloadURL() {
|
|
12488
|
-
this.
|
|
12489
|
-
if (this.
|
|
12426
|
+
this.#driver.getLogger().deprecationWarning('AttachmentCardView.getDownloadURL', 'AttachmentCardView.addButton -> onClick -> AttachmentCardClickEvent');
|
|
12427
|
+
if (this.#driver.getOpts().REQUESTED_API_VERSION !== 1) {
|
|
12490
12428
|
throw new Error('This method was discontinued after API version 1');
|
|
12491
12429
|
}
|
|
12492
|
-
return this.
|
|
12430
|
+
return this.#attachmentCardImplementation.getDownloadURL();
|
|
12493
12431
|
}
|
|
12494
12432
|
getMessageView() {
|
|
12495
|
-
const messageViewDriver = this.
|
|
12496
|
-
return messageViewDriver ? this.
|
|
12433
|
+
const messageViewDriver = this.#attachmentCardImplementation.getMessageViewDriver();
|
|
12434
|
+
return messageViewDriver ? this.#membrane.get(messageViewDriver) : null;
|
|
12497
12435
|
}
|
|
12498
12436
|
}
|
|
12499
|
-
/* harmony default export */ const attachment_card_view = (AttachmentCardView);
|
|
12500
12437
|
// EXTERNAL MODULE: ./node_modules/lodash/find.js
|
|
12501
12438
|
var find = __webpack_require__(3311);
|
|
12502
12439
|
var find_default = /*#__PURE__*/__webpack_require__.n(find);
|
|
@@ -12827,8 +12764,260 @@ class GmailAttachmentCardView {
|
|
|
12827
12764
|
}
|
|
12828
12765
|
}
|
|
12829
12766
|
/* harmony default export */ const gmail_attachment_card_view = (GmailAttachmentCardView);
|
|
12830
|
-
// EXTERNAL MODULE: ./
|
|
12831
|
-
var
|
|
12767
|
+
// EXTERNAL MODULE: ./node_modules/asap/browser-asap.js
|
|
12768
|
+
var browser_asap = __webpack_require__(9272);
|
|
12769
|
+
var browser_asap_default = /*#__PURE__*/__webpack_require__.n(browser_asap);
|
|
12770
|
+
// EXTERNAL MODULE: ./src/platform-implementation-js/views/conversations/thread-view.ts
|
|
12771
|
+
var thread_view = __webpack_require__(7422);
|
|
12772
|
+
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/handler-registry.ts
|
|
12773
|
+
var handler_registry = __webpack_require__(3208);
|
|
12774
|
+
;// CONCATENATED MODULE: ./src/platform-implementation-js/namespaces/conversations.ts
|
|
12775
|
+
|
|
12776
|
+
|
|
12777
|
+
|
|
12778
|
+
|
|
12779
|
+
|
|
12780
|
+
const memberMap = new WeakMap();
|
|
12781
|
+
const MessageViewViewStates = Object.freeze({
|
|
12782
|
+
/**
|
|
12783
|
+
* One case where a {@link MessageView} is 'HIDDEN' is when there are too many messages in a thread,
|
|
12784
|
+
* and the message doesn't show at all.
|
|
12785
|
+
*/
|
|
12786
|
+
HIDDEN: 'HIDDEN',
|
|
12787
|
+
/**
|
|
12788
|
+
* {@link MessageView}s are collapsed when they are partially shown. The {@link MessageView}'s subject line and timestamp is visible, but the body of the message may be truncated.
|
|
12789
|
+
*/
|
|
12790
|
+
COLLAPSED: 'COLLAPSED',
|
|
12791
|
+
EXPANDED: 'EXPANDED'
|
|
12792
|
+
});
|
|
12793
|
+
const MessageViewToolbarSectionNames = Object.freeze({
|
|
12794
|
+
MORE: 'MORE'
|
|
12795
|
+
});
|
|
12796
|
+
class Conversations {
|
|
12797
|
+
MessageViewViewStates = MessageViewViewStates;
|
|
12798
|
+
MessageViewToolbarSectionNames = MessageViewToolbarSectionNames;
|
|
12799
|
+
constructor(appId, driver, membrane) {
|
|
12800
|
+
const members = {
|
|
12801
|
+
appId,
|
|
12802
|
+
driver,
|
|
12803
|
+
threadViewHandlerRegistry: new handler_registry/* default */.Z(),
|
|
12804
|
+
messageViewHandlerRegistries: {
|
|
12805
|
+
all: new handler_registry/* default */.Z(),
|
|
12806
|
+
loaded: new handler_registry/* default */.Z()
|
|
12807
|
+
},
|
|
12808
|
+
attachmentCardViewHandlerRegistry: new handler_registry/* default */.Z()
|
|
12809
|
+
};
|
|
12810
|
+
memberMap.set(this, members);
|
|
12811
|
+
driver.getStopper().onValue(() => {
|
|
12812
|
+
members.threadViewHandlerRegistry.dumpHandlers();
|
|
12813
|
+
members.messageViewHandlerRegistries.all.dumpHandlers();
|
|
12814
|
+
members.messageViewHandlerRegistries.loaded.dumpHandlers();
|
|
12815
|
+
});
|
|
12816
|
+
driver.getAttachmentCardViewDriverStream().filter(cardDriver => cardDriver.getAttachmentType() === 'FILE').onValue(attachmentCardViewDriver => {
|
|
12817
|
+
const attachmentCardView = membrane.get(attachmentCardViewDriver);
|
|
12818
|
+
members.attachmentCardViewHandlerRegistry.addTarget(attachmentCardView);
|
|
12819
|
+
});
|
|
12820
|
+
_setupViewDriverWatcher(appId, driver.getThreadViewDriverStream().filter(t => !t.isLoadingStub()), thread_view/* default */.Z, members.threadViewHandlerRegistry, this, membrane);
|
|
12821
|
+
_setupViewDriverWatcher(appId, driver.getMessageViewDriverStream(), MessageView, members.messageViewHandlerRegistries.all, this, membrane);
|
|
12822
|
+
_setupViewDriverWatcher(appId, driver.getMessageViewDriverStream().flatMap(messageViewDriver => messageViewDriver.isLoaded() ? kefir_esm.constant(messageViewDriver) : messageViewDriver.getEventStream().filter(event => event.eventName === 'messageLoad').map(() => messageViewDriver).take(1)), MessageView, members.messageViewHandlerRegistries.loaded, this, membrane);
|
|
12823
|
+
}
|
|
12824
|
+
registerThreadViewHandler(handler) {
|
|
12825
|
+
return (0,get_or_fail/* default */.Z)(memberMap, this).threadViewHandlerRegistry.registerHandler(handler);
|
|
12826
|
+
}
|
|
12827
|
+
registerMessageViewHandler(handler) {
|
|
12828
|
+
return (0,get_or_fail/* default */.Z)(memberMap, this).messageViewHandlerRegistries.loaded.registerHandler(handler);
|
|
12829
|
+
}
|
|
12830
|
+
registerMessageViewHandlerAll(handler) {
|
|
12831
|
+
return (0,get_or_fail/* default */.Z)(memberMap, this).messageViewHandlerRegistries.all.registerHandler(handler);
|
|
12832
|
+
}
|
|
12833
|
+
registerFileAttachmentCardViewHandler(handler) {
|
|
12834
|
+
return (0,get_or_fail/* default */.Z)(memberMap, this).attachmentCardViewHandlerRegistry.registerHandler(handler);
|
|
12835
|
+
}
|
|
12836
|
+
}
|
|
12837
|
+
function _setupViewDriverWatcher(appId, stream, ViewClass, handlerRegistry, ConversationsInstance, membrane) {
|
|
12838
|
+
var combinedStream = stream.map(function (viewDriver) {
|
|
12839
|
+
const view = membrane.get(viewDriver);
|
|
12840
|
+
return {
|
|
12841
|
+
viewDriver,
|
|
12842
|
+
view
|
|
12843
|
+
};
|
|
12844
|
+
});
|
|
12845
|
+
// A delay is currently necessary so that ThreadView can wait for its MessageViews.
|
|
12846
|
+
combinedStream.flatMap(event => event.viewDriver.getReadyStream().map(() => event).takeUntilBy(kefir_esm.fromEvents(event.view, 'destroy'))).onValue(function (event) {
|
|
12847
|
+
handlerRegistry.addTarget(event.view);
|
|
12848
|
+
});
|
|
12849
|
+
}
|
|
12850
|
+
/* harmony default export */ const conversations = (Conversations);
|
|
12851
|
+
;// CONCATENATED MODULE: ./src/platform-implementation-js/views/conversations/message-view.ts
|
|
12852
|
+
|
|
12853
|
+
|
|
12854
|
+
|
|
12855
|
+
class MessageView extends safe_event_emitter/* default */.Z {
|
|
12856
|
+
destroyed = false;
|
|
12857
|
+
#driver;
|
|
12858
|
+
#linksInBody;
|
|
12859
|
+
#membrane;
|
|
12860
|
+
#messageViewImplementation;
|
|
12861
|
+
constructor(messageViewImplementation, membrane, driver) {
|
|
12862
|
+
super();
|
|
12863
|
+
this.#driver = driver;
|
|
12864
|
+
this.#linksInBody = null;
|
|
12865
|
+
this.#membrane = membrane;
|
|
12866
|
+
this.#messageViewImplementation = messageViewImplementation;
|
|
12867
|
+
this.#bindToEventStream(messageViewImplementation.getEventStream());
|
|
12868
|
+
}
|
|
12869
|
+
addAttachmentCardView(cardOptions) {
|
|
12870
|
+
const attachmentCardViewDriver = this.#messageViewImplementation.addAttachmentCard(cardOptions);
|
|
12871
|
+
const attachmentCardView = this.#membrane.get(attachmentCardViewDriver);
|
|
12872
|
+
attachmentCardViewDriver.getPreviewClicks().onValue(e => {
|
|
12873
|
+
if (cardOptions.previewOnClick) {
|
|
12874
|
+
cardOptions.previewOnClick({
|
|
12875
|
+
attachmentCardView,
|
|
12876
|
+
preventDefault: () => e.preventDefault()
|
|
12877
|
+
});
|
|
12878
|
+
}
|
|
12879
|
+
});
|
|
12880
|
+
return attachmentCardView;
|
|
12881
|
+
}
|
|
12882
|
+
|
|
12883
|
+
// TODO why is this a separate method?
|
|
12884
|
+
addAttachmentCardViewNoPreview(cardOptions) {
|
|
12885
|
+
return this.addAttachmentCardView(cardOptions);
|
|
12886
|
+
}
|
|
12887
|
+
addAttachmentsToolbarButton(buttonOptions) {
|
|
12888
|
+
this.#messageViewImplementation.addButtonToDownloadAllArea({
|
|
12889
|
+
tooltip: buttonOptions.tooltip,
|
|
12890
|
+
iconUrl: buttonOptions.iconUrl,
|
|
12891
|
+
onClick: () => {
|
|
12892
|
+
const attachmentCardViews = this.#messageViewImplementation.getAttachmentCardViewDrivers().map(cardDriver => this.#membrane.get(cardDriver));
|
|
12893
|
+
buttonOptions.onClick({
|
|
12894
|
+
attachmentCardViews
|
|
12895
|
+
});
|
|
12896
|
+
}
|
|
12897
|
+
});
|
|
12898
|
+
}
|
|
12899
|
+
addToolbarButton(buttonOptions) {
|
|
12900
|
+
if (typeof buttonOptions.onClick !== 'function' || typeof buttonOptions.title !== 'string' || !Object.prototype.hasOwnProperty.call(MessageViewToolbarSectionNames, buttonOptions.section)) {
|
|
12901
|
+
throw new Error('Missing required properties on MessageViewToolbarButtonDescriptor object');
|
|
12902
|
+
}
|
|
12903
|
+
this.#messageViewImplementation.addMoreMenuItem(buttonOptions);
|
|
12904
|
+
}
|
|
12905
|
+
getBodyElement() {
|
|
12906
|
+
return this.#messageViewImplementation.getContentsElement();
|
|
12907
|
+
}
|
|
12908
|
+
getMessageID() {
|
|
12909
|
+
this.#driver.getLogger().deprecationWarning('messageView.getMessageID', 'messageView.getMessageIDAsync');
|
|
12910
|
+
return this.#messageViewImplementation.getMessageID();
|
|
12911
|
+
}
|
|
12912
|
+
getMessageIDAsync() {
|
|
12913
|
+
return this.#messageViewImplementation.getMessageIDAsync();
|
|
12914
|
+
}
|
|
12915
|
+
|
|
12916
|
+
// TODO non-file-attachment card views are asynchronously loaded. Add some sort of
|
|
12917
|
+
// registerAttachmentCardViewHandler function to listen for other types of
|
|
12918
|
+
// attachment cards if we want to continue support for them.
|
|
12919
|
+
getFileAttachmentCardViews() {
|
|
12920
|
+
return this.#messageViewImplementation.getAttachmentCardViewDrivers().filter(cardDriver => cardDriver.getAttachmentType() === 'FILE').map(attachmentCardViewDriver => this.#membrane.get(attachmentCardViewDriver));
|
|
12921
|
+
}
|
|
12922
|
+
|
|
12923
|
+
// Deprecated name
|
|
12924
|
+
getAttachmentCardViews() {
|
|
12925
|
+
this.#driver.getLogger().deprecationWarning('MessageView.getAttachmentCardViews', 'MessageView.getFileAttachmentCardViews');
|
|
12926
|
+
if (this.#driver.getOpts().REQUESTED_API_VERSION !== 1) {
|
|
12927
|
+
throw new Error('This method was discontinued after API version 1');
|
|
12928
|
+
}
|
|
12929
|
+
return this.getFileAttachmentCardViews();
|
|
12930
|
+
}
|
|
12931
|
+
isElementInQuotedArea(element) {
|
|
12932
|
+
return this.#messageViewImplementation.isElementInQuotedArea(element);
|
|
12933
|
+
}
|
|
12934
|
+
isLoaded() {
|
|
12935
|
+
return this.#messageViewImplementation.isLoaded();
|
|
12936
|
+
}
|
|
12937
|
+
getLinksInBody() {
|
|
12938
|
+
if (!this.#linksInBody) {
|
|
12939
|
+
const anchors = this.getBodyElement().querySelectorAll('a');
|
|
12940
|
+
this.#linksInBody = Array.from(anchors).map(anchor => ({
|
|
12941
|
+
text: anchor.textContent,
|
|
12942
|
+
html: anchor.innerHTML,
|
|
12943
|
+
href: anchor.href,
|
|
12944
|
+
element: anchor,
|
|
12945
|
+
isInQuotedArea: this.isElementInQuotedArea(anchor)
|
|
12946
|
+
}));
|
|
12947
|
+
}
|
|
12948
|
+
return this.#linksInBody;
|
|
12949
|
+
}
|
|
12950
|
+
getSender() {
|
|
12951
|
+
return this.#messageViewImplementation.getSender();
|
|
12952
|
+
}
|
|
12953
|
+
getRecipients() {
|
|
12954
|
+
this.#driver.getLogger().deprecationWarning('MessageView.getRecipients', 'MessageView.getRecipientEmailAddresses() or MessageView.getRecipientsFull()');
|
|
12955
|
+
return this.getRecipientEmailAddresses().map(emailAddress => ({
|
|
12956
|
+
emailAddress,
|
|
12957
|
+
name: null
|
|
12958
|
+
}));
|
|
12959
|
+
}
|
|
12960
|
+
getRecipientEmailAddresses() {
|
|
12961
|
+
return this.#messageViewImplementation.getRecipientEmailAddresses();
|
|
12962
|
+
}
|
|
12963
|
+
getRecipientsFull() {
|
|
12964
|
+
return this.#messageViewImplementation.getRecipientsFull();
|
|
12965
|
+
}
|
|
12966
|
+
getThreadView() {
|
|
12967
|
+
return this.#membrane.get(this.#messageViewImplementation.getThreadViewDriver());
|
|
12968
|
+
}
|
|
12969
|
+
getDateString() {
|
|
12970
|
+
return this.#messageViewImplementation.getDateString();
|
|
12971
|
+
}
|
|
12972
|
+
addAttachmentIcon(iconDescriptor) {
|
|
12973
|
+
return this.#messageViewImplementation.addAttachmentIcon(iconDescriptor);
|
|
12974
|
+
}
|
|
12975
|
+
getViewState() {
|
|
12976
|
+
return MessageViewViewStates[this.#messageViewImplementation.getViewState()];
|
|
12977
|
+
}
|
|
12978
|
+
hasOpenReply() {
|
|
12979
|
+
this.#driver.getLogger().deprecationWarning('MessageView.hasOpenReply');
|
|
12980
|
+
if (this.#driver.getOpts().REQUESTED_API_VERSION !== 1) {
|
|
12981
|
+
throw new Error('This method was discontinued after API version 1');
|
|
12982
|
+
}
|
|
12983
|
+
return this.#messageViewImplementation.hasOpenReply();
|
|
12984
|
+
}
|
|
12985
|
+
#bindToEventStream(stream) {
|
|
12986
|
+
stream.onEnd(() => {
|
|
12987
|
+
this.destroyed = true;
|
|
12988
|
+
this.emit('destroy');
|
|
12989
|
+
this.removeAllListeners();
|
|
12990
|
+
});
|
|
12991
|
+
stream.filter(event => event.type !== 'internal' && event.eventName === 'contactHover').onValue(event => {
|
|
12992
|
+
this.emit(event.eventName, {
|
|
12993
|
+
contactType: event.contactType,
|
|
12994
|
+
contact: event.contact,
|
|
12995
|
+
messageView: this,
|
|
12996
|
+
threadView: this.getThreadView()
|
|
12997
|
+
});
|
|
12998
|
+
});
|
|
12999
|
+
if (this.isLoaded()) {
|
|
13000
|
+
browser_asap_default()(() => {
|
|
13001
|
+
this.emit('load', {
|
|
13002
|
+
messageView: this
|
|
13003
|
+
});
|
|
13004
|
+
});
|
|
13005
|
+
} else {
|
|
13006
|
+
stream.filter(event => event.eventName === 'messageLoad').onValue(() => {
|
|
13007
|
+
this.emit('load', {
|
|
13008
|
+
messageView: this
|
|
13009
|
+
});
|
|
13010
|
+
});
|
|
13011
|
+
}
|
|
13012
|
+
stream.filter(event => event.eventName === 'viewStateChange').onValue(event => {
|
|
13013
|
+
this.emit('viewStateChange', {
|
|
13014
|
+
oldViewState: MessageViewViewStates[event.oldValue],
|
|
13015
|
+
newViewState: MessageViewViewStates[event.newValue],
|
|
13016
|
+
messageView: this
|
|
13017
|
+
});
|
|
13018
|
+
});
|
|
13019
|
+
}
|
|
13020
|
+
}
|
|
12832
13021
|
// EXTERNAL MODULE: ./node_modules/lodash/sortBy.js
|
|
12833
13022
|
var sortBy = __webpack_require__(9734);
|
|
12834
13023
|
var sortBy_default = /*#__PURE__*/__webpack_require__.n(sortBy);
|
|
@@ -13551,7 +13740,7 @@ class GmailMessageView {
|
|
|
13551
13740
|
attributes: true,
|
|
13552
13741
|
attributeFilter: ['class'],
|
|
13553
13742
|
attributeOldValue: true
|
|
13554
|
-
}).takeUntilBy(this.#stopper).map(
|
|
13743
|
+
}).takeUntilBy(this.#stopper).map(mutation => {
|
|
13555
13744
|
const currentClassList = mutation.target.classList;
|
|
13556
13745
|
const mutationOldValue = mutation.oldValue;
|
|
13557
13746
|
let oldValue;
|
|
@@ -13575,14 +13764,14 @@ class GmailMessageView {
|
|
|
13575
13764
|
newValue,
|
|
13576
13765
|
currentClassList
|
|
13577
13766
|
};
|
|
13578
|
-
}).map(
|
|
13767
|
+
}).map(event => {
|
|
13579
13768
|
if (event.newValue === 'EXPANDED' && event.oldValue !== 'EXPANDED') {
|
|
13580
13769
|
self.#checkMessageOpenState(event.currentClassList);
|
|
13581
13770
|
}
|
|
13582
13771
|
return event;
|
|
13583
|
-
}).filter(
|
|
13772
|
+
}).filter(event => {
|
|
13584
13773
|
return event.newValue !== event.oldValue && !!event.oldValue && !!event.newValue;
|
|
13585
|
-
}).map(
|
|
13774
|
+
}).map(event => {
|
|
13586
13775
|
return {
|
|
13587
13776
|
eventName: 'viewStateChange',
|
|
13588
13777
|
oldValue: event.oldValue,
|
|
@@ -13720,8 +13909,6 @@ function _extractContactInformation(span) {
|
|
|
13720
13909
|
};
|
|
13721
13910
|
}
|
|
13722
13911
|
/* harmony default export */ const gmail_message_view = (GmailMessageView);
|
|
13723
|
-
// EXTERNAL MODULE: ./src/platform-implementation-js/views/conversations/thread-view.ts
|
|
13724
|
-
var thread_view = __webpack_require__(7422);
|
|
13725
13912
|
// EXTERNAL MODULE: ./node_modules/pdelay/js/index.js
|
|
13726
13913
|
var pdelay_js = __webpack_require__(443);
|
|
13727
13914
|
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/idMap.ts + 1 modules
|
|
@@ -13732,95 +13919,98 @@ var SimpleElementView = __webpack_require__(8989);
|
|
|
13732
13919
|
|
|
13733
13920
|
|
|
13734
13921
|
class CustomMessageView extends safe_event_emitter/* default */.Z {
|
|
13735
|
-
|
|
13736
|
-
|
|
13737
|
-
|
|
13922
|
+
#el;
|
|
13923
|
+
#iconEl;
|
|
13924
|
+
#contentEl;
|
|
13925
|
+
#contentHeaderEl;
|
|
13926
|
+
#contentBodyEl;
|
|
13927
|
+
destroyed = false;
|
|
13928
|
+
#stopper = js_default()();
|
|
13929
|
+
#isCollapsed = true;
|
|
13930
|
+
#lastDescriptor;
|
|
13738
13931
|
constructor(descriptorStream, onReady) {
|
|
13739
13932
|
super();
|
|
13740
|
-
this.
|
|
13741
|
-
|
|
13742
|
-
|
|
13743
|
-
|
|
13744
|
-
|
|
13933
|
+
this.#el = document.createElement('div');
|
|
13934
|
+
this.#el.classList.add('inboxsdk__custom_message_view');
|
|
13935
|
+
this.#el.classList.add('inboxsdk__custom_message_view_collapsed');
|
|
13936
|
+
this.#iconEl = document.createElement('div');
|
|
13937
|
+
this.#iconEl.classList.add('inboxsdk__custom_message_view_icon');
|
|
13938
|
+
this.#contentEl = document.createElement('div');
|
|
13939
|
+
this.#contentEl.classList.add('inboxsdk__custom_message_view_content');
|
|
13940
|
+
this.#contentHeaderEl = document.createElement('div');
|
|
13941
|
+
this.#contentHeaderEl.classList.add('inboxsdk__custom_message_view_header');
|
|
13942
|
+
this.#contentBodyEl = document.createElement('div');
|
|
13943
|
+
this.#contentBodyEl.classList.add('inboxsdk__custom_message_view_body');
|
|
13944
|
+
this.#el.appendChild(this.#iconEl);
|
|
13945
|
+
this.#el.appendChild(this.#contentEl);
|
|
13946
|
+
this.#el.addEventListener('click', e => {
|
|
13947
|
+
if (this.#isCollapsed) {
|
|
13948
|
+
this.expand();
|
|
13949
|
+
e.preventDefault();
|
|
13950
|
+
e.stopPropagation();
|
|
13951
|
+
}
|
|
13952
|
+
});
|
|
13953
|
+
this.#contentHeaderEl.addEventListener('click', e => {
|
|
13954
|
+
this.collapse();
|
|
13955
|
+
e.preventDefault();
|
|
13956
|
+
e.stopPropagation();
|
|
13957
|
+
});
|
|
13958
|
+
descriptorStream.takeUntilBy(this.#stopper).onValue(descriptor => {
|
|
13959
|
+
this.#el.setAttribute('data-inboxsdk-sortdate', String(descriptor.sortDate.getTime()));
|
|
13960
|
+
const previousDescriptor = this.#lastDescriptor;
|
|
13961
|
+
this.#lastDescriptor = descriptor;
|
|
13745
13962
|
if (!previousDescriptor || previousDescriptor.iconUrl !== descriptor.iconUrl) {
|
|
13746
13963
|
const img = document.createElement('img');
|
|
13747
13964
|
img.src = descriptor.iconUrl;
|
|
13748
|
-
this.
|
|
13749
|
-
this.
|
|
13965
|
+
this.#iconEl.innerHTML = '';
|
|
13966
|
+
this.#iconEl.appendChild(img);
|
|
13750
13967
|
}
|
|
13751
|
-
if ((!previousDescriptor || previousDescriptor.collapsedEl !== descriptor.collapsedEl) && this
|
|
13968
|
+
if ((!previousDescriptor || previousDescriptor.collapsedEl !== descriptor.collapsedEl) && this.#isCollapsed) {
|
|
13752
13969
|
if (previousDescriptor) previousDescriptor.collapsedEl.remove();
|
|
13753
|
-
this.
|
|
13970
|
+
this.#contentEl.appendChild(descriptor.collapsedEl);
|
|
13754
13971
|
}
|
|
13755
13972
|
if (!previousDescriptor || previousDescriptor.headerEl !== descriptor.headerEl) {
|
|
13756
13973
|
if (previousDescriptor) previousDescriptor.headerEl.remove();
|
|
13757
|
-
this.
|
|
13974
|
+
this.#contentHeaderEl.appendChild(descriptor.headerEl);
|
|
13758
13975
|
}
|
|
13759
13976
|
if (!previousDescriptor || previousDescriptor.bodyEl !== descriptor.bodyEl) {
|
|
13760
13977
|
if (previousDescriptor) previousDescriptor.bodyEl.remove();
|
|
13761
|
-
this.
|
|
13978
|
+
this.#contentBodyEl.appendChild(descriptor.bodyEl);
|
|
13762
13979
|
}
|
|
13763
13980
|
}).take(1).onValue(onReady);
|
|
13764
13981
|
}
|
|
13765
13982
|
destroy() {
|
|
13766
|
-
if (this.
|
|
13767
|
-
this.
|
|
13768
|
-
this.
|
|
13983
|
+
if (this.destroyed) return;
|
|
13984
|
+
this.destroyed = true;
|
|
13985
|
+
this.#stopper.destroy();
|
|
13769
13986
|
this.emit('destroy');
|
|
13770
|
-
this.
|
|
13987
|
+
this.#el.remove();
|
|
13771
13988
|
}
|
|
13772
13989
|
expand() {
|
|
13773
|
-
this
|
|
13774
|
-
const descriptor = this
|
|
13990
|
+
this.#isCollapsed = false;
|
|
13991
|
+
const descriptor = this.#lastDescriptor;
|
|
13775
13992
|
if (descriptor) descriptor.collapsedEl.remove();
|
|
13776
|
-
this.
|
|
13777
|
-
this.
|
|
13778
|
-
this.
|
|
13993
|
+
this.#contentEl.appendChild(this.#contentHeaderEl);
|
|
13994
|
+
this.#contentEl.appendChild(this.#contentBodyEl);
|
|
13995
|
+
this.#el.classList.remove('inboxsdk__custom_message_view_collapsed');
|
|
13779
13996
|
this.emit('expanded');
|
|
13780
13997
|
}
|
|
13781
13998
|
collapse() {
|
|
13782
|
-
this
|
|
13783
|
-
this.
|
|
13784
|
-
this.
|
|
13785
|
-
const descriptor = this
|
|
13999
|
+
this.#isCollapsed = true;
|
|
14000
|
+
this.#contentHeaderEl.remove();
|
|
14001
|
+
this.#contentBodyEl.remove();
|
|
14002
|
+
const descriptor = this.#lastDescriptor;
|
|
13786
14003
|
if (descriptor) {
|
|
13787
|
-
this.
|
|
14004
|
+
this.#contentEl.appendChild(descriptor.collapsedEl);
|
|
13788
14005
|
}
|
|
13789
|
-
this.
|
|
14006
|
+
this.#el.classList.add('inboxsdk__custom_message_view_collapsed');
|
|
13790
14007
|
this.emit('collapsed');
|
|
13791
14008
|
}
|
|
13792
14009
|
getElement() {
|
|
13793
|
-
return this
|
|
14010
|
+
return this.#el;
|
|
13794
14011
|
}
|
|
13795
14012
|
getSortDate() {
|
|
13796
|
-
if (this
|
|
13797
|
-
}
|
|
13798
|
-
_setupElement() {
|
|
13799
|
-
this._el = document.createElement('div');
|
|
13800
|
-
this._el.classList.add('inboxsdk__custom_message_view');
|
|
13801
|
-
this._el.classList.add('inboxsdk__custom_message_view_collapsed');
|
|
13802
|
-
this._iconEl = document.createElement('div');
|
|
13803
|
-
this._iconEl.classList.add('inboxsdk__custom_message_view_icon');
|
|
13804
|
-
this._contentEl = document.createElement('div');
|
|
13805
|
-
this._contentEl.classList.add('inboxsdk__custom_message_view_content');
|
|
13806
|
-
this._contentHeaderEl = document.createElement('div');
|
|
13807
|
-
this._contentHeaderEl.classList.add('inboxsdk__custom_message_view_header');
|
|
13808
|
-
this._contentBodyEl = document.createElement('div');
|
|
13809
|
-
this._contentBodyEl.classList.add('inboxsdk__custom_message_view_body');
|
|
13810
|
-
this._el.appendChild(this._iconEl);
|
|
13811
|
-
this._el.appendChild(this._contentEl);
|
|
13812
|
-
this._el.addEventListener('click', e => {
|
|
13813
|
-
if (this._isCollapsed) {
|
|
13814
|
-
this.expand();
|
|
13815
|
-
e.preventDefault();
|
|
13816
|
-
e.stopPropagation();
|
|
13817
|
-
}
|
|
13818
|
-
});
|
|
13819
|
-
this._contentHeaderEl.addEventListener('click', e => {
|
|
13820
|
-
this.collapse();
|
|
13821
|
-
e.preventDefault();
|
|
13822
|
-
e.stopPropagation();
|
|
13823
|
-
});
|
|
14013
|
+
if (this.#lastDescriptor) return this.#lastDescriptor.sortDate;else return null;
|
|
13824
14014
|
}
|
|
13825
14015
|
}
|
|
13826
14016
|
// EXTERNAL MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.ts + 2 modules
|
|
@@ -13828,9 +14018,6 @@ var gmail_element_getter = __webpack_require__(2851);
|
|
|
13828
14018
|
// EXTERNAL MODULE: ./node_modules/lodash/escape.js
|
|
13829
14019
|
var lodash_escape = __webpack_require__(1675);
|
|
13830
14020
|
var escape_default = /*#__PURE__*/__webpack_require__.n(lodash_escape);
|
|
13831
|
-
// EXTERNAL MODULE: ./node_modules/asap/browser-asap.js
|
|
13832
|
-
var browser_asap = __webpack_require__(9272);
|
|
13833
|
-
var browser_asap_default = /*#__PURE__*/__webpack_require__.n(browser_asap);
|
|
13834
14021
|
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/stream-wait-for.ts
|
|
13835
14022
|
var stream_wait_for = __webpack_require__(3511);
|
|
13836
14023
|
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/dom/insert-element-in-order.ts
|
|
@@ -15309,7 +15496,7 @@ options.insert = htmlElement => {
|
|
|
15309
15496
|
htmlElement.setAttribute('data-inboxsdk-version',
|
|
15310
15497
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
|
|
15311
15498
|
///@ts-ignore
|
|
15312
|
-
"2.1.
|
|
15499
|
+
"2.1.38-1712087227941-d4c8bfd8eba680c6");
|
|
15313
15500
|
document.head.append(htmlElement);
|
|
15314
15501
|
};
|
|
15315
15502
|
options.domAPI = (styleDomAPI_default());
|
|
@@ -15926,8 +16113,8 @@ function _getLabelHTML(label) {
|
|
|
15926
16113
|
// EXTERNAL MODULE: ./node_modules/page-parser-tree/js/index.js
|
|
15927
16114
|
var page_parser_tree_js = __webpack_require__(6330);
|
|
15928
16115
|
var page_parser_tree_js_default = /*#__PURE__*/__webpack_require__.n(page_parser_tree_js);
|
|
15929
|
-
// EXTERNAL MODULE: ./src/
|
|
15930
|
-
var isNotNil = __webpack_require__(
|
|
16116
|
+
// EXTERNAL MODULE: ./src/common/isNotNil.ts
|
|
16117
|
+
var isNotNil = __webpack_require__(6230);
|
|
15931
16118
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/page-parser.ts
|
|
15932
16119
|
|
|
15933
16120
|
|
|
@@ -16562,7 +16749,7 @@ const dummyPacket = Object.freeze({
|
|
|
16562
16749
|
// do nothing
|
|
16563
16750
|
})
|
|
16564
16751
|
});
|
|
16565
|
-
const
|
|
16752
|
+
const butter_bar_memberMap = new WeakMap();
|
|
16566
16753
|
class ButterBar {
|
|
16567
16754
|
constructor(appId, driver) {
|
|
16568
16755
|
const members = {
|
|
@@ -16570,7 +16757,7 @@ class ButterBar {
|
|
|
16570
16757
|
messagesByKey: new Map(),
|
|
16571
16758
|
queuedPackets: []
|
|
16572
16759
|
};
|
|
16573
|
-
|
|
16760
|
+
butter_bar_memberMap.set(this, members);
|
|
16574
16761
|
}
|
|
16575
16762
|
showMessage(options) {
|
|
16576
16763
|
defaults_default()(options, {
|
|
@@ -16580,7 +16767,7 @@ class ButterBar {
|
|
|
16580
16767
|
persistent: false
|
|
16581
16768
|
});
|
|
16582
16769
|
this.hideMessage(options.messageKey);
|
|
16583
|
-
const members = (0,get_or_fail/* default */.Z)(
|
|
16770
|
+
const members = (0,get_or_fail/* default */.Z)(butter_bar_memberMap, this);
|
|
16584
16771
|
const butterBarDriver = members.driver.getButterBarDriver();
|
|
16585
16772
|
const messageId = Date.now() + '-' + Math.random();
|
|
16586
16773
|
{
|
|
@@ -16694,7 +16881,7 @@ class ButterBar {
|
|
|
16694
16881
|
}
|
|
16695
16882
|
hideMessage(messageKey) {
|
|
16696
16883
|
if (messageKey) {
|
|
16697
|
-
const members = (0,get_or_fail/* default */.Z)(
|
|
16884
|
+
const members = (0,get_or_fail/* default */.Z)(butter_bar_memberMap, this);
|
|
16698
16885
|
const message = members.messagesByKey.get(messageKey);
|
|
16699
16886
|
if (message) {
|
|
16700
16887
|
message.destroy();
|
|
@@ -16702,15 +16889,13 @@ class ButterBar {
|
|
|
16702
16889
|
}
|
|
16703
16890
|
}
|
|
16704
16891
|
hideGmailMessage() {
|
|
16705
|
-
const members = (0,get_or_fail/* default */.Z)(
|
|
16892
|
+
const members = (0,get_or_fail/* default */.Z)(butter_bar_memberMap, this);
|
|
16706
16893
|
const butterBarDriver = members.driver.getButterBarDriver();
|
|
16707
16894
|
butterBarDriver.hideGmailMessage();
|
|
16708
16895
|
}
|
|
16709
16896
|
}
|
|
16710
16897
|
// EXTERNAL MODULE: ./src/platform-implementation-js/namespaces/compose.ts
|
|
16711
16898
|
var compose = __webpack_require__(8731);
|
|
16712
|
-
// EXTERNAL MODULE: ./src/platform-implementation-js/namespaces/conversations.ts
|
|
16713
|
-
var conversations = __webpack_require__(5558);
|
|
16714
16899
|
// EXTERNAL MODULE: ./src/platform-implementation-js/namespaces/keyboard.ts + 1 modules
|
|
16715
16900
|
var keyboard = __webpack_require__(326);
|
|
16716
16901
|
// EXTERNAL MODULE: ./src/platform-implementation-js/widgets/modal-view.ts
|
|
@@ -16905,8 +17090,6 @@ const widgets_memberMap = new Map();
|
|
|
16905
17090
|
/* harmony default export */ const widgets = (Widgets);
|
|
16906
17091
|
// EXTERNAL MODULE: ./src/platform-implementation-js/namespaces/modal.ts
|
|
16907
17092
|
var modal = __webpack_require__(4198);
|
|
16908
|
-
// EXTERNAL MODULE: ./src/platform-implementation-js/lib/handler-registry.ts
|
|
16909
|
-
var handler_registry = __webpack_require__(3208);
|
|
16910
17093
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/namespaces/lists.ts
|
|
16911
17094
|
|
|
16912
17095
|
|
|
@@ -19399,7 +19582,7 @@ mole_view_module_options.insert = htmlElement => {
|
|
|
19399
19582
|
htmlElement.setAttribute('data-inboxsdk-version',
|
|
19400
19583
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment -- this is injected by webpack
|
|
19401
19584
|
///@ts-ignore
|
|
19402
|
-
"2.1.
|
|
19585
|
+
"2.1.38-1712087227941-d4c8bfd8eba680c6");
|
|
19403
19586
|
document.head.append(htmlElement);
|
|
19404
19587
|
};
|
|
19405
19588
|
mole_view_module_options.domAPI = (styleDomAPI_default());
|
|
@@ -20333,23 +20516,24 @@ var uniqBy_default = /*#__PURE__*/__webpack_require__.n(uniqBy);
|
|
|
20333
20516
|
;// CONCATENATED MODULE: ./src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.ts
|
|
20334
20517
|
|
|
20335
20518
|
|
|
20519
|
+
|
|
20336
20520
|
class UserInfo {
|
|
20521
|
+
#userEmail;
|
|
20337
20522
|
constructor(driver) {
|
|
20338
|
-
this
|
|
20339
|
-
this._userEmail = driver.getUserEmailAddress();
|
|
20523
|
+
this.#userEmail = driver.getUserEmailAddress();
|
|
20340
20524
|
}
|
|
20341
20525
|
|
|
20342
|
-
|
|
20526
|
+
/** @deprecated */
|
|
20343
20527
|
getUserName() {
|
|
20344
20528
|
const nameEl = document.querySelector('div.gb_w div.gb_B .gb_D');
|
|
20345
20529
|
if (nameEl) {
|
|
20346
20530
|
return nameEl.textContent;
|
|
20347
20531
|
}
|
|
20348
|
-
const contact = find_default()(this.getAccountSwitcherContactList(), contact => contact.emailAddress === this
|
|
20532
|
+
const contact = find_default()(this.getAccountSwitcherContactList(), contact => contact.emailAddress === this.#userEmail);
|
|
20349
20533
|
if (contact && contact.name != null) {
|
|
20350
20534
|
return contact.name;
|
|
20351
20535
|
}
|
|
20352
|
-
return this
|
|
20536
|
+
return this.#userEmail;
|
|
20353
20537
|
}
|
|
20354
20538
|
|
|
20355
20539
|
/** @deprecated */
|
|
@@ -20363,7 +20547,7 @@ class UserInfo {
|
|
|
20363
20547
|
name: nameEl.textContent,
|
|
20364
20548
|
emailAddress: emailAddressEl.textContent
|
|
20365
20549
|
};
|
|
20366
|
-
}).filter(
|
|
20550
|
+
}).filter(isNotNil/* default */.Z);
|
|
20367
20551
|
const extras = Array.from(document.querySelectorAll('[role=banner] div[aria-label] div > a[target="_blank"] > img + div')).map(el => {
|
|
20368
20552
|
const match = el.children[1].textContent.match(/\S+/);
|
|
20369
20553
|
if (!match) {
|
|
@@ -21702,6 +21886,8 @@ var immutability_helper_default = /*#__PURE__*/__webpack_require__.n(immutabilit
|
|
|
21702
21886
|
|
|
21703
21887
|
|
|
21704
21888
|
|
|
21889
|
+
|
|
21890
|
+
|
|
21705
21891
|
const threadListHandlersToSearchStrings = new Map();
|
|
21706
21892
|
const MAX_THREADS_PER_PAGE = 50;
|
|
21707
21893
|
|
|
@@ -21868,8 +22054,8 @@ const setupSearchReplacing = (driver, customRouteID, onActivate, findIdFailure)
|
|
|
21868
22054
|
total = 0;
|
|
21869
22055
|
threadDescriptors = [];
|
|
21870
22056
|
}
|
|
21871
|
-
const initialIDPairs = threadDescriptors.map(threadDescriptorToInitialIDPair).filter(
|
|
21872
|
-
const idPairsWithRFC = (await Promise.all(initialIDPairs.map(pair => initialIDPairToIDPairWithRFC(driver, pair, findIdFailure)))).filter(
|
|
22057
|
+
const initialIDPairs = threadDescriptors.map(threadDescriptorToInitialIDPair).filter(isNotNil/* default */.Z);
|
|
22058
|
+
const idPairsWithRFC = (await Promise.all(initialIDPairs.map(pair => initialIDPairToIDPairWithRFC(driver, pair, findIdFailure)))).filter(isNotNil/* default */.Z);
|
|
21873
22059
|
const messageIDQuery = idPairsWithRFC.length > 0 ? idPairsWithRFC.map(_ref2 => {
|
|
21874
22060
|
let {
|
|
21875
22061
|
rfcId
|
|
@@ -21890,7 +22076,9 @@ const setupSearchReplacing = (driver, customRouteID, onActivate, findIdFailure)
|
|
|
21890
22076
|
const searchResultsResponse_promise = driver.getPageCommunicator().ajaxInterceptStream.filter(e => e.type === 'searchResultsResponse' && e.query === newQuery && e.start === start).map(x => x.response).take(1).toPromise();
|
|
21891
22077
|
|
|
21892
22078
|
// Figure out any gmail thread ids we don't know yet.
|
|
21893
|
-
|
|
22079
|
+
// Use uniqBy to remove duplicates which cause issues with Gmail sometimes
|
|
22080
|
+
// https://github.com/InboxSDK/InboxSDK/issues/1130
|
|
22081
|
+
const completedIDPairs = uniqBy_default()((await Promise.all(idPairsWithRFC.map(pair => idPairWithRFCToCompletedIDPair(driver, pair, findIdFailure)))).filter(isNotNil/* default */.Z), p => p.gtid);
|
|
21894
22082
|
const response = await searchResultsResponse_promise;
|
|
21895
22083
|
driver.signalCustomThreadListActivity(customRouteID);
|
|
21896
22084
|
|
|
@@ -21904,7 +22092,7 @@ const setupSearchReplacing = (driver, customRouteID, onActivate, findIdFailure)
|
|
|
21904
22092
|
gtid
|
|
21905
22093
|
} = _ref3;
|
|
21906
22094
|
return find_default()(extractedThreads, t => t.oldGmailThreadID === gtid);
|
|
21907
|
-
}).filter(
|
|
22095
|
+
}).filter(isNotNil/* default */.Z);
|
|
21908
22096
|
const doesNeedReorder = extractedThreads.length !== extractedThreadsInCompletedIDPairsOrder.length || extractedThreads.some((extractedThread, index) => extractedThread !== extractedThreadsInCompletedIDPairsOrder[index]);
|
|
21909
22097
|
let reorderedThreads;
|
|
21910
22098
|
if (doesNeedReorder) {
|
|
@@ -22103,6 +22291,7 @@ function copyAndValidateAutocompleteResults(driver, results) {
|
|
|
22103
22291
|
|
|
22104
22292
|
|
|
22105
22293
|
|
|
22294
|
+
|
|
22106
22295
|
function registerSearchSuggestionsProvider(driver, handler) {
|
|
22107
22296
|
// We inject the app-provided suggestions into Gmail's AJAX response. Then we
|
|
22108
22297
|
// watch the DOM for our injected suggestions to show up and attach click and
|
|
@@ -22145,10 +22334,10 @@ function registerSearchSuggestionsProvider(driver, handler) {
|
|
|
22145
22334
|
}).map(event => event.suggestions);
|
|
22146
22335
|
|
|
22147
22336
|
// Wait for the first routeViewDriver to happen before looking for the search box.
|
|
22148
|
-
const searchBoxStream = driver.getRouteViewDriverStream().toProperty(() => null).map(() => gmail_element_getter/* default.getSearchInput */.Z.getSearchInput()).filter(
|
|
22337
|
+
const searchBoxStream = driver.getRouteViewDriverStream().toProperty(() => null).map(() => gmail_element_getter/* default.getSearchInput */.Z.getSearchInput()).filter(isNotNil/* default */.Z).take(1);
|
|
22149
22338
|
|
|
22150
22339
|
// Wait for the search box to be focused before looking for the suggestions box.
|
|
22151
|
-
const suggestionsBoxTbodyStream = searchBoxStream.flatMapLatest(searchBox => kefir_esm.fromEvents(searchBox, 'focus')).map(() => gmail_element_getter/* default.getSearchSuggestionsBoxParent */.Z.getSearchSuggestionsBoxParent()).filter(
|
|
22340
|
+
const suggestionsBoxTbodyStream = searchBoxStream.flatMapLatest(searchBox => kefir_esm.fromEvents(searchBox, 'focus')).map(() => gmail_element_getter/* default.getSearchSuggestionsBoxParent */.Z.getSearchSuggestionsBoxParent()).filter(isNotNil/* default */.Z).flatMapLatest(make_element_child_stream/* default */.Z).map(x => x.el.firstElementChild).take(1).toProperty();
|
|
22152
22341
|
|
|
22153
22342
|
// This stream emits an event after every time Gmail changes the suggestions
|
|
22154
22343
|
// list.
|
|
@@ -22684,6 +22873,7 @@ function routeIDmatchesHash(routeID, hash) {
|
|
|
22684
22873
|
|
|
22685
22874
|
|
|
22686
22875
|
|
|
22876
|
+
|
|
22687
22877
|
function setupRouteViewDriverStream(gmailRouteProcessor, driver) {
|
|
22688
22878
|
const customRouteIDs = driver.getCustomRouteIDs();
|
|
22689
22879
|
const customListRouteIDs = driver.getCustomListRouteIDs();
|
|
@@ -22833,7 +23023,7 @@ function setupRouteViewDriverStream(gmailRouteProcessor, driver) {
|
|
|
22833
23023
|
return;
|
|
22834
23024
|
}
|
|
22835
23025
|
return new gmail_route_view(options, gmailRouteProcessor, driver);
|
|
22836
|
-
}).filter(
|
|
23026
|
+
}).filter(isNotNil/* default */.Z).map(gmailRouteView => {
|
|
22837
23027
|
if (latestGmailRouteView) {
|
|
22838
23028
|
latestGmailRouteView.destroy();
|
|
22839
23029
|
}
|
|
@@ -22857,6 +23047,7 @@ function setupRouteViewDriverStream(gmailRouteProcessor, driver) {
|
|
|
22857
23047
|
|
|
22858
23048
|
|
|
22859
23049
|
|
|
23050
|
+
|
|
22860
23051
|
class NativeGmailNavItemView {
|
|
22861
23052
|
_activeMarkerElement = null;
|
|
22862
23053
|
_isActive = false;
|
|
@@ -22875,7 +23066,7 @@ class NativeGmailNavItemView {
|
|
|
22875
23066
|
if (parentElement) {
|
|
22876
23067
|
(0,make_mutation_observer_chunked_stream/* default */.Z)(parentElement, {
|
|
22877
23068
|
childList: true
|
|
22878
|
-
}).map(() => parentElement.querySelector(`.aim a[href*="#${this._navItemName}"]`)).filter(
|
|
23069
|
+
}).map(() => parentElement.querySelector(`.aim a[href*="#${this._navItemName}"]`)).filter(isNotNil/* default */.Z).map(link => findParent(link, el => el.classList.contains('aim'))).filter(isNotNil/* default */.Z).filter(newElement => newElement !== this._element).onValue(newElement => {
|
|
22879
23070
|
if (newElement) {
|
|
22880
23071
|
const currentContainerElement = this._itemContainerElement;
|
|
22881
23072
|
if (currentContainerElement) {
|
|
@@ -24195,14 +24386,14 @@ class PlatformImplementation extends safe_event_emitter/* default */.Z {
|
|
|
24195
24386
|
};
|
|
24196
24387
|
platform_implementation_memberMap.set(this, members);
|
|
24197
24388
|
if (false) {}
|
|
24198
|
-
const membrane = new Membrane([[gmail_compose_view/* default */.Z, viewDriver => new compose_view/* default */.Z(driver, viewDriver, membrane)], [gmail_attachment_card_view, viewDriver => new
|
|
24389
|
+
const membrane = new Membrane([[gmail_compose_view/* default */.Z, viewDriver => new compose_view/* default */.Z(driver, viewDriver, membrane)], [gmail_attachment_card_view, viewDriver => new AttachmentCardView(viewDriver, driver, membrane)], [gmail_message_view, viewDriver => new MessageView(viewDriver, membrane, driver)], [gmail_thread_view, viewDriver => new thread_view/* default */.Z(viewDriver, appId, driver, membrane)], [gmail_thread_row_view/* default */.Z, viewDriver => new ThreadRowView(viewDriver)], [gmail_route_view, viewDriver => new route_view/* default */.Z(viewDriver)], [dummy_route_view_driver/* default */.Z, viewDriver => new route_view/* default */.Z(viewDriver)]]);
|
|
24199
24390
|
this.destroyed = false;
|
|
24200
24391
|
this.LOADER_VERSION = LOADER_VERSION;
|
|
24201
24392
|
this.IMPL_VERSION = version/* BUILD_VERSION */.b;
|
|
24202
24393
|
this.ButterBar = new ButterBar(appId, driver);
|
|
24203
24394
|
driver.setButterBar(this.ButterBar);
|
|
24204
24395
|
this.Compose = new compose/* default */.Z(driver, membrane);
|
|
24205
|
-
this.Conversations = new conversations
|
|
24396
|
+
this.Conversations = new conversations(appId, driver, membrane);
|
|
24206
24397
|
this.Keyboard = new keyboard/* default */.Z(appId, appName, appIconUrl, driver);
|
|
24207
24398
|
this.User = new User(driver, piOpts);
|
|
24208
24399
|
this.Lists = new Lists(appId, driver, membrane);
|
|
@@ -24767,227 +24958,6 @@ class ContentPanelView extends _lib_safe_event_emitter__WEBPACK_IMPORTED_MODULE_
|
|
|
24767
24958
|
|
|
24768
24959
|
/***/ }),
|
|
24769
24960
|
|
|
24770
|
-
/***/ 5052:
|
|
24771
|
-
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
24772
|
-
|
|
24773
|
-
"use strict";
|
|
24774
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
24775
|
-
/* harmony export */ "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
|
|
24776
|
-
/* harmony export */ });
|
|
24777
|
-
/* harmony import */ var ud__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(1010);
|
|
24778
|
-
/* harmony import */ var asap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9272);
|
|
24779
|
-
/* harmony import */ var asap__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(asap__WEBPACK_IMPORTED_MODULE_0__);
|
|
24780
|
-
/* harmony import */ var _lib_safe_event_emitter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6666);
|
|
24781
|
-
/* harmony import */ var _common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7791);
|
|
24782
|
-
/* harmony import */ var _namespaces_conversations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5558);
|
|
24783
|
-
/* module decorator */ module = __webpack_require__.hmd(module);
|
|
24784
|
-
|
|
24785
|
-
|
|
24786
|
-
|
|
24787
|
-
|
|
24788
|
-
|
|
24789
|
-
const memberMap = (0,ud__WEBPACK_IMPORTED_MODULE_3__.defonce)(module, () => new WeakMap());
|
|
24790
|
-
class MessageView extends _lib_safe_event_emitter__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z {
|
|
24791
|
-
destroyed = false;
|
|
24792
|
-
constructor(messageViewImplementation, appId, membrane, Conversations, driver) {
|
|
24793
|
-
super();
|
|
24794
|
-
const members = {
|
|
24795
|
-
messageViewImplementation,
|
|
24796
|
-
membrane,
|
|
24797
|
-
Conversations,
|
|
24798
|
-
driver,
|
|
24799
|
-
linksInBody: null
|
|
24800
|
-
};
|
|
24801
|
-
memberMap.set(this, members);
|
|
24802
|
-
_bindToEventStream(this, members, messageViewImplementation.getEventStream());
|
|
24803
|
-
}
|
|
24804
|
-
addAttachmentCardView(cardOptions) {
|
|
24805
|
-
const {
|
|
24806
|
-
messageViewImplementation,
|
|
24807
|
-
membrane
|
|
24808
|
-
} = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24809
|
-
const attachmentCardViewDriver = messageViewImplementation.addAttachmentCard(cardOptions);
|
|
24810
|
-
const attachmentCardView = membrane.get(attachmentCardViewDriver);
|
|
24811
|
-
attachmentCardViewDriver.getPreviewClicks().onValue(e => {
|
|
24812
|
-
if (cardOptions.previewOnClick) {
|
|
24813
|
-
cardOptions.previewOnClick({
|
|
24814
|
-
attachmentCardView,
|
|
24815
|
-
preventDefault: () => e.preventDefault()
|
|
24816
|
-
});
|
|
24817
|
-
}
|
|
24818
|
-
});
|
|
24819
|
-
return attachmentCardView;
|
|
24820
|
-
}
|
|
24821
|
-
|
|
24822
|
-
// TODO why is this a separate method?
|
|
24823
|
-
addAttachmentCardViewNoPreview(cardOptions) {
|
|
24824
|
-
return this.addAttachmentCardView(cardOptions);
|
|
24825
|
-
}
|
|
24826
|
-
addAttachmentsToolbarButton(buttonOptions) {
|
|
24827
|
-
const {
|
|
24828
|
-
messageViewImplementation,
|
|
24829
|
-
membrane
|
|
24830
|
-
} = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24831
|
-
messageViewImplementation.addButtonToDownloadAllArea({
|
|
24832
|
-
tooltip: buttonOptions.tooltip,
|
|
24833
|
-
iconUrl: buttonOptions.iconUrl,
|
|
24834
|
-
onClick: () => {
|
|
24835
|
-
const attachmentCardViews = messageViewImplementation.getAttachmentCardViewDrivers().map(cardDriver => membrane.get(cardDriver));
|
|
24836
|
-
buttonOptions.onClick({
|
|
24837
|
-
attachmentCardViews
|
|
24838
|
-
});
|
|
24839
|
-
}
|
|
24840
|
-
});
|
|
24841
|
-
}
|
|
24842
|
-
addToolbarButton(buttonOptions) {
|
|
24843
|
-
if (typeof buttonOptions.onClick !== 'function' || typeof buttonOptions.title !== 'string' || !Object.prototype.hasOwnProperty.call(_namespaces_conversations__WEBPACK_IMPORTED_MODULE_2__/* .MessageViewToolbarSectionNames */ .kI, buttonOptions.section)) {
|
|
24844
|
-
throw new Error('Missing required properties on MessageViewToolbarButtonDescriptor object');
|
|
24845
|
-
}
|
|
24846
|
-
const {
|
|
24847
|
-
messageViewImplementation
|
|
24848
|
-
} = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24849
|
-
messageViewImplementation.addMoreMenuItem(buttonOptions);
|
|
24850
|
-
}
|
|
24851
|
-
getBodyElement() {
|
|
24852
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.getContentsElement();
|
|
24853
|
-
}
|
|
24854
|
-
getMessageID() {
|
|
24855
|
-
(0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).driver.getLogger().deprecationWarning('messageView.getMessageID', 'messageView.getMessageIDAsync');
|
|
24856
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.getMessageID();
|
|
24857
|
-
}
|
|
24858
|
-
getMessageIDAsync() {
|
|
24859
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.getMessageIDAsync();
|
|
24860
|
-
}
|
|
24861
|
-
|
|
24862
|
-
// TODO non-file-attachment card views are asynchronously loaded. Add some sort of
|
|
24863
|
-
// registerAttachmentCardViewHandler function to listen for other types of
|
|
24864
|
-
// attachment cards if we want to continue support for them.
|
|
24865
|
-
getFileAttachmentCardViews() {
|
|
24866
|
-
const {
|
|
24867
|
-
messageViewImplementation,
|
|
24868
|
-
membrane
|
|
24869
|
-
} = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24870
|
-
return messageViewImplementation.getAttachmentCardViewDrivers().filter(cardDriver => cardDriver.getAttachmentType() === 'FILE').map(attachmentCardViewDriver => membrane.get(attachmentCardViewDriver));
|
|
24871
|
-
}
|
|
24872
|
-
|
|
24873
|
-
// Deprecated name
|
|
24874
|
-
getAttachmentCardViews() {
|
|
24875
|
-
const {
|
|
24876
|
-
driver
|
|
24877
|
-
} = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24878
|
-
driver.getLogger().deprecationWarning('MessageView.getAttachmentCardViews', 'MessageView.getFileAttachmentCardViews');
|
|
24879
|
-
if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
|
|
24880
|
-
throw new Error('This method was discontinued after API version 1');
|
|
24881
|
-
}
|
|
24882
|
-
return this.getFileAttachmentCardViews();
|
|
24883
|
-
}
|
|
24884
|
-
isElementInQuotedArea(element) {
|
|
24885
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.isElementInQuotedArea(element);
|
|
24886
|
-
}
|
|
24887
|
-
isLoaded() {
|
|
24888
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.isLoaded();
|
|
24889
|
-
}
|
|
24890
|
-
getLinksInBody() {
|
|
24891
|
-
const members = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24892
|
-
if (!members.linksInBody) {
|
|
24893
|
-
const anchors = this.getBodyElement().querySelectorAll('a');
|
|
24894
|
-
members.linksInBody = Array.from(anchors).map(anchor => ({
|
|
24895
|
-
text: anchor.textContent,
|
|
24896
|
-
html: anchor.innerHTML,
|
|
24897
|
-
href: anchor.href,
|
|
24898
|
-
element: anchor,
|
|
24899
|
-
isInQuotedArea: this.isElementInQuotedArea(anchor)
|
|
24900
|
-
}));
|
|
24901
|
-
}
|
|
24902
|
-
return members.linksInBody;
|
|
24903
|
-
}
|
|
24904
|
-
getSender() {
|
|
24905
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.getSender();
|
|
24906
|
-
}
|
|
24907
|
-
getRecipients() {
|
|
24908
|
-
(0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).driver.getLogger().deprecationWarning('MessageView.getRecipients', 'MessageView.getRecipientEmailAddresses() or MessageView.getRecipientsFull()');
|
|
24909
|
-
return this.getRecipientEmailAddresses().map(emailAddress => ({
|
|
24910
|
-
emailAddress,
|
|
24911
|
-
name: null
|
|
24912
|
-
}));
|
|
24913
|
-
}
|
|
24914
|
-
getRecipientEmailAddresses() {
|
|
24915
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.getRecipientEmailAddresses();
|
|
24916
|
-
}
|
|
24917
|
-
getRecipientsFull() {
|
|
24918
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.getRecipientsFull();
|
|
24919
|
-
}
|
|
24920
|
-
getThreadView() {
|
|
24921
|
-
const {
|
|
24922
|
-
messageViewImplementation,
|
|
24923
|
-
membrane
|
|
24924
|
-
} = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24925
|
-
return membrane.get(messageViewImplementation.getThreadViewDriver());
|
|
24926
|
-
}
|
|
24927
|
-
getDateString() {
|
|
24928
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.getDateString();
|
|
24929
|
-
}
|
|
24930
|
-
addAttachmentIcon(iconDescriptor) {
|
|
24931
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.addAttachmentIcon(iconDescriptor);
|
|
24932
|
-
}
|
|
24933
|
-
getViewState() {
|
|
24934
|
-
const members = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24935
|
-
return members.Conversations.MessageViewViewStates[members.messageViewImplementation.getViewState()];
|
|
24936
|
-
}
|
|
24937
|
-
hasOpenReply() {
|
|
24938
|
-
const {
|
|
24939
|
-
driver
|
|
24940
|
-
} = (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this);
|
|
24941
|
-
driver.getLogger().deprecationWarning('MessageView.hasOpenReply');
|
|
24942
|
-
if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
|
|
24943
|
-
throw new Error('This method was discontinued after API version 1');
|
|
24944
|
-
}
|
|
24945
|
-
return (0,_common_get_or_fail__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)(memberMap, this).messageViewImplementation.hasOpenReply();
|
|
24946
|
-
}
|
|
24947
|
-
}
|
|
24948
|
-
function _bindToEventStream(messageView, members, stream) {
|
|
24949
|
-
stream.onEnd(function () {
|
|
24950
|
-
messageView.destroyed = true;
|
|
24951
|
-
messageView.emit('destroy');
|
|
24952
|
-
messageView.removeAllListeners();
|
|
24953
|
-
});
|
|
24954
|
-
stream.filter(function (event) {
|
|
24955
|
-
return event.type !== 'internal' && event.eventName === 'contactHover';
|
|
24956
|
-
}).onValue(function (event) {
|
|
24957
|
-
messageView.emit(event.eventName, {
|
|
24958
|
-
contactType: event.contactType,
|
|
24959
|
-
contact: event.contact,
|
|
24960
|
-
messageView: messageView,
|
|
24961
|
-
threadView: messageView.getThreadView()
|
|
24962
|
-
});
|
|
24963
|
-
});
|
|
24964
|
-
if (messageView.isLoaded()) {
|
|
24965
|
-
asap__WEBPACK_IMPORTED_MODULE_0___default()(() => {
|
|
24966
|
-
messageView.emit('load', {
|
|
24967
|
-
messageView
|
|
24968
|
-
});
|
|
24969
|
-
});
|
|
24970
|
-
} else {
|
|
24971
|
-
stream.filter(event => event.eventName === 'messageLoad').onValue(() => {
|
|
24972
|
-
messageView.emit('load', {
|
|
24973
|
-
messageView: messageView
|
|
24974
|
-
});
|
|
24975
|
-
});
|
|
24976
|
-
}
|
|
24977
|
-
stream.filter(function (event) {
|
|
24978
|
-
return event.eventName === 'viewStateChange';
|
|
24979
|
-
}).onValue(function (event) {
|
|
24980
|
-
messageView.emit('viewStateChange', {
|
|
24981
|
-
oldViewState: members.Conversations.MessageViewViewStates[event.oldValue],
|
|
24982
|
-
newViewState: members.Conversations.MessageViewViewStates[event.newValue],
|
|
24983
|
-
messageView: messageView
|
|
24984
|
-
});
|
|
24985
|
-
});
|
|
24986
|
-
}
|
|
24987
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (MessageView);
|
|
24988
|
-
|
|
24989
|
-
/***/ }),
|
|
24990
|
-
|
|
24991
24961
|
/***/ 7422:
|
|
24992
24962
|
/***/ ((module, __webpack_exports__, __webpack_require__) => {
|
|
24993
24963
|
|
|
@@ -25155,8 +25125,8 @@ const membersMap = (0,ud__WEBPACK_IMPORTED_MODULE_2__.defonce)(module, () => new
|
|
|
25155
25125
|
|
|
25156
25126
|
|
|
25157
25127
|
class DummyRouteViewDriver {
|
|
25158
|
-
|
|
25159
|
-
|
|
25128
|
+
#eventStream = kefir_bus__WEBPACK_IMPORTED_MODULE_0___default()();
|
|
25129
|
+
#stopper = kefir_stopper__WEBPACK_IMPORTED_MODULE_1___default()();
|
|
25160
25130
|
getRouteType() {
|
|
25161
25131
|
return 'UNKNOWN';
|
|
25162
25132
|
}
|
|
@@ -25167,14 +25137,14 @@ class DummyRouteViewDriver {
|
|
|
25167
25137
|
return {};
|
|
25168
25138
|
}
|
|
25169
25139
|
getEventStream() {
|
|
25170
|
-
return this
|
|
25140
|
+
return this.#eventStream;
|
|
25171
25141
|
}
|
|
25172
25142
|
getStopper() {
|
|
25173
|
-
return this
|
|
25143
|
+
return this.#stopper;
|
|
25174
25144
|
}
|
|
25175
25145
|
destroy() {
|
|
25176
|
-
this.
|
|
25177
|
-
this.
|
|
25146
|
+
this.#eventStream.end();
|
|
25147
|
+
this.#stopper.destroy();
|
|
25178
25148
|
}
|
|
25179
25149
|
}
|
|
25180
25150
|
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (DummyRouteViewDriver);
|