MySQL JSON型をmybatis で読み書きするサンプル

MySQL バージョン 5.7.8 以降で使える JSON型に対する mybatis のハンドラ実装のサンプルです。 JSON型のデータが、単純な key-value だけでなくネストしたオブジェクトが入ったJSONでも、 Java のクラスのネストと対応できることを示すためのサンプルです。…

paramiko で対話式の処理

paramiko で対話式を処理するにはどうしたら良いのか? paramiko-pexpect とかを使えば良いのかもしれないが、invoke_shell() 、シェルとして実行する方法で 踏み台の先の telnet 接続してコマンドを流す方法を考えた。以下の例は最初のSSH接続の後、もう1…

文字列 format で辞書を指定

文字列フォーマットのキー名による置換はよく以下のように書くであろう。 dburl="{dialect}+{driver}://{username}:{password}@{host}:{port}/{database}?charset={charset_type}"\ .format(dialect='mysql', driver='pymysql', username='admin', password=…

Handsontable の DataSchema と afterCreateRow

Handsontable は、DataSchema を定義しておけば 行挿入(row_above)で生成される行の初期値が定義した値になる。 DataSchema での定義は、Handsontable インスタンス生成のタイミングで決まる。 後からこれを変更するなんてナンセンスである。 また、DataSc…

TeraTerm の SSH 接続の記憶場所

TeraTerm は、はじめてSSH接続するホストに対しては、必ずこのウィンドウを開いて 問い合わせてくる。この記憶を消したい場合、TeraTerm のどうするのか? ssh_known_hosts という TeraTermが管理するファイルを見つけて、IPアドレスとキーのペアが 書かれ…

Handsontable の getData~ と、getSourceData

Handsontable インスタンスメソッドの getData~ は、よく使うもので、 これは、あくまでも表示データを取得するもの。 getDataAtRow(row) 指定行インデックスの表示データを取得 getDataAtCell(row, col) セルの表示データを取得 getDataAtProp('name') テー…

Handsontable Datepicker の日本語化で、

Handsontable Datepicker の日本語化は、datePickerConfig 属性を以下のように、 長ったらしい書き換えが必要だ。 columns:[ { type: 'date', width: 120, dateFormat: 'YYYY/MM/DD', datePickerConfig: { yearSuffix: '年', showMonthAfterYear: true, show…

PyCharm のコードテンプレート設定

2018 年販 PyCharm では、コード補完キー操作で、 Pythonスクリプト先頭行に書く、 # -*- coding: utf-8 -*- がすぐに出てくるのだが、最近のPyCharm はコード補完キー操作では出てこない。 ちゃんとコードテンプレート設定するのが良いようです。

placeholder の色を変更

CSS

input タグの placeholder の文字色が濃く、うすい色にするのは、 CSS でどのように指定するんだっけ?とよく忘れてしまうので、 書き留めておきます。 placeholder 疑似クラスを使うのです。 input::-webkit-input-placeholder{ color: #cccccc; } input:-m…

Handsontable Renderer で readOnly を指定する方法、

特定の列全てを readOnly にする場合は、columns 定義で、readOnly = true を指定、 動的に任意のセルに対して readOnly = true を指定したければ、 先日のように、セルのメタ情報のreadOnly を true にして、render() 実行すれば良いが、 Handsontable read…

Handsontable readOnly セルの設定とコンテキストメニュー

column 定義で、readOnly 属性を true にすれば、読込専用になるのだが、 動的に設定する方法で、コンテキストメニューに、make_read_only が用意されている。 Context menu - Guide - Handsontable Documentation 解除する時は、 このコンテキストメニュー…

Handsontable contextmenu disabled

Handsontable の右クリックコンテキストメニューの callback は、選択領域をメソッドの 引数で認識できますが、 disabled - メニュー表示するが非活性にするなら true この時、メソッド引数で選択領域を知ることができません。 代用になりますが、最後に選択…

Bootstrap Modal のデータ受け渡し

show 実行の引数、JSON で渡す。例) <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> : 省略 $('#exampleModal').modal('show', { 'dvalue': 'i001' }…</div></div></div>

Handsontable グリッドに表示させないデータを使う

Handsontable インスタンスの getDataAtRow( row ) は、表示しているグリッドデータの表示範囲しか取得しない。 つまり、4列存在するデータでも、maxCols : 3 と定義していれば、 表示している3列までしか getDataAtRow はデータ取得をしない。グリッド表…

Handsontable コンテキストメニューでページ遷移させる。

コンテキストメニューが実行する callback 関数の引数 key contextmenu の items で定義したキー名称 selection focusしているセルの開始から終わりまでの row と col clickEvent マウスイベント console.log("start (" + selection[0].start.row+ ","+selec…

新しい独自のコンテキストメニューを列固定をつくる

Excel の Window枠の固定のように、Handsontable では、列インデックスを指定して 指定インデックスより左側を固定にするオプション fixedColumnsLeft がある。現在選択しているセルに対して、この fixedColumnsLeft の値をセットするように コンテキストメ…

解決、Handsontable で ClockPicker による時刻入力

自分で作っていて気に入らなかった oboe2uran.hatenablog.comこれを解決してくれたブログ記事を見つけました。 【Handsontable】セル内に時刻入力(ClockPicker)の表示 - Qiita非常に助かり、感謝です。そのまま、コピーで使わせてもらいたいと思います。 外…

Handsontable でスクロールをしたときにグリッドの崩れを回避したい

たくさんの行、列が存在するグリッドはスクロール操作をした時に崩れることがあります。 この原因は、Handsontable ではなく、 そもそも、HTMLの表示をブラウザでは、DOM + CSS → CSSOM というCSSOM を作るわけですが、 このCSSOM を作る間、ブラウザがレン…

Handsontable フィルタを使用中かどうかを判断する

原始的な方法であるが思いつくのは、afterFilter イベントをフックして、 条件配列の数を記録しておくことだろう。 var conditionsStackLength = 0; var hot = new Handsontable(document.getElementById("table"), { data: data, language: 'ja-JP', column…

Handsontable 必須チェックバリデーション

columns でセットする validator に、以下のように callbaclk を呼べば 空なら、エラーになる。 var hot = new Handsontable(document.getElementById("table"), { data:data, columns: [ { type:'text', validator: function(value, callback){ callback(!!…

Handsontable AutoFil の結果で処理を行う場合

afterAutofill イベントフックの処理を定義する。例) var data = [ [ "a", 1, ], [ "b", 2, ], [ "c", 3, ], [ "d", ], [ "e", ], [ "f", ], ]; var hot = new Handsontable(document.getElementById("table"), { data:data, columns: [ { type: 'text', },…

Handsontable の再描画メソッド

Handsontable の再描画メソッドは、 インスタンスのメソッド render() で、できると思ってましたが、 うまくいかず再描画されません。loadData( array ) を使うと再描画されます。dataSchema を使うケース、、、 var hot = new Handsontable(document.getEle…

Handsontableの dropMenu 及び、条件フィルタメニューの日本語化

Handsontableの dropMenu 及び、条件フィルタは、バージョン 7.0.0 以降から利用可能で かなり Excel 同様の条件フィルタに操作性が近づいている。 Handsontable インスタンス生成のオプションで、filters: true と dropdownMenu: true を付与する。 バージ…

Handsontable セルに配置するリンク

ボタンを配置するときと同様に、HtmlRenderer を使うのだが。。。 グリッドデータJSON に、URLを持って表示させる場合は、renderer の指定に、"html" を指定する。 で良かった。 var data = [ { link:'<a href="http://google.co.jp">google</a>' } ]; var hot = new Handsontable(document.get…

Handsontable に配置するボタンのサンプル

先日書いた、 oboe2uran.hatenablog.com このサンプル、押下したボタンの特定方法が良くない! Class属性ではなくて、ちゃんとボタンタグに割り当てる id で、特定させるべきで、 HTMLRenderer で生成時に、列番号を付与したIDにしておくべきだ。 var hot = …

IPアドレスの正規表現

IPv4 の正規表現^([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$ ↑↑↑↑↑↑ 長くてこのページでは隠れてしまってい…

Handsontable セルに配置したボタンのイベント

Handsontable で、セル内に配置したボタン押下にイベントから押された対象を参照するのは、 event.realTarget だと思っていたが、 Ver 8.0.0 以降では、この名称ではなく、 event.toElement であった。 以下のようにする。 カラム定義で 指定する Renderer …

clockpicker で、時(Hour)だけの入力にする

ClockPicker で、時(Hour)だけの入力にする方法、 つまり、時(Hour)の選択後、分(minute)を選択する表示をせずに、入力を終わらせて hh:00 が入力結果になるようにする方法 Option で、afterHourSelect のイベント捕捉の処理を書き、 data('clockpicke…

Handsontable で ClockPicker による時刻入力を行う(2)

前回の投稿、 Handsontable で ClockPicker による時刻入力を行う。 - Oboe吹きプログラマの黙示録 には、問題がある。 これは、Editor の beginEditing (編集開始)にならないと Clockpicker が画面に 現れない点だ。 表のセルをクリックした時は、focus …

Handsontable で ClockPicker による時刻入力を行う。

Handsontable の Cell type : time は、 書式による入力バリデーションチェックはあるものの、date type のように、 Date picker 同様、Time の picker までは標準で提供していない。 Handsontable セル入力として、ClockPicker http://weareoutman.github.i…