Skip to content

Instantly share code, notes, and snippets.

View stomita's full-sized avatar

Shinichi Tomita stomita

View GitHub Profile
@stomita
stomita / GAEmbedAPITest.page
Created January 28, 2016 15:44
Google Analytics Embed APIのサンプルをVF Pageにしたサンプル
<apex:page showHeader="false" applyBodyTag="false" applyHtmlTag="false" docType="html-5.0">
<html>
<head>
<title>Embed API Demo</title>
</head>
<body>
<!-- Step 1: Create the containing elements. -->
<section id="auth-button"></section>
@stomita
stomita / S3FileList-final.page
Created December 25, 2013 07:59
S3 File List Visualforce page final.
<apex:page showHeader="false"
standardStylesheets="false"
sidebar="false"
contentType="text/html"
applyBodyTag="false"
applyHtmlTag="false"
cache="true"
docType="html-5.0">
<html>
<head>
@stomita
stomita / gist:8121150
Created December 25, 2013 07:51
List files, specifying prefix.
function updateFileList() {
bucket.listObjects({ Prefix: getPrefix() }, function(err, resp) {
if (err) { throw err; }
$('#fileList').empty();
if (resp.Contents.length === 0) {
$('<li>').text('No files available').appendTo($('#fileList'));
} else {
$.each(resp.Contents, function(i, content) {
var key = content.Key;
var fileName = key.split('/').pop();
@stomita
stomita / S3FileListForOpportunity.page
Created December 25, 2013 07:47
VF page to embed in Opportunity detail page.
<apex:page standardController="Opportunity">
<apex:iframe frameborder="false" width="100%" height="200" scrolling="true"
src="/idp/login?app=0spi0000000Kyou" />
<script>
window.recordId = '{!id}';
</script>
</apex:page>
@stomita
stomita / gist:8121096
Created December 25, 2013 07:45
Delete link click event handler to delete the file.
function initEventHandlers() {
// ...
//
$('#fileList').on('click', 'a.delete-link', function() {
var key = $(this).parents('li').data('key');
if (confirm('Are you sure you want to delete the file "' + key + '" ?')) {
bucket.deleteObject({ Key: key }, function (err) {
updateFileList();
});
}
@stomita
stomita / gist:8121088
Last active January 1, 2016 08:49
Render file list with delete link.
function updateFileList() {
bucket.listObjects({}, function(err, resp) {
if (err) { throw err; }
$('#fileList').empty();
$.each(resp.Contents, function(i, content) {
var viewLink = $('<a href="#" class="view-link">').text(content.Key);
var deleteLink = $('<a href="#" class="delete-link">').text('Delete');
$('<li>').data('key', content.Key)
.append(viewLink)
.append('&nbsp;[')
@stomita
stomita / gist:8121170
Created December 25, 2013 07:54
Upload file, using prefix.
function uploadFile(files) {
if (files && files.length > 0) {
var file = files[0];
var params = { Key: getPrefix() + file.name, ContentType: file.type, Body: file };
bucket.putObject(params, function(err, resp) {
updateFileList();
});
}
}
@stomita
stomita / gist:8121157
Last active January 1, 2016 08:49
Get prefix from parent window record id.
function getPrefix() {
try {
return window.parent.recordId ? window.parent.recordId + '/' : '';
} catch(e) {
return ''; // when access is not allowed to parent window object (maybe in different origin)
}
}
@stomita
stomita / S3FileList.html
Last active January 1, 2016 08:49
Add file select input.
...
<body>
<input type="hidden" id="samlResponse" value="{!$CurrentPage.parameters.SAMLResponse}" />
<div>
Select File to Upload: <input type="file" id="fileSelect" />
</div>
<ul id="fileList"></ul>
</body>
...
@stomita
stomita / gist:8121053
Created December 25, 2013 07:39
Include view link in file list.
function updateFileList() {
bucket.listObjects({}, function(err, resp) {
if (err) { throw err; }
$('#fileList').empty();
$.each(resp.Contents, function(i, content) {
var viewLink = $('<a href="#" class="view-link">').text(content.Key);
$('<li>').data('key', content.Key)
.append(viewLink)
.appendTo($('#fileList'));
});