最近、クラサバのレガシーシステムをWEBに移行したいというご要望が多々あります。
しかしWEBシステムでデフォルトで構築した場合のユーザビリティは必ずしも使い勝手が良いとは言いづらいものがります。
そこでいささか手間ではありますが、JavaScriptとJQueryを利用して、レガシーなシステムを再現してみましょうという試みです。
コボルなどではキーボードオンリーで操作するのが常であり、入力オペレーターは既にそれに慣れすぎていて、
少しでもマウスを使うのことを敬遠しがちです。しかしこれはどうすることもできません。
現場の作業員は誰が登場しても説得することは不可能なのです(経験者は語る)
※飲みに誘っても断られるだけです(^^;
ま、ということで作りました。技術的には大したことではありませんがgithubに上げておきます。
使い方:
econtrol.phpをapp/views/helpersに置いてください。
controllerの設定
<?php
class VouchersController extends AppController {
var $name = 'Vouchers';
var $helpers = array('Js', 'Econtrol');
viewの設定
//画面上のコントロールを順番にエンターで移動する処理
<?php echo $this->Econtrol->handleEnter();?>
<?php echo $this->Econtrol->end();?>
//submitから次のコントロールへ移動する処理
<?php echo $this->Econtrol->submitEnter("#voucheradd","#ProductName");?>
<?php echo $this->Econtrol->submitEnter("#itemsadd","#ProductName");?>
※submitからの移動はループ処理ではわからなかったのでそこだけjQueryになってます。
やり方教えてください!
//$this->Form-inputを$this->Econtrol->inputへ変更します。
echo $this->Econtrol->input('Invoice_no');
submitはajaxを使用しなければなりません。
//Js Helperを使用していますが、直接書いてもokです。
echo $js->submit('Save', array('id'=>'voucheradd', 'update'=>'#voucher','url' => '/vouchers/add'));
echo $js->writebuffer(array('inline'=>false));
デモページはこちら。
http://bansystems.org:8080/kbms/demo/vouchers/add
githubはこちら。
http://github.com/konnoyosuke/econtrol