Last active
August 29, 2015 14:18
-
-
Save yamaryu0508/7553948323104924e819 to your computer and use it in GitHub Desktop.
Atom用kintone-JSスニペット(autocomplete-plusとautocomplete-snippetsが前提)
This file contains 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
# Your snippets | |
# | |
# Atom snippets allow you to enter a simple prefix in the editor and hit tab to | |
# expand the prefix into a larger code block with templated values. | |
# | |
# You can create a new snippet in this file by typing "snip" and then hitting | |
# tab. | |
# | |
# An example CoffeeScript snippet to expand log to console.log: | |
# | |
# '.source.coffee': | |
# 'Console log': | |
# 'prefix': 'log' | |
# 'body': 'console.log $1' | |
# | |
# This file uses CoffeeScript Object Notation (CSON). | |
# If you are unfamiliar with CSON, you can read more about it here: | |
# https://github.com/bevry/cson#what-is-cson | |
'.source.js': | |
'[kintone] アプリの ID を取得する': | |
'prefix': 'kintone_app_getId' | |
'body': """ | |
kintone.app.getId() | |
""" | |
'[kintone] レコード一覧のクエリ文字列を取得する': | |
'prefix': 'kintone_app_getQueryCondition' | |
'body': """ | |
kintone.app.getQueryCondition() | |
""" | |
'[kintone] レコード一覧のクエリ文字列を取得する(order by, limit, offset付き)': | |
'prefix': 'kintone_app_getQuery' | |
'body': """ | |
kintone.app.getQuery() | |
""" | |
'[kintone] フィールド要素を取得する(レコード一覧画面)': | |
'prefix': 'kintone_app_getFieldElements' | |
'body': """ | |
var els = kintone.app.getFieldElements('$1'); | |
""" | |
'[kintone] レコード一覧のメニューの右側の空白部分の要素を取得する': | |
'prefix': 'kintone_app_getHeaderMenuSpaceElement' | |
'body': """ | |
kintone.app.getHeaderMenuSpaceElement() | |
""" | |
'[kintone] レコード一覧のメニューの下側の空白部分の要素を取得する': | |
'prefix': 'kintone_app_getHeaderSpaceElement' | |
'body': """ | |
kintone.app.getHeaderSpaceElement() | |
""" | |
'[kintone] ヘッダーの下側の空白部分の要素を取得する': | |
'prefix': 'kintone_mobile_app_getHeaderSpaceElement' | |
'body': """ | |
kintone.mobile.app.getHeaderSpaceElement() | |
""" | |
'[kintone] レコードIDを取得する': | |
'prefix': 'kintone_app_record_getId' | |
'body': """ | |
kintone.app.record.getId() | |
""" | |
'[kintone] レコードの値を取得する(PC用)': | |
'prefix': 'kintone_app_record_get' | |
'body': """ | |
var record = kintone.app.record.get(); | |
""" | |
'[kintone] レコードの値を取得する(スマホ用)': | |
'prefix': 'kintone_mobile_app_record_get' | |
'body': """ | |
var record = kintone.mobile.app.record.get(); | |
""" | |
'[kintone] フィールド要素を取得する(レコード詳細画面)': | |
'prefix': 'kintone_app_record_getFieldElement' | |
'body': """ | |
var el = kintone.app.record.getFieldElement('$1'); | |
""" | |
'[kintone] レコードに値をセットする(PC用)': | |
'prefix': 'kintone_app_record_set' | |
'body': """ | |
kintone.app.record.set(record); | |
""" | |
'[kintone] レコードに値をセットする(スマホ用)': | |
'prefix': 'kintone_mobile_app_record_set' | |
'body': """ | |
kintone.app.mobile.record.set(record); | |
""" | |
'[kintone] メニューの右側の空白部分の要素を取得する': | |
'prefix': 'kintone_app_record_getHeaderMenuSpaceElement' | |
'body': """ | |
kintone.app.record.getHeaderMenuSpaceElement() | |
""" | |
'[kintone] スペースフィールドの要素を取得する': | |
'prefix': 'kintone_app_record_getSpaceElement' | |
'body': """ | |
var el = kintone.app.record.getSpaceElement('$1'); | |
""" | |
'[kintone] 関連レコード一覧の参照先のアプリIDを取得する': | |
'prefix': 'kintone_app_getRelatedRecordsTargetAppId' | |
'body': """ | |
var related_app_id = kintone.app.getRelatedRecordsTargetAppId('$1'); | |
""" | |
'[kintone] ルックアップフィールドの参照先のアプリIDを取得する': | |
'prefix': 'kintone_app_getLookupTargetAppId' | |
'body': """ | |
var lookup_app_id = kintone.app.getLookupTargetAppId('$1'); | |
""" | |
'[kintone] ログインユーザーの情報を取得する': | |
'prefix': 'kintone_getLoginUser' | |
'body': """ | |
kintone.getLoginUser() | |
""" | |
'[kintone] デザインのバージョンを取得する': | |
'prefix': 'kintone_getUiVersion' | |
'body': """ | |
kintone.getUiVersion() | |
""" | |
'[kintone] REST APIリクエストを送信する': | |
'prefix': 'kintone_api' | |
'body': """ | |
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', {app: ${1:kintone.app.getId()}}, function(resp) { | |
// レコード番号を表示する | |
alert(resp['records'][0]['$id']['value']); | |
}, function(resp) { | |
// エラーの場合はメッセージを表示する | |
var errmsg = 'レコード取得時にエラーが発生しました。'; | |
// レスポンスにエラーメッセージが含まれる場合はメッセージを表示する | |
if (resp.message !== undefined){ | |
errmsg += resp.message; | |
} | |
alert(errmsg); | |
}); | |
""" | |
'[kintone] URLを取得する(クエリ文字列無し)': | |
'prefix': 'kintone_api_url' | |
'body': """ | |
kintone.api.url('/k/v1/records', true) | |
""" | |
'[kintone] URLを取得する(クエリ文字列付き)': | |
'prefix': 'kintone_api_urlForGet' | |
'body': """ | |
kintone.api.urlForGet('/k/v1/records', {app: ${1:kintone.app.getId()},fields: ["$2"]}, true) | |
""" | |
'[kintone] CSRFトークンの取得': | |
'prefix': 'kintone_getRequestToken' | |
'body': """ | |
kintone.getRequestToken() | |
""" | |
'[kintone] 外部APIの実行': | |
'prefix': 'kintone_proxy' | |
'body': """ | |
kintone.proxy('${1:https://*****.***.net}', 'GET', {$2}, {$3}, function(body, status, headers) { | |
console.log(status, JSON.parse(body)); | |
}); | |
""" | |
'[kintone] イベントハンドラーを登録する': | |
'prefix': 'kintone_events_on(event, handler(event))' | |
'body': """ | |
kintone.events.on(['$1'], function(event) { | |
return event; | |
}); | |
""" | |
'[kintone] 特定のイベントタイプ内の特定のイベントハンドラーを削除する': | |
'prefix': 'kintone_events_off(event, handler(event))' | |
'body': """ | |
kintone.events.off(['$1'], function(event) { | |
return event; | |
}); | |
""" | |
'[kintone] 特定のイベントタイプ内のすべてのイベントハンドラーを削除する': | |
'prefix': 'kintone_events_off(event)' | |
'body': """ | |
kintone.events.off(['$1']); | |
""" | |
'[kintone] すべてのイベントハンドラーを削除する': | |
'prefix': 'kintone_events_off()' | |
'body': """ | |
kintone.events.off(); | |
""" | |
'[kintone] レコード一覧画面の表示後イベント(PC用)': | |
'prefix': 'app_record_index_show' | |
'body': """ | |
app.record.index.show | |
""" | |
'[kintone] レコード一覧画面の表示後イベント(スマホ用)': | |
'prefix': 'mobile_app_record_index_show' | |
'body': """ | |
mobile.app.record.index.show | |
""" | |
'[kintone] レコード一覧画面の「保存ボタン」クリック時イベント': | |
'prefix': 'app_record_index_edit_submit' | |
'body': """ | |
app.record.index.edit.submit | |
""" | |
'[kintone] レコード一覧画面のインライン編集開始時イベント': | |
'prefix': 'app_record_index_edit_show' | |
'body': """ | |
app.record.index.edit.show | |
""" | |
'[kintone] レコード一覧画面のフィールド値変更時イベント': | |
'prefix': 'app_record_index_edit_change' | |
'body': """ | |
app.record.index.edit.change.$1 | |
""" | |
'[kintone] レコード一覧画面のレコード削除前イベント': | |
'prefix': 'app_record_index_delete_submit' | |
'body': """ | |
app.record.index.delete.submit | |
""" | |
'[kintone] レコード詳細画面が表示された時のイベント(PC用)': | |
'prefix': 'app_record_detail_show' | |
'body': """ | |
app.record.detail.show | |
""" | |
'[kintone] レコード詳細画面が表示された時のイベント(スマホ用)': | |
'prefix': 'mobile_app_record_detail_show' | |
'body': """ | |
mobile.app.record.detail.show | |
""" | |
'[kintone] レコード削除前イベント': | |
'prefix': 'app_record_detail_delete_submit' | |
'body': """ | |
app.record.detail.delete.submit | |
""" | |
'[kintone] プロセス管理のアクション実行イベント': | |
'prefix': 'app_record_detail_process_proceed' | |
'body': """ | |
app.record.detail.process.proceed | |
""" | |
'[kintone] フィールドの表示/非表示を切り替える': | |
'prefix': 'kintone_app_record_setFieldShown' | |
'body': """ | |
kintone.app.record.setFieldShown('$1', ${2:false}); | |
""" | |
'[kintone] レコード追加画面が表示された時のイベント(PC用)': | |
'prefix': 'app_record_create_show' | |
'body': """ | |
app.record.create.show | |
""" | |
'[kintone] レコード追加画面が表示された時のイベント(スマホ用)': | |
'prefix': 'mobile_app_record_create_show' | |
'body': """ | |
mobile.app.record.create.show | |
""" | |
'[kintone] レコード追加画面の保存実行前イベント': | |
'prefix': 'app_record_create_submit' | |
'body': """ | |
app.record.create.submit | |
""" | |
'[kintone] レコード追加画面のフィールド値変更時イベント': | |
'prefix': 'app_record_create_change' | |
'body': """ | |
app.record.create.change.$1 | |
""" | |
'[kintone] レコード編集画面が表示された時のイベント(PC用)': | |
'prefix': 'app_record_edit_show' | |
'body': """ | |
app.record.edit.show | |
""" | |
'[kintone] レコード編集画面が表示された時のイベント(スマホ用)': | |
'prefix': 'mobile_app_record_edit_show' | |
'body': """ | |
mobile.app.record.edit.show | |
""" | |
'[kintone] レコード編集画面の保存実行前イベント': | |
'prefix': 'app_record_edit_submit' | |
'body': """ | |
app.record.edit.submit | |
""" | |
'[kintone] レコード編集画面のフィールド値変更時イベント': | |
'prefix': 'app_record_edit_change' | |
'body': """ | |
app.record.edit.change.$1 | |
""" | |
'[kintone] グラフが表示された時のイベント': | |
'prefix': 'app_report_show' | |
'body': """ | |
app.report.show | |
""" | |
'[kintone] プラグインの設定情報を取得する': | |
'prefix': 'kintone_plugin_app_getConfig' | |
'body': """ | |
var config = kintone.plugin.app.getConfig(PLUGIN_ID); | |
""" | |
'[kintone] プラグインに設定を保存する': | |
'prefix': 'kintone_plugin_app_setConfig' | |
'body': """ | |
kintone.plugin.app.setConfig(config); | |
""" | |
'[kintone] プラグインから外部のREST API を実行する': | |
'prefix': 'kintone_plugin_app_proxy' | |
'body': """ | |
kintone.plugin.app.proxy(PLUGIN_ID, config['proxy_url'], config['proxy_method'], {}, contents, function(body, status, headers) { | |
var resp = JSON.parse(body); | |
console.log('statusCode: ' + status); | |
console.log(resp); | |
if(status===200) { | |
alert("メール送信しました!"); | |
} else { | |
alert("メール送信に失敗しました!"); | |
} | |
}); | |
""" | |
'[kintone] 外部の REST API の実行に必要な情報をプラグインに保存する': | |
'prefix': 'kintone_plugin_app_setProxyConfig' | |
'body': """ | |
kintone.plugin.app.setProxyConfig(config['proxy_url'], config['proxy_method'], headers, {}); | |
""" | |
'[kintone] プラグインに保存した情報を取得する': | |
'prefix': 'kintone_plugin_app_getProxyConfig' | |
'body': """ | |
var proxyConfig = kintone.plugin.app.getProxyConfig(config['proxy_url'], config['proxy_method']); | |
""" | |
'[kintone] getOrganization: ユーザーの所属組織を取得する': | |
'prefix': 'getOrganization' | |
'body': """ | |
function getOrganization(order, callback, errback) { | |
if(errback == undefined){ | |
errback = callback; | |
callback = order; | |
order=0; | |
} | |
var loginUserCode = kintone.getLoginUser()['code']; // ログイン名を取得 | |
var path = '/v1/user/organizations'; | |
var data = { | |
code: loginUserCode // ログインユーザーを指定 | |
}; | |
kintone.api(path, 'GET', data, function(resp){ | |
callback(resp['organizationTitles'][order]['organization']); | |
},errback); | |
} | |
""" | |
'[kintone] getFormInfo: フォーム情報を取得する': | |
'prefix': 'getFormInfo' | |
'body': """ | |
function getFormInfo(callback, errback) { | |
kintone.api(kintone.api.url('/k/v1/form', true), 'GET', {app: kintone.app.getId()}, function(resp) { | |
callback(resp['properties']); | |
},errback); | |
} | |
""" | |
'[kintone] attachImageTo: 添付ファイル(画像)を要素に貼り付ける': | |
'prefix': 'attachImageTo' | |
'body': """ | |
function attachImageTo(fileKey, element){ | |
var requestPath = '/k/v1/file.json?fileKey=' + fileKey; | |
var xhr = new XMLHttpRequest(); | |
xhr.open('GET', requestPath, true); | |
xhr.setRequestHeader('X-Requested-With' , 'XMLHttpRequest'); | |
xhr.responseType = "blob"; | |
var blob = xhr.responseType; | |
xhr.onload = function() { | |
//blobからURL生成 | |
var blob = xhr.response; | |
var url = window.URL || window.webkitURL; | |
var image = url.createObjectURL(blob); | |
//要素を追加 | |
$('<a><img src="' + image + '" width="100%" height="100%" /></a>').appendTo(element); | |
}; | |
xhr.send(); | |
} | |
""" | |
'[kintone] append_index_button: レコード一覧画面にボタンを設置する': | |
'prefix': 'append_index_button' | |
'body': """ | |
var kintone_button = $('<button>'); | |
kintone_button.prop('id','kintone-button'); | |
kintone_button.html('ボタン'); | |
kintone_button.click(function() { | |
}); | |
$(kintone.app.getHeaderMenuSpaceElement()).append(kintone_button); | |
""" | |
'[kintone] append_detail_button: レコード詳細画面にボタンを設置する': | |
'prefix': 'append_detail_button' | |
'body': """ | |
var kintone_button = $('<button>'); | |
kintone_button.prop('id','kintone-button'); | |
kintone_button.html('ボタン'); | |
kintone_button.click(function() { | |
}); | |
$(kintone.app.record.getHeaderMenuSpaceElement()).append(kintone_button); | |
""" | |
'[JavaScript] loadJS: JavaScript CDN読み込み用関数定義': | |
'prefix': 'loadJS' | |
'body': """ | |
function loadJS(src) { | |
document.write('<script type="text/javascript" src="' + src + '"></script>'); | |
} | |
""" | |
'[JavaScript] loadCSS: CSS CDN読み込み用関数定義': | |
'prefix': 'loadCSS' | |
'body': """ | |
function loadCSS(href) { | |
document.write('<link rel="stylesheet" type="text/css" href="' + href + '" />'); | |
} | |
""" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment