001/* 002 * Copyright (c) 2009 The openGion Project. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, 013 * either express or implied. See the License for the specific language 014 * governing permissions and limitations under the License. 015 */ 016package org.opengion.hayabusa.taglib; 017 018import org.opengion.fukurou.util.TagBuffer; 019import org.opengion.fukurou.util.ToString; // 6.1.1.0 (2015/01/17) 020 021import static org.opengion.fukurou.util.StringUtil.nval ; // 6.1.0.0 (2014/12/26) 022 023/** 024 * ガントチャートの繰り返しタグのフォーマットに使用します。 025 * 026 * iGanttBar タグは、TDタグの繰返し部に記述することで、個々のガントのタスクを作成します。 027 * これを使用する場合は、iGant タグを全体に一つ指定する必要があります。 028 * 029 * @og.formSample 030 * ●形式:<og:iGanttBar ... /> 031 * ●body:なし 032 * ●前提:headタグで、adjustEvent="Gantt" を指定してください。 033 * 034 * ●Tag定義: 035 * <og:iGanttBar 036 * type ○ 【TAG】ガント要素のタイプ(0:マイルストーン 1:バー )(必須) 037 * color 【TAG】バーの色(マイルストーンの場合は不要) 038 * colorNo 【TAG】バーの色番号で指定します 039 * src 【TAG】マイルストーンのアイコン画像(URIより設定) 040 * start 【TAG】開始日(YYYYMMDD)、または開始時間(YYYYMMDDHH24MM) 041 * end 【TAG】終了日(YYYYMMDD)、または終了時間(YYYYMMDDHH24MM) 042 * text 【TAG】ガント要素の注釈メッセージ。 043 * href 【TAG】入力した場合はガントにリンクを付加します。 044 * target 【TAG】hrefを指定した場合に付加されるリンクのターゲット 045 * barLink 【TAG】hrefで付加されるリンクの範囲にバー本体を含めるかどうか[true/false]を指定します(初期値:false) 046 * startDateInput【TAG】6.9.9.0 (2018/08/20) 開始日付の入力欄のカラム名を指定します。 047 * startTimeInput【TAG】6.9.9.0 (2018/08/20) 開始時刻の入力欄のカラム名を指定します。 048 * endDateInput 【TAG】6.9.9.0 (2018/08/20) 終了日付の入力欄のカラム名を指定します。 049 * endTimeInput 【TAG】6.9.9.0 (2018/08/20) 終了時刻の入力欄のカラム名を指定します。 050 * moveStep 【TAG】6.9.9.2 (2018/09/18) ガントバーの移動歩幅単位(moveStep 1:日、2:時間、3:分) 051 * fixed 【TAG】6.9.9.2 (2018/09/18) 固定2分割するカラムを指定します。 052 * mStone 【TAG】6.9.9.2 (2018/09/18) マイルストーンカラムを指定します。 053 * balloon 【TAG】6.9.9.2 (2018/09/18) バルーンとして表示するカラムを指定します。 054 * keyInfo 【TAG】6.9.9.2 (2018/09/18) キー情報のカラムを、指定します。 055 * writable 【TAG】6.9.9.2 (2018/09/18) writable属性のカラムを指定します。 056 * report 【TAG】6.9.9.2 (2018/09/18) レポートカラムを指定します。 057 * zindex 【TAG】6.9.9.2 (2018/09/18) 表示の重なり順のカラムを指定します。 058 * id 【TAG】要素を一意に指定する値を指定します。(ガント要素を動かす際に指定) 059 * cost 【TAG】開始日、終了日を利用して積上げられる工数を指定します。 060 * capacity 【TAG】積上げの最大値(キャパシティ)を指定します。 061 * debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) 062 * /> 063 * 064 * 【廃止】6.9.9.0 (2018/08/20) 物理削除 065 * // startInput 【廃止】(startDateInputと同じ)ガント要素の開始日に紐付く入力欄(開始日または終了日に紐付く入力欄が設定しなければガント要素は動かせない) 066 * // endInput 【廃止】(endDateInputと同じ)ガント要素の終了日に紐付く入力欄(開始日または終了日に紐付く入力欄が設定しなければガント要素は動かせない) 067 * // chbox 【廃止】6.9.9.2 (2018/09/18) 行選択のチェックボックス 設定値:[ROW.ID] 068 * 069 * ●使用例 070 * (通常ガント) 071 * <og:view 072 * viewFormType = "HTMLCustomTable" 073 * command = "{@command}" 074 * writable = "false" 075 * useScrollBar = "false" 076 * > 077 * <og:thead rowspan="2"> 078 * <tr> 079 * <td>[NOORDER]</td> 080 * <td rowspan="2" class="gantt zoom{@VZOOM}" style="line-height:normal;text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > 081 * <div style="position:relative;left:0px;z-index:101; " height="100%" width="100%" > 082 * <og:ganttHeader 083 * startDate = "{@startDate}" 084 * endDate = "{@endDate}" 085 * zoom = "{@VZOOM}" 086 * daySpan = "{@daySpan}" 087 * /> 088 * </div> 089 * </td> 090 * </tr> 091 * </og:thead> 092 * <og:tbody rowspan="2"> 093 * <tr> 094 * <td>[NOORDER]</td> 095 * <td rowspan="2" class="gantt zoom{@VZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > 096 * <og:iGanttBar type="1" colorNo="[COLOR]" start="[DYORDER]" end="[DYNOKI]" text="[PN]" /> 097 * <og:iGanttBar type="0" src="../image/dia_blue.gif" start="[DYORDER]" text="開始" /> 098 * <og:iGanttBar type="0" src="../image/dia_red.gif" end="[DYNOKI]" text="終了" /> 099 * </td> 100 * </tr> 101 * </og:tbody> 102 * </og:view> 103 * 104 * <og:iGantt 105 * margeRows = "true" 106 * fixedCols = "1" 107 * /> 108 * 109 * (積み上げガント) 110 * <og:view 111 * viewFormType = "HTMLStackedGanttTable" 112 * command = "{@command}" 113 * writable = "false" 114 * useScrollBar = "false" 115 * useParam = "true" 116 * numberType = "none" 117 * > 118 * <og:stackParam 119 * stackColumns = "NOORDER" 120 * /> 121 * 122 * <og:thead rowspan="2"> 123 * <tr> 124 * <td>[NOORDER]</td> 125 * <td>[PN]</td> 126 * <td rowspan="2" class="gantt zoom{@SZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@SZOOM}.gif');" > 127 * <div style="position:relative;left:0px;z-index:101; " height="100%" width="100%" > 128 * <og:ganttHeader 129 * startDate = "{@startDate}" 130 * endDate = "{@endDate}" 131 * zoom = "{@SZOOM}" 132 * calDB = "GE13" 133 * arg1 = "A" 134 * /> 135 * </div> 136 * </td> 137 * </tr> 138 * </og:thead> 139 * <og:tbody rowspan="2"> 140 * <tr> 141 * <td>[NOORDER]</td> 142 * <td>[PN]</td> 143 * <td rowspan="2" class="gantt zoom{@VZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" > 144 * <iGanttBar type="1" colorNo="[COLOR]" start="[DYORDER]" end="[DYNOKI]" text="[COSTCLM]" 145 * cost="[COSTCLM]" capacity="[CAPACITY]" /> 146 * <og:iGanttBar type="0" src="../image/dia_blue.gif" start="[DYORDER]" text="開始" /> 147 * </td> 148 * </tr> 149 * </og:tbody> 150 * </og:view> 151 * 152 * <og:iGantt 153 * margeRows = "true" 154 * fixedCols = "1" 155 * verticalShift = "false" 156 * viewGantt = "{@viewGantt}" 157 * stackHoliday = "{@stackHoliday}" 158 * useBgColor = "true" 159 * viewMode = "2" 160 * /> 161 * 162 * @og.rev 5.6.3.2 (2013/04/12) 新規作成 163 * @og.group 画面部品 164 * 165 * @version 5.0 166 * @author Kazuhiko Hasegawa 167 * @since JDK6.0, 168 */ 169public class ViewIGanttBarTag extends CommonTagSupport { 170 /** このプログラムのVERSION文字列を設定します。 {@value} */ 171 private static final String VERSION = "6.9.9.2 (2018/09/18)" ; 172 private static final long serialVersionUID = 699220180918L ; 173 174 private transient TagBuffer tag = new TagBuffer( "iGanttBar" ).addBody( "<!-- -->" ); // 6.1.1.0 (2015/01/17) TagBufferの連結記述 175 176 /** 177 * デフォルトコンストラクター 178 * 179 * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. 180 */ 181 public ViewIGanttBarTag() { super(); } // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。 182 183 /** 184 * Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。 185 * 186 * @og.rev 6.0.2.5 (2014/10/31) HTML5対応。javaScriptで、BODYがないと入れ子になってしまう。 187 * 188 * @return 後続処理の指示 189 */ 190 @Override 191 public int doEndTag() { 192 debugPrint(); // 4.0.0 (2005/02/28) 193 194 // 6.1.1.0 (2015/01/17) TagBufferの連結記述 195 jspPrint( tag.makeTag() ); 196 197 return EVAL_PAGE ; // ページの残りを評価する。 198 } 199 200 /** 201 * タグリブオブジェクトをリリースします。 202 * キャッシュされて再利用されるので、フィールドの初期設定を行います。 203 * 204 */ 205 @Override 206 protected void release2() { 207 super.release2(); 208 tag = new TagBuffer( "iGanttBar" ).addBody( "<!-- -->" ); // 6.1.1.0 (2015/01/17) TagBufferの連結記述 209 } 210 211 /** 212 * 【TAG】ガント要素のタイプ[0:マイルストーン/1:バー]を指定します。 213 * 214 * @og.tag 215 * 0:マイルストーン を指定すると、その日(時間)に、マーカーがされます。 216 * ガントのような期間ではなく、そのポイントを表すのに使用します。 217 * 例えば、受注日、納期 などの設定値です。 218 * start か end どちらかの指定で構いません。 219 * start を使用した場合は、指定日(時間)の前方に、endを使用した場合は、 220 * 指定日(時間)の後方にマーカーが置かれます。 221 * 222 * @param type ガント要素のタイプ [0:マイルストーン/1:バー] 223 */ 224 public void setType( final String type ) { 225 tag.add( "type",nval( getRequestParameter( type ),null ) ); 226 } 227 228 /** 229 * 【TAG】ガント要素(バー)の色コードを設定します。 230 * 231 * @og.tag 232 * color は、ガント要素の色コードを設定します。 233 * type="0:マイルストーン" の場合は不要です。 234 * このコードは、予め決められた色画像を呼び出しますので、任意の色が使えるという事ではありません。 235 * 色指定は、横棒の場合は、image/W_色コード.png の画像を使います。 236 * 色コード と 色番号が同時に指定された場合は、色コード が優先されます。 237 * 238 * type=2:差分枠 は、value > baseVal の場合は、超過を、value < baseValの場合は、不足を表します。 239 * <table class="plain"> 240 * <caption>色番号 対応表</caption> 241 * <tr><th>色番号</th><th>設定値 </th><th>棒色 </th><th> </th><th>横棒サンプル</th></tr> 242 * <tr><td> 0 </td><td>blue </td><td>青 </td><td> </td><td style="background-image:url(../image/W_blue.png);"> </td></tr> 243 * <tr><td> 1 </td><td>black </td><td>黒 </td><td> </td><td style="background-image:url(../image/W_black.png);"> </td></tr> 244 * <tr><td> 2 </td><td>brown </td><td>茶 </td><td> </td><td style="background-image:url(../image/W_brown.png);"> </td></tr> 245 * <tr><td> 3 </td><td>green </td><td>緑 </td><td> </td><td style="background-image:url(../image/W_green.png);"> </td></tr> 246 * <tr><td> 4 </td><td>lightblue </td><td>薄青 </td><td> </td><td style="background-image:url(../image/W_lightblue.png);"> </td></tr> 247 * <tr><td> 5 </td><td>lightgreen</td><td>薄緑 </td><td> </td><td style="background-image:url(../image/W_lightgreen.png);"> </td></tr> 248 * <tr><td> 6 </td><td>orange </td><td>オレンジ</td><td> </td><td style="background-image:url(../image/W_orange.png);"> </td></tr> 249 * <tr><td> 7 </td><td>pink </td><td>ピンク </td><td> </td><td style="background-image:url(../image/W_pink.png);"> </td></tr> 250 * <tr><td> 8 </td><td>purple </td><td>紫 </td><td> </td><td style="background-image:url(../image/W_purple.png);"> </td></tr> 251 * <tr><td> 9 </td><td>red </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red.png);"> </td></tr> 252 * <tr><td> 10 </td><td>yellow </td><td>黄 </td><td> </td><td style="background-image:url(../image/W_yellow.png);"> </td></tr> 253 * <tr><td> 11 </td><td>navy </td><td>濃紺 </td><td> </td><td style="background-image:url(../image/W_navy.png);"> </td></tr> 254 * <tr><td> 12 </td><td>teal </td><td>青緑 </td><td> </td><td style="background-image:url(../image/W_teal.png);"> </td></tr> 255 * <tr><td> 13 </td><td>gray </td><td>灰 </td><td> </td><td style="background-image:url(../image/W_gray.png);"> </td></tr> 256 * <tr><td> 14 </td><td>indigo </td><td>藍 </td><td> </td><td style="background-image:url(../image/W_indigo.png);"> </td></tr> 257 * <tr><td> 15 </td><td>slategray </td><td>鉄色 </td><td> </td><td style="background-image:url(../image/W_slategray.png);"> </td></tr> 258 * <tr><td> 16 </td><td>chocorlate</td><td>チョコレート</td><td> </td><td style="background-image:url(../image/W_chocorlate.png);"> </td></tr> 259 * <tr><td> 17 </td><td>darkgreen </td><td>深緑 </td><td> </td><td style="background-image:url(../image/W_darkgreen.png);"> </td></tr> 260 * <tr><td> 18 </td><td>violet </td><td>すみれ </td><td> </td><td style="background-image:url(../image/W_violet.png);"> </td></tr> 261 * <tr><td> 19 </td><td>darkslategray</td><td>深鉄色</td><td> </td><td style="background-image:url(../image/W_darkslategray.png);"> </td></tr> 262 * <tr><td> 20 </td><td>lime </td><td>緑 </td><td> </td><td style="background-image:url(../image/W_lime.png);"> </td></tr> 263 * <tr><td> 21 </td><td>aqua </td><td>水色 </td><td> </td><td style="background-image:url(../image/W_aqua.png);"> </td></tr> 264 * <tr><td> 22 </td><td>maroon </td><td>ひわだいろ</td><td> </td><td style="background-image:url(../image/W_maroon.png);"> </td></tr> 265 * <tr><td> 23 </td><td>olive </td><td>オリーブ</td><td> </td><td style="background-image:url(../image/W_olive.png);"> </td></tr> 266 * <tr><td> 24 </td><td>silver </td><td>銀 </td><td> </td><td style="background-image:url(../image/W_silver.png);"> </td></tr> 267 * <tr><td> 25 </td><td>fuchsia </td><td>赤紫 </td><td> </td><td style="background-image:url(../image/W_fuchsia.png);"> </td></tr> 268 * <tr><td colspan="6"> </td></tr> 269 * <tr><td> BK </td><td>black2 </td><td>黒 </td><td> </td><td style="background-image:url(../image/W_black2.png);"> </td></tr> 270 * <tr><td> WT </td><td>white2 </td><td>白 </td><td> </td><td style="background-image:url(../image/W_white2.png);"> </td></tr> 271 * <tr><td> BL </td><td>blue2 </td><td>青 </td><td> </td><td style="background-image:url(../image/W_blue2.png);"> </td></tr> 272 * <tr><td> RD </td><td>red2 </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red2.png);"> </td></tr> 273 * <tr><td> YL </td><td>yellow2 </td><td>黄 </td><td> </td><td style="background-image:url(../image/W_yellow2.png);"> </td></tr> 274 * </table> 275 * 276 * @param color バー色 277 */ 278 public void setColor( final String color ) { 279 tag.add( "color",nval( getRequestParameter( color ),null ) ); 280 } 281 282 /** 283 * 【TAG】グラフ要素の色番号を設定します。 284 * 285 * @og.tag 286 * 色番号は、色コードを直接指定するのではなく、番号で指定する場合に使用します。 287 * 棒グラフ要素(type="1"(横棒),"6"(縦棒))の色を設定します。 288 * "1~25 , BK,WT,BL,RD,YL" の色番号で指定します。 289 * 色番号は、与えた数字を内部色数で割り算した余を使用しますので、連番の場合でも 290 * 繰返し使われます。特殊な色として、BK,WT,BL,RD,YLは、番号ではなく記号で指定できます。 291 * 色コード と 色番号が同時に指定された場合は、色コード が優先されます。 292 * 293 * @param clrNo 色番号 [1~25/BK/WT/BL/RD/YL] 294 * @see #setColor( String ) 295 */ 296 public void setColorNo( final String clrNo ) { 297 tag.add( "colorNo",nval( getRequestParameter( clrNo ),null ) ); 298 } 299 300 /** 301 * 【TAG】マイルストーンのアイコン画像(URIより設定)を設定します。 302 * 303 * @og.tag 304 * type="0:マイルストーン" の場合、表示するアイコンイメージの所在を指定します。 305 * 例:"../image/xxx.png" 306 * 307 * @param src アイコン画像 308 */ 309 public void setSrc( final String src ) { 310 tag.add( "src",nval( getRequestParameter( src ),null ) ); 311 } 312 313 /** 314 * 【TAG】開始日(YYYYMMDD)、または開始時間(YYYYMMDDHH24MM)を設定します。 315 * 316 * @og.tag 317 * type="1:バー" の場合は、バー表示の場合の書き始め(開始)を指定します。 318 * この値は、バーでは、「含む」になります。 319 * type="0:マイルストーン" の場合は、マイルストンを左端に表示します。 320 * 321 * @param start 開始日or開始時間 (YYYYMMDD or YYYYMMDDHH24MM) 322 * @see #setType( String ) 323 * @see #setEnd( String ) 324 */ 325 public void setStart( final String start ) { 326 tag.add( "start",nval( getRequestParameter( start ),null ) ); 327 } 328 329 /** 330 * 【TAG】終了日(YYYYMMDD)、または終了時間(YYYYMMDDHH24MM)を設定します。 331 * 332 * @og.tag 333 * type="1:バー" の場合は、バー表示の場合の書き終わり(終了)を指定します。 334 * この値は、日付か時刻かで「含む」/「含まない」が異なります。 335 * 日付の場合は、この値を「含む」です。例えば、4/12 を指定した場合、4/12は含みます。 336 * 時刻の場合は、「含まない」です。4/12 070000 を指定した場合は、午前7時は含まないので、 337 * 6時59分59秒までのバーが引かれます。 338 * type="0:マイルストーン" の場合は、マイルストンを右端に表示します。 339 * 340 * @param end 終了日or終了時間 (YYYYMMDD or YYYYMMDDHH24MM) 341 * @see #setType( String ) 342 * @see #setStart( String ) 343 */ 344 public void setEnd( final String end ) { 345 tag.add( "end",nval( getRequestParameter( end ),null ) ); 346 } 347 348 /** 349 * 【TAG】バー上に表示するテキストを指定します。 350 * 351 * @og.tag 352 * バーの上に、値などの文字を重ねて表示できます。 353 * 354 * @param text 表示テキスト 355 */ 356 public void setText( final String text ) { 357 tag.add( "text",nval( getRequestParameter( text ),null ) ); 358 } 359 360 /** 361 * 【TAG】リンク作成時の値を設定します。 362 * 363 * 7.1.0.1 (2020/02/07) 364 * 通常の iGanttBar タグを使う場合、viewタグの HTMLCustomTable で一覧表示します。 365 * その際、hrefも繰り返しリンクを使用しますが、viewLinkタグのlinkタグを使用し、 366 * hrefOnly="true" を設定することでurlEncode されたリンクを使用できます。 367 * linkタグを使わず、hrefに直接URLを記述した場合、リンクはurlEncodeされません。 368 * 369 * @og.tag 370 * バーの上の文字に対して、リンクを作成できます。 371 * 372 * @param href リンク 373 * @see #setTarget( String ) 374 */ 375 public void setHref( final String href ) { 376 tag.add( "href",nval( getRequestParameter( href ),null ) ); 377 } 378 379 /** 380 * 【TAG】リンク作成時のターゲット名を指定します。 381 * 382 * @og.tag 383 * バーの上の文字に対して、リンクを作成するときの、ターゲット名を指定できます。 384 * 385 * @param target ターゲット 386 * @see #setHref( String ) 387 */ 388 public void setTarget( final String target ) { 389 tag.add( "target",nval( getRequestParameter( target ),null ) ); 390 } 391 392 /** 393 * 【TAG】hrefで付加されるリンクの範囲にバー本体を含めるかどうか[true/false]を指定します(初期値:false)。 394 * 395 * @og.tag 396 * true を指定すると、hrefで付加されるリンクの範囲にバー本体を含めます。 397 * 398 * @param barLink バー可否 [true:する/false:しない] 399 * @see #setHref( String ) 400 */ 401 public void setBarLink( final String barLink ) { 402 tag.add( "barLink",nval( getRequestParameter( barLink ),null ) ); 403 } 404 405// /** 406// * 【廃止】(startDateInputと同じ)ガント要素の開始日に紐付く入力欄を指定します。 407// * 408// * @og.tag 409// * この入力欄がないと、ガント要素は動かせません。 410// * 411// * @og.rev 5.9.14.1 (2016/11/11) startInputではなくstartDateInut 412// * @og.rev 6.9.9.0 (2018/08/20) startDateInput として、用意します。 413// * 414// * @param startInput 開始日入力欄 415// * @see #setStart( String ) 416// */ 417// public void setStartInput( final String startInput ) { 418// tag.add( "startDateInput",nval( getRequestParameter( startInput ),null ) ); 419// } 420 421 /** 422 * 【TAG】ガント要素の開始日に紐付く入力欄を指定します。 423 * 424 * @og.tag 425 * この入力欄がないと、ガント要素は動かせません。 426 * 427 * @og.rev 5.9.14.1 (2016/11/11) startInputではなくstartDateInut 428 * @og.rev 6.9.9.0 (2018/08/20) startDateInput として、用意します。 429 * 430 * @param startDateInput 開始日入力欄 431 * @see #setStart( String ) 432 */ 433 public void setStartDateInput( final String startDateInput ) { 434 tag.add( "startDateInput",nval( getRequestParameter( startDateInput ),null ) ); 435 } 436 437 /** 438 * 【TAG】ガント要素の開始時刻に紐付く入力欄を指定します。 439 * 440 * @og.tag 441 * ガント要素の開始時刻に紐付く入力欄を指定します。 442 * 443 * @og.rev 6.9.9.0 (2018/08/20) startTimeInput として、用意します。 444 * 445 * @param startTimeInput 開始日入力欄 446 * @see #setStart( String ) 447 */ 448 public void setStartTimeInput( final String startTimeInput ) { 449 tag.add( "startTimeInput",nval( getRequestParameter( startTimeInput ),null ) ); 450 } 451 452// /** 453// * 【廃止】(endDateInputと同じ)ガント要素の終了日に紐付く入力欄を指定します。 454// * 455// * @og.tag 456// * この入力欄がないと、ガント要素は動かせません。 457// * 458// * @og.rev 5.9.14.1 (2016/11/11) endInputではなくendDateInut 459// * @og.rev 6.9.9.0 (2018/08/20) endDateInput として、用意します。 460// * 461// * @param endInput 終了日入力欄 462// * @see #setEnd( String ) 463// */ 464// public void setEndInput( final String endInput ) { 465// tag.add( "endDateInput",nval( getRequestParameter( endInput ),null ) ); 466// } 467 468 /** 469 * 【TAG】ガント要素の終了日に紐付く入力欄を指定します。 470 * 471 * @og.tag 472 * この入力欄がないと、ガント要素は動かせません。 473 * 474 * @og.rev 5.9.14.1 (2016/11/11) endInputではなくendDateInut 475 * @og.rev 6.9.9.0 (2018/08/20) endDateInput として、用意します。 476 * 477 * @param endDateInput 終了日入力欄 478 * @see #setEnd( String ) 479 */ 480 public void setEndDateInput( final String endDateInput ) { 481 tag.add( "endDateInput",nval( getRequestParameter( endDateInput ),null ) ); 482 } 483 484 /** 485 * 【TAG】ガント要素の終了時刻に紐付く入力欄を指定します。 486 * 487 * @og.tag 488 * ガント要素の終了時刻に紐付く入力欄を指定します。 489 * 490 * @og.rev 6.9.9.0 (2018/08/20) endTimeInput として、用意します。 491 * 492 * @param endTimeInput 終了日入力欄 493 * @see #setEnd( String ) 494 */ 495 public void setEndTimeInput( final String endTimeInput ) { 496 tag.add( "endTimeInput",nval( getRequestParameter( endTimeInput ),null ) ); 497 } 498 499 /** 500 * 【TAG】ガントバーの移動歩幅単位(1:日、2:時間、3:分)を指定します。 501 * 502 * @og.tag 503 * ガントバーの移動歩幅単位(1:日、2:時間、3:分)を指定します。 504 * 505 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 506 * 507 * @param moveStep ガントバーの移動歩幅単位(moveStep 1:日、2:時間、3:分) 508 */ 509 public void setMoveStep( final String moveStep ) { 510 tag.add( "moveStep",nval( getRequestParameter( moveStep ),null ) ); 511 } 512 513 /** 514 * 【TAG】固定2分割するカラムを指定します。 515 * 516 * @og.tag 517 * 固定2分割するカラムを指定します。 518 * 519 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 520 * 521 * @param fixed 固定2分割するカラム 522 */ 523 public void setFixed( final String fixed ) { 524 tag.add( "fixed",nval( getRequestParameter( fixed ),null ) ); 525 } 526 527 /** 528 * 【TAG】マイルストーンカラムを指定します。 529 * 530 * @og.tag 531 * マイルストーンカラムを指定します。 532 * 533 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 534 * 535 * @param mStone 固定2分割するカラム 536 */ 537 public void setMStone( final String mStone ) { 538 tag.add( "mStone",nval( getRequestParameter( mStone ),null ) ); 539 } 540 541 /** 542 * 【TAG】バルーンとして表示するカラムを指定します。 543 * 544 * @og.tag 545 * バルーンとして表示するカラムを指定します。 546 * 547 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 548 * 549 * @param balloon バルーンとして表示するカラム 550 */ 551 public void setBalloon( final String balloon ) { 552 tag.add( "balloon",nval( getRequestParameter( balloon ),null ) ); 553 } 554 555 /** 556 * 【TAG】キー情報のカラムを、指定します。 557 * 558 * @og.tag 559 * キー情報のカラムを、指定します。 560 * 561 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 562 * 563 * @param keyInfo キー情報のカラム 564 */ 565 public void setKeyInfo( final String keyInfo ) { 566 tag.add( "keyInfo",nval( getRequestParameter( keyInfo ),null ) ); 567 } 568 569 /** 570 * 【TAG】writable属性のカラムを指定します。 571 * 572 * @og.tag 573 * writable属性のカラムを指定します。 574 * 575 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 576 * 577 * @param writable writable属性のカラム 578 */ 579 public void setWritable( final String writable ) { 580 tag.add( "writable",nval( getRequestParameter( writable ),null ) ); 581 } 582 583 /** 584 * 【TAG】レポートカラムを指定します。 585 * 586 * @og.tag 587 * レポートカラムを指定します。 588 * 589 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 590 * 591 * @param report レポートカラム 592 */ 593 public void setReport( final String report ) { 594 tag.add( "report",nval( getRequestParameter( report ),null ) ); 595 } 596 597 /** 598 * 【TAG】表示の重なり順のカラムを指定します。 599 * 600 * @og.tag 601 * 表示の重なり順のカラムを指定します。 602 * 603 * @og.rev 6.9.9.2 (2018/09/18) 新規追加。 604 * 605 * @param zindex 表示の重なり順のカラム 606 */ 607 public void setZindex( final String zindex ) { 608 tag.add( "zindex",nval( getRequestParameter( zindex ),null ) ); 609 } 610 611// /** 612// * 【TAG】行選択のチェックボックスを指定します。 613// * 614// * @og.tag 615// * 例えば、[ROW.ID] を指定する事で、選択行を指定する事ができます。 616// * 617// * @og.rev 6.9.9.2 (2018/09/18) 廃止 618// * 619// * @param chboxid チェックボックス指定 620// */ 621// public void setChbox( final String chbox ) { 622// tag.add( "chbox",nval( getRequestParameter( chbox ),null ) ); 623// } 624 625 /** 626 * 【TAG】積み上げガントの工数を指定します。 627 * 628 * @og.tag 629 * 積み上げガントの工数を指定します。 630 * 開始日、終了日を利用して積上げ計算されます。 631 * 632 * @param cost 積み上げガントの工数 633 */ 634 public void setCost( final String cost ) { 635 tag.add( "cost",nval( getRequestParameter( cost ),null ) ); 636 } 637 638 /** 639 * 【TAG】積上げの最大値(キャパシティ)を指定します。 640 * 641 * @og.tag 642 * 最大値を超えた場合は、マーカーされます。 643 * 644 * @param capacity 積み上げガントの工数 645 */ 646 public void setCapacity( final String capacity ) { 647 tag.add( "capacity",nval( getRequestParameter( capacity ),null ) ); 648 } 649 650 /** 651 * 【TAG】要素を一意に指定するためのidを指定します。 652 * 653 * @og.tag 654 * 要素を一意に指定するためのID体系を指定します。 655 * 例えばA__[I]のように設定します。 656 * ガント要素は動かす際には必要です。 657 * 658 * @og.rev 5.9.14.1 (2016/11/11) 659 * 660 * @param id 一意になる文字列 661 */ 662 @Override 663 public void setId( final String id ) { 664 tag.add( "id",nval( getRequestParameter( id ),null ) ); 665 } 666 667 /** 668 * タグの名称を、返します。 669 * 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。 670 * 671 * @return タグの名称 672 * @og.rtnNotNull 673 */ 674 @Override 675 protected String getTagName() { 676 return "iGanttBar" ; 677 } 678 679 /** 680 * このオブジェクトの文字列表現を返します。 681 * 基本的にデバッグ目的に使用します。 682 * 683 * @return このクラスの文字列表現 684 * @og.rtnNotNull 685 */ 686 @Override 687 public String toString() { 688 return ToString.title( this.getClass().getName() ) 689 .println( "VERSION" ,VERSION ) 690 .println( "tag" ,tag.makeTag() ) 691 .println( "Other..." ,getAttributes().getAttribute() ) 692 .fixForm().toString() ; 693 } 694}