Skip to content

Commit 55cddd9

Browse files
committed
fixed edit pr
1 parent ec582cf commit 55cddd9

File tree

5 files changed

+56
-42
lines changed

5 files changed

+56
-42
lines changed

src/custom-reviewers/templates/actions.js

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
// @flow
22
import { h } from 'dom-chef'
33
import { isCreatePullRequestURL } from '../../page-detect'
4-
import {
5-
setStorageSyncValue,
6-
getDefaultReviewersStorageKey,
7-
} from '../../storage'
84
import {
95
getCurrentReviewers,
106
prefetchAllReviewers,
@@ -17,6 +13,7 @@ import {
1713
import {
1814
clearSelectedReviewers,
1915
insertUsersToSelectedReviewers,
16+
setSavedDefaultReviewers,
2017
getSavedDefaultReviewers,
2118
} from '../ui-renderer'
2219

@@ -38,10 +35,7 @@ const buttonFeedback = (button, succeeded) => {
3835
}
3936

4037
async function handleSaveSelectionAsDefault(e) {
41-
await setStorageSyncValue(
42-
getDefaultReviewersStorageKey(),
43-
getCurrentReviewers()
44-
)
38+
await setSavedDefaultReviewers(getCurrentReviewers())
4539

4640
const savedReviewers: IUser[] = await getSavedDefaultReviewers()
4741
const currentReviewersIds: string[] = getReviewersFieldValue()
@@ -63,7 +57,6 @@ async function handleAddAllUsers(e) {
6357

6458
async function handleReload(e) {
6559
const savedReviewers: IUser[] = await getSavedDefaultReviewers()
66-
console.log(savedReviewers)
6760
if (savedReviewers.length > 0) {
6861
addSearchedReviewers(savedReviewers)
6962
}
@@ -72,7 +65,6 @@ async function handleReload(e) {
7265

7366
async function handleReset(e) {
7467
const defaultReviewers: IUser[] = getDefaultReviewers()
75-
console.log(defaultReviewers)
7668
if (defaultReviewers.length > 0) {
7769
addSearchedReviewers(defaultReviewers)
7870
}

src/custom-reviewers/ui-renderer/selected-reviewers-list.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ import { getDefaultReviewers, resetReviewers } from '../data-selectors'
66
import {
77
getStorageSyncValue,
88
getDefaultReviewersStorageKey,
9+
getStorageLocalValue,
10+
setStorageSyncValue,
11+
setStorageLocalValue,
912
} from '../../storage'
10-
import { isCreatePullRequestURL } from '../../page-detect'
1113

1214
export const getSelectedReviewerLineId = (user: IUser) =>
1315
`#__bbcdr_selected_reviewer_${user.account_id}`
@@ -40,7 +42,17 @@ export function resetUsersToSelectedReviewers(users: IUsers[]): void {
4042
}
4143

4244
export async function getSavedDefaultReviewers(): Promise<IUser[]> {
43-
return (await getStorageSyncValue(getDefaultReviewersStorageKey())) || []
45+
const key = getDefaultReviewersStorageKey()
46+
const syncStorage = await getStorageSyncValue(key)
47+
const localStorage = await getStorageLocalValue(key)
48+
return syncStorage || localStorage || []
49+
}
50+
51+
export async function setSavedDefaultReviewers(reviewers: IUser[]): void {
52+
const key = getDefaultReviewersStorageKey()
53+
const syncStorage = await setStorageSyncValue(key, reviewers)
54+
const localStorage = await setStorageLocalValue(key, reviewers)
55+
return syncStorage || localStorage || []
4456
}
4557

4658
export async function initSelectedReviewers(): void {

src/main.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@ import customReviewersFeature from './custom-reviewers/custom-reviewers'
88
import { isCreatePullRequestURL, isEditPullRequestURL } from './page-detect'
99

1010
function init() {
11-
if (isCreatePullRequestURL()) {
12-
customReviewersFeature()
13-
} else if (isEditPullRequestURL()) {
14-
customReviewersFeature()
15-
}
11+
if (!isCreatePullRequestURL() && !isEditPullRequestURL()) return
12+
13+
customReviewersFeature()
1614
}
1715

1816
init()

src/manifest.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,6 @@
1919
"https://api.bitbucket.org/*",
2020
"storage"
2121
],
22-
"applications": {
23-
"gecko": {
24-
"id": "{e25bc27e-d67f-4a12-bedf-3c8865f63bbf}"
25-
}
26-
},
2722
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
2823
"content_scripts": [
2924
{

src/storage.js

Lines changed: 37 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,34 +9,51 @@ export const getDefaultReviewersStorageKey = () =>
99
export const getDashboardPullRequestsStorageKey = actionId =>
1010
`__bbcd-dashboard-pull-requests_${actionId}`
1111

12-
export function getStorageSyncValue(key: string): Promise<any> {
13-
return new Promise(resolve => {
14-
;(chrome.storage: any).sync.get(key, result => {
15-
resolve(result[key])
16-
})
12+
export async function getStorageSyncValue(key: string): Promise<any> {
13+
return new Promise((resolve, reject) => {
14+
try {
15+
;(chrome.storage: any).sync.get(key, result => {
16+
console.log('get result --', (result || {}).key)
17+
resolve((result || {})[key])
18+
})
19+
} catch (ex) {
20+
reject()
21+
}
1722
})
1823
}
1924

20-
export function setStorageSyncValue(key: string, value: any): void {
21-
return new Promise(resolve => {
22-
;(chrome.storage: any).sync.set({ [key]: value }, () => {
23-
resolve()
24-
})
25+
export async function setStorageSyncValue(key: string, value: any): void {
26+
return new Promise((resolve, reject) => {
27+
try {
28+
;(chrome.storage: any).sync.set({ [key]: value }, () => {
29+
resolve()
30+
})
31+
} catch (ex) {
32+
reject()
33+
}
2534
})
2635
}
2736

28-
export function getStorageLocalValue(key: string): Promise<any> {
29-
return new Promise(resolve => {
30-
;(chrome.storage: any).local.get(key, result => {
31-
resolve(result[key])
32-
})
37+
export async function getStorageLocalValue(key: string): Promise<any> {
38+
return new Promise((resolve, reject) => {
39+
try {
40+
;(chrome.storage: any).local.get(key, result => {
41+
resolve((result || {})[key])
42+
})
43+
} catch (ex) {
44+
reject(ex)
45+
}
3346
})
3447
}
3548

36-
export function setStorageLocalValue(key: string, value: any): void {
37-
return new Promise(resolve => {
38-
;(chrome.storage: any).local.set({ [key]: value }, () => {
39-
resolve()
40-
})
49+
export async function setStorageLocalValue(key: string, value: any): void {
50+
return new Promise((resolve, reject) => {
51+
try {
52+
;(chrome.storage: any).local.set({ [key]: value }, () => {
53+
resolve()
54+
})
55+
} catch (ex) {
56+
reject(ex)
57+
}
4158
})
4259
}

0 commit comments

Comments
 (0)