Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Atom用kintone-JSスニペット(autocomplete-plusとautocomplete-snippetsが前提)
# 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