diff --git a/interfaces/kits/picker/picker.js b/interfaces/kits/picker/picker.js index 864e72ab9eaf8997206b91444cc9f455c47f499b..0b9dc6f0799805805cff816ce7299364f7f13923 100644 --- a/interfaces/kits/picker/picker.js +++ b/interfaces/kits/picker/picker.js @@ -267,26 +267,9 @@ function getDocumentPickerSelectResult(args) { return selectResult; } -async function documentPickerSelect(...args) { - let checkDocumentSelectArgsResult = checkArguments(args); - if (checkDocumentSelectArgsResult !== undefined) { - console.log('[picker] Document Select Invalid argument'); - throw checkDocumentSelectArgsResult; - } - - let documentSelectContext = undefined; +async function selectDocument(documentSelectContext, args) { let documentSelectConfig = undefined; let documentSelectResult = undefined; - - try { - documentSelectContext = getContext(this); - } catch (getContextError) { - console.error('[picker] getContext error: ' + getContextError); - throw getErr(ErrCode.CONTEXT_NO_EXIST); - } - if (documentSelectContext === undefined) { - throw getErr(ErrCode.CONTEXT_NO_EXIST); - } if (deviceInfo.deviceType === '2in1') { try { documentSelectConfig = parseDocumentPickerSelectOption(args, ACTION.SELECT_ACTION_MODAL); @@ -310,8 +293,36 @@ async function documentPickerSelect(...args) { return undefined; } } - console.log('[picker] DocumentSelect result: ' + JSON.stringify(documentSelectResult)); + return documentSelectResult; +} + +function fetchContext() { + let context = undefined; + try { + context = getContext(this); + } catch (getContextError) { + console.error('[picker] getContext error: ' + getContextError); + throw getErr(ErrCode.CONTEXT_NO_EXIST); + } + if (context === undefined) { + throw getErr(ErrCode.CONTEXT_NO_EXIST); + } + return context; +} + +async function documentPickerSelect(...args) { + let checkDocumentSelectArgsResult = checkArguments(args); + if (checkDocumentSelectArgsResult !== undefined) { + console.log('[picker] Document Select Invalid argument'); + throw checkDocumentSelectArgsResult; + } + let documentSelectContext = fetchContext(); + let documentSelectResult = await selectDocument(documentSelectContext, args); + + if (documentSelectResult == undefined) { + return undefined; + } try { const selectResult = getDocumentPickerSelectResult(documentSelectResult); if (args.length === ARGS_TWO && typeof args[ARGS_ONE] === 'function') { @@ -389,28 +400,9 @@ function getDocumentPickerSaveResult(args) { return saveResult; } -async function documentPickerSave(...args) { - let checkDocumentSaveArgsResult = checkArguments(args); - if (checkDocumentSaveArgsResult !== undefined) { - console.log('[picker] Document Save Invalid argument'); - throw checkDocumentSaveArgsResult; - } - - let documentSaveContext = undefined; +async function saveDocument(documentSaveContext, args) { let documentSaveConfig = undefined; let documentSaveResult = undefined; - - try { - documentSaveContext = getContext(this); - } catch (getContextError) { - console.error('[picker] getContext error: ' + getContextError); - throw getErr(ErrCode.CONTEXT_NO_EXIST); - } - - if (documentSaveContext === undefined) { - throw getErr(ErrCode.CONTEXT_NO_EXIST); - } - if (deviceInfo.deviceType === '2in1') { try { documentSaveConfig = parseDocumentPickerSaveOption(args, ACTION.SAVE_ACTION_MODAL); @@ -434,8 +426,23 @@ async function documentPickerSave(...args) { return undefined; } } - console.log('[picker] document save result: ' + JSON.stringify(documentSaveResult)); + return documentSaveResult; +} + +async function documentPickerSave(...args) { + let checkDocumentSaveArgsResult = checkArguments(args); + if (checkDocumentSaveArgsResult !== undefined) { + console.log('[picker] Document Save Invalid argument'); + throw checkDocumentSaveArgsResult; + } + + let documentSaveContext = fetchContext(); + let documentSaveResult = await saveDocument(documentSaveContext, args); + + if (documentSaveResult == undefined) { + return undefined; + } try { const saveResult = getDocumentPickerSaveResult(documentSaveResult); if (args.length === ARGS_TWO && typeof args[ARGS_ONE] === 'function') {