Created
July 16, 2018 02:28
-
-
Save eojji/47335a22d2f298631affb2980613b64a to your computer and use it in GitHub Desktop.
Process Main, drive 10 - Google App Maker. https://cafe.naver.com/eojji/337
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function onMainPageAttach(page) { | |
google.script.run.withSuccessHandler( function(resp) { | |
page.descendants.ToFolderLink.text = resp.title; | |
page.descendants.ToFolderLink.href = resp.link; | |
}).getLinkToFolderByProperty(); | |
} | |
/** | |
* @param {widget} widget - Button widget. | |
* @param {event} | |
*/ | |
function onMainInputClick(widget, event) { | |
// var widgets = widget.parent.descendants; | |
var input = widget.parent.descendants.InputTextBox.value; | |
app.popups.ModalLoadingIndicator.visible = true; | |
google.script.run.withSuccessHandler( function(resp) { | |
var props = app.currentPage.properties; | |
props.TitleProperty = resp.title; | |
props.UrlProperty = resp.url; | |
props.MessageProperty = resp.message; | |
app.popups.ModalLoadingIndicator.visible = false; | |
}).processMain(input); | |
} | |
/** | |
* @param {widget} widget - Button widget. | |
* @param {event} | |
*/ | |
function onToFolderButtonClick(widget) { | |
var toFolder = widget.parent.descendants.ToFolderTextBox.value; | |
widget.parent.descendants.ToFolderTextBox.value = ''; | |
app.popups.ModalLoadingIndicator.visible = true; | |
google.script.run.withSuccessHandler( function(resp) { | |
var props = app.currentPage.properties; | |
props.ToFolderName = resp.title; | |
props.ToFolderUrl = resp.url; | |
props.MessageProperty = resp.message; | |
app.popups.ModalLoadingIndicator.visible = false; | |
}).setToFolderByUrl(toFolder); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function setFolderPropertyById_(id) { | |
PropertiesService.getUserProperties().setProperty('TO_FOLDER_ID', id); | |
} | |
function getFolderByProperty_() { | |
// return | |
var toFolderId = PropertiesService.getUserProperties().getProperty('TO_FOLDER_ID'); | |
if (toFolderId) { | |
try { | |
return getDriveFileById_(toFolderId); | |
} catch(e) { | |
} | |
} else { | |
var folder = DriveApp.createFolder('_Pick&Copy'); | |
var id = folder.getId(); | |
setFolderPropertyById_(id); | |
return Drive.Files.get(id); | |
} | |
} | |
function getLinkToFolderByProperty() { | |
var folder = getFolderByProperty_(); | |
if (!folder) { | |
return; | |
} | |
return { title:folder.title, link:folder.alternateLink }; | |
} | |
function setToFolderByUrl(url) { | |
var appMessage = {}; | |
var pageToFolderUrl = url.trim(); | |
var decodeUri; | |
if (pageToFolderUrl) { | |
decodeUri = decodeURIComponent(pageToFolderUrl); | |
} else { | |
appMessage.message = 'Enter To folder URL'; | |
return appMessage; | |
} | |
var folder = getFolderByGdUrl_(pageToFolderUrl); // return Drive.Files.get(id, optionalArgs); | |
if (!folder || !folder.id) { | |
var resp = folder; | |
if (resp && resp.name) { | |
console.log('Error Name: %s, Message: %s, Form Input Url: %s', resp.name, resp.message, pageToFolderUrl); | |
appMessage.message = 'Error Name: '+resp.name+', Message: '+resp.message; | |
} else { | |
console.log('Error input Url Validate. URL does not have file ID. [%s]', pageToFolderUrl); | |
appMessage.message = 'Error ['+pageToFolderUrl+'] Validate.'; | |
} | |
return appMessage; | |
} | |
var title = folder.title; | |
if (folder.mimeType != 'application/vnd.google-apps.folder') { | |
appMessage.message = 'To folder URL is file'; | |
return appMessage; | |
} | |
var id = folder.getId(); | |
setFolderPropertyById_(id); | |
appMessage.url = folder.alternateLink; | |
appMessage.title = folder.title; | |
appMessage.message = 'Save To folder'; | |
return appMessage; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment