【GoogleマップAPI】fitBounds実行時に特定の方向だけパディングする

GoogleマップのJavaScript APIを使ったマップツールの修正依頼が来ました。

Googleマップで複数のマーカーを設置した際に、
すべてのマーカーが表示されるように自動で表示領域や縮尺をいい感じに調整してくれる

というメソッドがあります。

第一引数にマーカーの座標を入れてやるだけ(説明は割愛)なので
とても簡単で重宝するメソッドなのですが、

とあるシステムで、マップに重なる形で左側にスライド式の開閉メニューがあり、
普通にfitBoundsを実行すると一部のマーカーがメニューで隠れてしまうという問題がありました。

マーカーがメニューに隠れないようにしてほしいというのが今回の依頼なのですが、これは簡単に対応できます。
fitBoundsの第2引数でパディングを指定するだけです。

たとえば左メニューの幅が400pxだった場合は

とするだけで左に400pxパディングした形でfitBoundsが実行されるので
マーカーがメニューに隠れることがなくなります。

今回のシステムではメニュー幅は固定で、メニューの開閉状態だけ考慮すればよかったのでさらに簡単でした。

TinyMCEをカスタマイズ

久しぶりにTinyMCEをカスタマイズする案件があり、以下のカスタマイズを行いました。

bタグがstrongに変換されないようにする

見出しの選択肢をカスタマイズする

※見出しをツールバーに出すのは「formatselect」

下線をstyleではなくuで追加する

Bとは別でstrongボタンを作る

(ツールバーに「strong」を追加)

設定はすべて

の中に書きます。

【phpSpreadsheet】PHPでExcelを読み込んだらグラフが消える

phpSpreadsheetを長らく使っていますが、
あるとき「読み込んだExcelのグラフをそのまま出力したい」
という要望がありました。

何も考えずにグラフも読み込めるだろうと
過去のシステムからphpSpreadsheet使用部分をコピペして持ってきたところ、
出力したExcelはグラフだけ消えてしまいました。

知っている人にとってはなんということはないのですが、
グラフ付きのExcelを読み込むときは、Readerに対して

という設定が必要だとわかりました。

また、出力時も同様に、Writerに対して

が必要でした。

この歳になってまたひとつ勉強になりました。

例)

【JavaScript】TinyMCEを組み込んだフォームの値の取得と設定

TinyMCEを組み込んだフォームの値をJavaScriptで取得したり設定したりするには
TinyMCEのメソッドを使用する必要があります。

フォームの値を取得する

フォームに値をセットする

【jQuery】jquery.validate.jsで任意のclassに対して独自のバリデーションを設定する

例えば、validation-alphaというクラスが指定されたら半角英字のみ入力可能にしたいとき

JavaScript

HTML