Upload
midori-ikegami
View
227
Download
2
Embed Size (px)
Citation preview
自己紹介
カスタマイズの前に・・・
JavaScriptを使ってカスタマイズしてみよう
ハンズオンで利用するアプリの準備
カスタマイズその① バリデーション
カスタマイズその② 住所から地図表示
あじぇんだ
2
池上 緑(いけがみ みどり)アールスリーインスティテュート
よく間違われますが正真正銘のエンジニア 肩書きはクラウドエンジニア kintone専属(?)エンジニアです! 6/1にJOINしてまだまだひよっこです>< 活動はこのあたりに書いてあるので見てね!
https://www.r3it.com/community/
個人では・・・ パイ投げしたりMCやってたりレイヤーやってたりJKなってたりいろい
ろ( 最近はどりぃって呼んでくれる人も増えてるので
初めての方は どりぃ(^ω^)で覚えてください!(๑・౩・๑)
自己紹介
@p52_rocca
p526CA
3
データの取り込み外部システムとの連携
kintoneと他のシステムとのデータ連携が可能• 他のシステムのデータをkintoneに
取り込む
• kintoneに蓄積したデータを他のシステムに渡す
JavaScript/CSSを利用した画面のカスタマイズ
標準では搭載されていない機能を利用することが可能に!
CSSでkintoneのデザインを変更したりすることも
8
カスタマイズってどんなこと?
標準機能で出来ないことができる!
cybozu.com developer networkにサンプルコードがたくさん掲載されているので、それを参考にするとわかりやすいかも。
わからないことはサイボウズの中の人やエバンジェリストの人にたくさん質問しよう!
みんなで一緒に学べばカスタマイズも怖くないよ!
JavaScriptでカスタマイズしてみよう
10
cybozu.com developer network https://cybozudev.zendesk.com/hc/ja
ハンズオンで利用するアプリの準備④
15
保存したテンプレート「kintoneCafe_osaka3.zip」を指定して
「読み込む」をクリック。※zipは解凍しないようにして下さい。
テンプレートが正常に読み込まれると右記のように表示されます。
kintoneにおけるJavaScriptのルール
24
拡張子は.jsで保存
• ファイル名の拡張子は表示しておいたほうが良い。
• じゃないとテキストとかで保存されててスクリプト動かないよ!なんてことも…
文字コードはUTF-8で保存
• 異なる文字コードで保存すると文字化けする原因に!
即時関数パターンで記述(後述)
strictモードを使用する(後述)
即時関数パターンとは
25
下記のような書き方
{}内に処理の内容を記述する
• ルールのようなものなので覚えてしまったほうが良いかも。
• 関数を定義するのと同時に実行もする。
• 関数って何?って人はわかる人に聞いてね><
kintoneのイベント処理①
27
kintoneにはkintone独自のイベントがある
https://cybozudev.zendesk.com/hc/ja/sections/200418540
• レコード一覧イベント(表示、保存、変更など)
• レコード表示イベント(詳細画面表示、削除前など)
• レコード追加イベント(表示、保存など)
• レコード編集イベント(表示、保存など)
• グラフ表示イベント (PC用のみ)
kintoneのイベント処理②
28
レコード追加イベント
• (例)app.record.create.submit
→レコード追加画面で保存するタイミング
レコード編集イベント
• (例)app.record.edit.submit
→レコード編集画面で保存するタイミング
レコード一覧イベント
• (例)app.record.index.edit.submit
→レコード一覧画面で保存するタイミング
kintoneのイベント処理③
29
kintoneにおいてデータの取得、登録、更新を行う場合、フィールドコードの指定が必要
https://cybozudev.zendesk.com/hc/ja/articles/202166330
JavaScriptのアップロード④
38
バリデーションで利用するformcheck-custom.jsを選択して保存して下さい。
※アップロード先は「PC用のJavaScriptファイル」となります。
JavaScriptの動作確認
41
(新規レコード追加時)電話番号やFAX、メールアドレスを全角で入力してみる
(レコード編集時)メールアドレスの@を抜く、ドメインを抜いてみる...etc
図のようなエラーが発生すれば、正常にバリデーションが出来ている
ことになります!
スペースフィールドについて①
43
スペースフィールドには要素IDというものを指定することが可能。
このスペースフィールドの要素IDは「Maps」であることがわかります。※デフォルトでは空の状態であるため任意のIDを設定することも可能です。
JavaScriptのアップロード
49
地図表示には、2つファイルが必要になります。
• ol37gmap-custom.js(編集したもの)
• 地図表示に利用するOpenLayerライブラリ
https://js.cybozu.com/openlayers/v3.7.0/ol.js