(self, event)
| 1396 | // trigger: 'click', |
| 1397 | zIndex: 2147483646, |
| 1398 | functionBefore(self, event) { |
| 1399 | let elem = $(event.origin) |
| 1400 | elem.tooltipster('content', $('<span class="loading"></span>')) |
| 1401 | let type = elem.data(TYPE_KEY) |
| 1402 | let value = elem.data(VALUE_KEY) |
| 1403 | |
| 1404 | let raw = cache[type][value] |
| 1405 | if (raw && type !== EXTRACT_TYPE.USER) { |
| 1406 | elem.tooltipster('content', getCardContent(type, raw, elem)) |
| 1407 | } else { |
| 1408 | if (raw && type === EXTRACT_TYPE.USER) { |
| 1409 | let subject = getHovercardSubject() || {} |
| 1410 | // '@' for contextless |
| 1411 | let subjectSlug = subject ? `${subject.type}:${subject.id}` : '@' |
| 1412 | if (cache.hovercard[value] && cache.hovercard[value][subjectSlug]) { |
| 1413 | Object.assign(raw, { |
| 1414 | hovercard: cache.hovercard[value][subjectSlug] |
| 1415 | }) |
| 1416 | elem.tooltipster('content', getCardContent(type, raw, elem)) |
| 1417 | return |
| 1418 | } |
| 1419 | } |
| 1420 | |
| 1421 | let apiPath |
| 1422 | switch (type) { |
| 1423 | case EXTRACT_TYPE.USER: |
| 1424 | apiPath = `users/${value}` |
| 1425 | break |
| 1426 | case EXTRACT_TYPE.REPO: |
| 1427 | apiPath = `repos/${value}` |
| 1428 | break |
| 1429 | case EXTRACT_TYPE.ISSUE: { |
| 1430 | let [fullRepo, issue] = value.split('#') |
| 1431 | apiPath = `repos/${fullRepo}/issues/${issue}` |
| 1432 | break |
| 1433 | } |
| 1434 | case EXTRACT_TYPE.COMMENT: { |
| 1435 | let [fullRepo, comment] = value.split(':') |
| 1436 | apiPath = `repos/${fullRepo}/issues/comments/${comment}` |
| 1437 | break |
| 1438 | } |
| 1439 | case EXTRACT_TYPE.COMMIT: { |
| 1440 | let values = value.split('@') |
| 1441 | let fullRepo = values[0] |
| 1442 | let commit = values[1] |
| 1443 | apiPath = `repos/${fullRepo}/commits/${commit}` |
| 1444 | break |
| 1445 | } |
| 1446 | } |
| 1447 | |
| 1448 | let baseOptions = { |
| 1449 | url: `${API_PREFIX}/${apiPath}`, |
| 1450 | dataType: 'json' |
| 1451 | } |
| 1452 | |
| 1453 | let isRetry = false |
| 1454 | let handleError = function(xhr) { |
| 1455 | let { status } = xhr |
nothing calls this directly
no test coverage detected