強引に解決覚え書き

7月 4th, 2013 No comments

DWRのsortableを使って、従属オブジェクト(例えば組織に対する拠点)の順位付けのメンテナンスがカッコ良く出来ていました。で、実際のD/Bテーブルに反映するには、ブラウザ上で表示されている順序で該当する従属オブジェクトの識別子(id)を配列として作成し、それを受け取ったmanagerクラスが、配列を順番通りにループしながら、そのカウンター(概ね「i」ですよね)をそのまま、データ項目の「表示順(私の場合はdisp_order)」に投げ込む。・・・という、「スバラシイ」ロジックで実装していました。

で、困った点

今度は同じ従属オブジェクトでも再帰的な要素(今回は「部署」・・・部・課・係)を同様に処理しようとして、階層の深さの表現(横の位置とか「┣」「┃」「┗」こういうの)をシコシコ作り込んで実装し、いよいよsortableで、ビジュアルにメンテナンス・・・・。ところが今度は上記のように、ザックリと大胆にやるわけにはイカヌ。

sortable処理後に順番が変わるのは移動させたelementだけではなく、抜けたり、割り込まれたりしてシフト(+1 or -1)された連中。もちろん処理対象はツママレタelementなので、上下の順列の規則性から判断しようとしたが、良く吟味すると隣接する2行が入れ替わった結果からは、どちらがツママレタ本人であるのか判断できない。(だって変更は本人だけなんだもの)

で、実際の更新のトリガーになるonUdateとは別にonChangeとかで、ツママレタ(つまりdragされた)行番号なりidなりが取得出来ないか?・・・・と、調べ回ってオオハマリ。

で、逃げた(工夫した)方法

sortableの対象がtableのtrだったので、trにonmousedownイベントで、dragLineという変数に処理前の位置を特定できる(行番号とか)を予めセット。sortableでのonUdate処理で、対象の上から下へループを回し、dragLine(本人)を発見した行がdropLine(安置された場所)ってことで、結構回りくどい処理になっちゃったケド。・・・・っま、悪くもないか?

Categories: Mighty構想 Tags:

ちょいハマり覚え書き

6月 25th, 2013 No comments

まずは、javascriptでの再帰処理で・・・

ある親要素に帰属する複数の要素がある場合(例えば「組織」が持つ「拠点」)に、Ajax的なHTML表示には dwr.util.addRows(…)を使うと非常に「楽チン」なので多用していました。しかし、帰属する複数の要素が再帰的な場合(例えば「部署(部・課・係)」)には、rowCreator:記述内にさらにaddRows的な再帰処理を試してみても・・・ムリみたい。

で、となれば「より手作り側」に戻って、javascriptで、ゴリゴリ記述しました。・・・Listをループして各行の表示要素を作成しツツ、ソイツに子要素Listがあれば、己れ自身(function)を再帰的に呼び出す。・・・へへへっ、エレガントじゃん。ところが、「深さ1」から「深さ2」を数行表示して、本来は次の「深さ1」に戻って続くハズが、表示されない。

結論:javascriptはvar宣言した場所(scope)内で通用するが、var宣言しないと、グローバル変数とみなされちゃう。・・・・えっ!。宣言を省略すると範囲が大きくなるとは、感覚的に違和感があるなぁ。っま、仕様ならばしょうがない。つまり今回のミスは、再帰的なfunction内のループカウンタのiにvar宣言がなかったので、2回目以降はゼロからの再カウントをしていなかったらしいのだ!function内でvar宣言すると、アッサリと正常動作した。・・・とほほ。

参考にしたコンテンツ:ペントミノを解く ←シラーっと書いてありますが、納得できました。ありがとさんです。

script.aculo.usのsortableで

ほいで、その子要素の順序の指定(変更)は、いつものように「ツマんでポイ」のscript.aculo.usでカッチョ良く・・・と、アレ?・・・。ツマメナイ。何もエラーも出ていないゾ。で、これは5分で解決。コンテンツを作ってから設定をしろ・・・と、なんだそんなコトか。っでも、行追加したら改めて設定し直さないと追加行は「仲間外れ」になるようです。ちっちぇえハマリでしたが貴重な内容でした。

参考にしたコンテンツ:happy lie, happy life ピンポイントでありがたかったッス。

Categories: Mighty構想 Tags:

感情を表現しないという感情表現

3月 19th, 2013 No comments

昔なつかしい 「Kraftwerk」 を思いエガいたんです。

スタートは「なにやらパミュパミュ」。名前は度々聞いてはいました。イメージはピンクの大胆でキバツな服を着て、エラそうで、ワガママそうで、東京辺りの炉端焼き屋に出没して話題になるような外タレ。まったくの先入観で・・・。

ある日、ラジオから流れてくる音楽。ペライ・平坦な・薄い・・・。「初音ミク」と思っていたら「なにやらパミュパミュ」。最近の若いモンの音楽は、このタイプが多いですね。そりゃそういったコトをココロミタ/ヤカラも大勢いたケド。ここまでステレオタイプってのもノウ(脳・能)がないってゆうか何チューか。けっこうウンザリ。

そのムカシ。テクノの時代にもそんなムーブメントが、ありましたな。大御所では「Y(ellow)M(agic)O(rchestra) 」ですかね。私は好きじゃなかったケド。お空の遥かカナタの遠いトオーイ、ムーディーな楽曲で、リアリティーを感じる事が出来ませんデシタ。「P-Model」ってのが、モノすごく地べたで蠢(ウゴメ)く、ヒトを感じさせてくれたのですが、冷静さを取り戻したパンカーが、流行のテクノに乗っかった感は否めず。テクノの必然性がねエ。「ヒカシュー」ってのが、その点では感情を抑えたうえでの感情表現?(抑えてナイカ!)。っま、ブレンド加減は「タマ」テイストですかね。

で、「Kraftwerk」。ビート感はあるにせよ無味乾燥なサウンドに、空虚な歌唱。でも「I want to be a machine」だぜ。「We are the Robots」だぜ。

こういった手法で、一番アナログで・揺らぎがあって・強弱のある>「男女の好きだ嫌いだ」を言われてもねエ。

Categories: なんだかな Tags: