今日はサイボウズ officeのjavascriptカスタマイズをいじった。

カスタマイズマネージャーという「やりたいこと」を選択すると自動でスクリプトを生成してくれるものがある。
クロームの拡張機能として入れることができる。

しかしながら、その「やりたいこと」の自由度がかなり低く、「ボタンの色を変える」とかが関の山。しかも、すべてのアプリに適応されてしまう。

というのも、スクリプトファイルは全体に影響を及ぼす場所に1つのみしかアップロードすることはできないためである。(現状での理解では)

さらにブラウザ上で動作するテキストエディタもクロームの拡張として存在するが、なんか日本語が入力できなかったりした。。。とちゅうでatomというテキストエディタソフトを使ってしまったのでまだわからないが。

まぁそんなこんなでようやくコツをつかんできたのでようやくページの体裁とかいじり始める

先ほども言ったように、スクリプトは一つしか上げられないのでスクリプトに

どのアプリか→どのページか→ページごとの処理

という風にまず判別しないといけない。

それを行わないと、すべてのページ開くごとにスクリプトの全てを毎回実行されてしまう。

さらに、タグ等の要素をgetElement系で取得するには、ページのロードが終わるまで待つ、等の関数の中で取得しないと、ページがロードされる前にgetElementが動作し、「みつからない」等のエラーになる。まぁこれは初歩的かもしれないが笑

そんなこんなでやっとまともに動くように。
主にレコードの追加画面の加工

・プルダウンが変更されたら、あるテキストボックスを非表示
・やけにだだっ広い入力フォームの列間の隙間をなくす為、2列にあたる要素のthとtdを300pxほど左に寄せる

など。

まぁ次はレコードの取得、他アプリのレコード取得とかやるべきかもしれないけど、apiがないらしいので無理だろうなぁ

スクリプト使うならキントーンが良かったなぁ。笑

実はある経緯で元々キントーンを使い始めていたのに、サイボウズ officeを使うことになったのが、本記事の奮闘につながったのだ。

まぁもう少し使ってみるべし