2020 ソフトウェア設計及び演習用の班Wiki
20::gr10::高橋真子::カレンダー作成
関数とか
-
showCalendar
- createCalendarを呼び出す
- 作られたカレンダーを表示する
- createCalendar
- カレンダーを作成する
- moveCalendar
- 月移動をする
- showCalendarに表示したい年、月を引数として与える
- chenge_color
- メモの有無をカレンダーに付け加える関数
- 最初は色だったが、文字も入れられるかもーとか言っている
- 機能を変更したりしているので関数名変更の可能性
- undo_color
- メモを削除したときに色も戻す
- と思ってたけど、再読み込みになればいらなくなる可能性
- day_send
- メモの呼び出しように選択された日付を文字列の形で送る
- 送るといっても現時点でMySQLとリンクしていない
6月19日
-
日付をキーにして簡単なメモが保存できないか試す
- ↑これをやるにあたってラジオボタンでまずは試作。。。
- したかったけど、ネットで調べた通りにやってもラジオボタンの値が取得できない。。。
- まずは複数のメモが保存できるように頑張ることにした
6月20日
-
複数のメモ(とりあえず5個)が保存できるようになった(そもそもカレンダーではない)
- 昨日の問題(値が取得できない)は、関数名とかの綴りがちょっとずつ違ってたせい。
- 英語が分からなくて発音の雰囲気で適当に書いてるのが悪い(lとrとかaとuとかが全然わからん)
- カレンダーでやるとすれば、メモがあるか否かで色を変えたりしないと宝探しみたくなるので工夫しないと
- そもそもカレンダーと統合できるのか??
6月25日
- メモとカレンダーを統合した
- 見た目は全然手を付けてないのでラジオボタンの主張が激しい
- メモの有無で色が変わったりしないのでどこにメモがあるかわからん
- この点はどうにかしないとメモとして役に立たん
- 一応月をまたいでも中身は見られる
7月10日
- 集合体っぽさを改善
- セルのどこを押してもラジオボタンとして反応するように改善
- 結果、どこが選択されているのかすら見えなくなる
- それの解決策っぽいcssを取り入れてみたけど、全然反映されない。何で。
- 前後の月に飛ぶボタンの位置も調節してるんだけど上手くいかん
- カレンダーに対する絶対位置とかパディングだなんだって調節してるはずなんだけど
- ページの右側の空いた領域が表の範囲として認識されてしまって、真ん中そろえとかすると事故るという状態。よくわからん。
7月13日
ラジオボタンがチェックされている日付の色を変えるってのを、「ラジオボタン css」とかって調べては試し、調べては試ししてるんだけど、さっぱり言うことをきかん。 cssでcheckedとかいうのつけてみるも、反応なし。ひょっとしたら、innerHTMLで突っ込んでるラジオボタンだからか? cssじゃなくて、onclickとかで関数呼び出すようにして、jsに関数を追加してみても良いかな、と思いついた。 で、そっちの方向で調べることにした、というメモ。
7月15日
調べてるうちに、labelで囲ってる範囲が違うんじゃない?ってなって、範囲を見直してみたら、クリックしたときにlabel部分の色を変えることに成功した。するとしかし、ラジオボタンのまさにボタンの部分しかクリックに反応しなくなった。指定の仕方も変化するだろうから、その辺かも?どっちもできないと困るんだよな。そしてなぜか元の括り方でcss適用できてるサンプルもある(同じようにやっても適用されない。innerHTMLだからかな?)。何がどうして上手くいかないのか(逆に上手くいくのかも)分からないのでどこを修正すればよいのか分からない。
選択したradiobuttonのlabelに色が付けられてる時の画像。でも、上にも書いたようにボタン部分しか押せないし、そもそも改行する気がないところで改行してるし。radiobuttonをlabelで囲むか、radiobuttonの中身をlabelで囲むかなんだけど、ネットにサンプルとして挙げられてるやつもそれぞれ違ってる。流派みたいなのがあるのか、やりたいことによって変わるのか(その場合両立できるの?)。
7月16日
それっぽいことができた。結局、labelはラジオボタンの要素だけ囲って、forとidを使った。for文で作ってるラジオボタンなのでその部分のコードがとても煩雑な気がする(けど綺麗にする技術なぞ持ち合わせていない)。「idなんざ使わなくてもcssでいじれるんだ!」って言ってるサイトもあったけど、実行してもうまくいかなかったので却下。きっと使ってる環境が違うんだ。私のせいではない(はず)。
問題として
- [type="radio"]:checked + label とか言うのでcss指定しているので、他のラジオボタンにも影響するかも
- ↑この問題があるにもかかわらず、確かサイドメニューの部分にラジオボタンが使われている
ので、名前を付けるとかして、他の部分のラジオボタンと区別できないか調べないと
7月21日
- 日付入力フォームと関連付けて、セルの色を変えたい
- その辺をいじるために調べ物をしていて、ずっと「なんだこれ」と思っていた`${~~}`の意味が少しわかった(今更感)
- 日付入力フォームからの文字列って、月と日にちが2桁だから、その辺も調節しないとたぶんセルごとのIDと関連させられない
- IDは被ってはいけないってよく書いてあるけど、月をまたいだら大丈夫なんかな。はみ出る分の日付とか、どうやって色を変更させるんだか調べてもよくわからん。バックアップしっかりとって、いじりまわすしかないな
- たぶん、メモ保存を担当してる人に、保存の時に色を変える関数が呼び出されるようにコピペとかしてもらうことになるのかな
(数時間たって)
- できたー
- でも変更を保持できないから月を移動したりリロードしたりすると色消えちゃうんだよね
- プログラム自体を書き換えてるわけじゃないから…
- 保存されている日付のデータをすべて取得して、カレンダーを表示するたびに色を変える関数を呼び出すってのが現実的かな
- 世の中にはきっともっと良い方法もあるだろうが時間もないので思いついたことやっていこうと思う
- 余談だが、日付のIDがずれていることに気づいた。
- ひと月ずつずれてた。たぶんこれまでいじくりまわしてきたから、はみ出た日付とか、その辺と色々混ざったんだな
- 全然色変わらなくて、試しにID全部表示してみて初めて気づいた
- これまで動いてたのは偶然その数値にそこまで重要な役割がなかったから(怖…え、こっわ…)
- 入力フォームで選択して、反映で色付け
- 入力フォームで選択、戻すで色を消す
7月23日
- 全体のデザインを担当してる人にどういう感じにするのか聞いたら「寒色系のパステルかな」といっていたので、ちょっと色を柔らかくしてみた
- データ管理の人に聞いたら「日付クリックで日付のデータが取得できる感じで」といっていたので、とりあえず取得して表示させてみた
- 何となく、色を選べるようにしてみた
- カレンダーを更新したときに色を保持する、みたいなやつはまだやってない
- MySQLからどんな形のデータが来るかわからないのでどういう形で実現すればよいのやら
- 戻すボタンって、カレンダーの再読み込みで色情報更新するならいらないな、って思った
- 一応カレンダーを表示する(月遷移、再読み込み)のたびに色を付ける関数は呼び出すようにした
- でもデータがないので実質何も変わらん
7月28日
先週の会議で、色が選べるようにしたよって言ったら「メモって1日一つとは限らないけど、複数のメモで色を指定されたらどうなるの?」というようなことを指摘された。そうなんだよね。自分でもちょっと思ってたんだけど、面倒で気づかなかったことにしてた部分なんだよな。でも人に気づかれてしまったので、時間が許す限り対応策を考えてみる。とりあえず、メモで指定された色の●とか表示できたらずいぶんよくなるのでは?という方向で考えている。発表までに上手くいくかな。
7月30日
- 複数の色が指定されてもわかるようにした。ついでに文字も表示してみた。今は元々プログラムに文字列入れてるけど、MySQLから上手いことデータもらって代入できたら結構良い感じではないかと(手前味噌)。
- 今更だけど、このカレンダー作るのって一人で担当したのが間違いだなって思ってる。カレンダーってひとくくりになってるけど、なんかいろんな機能を一人で付け足して付け足して付け足して…。モジュール分けってのがプログラム面から見たら上手くいってなかったんだろうな。負担が上手いこと分散してないんだよね。ずっとこの科目と闘ってるやつと、割り振る仕事がなくなって手が空いてしまってるやつがいる。そしていじりまわしてしまったから今から誰かにカレンダーの何かをしてっていうわけにもいかん状態。
- これから統合で苦しむんだろうな。上手くいくと良いんだけど。
8月4日
MySQLとの統合作業。あちら側がどのような形のデータを出力できそうかに応じてちょっとずつ調整中(進行形)。 最初は多次元配列を試した。送るのが難しそうなので日付データ、色データ、タイトルデータをそれぞれ別の1次元配列で受け取る形に変更。 こっちで手入力で配列を作って、それに合わせて関数を書き換えることはできてるんだが、なかなかPHPからデータが受け取れない。 受け取れさえすれば動きそうなのに。。。。配列にデータを代入する部分で詰まってるみたいだ。頑張れ宮野。あと、統合画面見てちょっとCSSいじった。でもそんなことはどうでも良いんだ。データを受け取りたい!!!
できた!感動。宮野ありがとう。「代入できてるか確認するのに、この部分一旦表示してみたら?」だの、PHPのことよく知らんままネットで検索して「これ使ってみたら?」だの茶々入れてたのがちょっとでも役に立ったなら良いんだが。6時間たってた。6時間と聞いて長いと思うか、それくらい、と思うかは人によるだろうが、誰が何と言おうと我らは頑張った。頭抱えてる宮野見ながら、私が一言「妥協点があっても仕方ないさ」といえばこの子は解放されるんだよな…と、何度か思ったんだ。しかし私の方も、このカレンダーがちゃんと動くところが見たい(子供の晴れ舞台か)という欲にあらがえず、「諦めないでくれー」と願ってしまったんだな。すまない、宮野。
最終更新日:2020/08/06 15:10:08