• R/O
  • SSH
  • HTTPS

opengion: Commit


Commit MetaInfo

Revision1612 (tree)
Time2018-07-23 08:37:02
Authorchatrun

Log Message

(empty log message)

Change Summary

  • delete: trunk/opengionV5/uap/webapps/gf/src/org/opengion/plugin/column/Editor_TEXTRICH.java
  • delete: trunk/opengionV5/uap/webapps/gf/src/org/opengion/plugin/column/Renderer_TEXTRICH.java

Incremental Difference

--- trunk/opengionV5/uap/webapps/gf/src/org/opengion/plugin/column/Renderer_TEXTRICH.java (revision 1611)
+++ trunk/opengionV5/uap/webapps/gf/src/org/opengion/plugin/column/Renderer_TEXTRICH.java (revision 1612)
@@ -1,159 +0,0 @@
1-/*
2- * Copyright (c) 2009 The openGion Project.
3- *
4- * Licensed under the Apache License, Version 2.0 (the "License");
5- * you may not use this file except in compliance with the License.
6- * You may obtain a copy of the License at
7- *
8- * http://www.apache.org/licenses/LICENSE-2.0
9- *
10- * Unless required by applicable law or agreed to in writing, software
11- * distributed under the License is distributed on an "AS IS" BASIS,
12- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13- * either express or implied. See the License for the specific language
14- * governing permissions and limitations under the License.
15- */
16-package org.opengion.plugin.column;
17-
18-import java.util.UUID;
19-
20-import org.opengion.fukurou.util.StringUtil;
21-import org.opengion.fukurou.util.TagBuffer;
22-import org.opengion.hayabusa.db.AbstractRenderer;
23-import org.opengion.hayabusa.db.CellRenderer;
24-import org.opengion.hayabusa.db.DBColumn;
25-
26-/**
27- * TEXTAREA レンデラは、カラムのデータをリッチテキストで表示する場合に
28- * 使用するクラスです。
29- * readonlyのテキストエリアでname属性は付けません。(データは送信されません)
30- * エリアの縦、横サイズはエディタのリッチテキストと同様にして算出されます。
31- *
32- * カラムの表示に必要な属性は, DBColumn オブジェクト より取り出します。
33- * このクラスは、DBColumn オブジェクト毎に1つ作成されます。
34- *
35- * @og.rev 5.9.32.0 (2018/05/02) 新規作成
36- * @og.group データ編集
37- *
38- * @version 4.0
39- * @author Takahashi Masakazu
40- * @since JDK5.0,
41- */
42-public class Renderer_TEXTRICH extends AbstractRenderer {
43- //* このプログラムのVERSION文字列を設定します。 {@value} */
44- private static final String VERSION = "4.3.5.7 (2009/03/22)" ;
45-
46- private final TagBuffer tagBuffer = new TagBuffer();
47-
48- private String size1;
49- private String size2;
50-
51- /**
52- * デフォルトコンストラクター。
53- * このコンストラクターで、基本オブジェクトを作成します。
54- *
55- */
56- public Renderer_TEXTRICH() {
57- // 何もありません。(super を呼び出しません)
58- }
59-
60- // デフォルトの値設定
61- private void defaultSet() {
62- size1 = "150";
63- size2 = "300";
64- }
65-
66- /**
67- * コンストラクター
68- * textareaのサイズを決めるため、sizeとrowを決定する
69- * editorの計算を移植。
70- *
71- * @param clm DBColumnオブジェクト
72- */
73- private Renderer_TEXTRICH( final DBColumn clm ) {
74- // size に、"height,width" を指定できるように変更
75- String param = StringUtil.nval( clm.getEditorParam(),clm.getViewLength() );
76- if( param != null && param.length() != 0 ) {
77- int st = param.indexOf( ',' );
78- if( st > 0 ) {
79- size1 = param.substring( 0, st );
80- size2 = param.substring( st + 1);
81- }else {
82- defaultSet();
83- }
84- }else {
85- defaultSet();
86- }
87- }
88-
89- /**
90- * 各オブジェクトから自分のインスタンスを返します。
91- * 自分自身をキャッシュするのか、新たに作成するのかは、各サブクラスの実装に
92- * まかされます。
93- *
94- * @param clm DBColumnオブジェクト
95- *
96- * @return CellEditorオブジェクト
97- */
98- public CellRenderer newInstance( final DBColumn clm ) {
99- return new Renderer_TEXTRICH( clm );
100- }
101-
102- /**
103- * データの表示用文字列を返します。
104- *
105- * @param value 入力値
106- *
107- * @return データの表示用文字列
108- */
109- @Override
110- public String getValue( final String value ) {
111- // uuidをidとして使用する
112- String uuid = UUID.randomUUID().toString();
113-
114- TagBuffer tag = new TagBuffer( "textarea" );
115- tag.add( "id" , uuid);
116- tag.add( tagBuffer.makeTag() );
117- tag.setBody( value );
118-
119- return tag.makeTag() + createCLEditorSc(uuid);
120- }
121-
122- /**
123- * データの表示用文字列を返します。
124- *
125- * @param row 行番号
126- * @param value 入力値
127- *
128- * @return データ表示用の文字列
129- */
130- @Override
131- public String getValue( final int row,final String value ) {
132- // uuidをidとして使用する
133- String uuid = UUID.randomUUID().toString();
134- TagBuffer tag = new TagBuffer( "textarea" );
135- tag.add( "id" , uuid);
136- tag.add( tagBuffer.makeTag() );
137- tag.setBody( value );
138-
139- return tag.makeTag( row,value ) + createCLEditorSc(uuid);
140- }
141-
142- // CLEditorスクリプトの生成
143- private String createCLEditorSc(String id) {
144- StringBuilder js = new StringBuilder();
145- js.append("<script type='text/javascript'>");
146- js.append("var trg = $('#").append(id).append("').cleditor({");
147- js.append("height:").append(size1);
148- js.append(",width:").append(size2);
149- js.append(",controls:''");
150- js.append(",bodyStyle:'background-color: transparent;'})[0];");
151- js.append("trg.disable('true');"); // 操作の無効化
152- js.append("trg.$toolbar.remove();"); // メニューバーの削除
153- js.append("trg.$main.css('background-color','transparent');"); // bodyのstyle設定
154- // linkは新規ウィンドウに表示
155- js.append("$('#").append(id).append("').next('iframe').contents().find('a').attr('target','_blank');");
156- js.append("</script>");
157- return js.toString();
158- }
159-}
--- trunk/opengionV5/uap/webapps/gf/src/org/opengion/plugin/column/Editor_TEXTRICH.java (revision 1611)
+++ trunk/opengionV5/uap/webapps/gf/src/org/opengion/plugin/column/Editor_TEXTRICH.java (revision 1612)
@@ -1,188 +0,0 @@
1-/*
2- * Copyright (c) 2009 The openGion Project.
3- *
4- * Licensed under the Apache License, Version 2.0 (the "License");
5- * you may not use this file except in compliance with the License.
6- * You may obtain a copy of the License at
7- *
8- * http://www.apache.org/licenses/LICENSE-2.0
9- *
10- * Unless required by applicable law or agreed to in writing, software
11- * distributed under the License is distributed on an "AS IS" BASIS,
12- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
13- * either express or implied. See the License for the specific language
14- * governing permissions and limitations under the License.
15- */
16-package org.opengion.plugin.column;
17-
18-import org.opengion.fukurou.util.Attributes;
19-import org.opengion.fukurou.util.StringUtil;
20-import org.opengion.fukurou.util.TagBuffer;
21-import org.opengion.fukurou.util.XHTMLTag;
22-import org.opengion.hayabusa.common.HybsSystem;
23-import org.opengion.hayabusa.db.AbstractEditor;
24-import org.opengion.hayabusa.db.CellEditor;
25-import org.opengion.hayabusa.db.DBColumn;
26-
27-/**
28- * TEXTRICH エディターは、カラムのデータをリッチテキストで編集する場合に
29- * 使用するクラスです。
30- * サイズ指定はsize1,size2で高さ,幅がpxで設定されます。
31- * 初期値は250,600です。
32- *
33- * optionAttibutes属性にcleditorの設定が可能です。
34- * 詳細は下記ページを参照してください。
35- * http://www.premiumsoftware.net/cleditor/gettingstarted
36- *
37- * @og.rev 5.9.32.0 (2018/05/02) 新規作成
38- * @og.group データ編集
39- *
40- * @version 5
41- * @author T.OTA
42- * @since JDK5.0,
43- */
44-public class Editor_TEXTRICH extends AbstractEditor {
45- //* このプログラムのVERSION文字列を設定します。 {@value} */
46- private static final String VERSION = "" ;
47-
48- /**
49- * デフォルトコンストラクター。
50- * このコンストラクターで、基本オブジェクトを作成します。
51- *
52- *
53- */
54- public Editor_TEXTRICH() {
55- }
56-
57- // デフォルトの値設定
58- private void defaultSet() {
59- size1 = "250";
60- size2 = "600";
61- }
62-
63- /**
64- * コンストラクター。
65- *
66- * @param clm DBColumnオブジェクト
67- */
68- private Editor_TEXTRICH( final DBColumn clm ) {
69- super( clm );
70- String disabled = clm.isWritable() ? null : "disabled" ;
71-
72- // size に、"height,width" を指定できるように変更
73- String param = StringUtil.nval( clm.getEditorParam(),clm.getViewLength() );
74- if( param != null && param.length() != 0 ) {
75- int st = param.indexOf( ',' );
76- if( st > 0 ) {
77- size1 = param.substring( 0, st );
78- size2 = param.substring( st + 1);
79- }else {
80- defaultSet();
81- }
82- }else {
83- defaultSet();
84- }
85-
86- attributes = new Attributes();
87- attributes.addAttributes( clm.getEditorAttributes() );
88- tagBuffer.add( XHTMLTag.textareaAttri( attributes ) );
89- }
90-
91- /**
92- * 各オブジェクトから自分のインスタンスを返します。
93- * 自分自身をキャッシュするのか、新たに作成するのかは、各サブクラスの実装に
94- * まかされます。
95- *
96- * @param clm DBColumnオブジェクト
97- *
98- * @return CellEditorオブジェクト
99- */
100- public CellEditor newInstance( final DBColumn clm ) {
101- return new Editor_TEXTRICH( clm );
102- }
103-
104- /**
105- * データの編集用文字列を返します。
106- *
107- * @param value 入力値
108- *
109- * @return データの編集用文字列
110- */
111- @Override
112- public String getValue( final String value ) {
113- String id = "";
114-
115- TagBuffer tag = new TagBuffer( "textarea" );
116- tag.add( "name" , name );
117-
118- id = attributes.get( "id" );
119- optAttr = attributes.get( "optionAttributes" );
120- if( id == null || id.length() == 0 ) {
121- tag.add( "id" , name );
122- id = name;
123- }
124- tag.add( tagBuffer.makeTag() );
125- tag.add( optAttr );
126- tag.setBody( value );
127-
128- return tag.makeTag() + createCLEditorSc(id);
129- }
130-
131- /**
132- * name属性を変えた、データ表示/編集用のHTML文字列を作成します。
133- * テーブル上の name に 行番号を付加して、名前_行番号 で登録するキーを作成し,
134- * リクエスト情報を1つ毎のフィールドで処理できます。
135- *
136- * @param row 行番号
137- * @param value 入力値
138- *
139- * @return データ表示/編集用の文字列
140- */
141- @Override
142- public String getValue( final int row,final String value ) {
143- String id = "";
144-
145- TagBuffer tag = new TagBuffer( "textarea" );
146- String newName = name + HybsSystem.JOINT_STRING + row;
147- tag.add( "name" , newName );
148- id = attributes.get( "id" );
149- if( id == null || id.length() == 0 ) {
150- tag.add( "id" , newName );
151- id = newName;
152- }
153-
154- tag.add( tagBuffer.makeTag() );
155- tag.add( optAttr );
156- tag.setBody( value );
157-
158- return tag.makeTag( row,value ) + createCLEditorSc(id);
159- }
160-
161- // CLEditorスクリプトの生成
162- private String createCLEditorSc(String id) {
163-
164- StringBuilder js = new StringBuilder();
165- js.append("<script type='text/javascript'>");
166- js.append("var trg = $('#").append(id).append("').cleditor({");
167- js.append("bodyStyle:''");
168- js.append(",height:").append(size1);
169- js.append(",width:").append(size2);
170- js.append(",controls: 'bold size | color highlight | removeformat | link unlink | undo redo'");
171- String attr = attributes.get( "optionAttributes" );
172- if(attr != null && attr.length() > 0) {
173- js.append(",").append(attr);
174- }
175- js.append("})[0];");
176- // editorをtextareaに反映(この処理で更新なしの場合も、><の文字ががエンコードされる。)
177- js.append("trg.updateTextArea();");
178- // readonly属性が設定されている場合は、変更不可。
179- if("readonly".equals(attributes.get("readonly"))) {
180- js.append("trg.disable('true');");
181- // linkは新規ウィンドウに表示
182- js.append("$('#").append(id).append("').next('iframe').contents().find('a').attr('target','_blank');");
183- }
184- js.append("</script>");
185-
186- return js.toString();
187- }
188-}
Show on old repository browser