unageanu-jiji 1.1.4 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (233) hide show
  1. data/ChangeLog +24 -1
  2. data/README +0 -0
  3. data/base/shared_lib/moving_average.rb +34 -33
  4. data/base/shared_lib/system/cross.rb +76 -0
  5. data/base/shared_lib/system/position_manager.rb +160 -0
  6. data/base/shared_lib/system/signal.rb +347 -0
  7. data/html/css/datatable.css +4 -4
  8. data/html/css/default.css +57 -5
  9. data/html/css/treeview.css +205 -0
  10. data/html/img/bin_closed.png +0 -0
  11. data/html/img/bin_empty.png +0 -0
  12. data/html/img/button_add_small.gif +0 -0
  13. data/html/img/button_add_small_gray.gif +0 -0
  14. data/html/img/button_add_small_over.gif +0 -0
  15. data/html/img/button_mkcol.gif +0 -0
  16. data/html/img/button_mkcol_gray.gif +0 -0
  17. data/html/img/button_mkcol_over.gif +0 -0
  18. data/html/img/button_remove_small.gif +0 -0
  19. data/html/img/button_remove_small_gray.gif +0 -0
  20. data/html/img/button_remove_small_over.gif +0 -0
  21. data/html/img/button_rename.gif +0 -0
  22. data/html/img/button_rename_gray.gif +0 -0
  23. data/html/img/button_rename_over.gif +0 -0
  24. data/html/img/control_play.png +0 -0
  25. data/html/img/control_play_blue.png +0 -0
  26. data/html/img/folder.png +0 -0
  27. data/html/img/folder_brick.png +0 -0
  28. data/html/img/folder_user.png +0 -0
  29. data/html/{js/codepress/images → img}/line-numbers.png +0 -0
  30. data/html/img/page_white_ruby.png +0 -0
  31. data/html/img/sidebar_agent_edit.png +0 -0
  32. data/html/img/sidebar_agent_edit_over.png +0 -0
  33. data/html/img/sidebar_agent_edit_s.png +0 -0
  34. data/html/img/yui/treeview-sprite.gif +0 -0
  35. data/html/index.html +34 -18
  36. data/html/js/agent-editor/agent-editor-page.js +324 -0
  37. data/html/js/agent-editor/agent-editor.js +363 -0
  38. data/html/js/agent-editor/agent-list-tree.js +251 -0
  39. data/html/js/agent-selector.js +23 -28
  40. data/html/js/app.js +63 -91
  41. data/html/js/bt-create-page.js +25 -19
  42. data/html/js/container-min.js +1 -1
  43. data/html/js/container.js +944 -0
  44. data/html/js/edit_area/autocompletion.js +11 -13
  45. data/html/js/edit_area/edit_area.css +79 -40
  46. data/html/js/edit_area/edit_area.js +255 -226
  47. data/html/js/edit_area/edit_area_compressor.php +4 -4
  48. data/html/js/edit_area/edit_area_full.gz +0 -0
  49. data/html/js/edit_area/edit_area_full.js +31 -31
  50. data/html/js/edit_area/edit_area_full_with_plugins.gz +0 -0
  51. data/html/js/edit_area/edit_area_full_with_plugins.js +31 -31
  52. data/html/js/edit_area/edit_area_functions.js +448 -341
  53. data/html/js/edit_area/edit_area_loader.js +409 -397
  54. data/html/js/edit_area/elements_functions.js +120 -123
  55. data/html/js/edit_area/highlight.js +305 -197
  56. data/html/js/edit_area/images/goto.png +0 -0
  57. data/html/js/edit_area/images/help.png +0 -0
  58. data/html/js/edit_area/images/redo.png +0 -0
  59. data/html/js/edit_area/images/save.png +0 -0
  60. data/html/js/edit_area/images/search.png +0 -0
  61. data/html/js/edit_area/images/undo.png +0 -0
  62. data/html/js/edit_area/images/word_wrap.gif +0 -0
  63. data/html/js/edit_area/keyboard.js +5 -5
  64. data/html/js/edit_area/langs/bg.js +73 -0
  65. data/html/js/edit_area/langs/cs.js +2 -0
  66. data/html/js/edit_area/langs/de.js +2 -0
  67. data/html/js/edit_area/langs/dk.js +2 -0
  68. data/html/js/edit_area/langs/en.js +2 -0
  69. data/html/js/edit_area/langs/eo.js +2 -0
  70. data/html/js/edit_area/langs/es.js +2 -0
  71. data/html/js/edit_area/langs/fi.js +67 -0
  72. data/html/js/edit_area/langs/fr.js +2 -0
  73. data/html/js/edit_area/langs/hr.js +2 -0
  74. data/html/js/edit_area/langs/it.js +2 -0
  75. data/html/js/edit_area/langs/ja.js +2 -0
  76. data/html/js/edit_area/langs/mk.js +2 -0
  77. data/html/js/edit_area/langs/nl.js +2 -0
  78. data/html/js/edit_area/langs/pl.js +2 -0
  79. data/html/js/edit_area/langs/pt.js +2 -0
  80. data/html/js/edit_area/langs/ru.js +2 -0
  81. data/html/js/edit_area/langs/sk.js +2 -0
  82. data/html/js/edit_area/langs/zh.js +67 -0
  83. data/html/js/edit_area/manage_area.js +362 -205
  84. data/html/js/edit_area/plugins/charmap/langs/bg.js +12 -0
  85. data/html/js/edit_area/plugins/charmap/langs/zh.js +6 -0
  86. data/html/js/edit_area/plugins/test/langs/bg.js +10 -0
  87. data/html/js/edit_area/plugins/test/langs/zh.js +4 -0
  88. data/html/js/edit_area/reg_syntax/java.js +56 -0
  89. data/html/js/edit_area/reg_syntax/ruby.js +9 -9
  90. data/html/js/edit_area/reg_syntax.js +15 -13
  91. data/html/js/edit_area/regexp.js +36 -32
  92. data/html/js/edit_area/resize_area.js +43 -47
  93. data/html/js/edit_area/search_replace.js +29 -29
  94. data/html/js/edit_area/template.html +6 -4
  95. data/html/js/json-broker-client.js +23 -17
  96. data/html/js/result-page.js +107 -57
  97. data/html/js/rt-setting-page.js +38 -15
  98. data/html/js/sidebar.js +41 -27
  99. data/html/js/templates.js +167 -32
  100. data/html/js/utils.js +143 -7
  101. data/html/js/yui/treeview.js +3671 -0
  102. data/html/swf/chart.swf +0 -0
  103. data/html/test/agent_editor_spec.js +815 -0
  104. data/html/test/index.html +40 -0
  105. data/html/test/jsspec/JSSpec.css +224 -0
  106. data/html/test/jsspec/JSSpec.js +1549 -0
  107. data/html/test/jsspec/diff_match_patch.js +1 -0
  108. data/html/test/utils_spec.js +111 -0
  109. data/lib/jiji/agent/agent.rb +69 -12
  110. data/lib/jiji/agent/agent_manager.rb +18 -12
  111. data/lib/jiji/agent/agent_registry.rb +35 -121
  112. data/lib/jiji/collector.rb +16 -6
  113. data/lib/jiji/command.rb +46 -5
  114. data/lib/jiji/dao/file_system_dao.rb +158 -0
  115. data/lib/jiji/dao/timed_data_dao.rb +2 -0
  116. data/lib/jiji/dao/trade_result_dao.rb +1 -1
  117. data/lib/jiji/error.rb +24 -8
  118. data/lib/jiji/migration/migrator1_2_0.rb +67 -0
  119. data/lib/jiji/models.rb +82 -24
  120. data/lib/jiji/operator.rb +55 -51
  121. data/lib/jiji/output.rb +85 -29
  122. data/lib/jiji/output_manager.rb +84 -0
  123. data/lib/jiji/plugin/embedded/single_click_client.rb +2 -2
  124. data/lib/jiji/plugin/securities_plugin.rb +0 -1
  125. data/lib/jiji/process.rb +229 -208
  126. data/lib/jiji/process_manager.rb +190 -96
  127. data/lib/jiji/registry.rb +87 -19
  128. data/lib/jiji/server.rb +1 -0
  129. data/lib/jiji/service/agent_service.rb +147 -48
  130. data/lib/jiji/service/output_service.rb +37 -17
  131. data/lib/jiji/service/process_service.rb +3 -5
  132. data/lib/jiji/service/trade_result_service.rb +4 -5
  133. data/lib/jiji/util/file_lock.rb +4 -4
  134. data/lib/jiji/util/include_proxy.rb +17 -0
  135. data/lib/jiji/util/json_broker.rb +6 -4
  136. data/lib/jiji/util/util.rb +1 -1
  137. data/swf/chart/fx/chart/Chart.as +7 -0
  138. data/swf/chart/fx/chart/ui/graph/GraphManager.as +15 -2
  139. data/test/ProcessTest/agents/foo.rb +10 -0
  140. data/test/ProcessTest/conf/configuration.yaml +3 -0
  141. data/test/agent/agent_tests.rb +10 -0
  142. data/test/agent/test_AgentManager.rb +28 -12
  143. data/test/agent/test_AgentRegistry.rb +194 -99
  144. data/test/agent/test_PeriodicallyAgent.rb +1 -2
  145. data/test/agent/test_Permitter.rb +1 -2
  146. data/test/all_tests.rb +7 -19
  147. data/test/dao/dao_tests.rb +9 -0
  148. data/test/dao/test_FileSystemDao.rb +431 -0
  149. data/test/dao/test_RateDao.rb +5 -7
  150. data/test/dao/test_TradeResultDao.rb +1 -2
  151. data/test/migration/migration_tests.rb +10 -0
  152. data/test/migration/migrator1_2_0test_data/basic/out/M2NlOTA2ODEtZDdlNi00NWU1LWIwNDQtMjBmODY2ZGNkNzBj/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  153. data/test/migration/migrator1_2_0test_data/basic/out/MDVhYzcxMjYtMGFlMS00Mzk0LWEyNmUtYjVjZjgwNDA0ZmE2/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  154. data/test/migration/migrator1_2_0test_data/basic/out/MzA1YTk0NDgtNzhjNi00NDk3LTk2NTktYzE1ZjBhNzdiYjNj/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  155. data/test/migration/migrator1_2_0test_data/basic/out/YjRkOTI1MzEtZTM4MS00YjQwLTg1ZTQtMWFmZDRlNDUwMzBm/56e75YuV5bmz5Z2H57ea/meta.yaml +9 -0
  156. data/test/migration/migrator1_2_0test_data/basic/props.yaml +85 -0
  157. data/test/migration/migrator1_2_0test_data/illegal_props/out/M2NlOTA2ODEtZDdlNi00NWU1LWIwNDQtMjBmODY2ZGNkNzBj/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  158. data/test/migration/migrator1_2_0test_data/illegal_props/out/MDVhYzcxMjYtMGFlMS00Mzk0LWEyNmUtYjVjZjgwNDA0ZmE2/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  159. data/test/migration/migrator1_2_0test_data/illegal_props/out/MzA1YTk0NDgtNzhjNi00NDk3LTk2NTktYzE1ZjBhNzdiYjNj/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  160. data/test/migration/migrator1_2_0test_data/illegal_props/out/YjRkOTI1MzEtZTM4MS00YjQwLTg1ZTQtMWFmZDRlNDUwMzBm/56e75YuV5bmz5Z2H57ea/meta.yaml +9 -0
  161. data/test/migration/migrator1_2_0test_data/illegal_props/props.yaml +1 -0
  162. data/test/migration/migrator1_2_0test_data/no_outs/props.yaml +85 -0
  163. data/test/migration/migrator1_2_0test_data/no_props/out/M2NlOTA2ODEtZDdlNi00NWU1LWIwNDQtMjBmODY2ZGNkNzBj/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  164. data/test/migration/migrator1_2_0test_data/no_props/out/MDVhYzcxMjYtMGFlMS00Mzk0LWEyNmUtYjVjZjgwNDA0ZmE2/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  165. data/test/migration/migrator1_2_0test_data/no_props/out/MzA1YTk0NDgtNzhjNi00NDk3LTk2NTktYzE1ZjBhNzdiYjNj/56e75YuV5bmz5Z2H57ea/meta.yaml +8 -0
  166. data/test/migration/migrator1_2_0test_data/no_props/out/YjRkOTI1MzEtZTM4MS00YjQwLTg1ZTQtMWFmZDRlNDUwMzBm/56e75YuV5bmz5Z2H57ea/meta.yaml +9 -0
  167. data/test/migration/test_Migrator.rb +1 -1
  168. data/test/migration/test_Migrator1_0_3.rb +1 -1
  169. data/test/migration/test_Migrator1_1_0.rb +1 -1
  170. data/test/migration/test_Migrator1_2_0.rb +94 -0
  171. data/test/plugin/embedded/test_SingleClickClient.rb +1 -2
  172. data/test/plugin/plugin_tests.rb +8 -0
  173. data/test/plugin/test_Loader.rb +1 -1
  174. data/test/shared/rate.csv +144 -0
  175. data/test/shared/shared_tests.rb +9 -0
  176. data/test/shared/test_Cross.rb +144 -0
  177. data/test/shared/test_PositionManager.rb +285 -0
  178. data/test/shared/test_Signal.rb +65 -0
  179. data/test/test_Output.rb +28 -21
  180. data/test/test_OutputManager.rb +162 -0
  181. data/test/test_Output_registry.rb +6 -17
  182. data/test/test_Process.rb +434 -222
  183. data/test/test_ProcessManager.rb +458 -101
  184. data/test/test_utils.rb +71 -8
  185. data/test/util/test_BlockToSession.rb +1 -2
  186. data/test/util/test_CSV.rb +1 -2
  187. data/test/util/test_SynchronizeInterceptor.rb +1 -2
  188. data/test/util/util_tests.rb +9 -0
  189. metadata +127 -47
  190. data/html/js/agent-editor-page.js +0 -440
  191. data/html/js/codepress/codepress.css +0 -21
  192. data/html/js/codepress/codepress.html +0 -35
  193. data/html/js/codepress/codepress.js +0 -138
  194. data/html/js/codepress/engines/gecko.js +0 -293
  195. data/html/js/codepress/engines/khtml.js +0 -0
  196. data/html/js/codepress/engines/msie.js +0 -304
  197. data/html/js/codepress/engines/older.js +0 -0
  198. data/html/js/codepress/engines/opera.js +0 -260
  199. data/html/js/codepress/images/line-numbers.gif +0 -0
  200. data/html/js/codepress/index.html +0 -443
  201. data/html/js/codepress/languages/asp.css +0 -71
  202. data/html/js/codepress/languages/asp.js +0 -117
  203. data/html/js/codepress/languages/autoit.css +0 -13
  204. data/html/js/codepress/languages/autoit.js +0 -32
  205. data/html/js/codepress/languages/csharp.css +0 -9
  206. data/html/js/codepress/languages/csharp.js +0 -25
  207. data/html/js/codepress/languages/css.css +0 -10
  208. data/html/js/codepress/languages/css.js +0 -23
  209. data/html/js/codepress/languages/generic.css +0 -9
  210. data/html/js/codepress/languages/generic.js +0 -25
  211. data/html/js/codepress/languages/html.css +0 -13
  212. data/html/js/codepress/languages/html.js +0 -59
  213. data/html/js/codepress/languages/java.css +0 -7
  214. data/html/js/codepress/languages/java.js +0 -24
  215. data/html/js/codepress/languages/javascript.css +0 -8
  216. data/html/js/codepress/languages/javascript.js +0 -30
  217. data/html/js/codepress/languages/perl.css +0 -11
  218. data/html/js/codepress/languages/perl.js +0 -27
  219. data/html/js/codepress/languages/php.css +0 -12
  220. data/html/js/codepress/languages/php.js +0 -61
  221. data/html/js/codepress/languages/ruby.css +0 -10
  222. data/html/js/codepress/languages/ruby.js +0 -26
  223. data/html/js/codepress/languages/sql.css +0 -10
  224. data/html/js/codepress/languages/sql.js +0 -30
  225. data/html/js/codepress/languages/text.css +0 -5
  226. data/html/js/codepress/languages/text.js +0 -9
  227. data/html/js/codepress/languages/vbscript.css +0 -71
  228. data/html/js/codepress/languages/vbscript.js +0 -117
  229. data/html/js/codepress/languages/xsl.css +0 -15
  230. data/html/js/codepress/languages/xsl.js +0 -103
  231. data/html/js/codepress/license.txt +0 -458
  232. data/html/js/edit_area/images/Thumbs.db +0 -0
  233. data/test/plugin/test_gem/a/lib/jiji_plugin_test.rb +0 -6
@@ -0,0 +1,12 @@
1
+ /*
2
+ * Bulgarian translation
3
+ * Author: Valentin Hristov
4
+ * Company: SOFTKIT Bulgarian
5
+ * Site: http://www.softkit-bg.com
6
+ */
7
+ editArea.add_lang("bg",{
8
+ charmap_but: "Виртуална клавиатура",
9
+ charmap_title: "Виртуална клавиатура",
10
+ charmap_choose_block: "избери езиков блок",
11
+ charmap_insert:"постави този символ"
12
+ });
@@ -0,0 +1,6 @@
1
+ editArea.add_lang("zh",{
2
+ charmap_but: "软键盘",
3
+ charmap_title: "软键盘",
4
+ charmap_choose_block: "选择一个语言块",
5
+ charmap_insert:"插入此字符"
6
+ });
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Bulgarian translation
3
+ * Author: Valentin Hristov
4
+ * Company: SOFTKIT Bulgarian
5
+ * Site: http://www.softkit-bg.com
6
+ */
7
+ editArea.add_lang("bg",{
8
+ test_select: "избери таг",
9
+ test_but: "тествай копието"
10
+ });
@@ -0,0 +1,4 @@
1
+ editArea.add_lang("zh",{
2
+ test_select: "选择标签",
3
+ test_but: "测试按钮"
4
+ });
@@ -0,0 +1,56 @@
1
+ editAreaLoader.load_syntax["java"] = {
2
+ 'COMMENT_SINGLE': { 1: '//', 2: '@' }
3
+ , 'COMMENT_MULTI': { '/*': '*/' }
4
+ , 'QUOTEMARKS': { 1: "'", 2: '"' }
5
+ , 'KEYWORD_CASE_SENSITIVE': true
6
+ , 'KEYWORDS': {
7
+ 'constants': [
8
+ 'null', 'false', 'true'
9
+ ]
10
+ , 'types': [
11
+ 'String', 'int', 'short', 'long', 'char', 'double', 'byte',
12
+ 'float', 'static', 'void', 'private', 'boolean', 'protected',
13
+ 'public', 'const', 'class', 'final', 'abstract', 'volatile',
14
+ 'enum', 'transient', 'interface'
15
+ ]
16
+ , 'statements': [
17
+ 'this', 'extends', 'if', 'do', 'while', 'try', 'catch', 'finally',
18
+ 'throw', 'throws', 'else', 'for', 'switch', 'continue', 'implements',
19
+ 'break', 'case', 'default', 'goto'
20
+ ]
21
+ , 'keywords': [
22
+ 'new', 'return', 'import', 'native', 'super', 'package', 'assert', 'synchronized',
23
+ 'instanceof', 'strictfp'
24
+ ]
25
+ }
26
+ , 'OPERATORS': [
27
+ '+', '-', '/', '*', '=', '<', '>', '%', '!', '?', ':', '&'
28
+ ]
29
+ , 'DELIMITERS': [
30
+ '(', ')', '[', ']', '{', '}'
31
+ ]
32
+ , 'REGEXPS': {
33
+ 'precompiler': {
34
+ 'search': '()(#[^\r\n]*)()'
35
+ , 'class': 'precompiler'
36
+ , 'modifiers': 'g'
37
+ , 'execute': 'before'
38
+ }
39
+ }
40
+ , 'STYLES': {
41
+ 'COMMENTS': 'color: #AAAAAA;'
42
+ , 'QUOTESMARKS': 'color: #6381F8;'
43
+ , 'KEYWORDS': {
44
+ 'constants': 'color: #EE0000;'
45
+ , 'types': 'color: #0000EE;'
46
+ , 'statements': 'color: #60CA00;'
47
+ , 'keywords': 'color: #48BDDF;'
48
+ }
49
+ , 'OPERATORS': 'color: #FF00FF;'
50
+ , 'DELIMITERS': 'color: #0038E1;'
51
+ , 'REGEXPS': {
52
+ 'precompiler': 'color: #009900;'
53
+ , 'precompilerstring': 'color: #994400;'
54
+ }
55
+ }
56
+ };
@@ -50,18 +50,18 @@ editAreaLoader.load_syntax["ruby"] = {
50
50
  }
51
51
  }
52
52
  ,'STYLES' : {
53
- 'COMMENTS': 'color: #AAAAAA;'
54
- ,'QUOTESMARKS': 'color: #660066;'
53
+ 'COMMENTS': 'color: #3F7F5F;'
54
+ ,'QUOTESMARKS': 'color: #999999;'
55
55
  ,'KEYWORDS' : {
56
- 'reserved' : 'font-weight: bold; color: #0000FF;'
56
+ 'reserved' : 'color: #A4357A;'
57
57
  }
58
- ,'OPERATORS' : 'color: #993300;'
59
- ,'DELIMITERS' : 'color: #993300;'
58
+ ,'OPERATORS' : 'color: #003399;'
59
+ ,'DELIMITERS' : 'color: #003399;'
60
60
  ,'REGEXPS' : {
61
- 'variables' : 'color: #E0BD54;'
62
- ,'numbers' : 'color: green;'
63
- ,'constants' : 'color: #00AA00;'
64
- ,'symbols' : 'color: #879EFA;'
61
+ 'variables' : 'color: #004080;'
62
+ ,'numbers' : 'color: #0080FF;'
63
+ ,'constants' : 'color: #777777;'
64
+ ,'symbols' : 'color: #FF3030;'
65
65
  }
66
66
  }
67
67
  };
@@ -17,16 +17,16 @@
17
17
 
18
18
 
19
19
  EditAreaLoader.prototype.get_escaped_regexp= function(str){
20
- return str.replace(/(\.|\?|\*|\+|\\|\(|\)|\[|\]|\}|\{|\$|\^|\|)/g, "\\$1");
20
+ return str.toString().replace(/(\.|\?|\*|\+|\\|\(|\)|\[|\]|\}|\{|\$|\^|\|)/g, "\\$1");
21
21
  };
22
22
 
23
23
  EditAreaLoader.prototype.init_syntax_regexp= function(){
24
- var lang_style= new Object();
24
+ var lang_style= {};
25
25
  for(var lang in this.load_syntax){
26
26
  if(!this.syntax[lang]) // init the regexp if not already initialized
27
27
  {
28
- this.syntax[lang]= new Object();
29
- this.syntax[lang]["keywords_reg_exp"]= new Object();
28
+ this.syntax[lang]= {};
29
+ this.syntax[lang]["keywords_reg_exp"]= {};
30
30
  this.keywords_reg_exp_nb=0;
31
31
 
32
32
  if(this.load_syntax[lang]['KEYWORDS']){
@@ -70,24 +70,26 @@
70
70
 
71
71
 
72
72
  // /(("(\\"|[^"])*"?)|('(\\'|[^'])*'?)|(//(.|\r|\t)*\n)|(/\*(.|\n|\r|\t)*\*/)|(<!--(.|\n|\r|\t)*-->))/gi
73
- var syntax_trace=new Array();
73
+ var syntax_trace=[];
74
74
 
75
75
  // /("(?:[^"\\]*(\\\\)*(\\"?)?)*("|$))/g
76
76
 
77
- this.syntax[lang]["quotes"]=new Object();
78
- var quote_tab= new Array();
77
+ this.syntax[lang]["quotes"]={};
78
+ var quote_tab= [];
79
79
  if(this.load_syntax[lang]['QUOTEMARKS']){
80
80
  for(var i in this.load_syntax[lang]['QUOTEMARKS']){
81
81
  if(typeof(this.load_syntax[lang]['QUOTEMARKS'][i])=="function") continue;
82
82
  var x=this.get_escaped_regexp(this.load_syntax[lang]['QUOTEMARKS'][i]);
83
83
  this.syntax[lang]["quotes"][x]=x;
84
84
  //quote_tab[quote_tab.length]="("+x+"(?:\\\\"+x+"|[^"+x+"])*("+x+"|$))";
85
- quote_tab[quote_tab.length]="("+x+"(?:[^"+x+"\\\\]*(\\\\\\\\)*(\\\\"+x+"?)?)*("+x+"|$))";
85
+ //previous working : quote_tab[quote_tab.length]="("+x+"(?:[^"+x+"\\\\]*(\\\\\\\\)*(\\\\"+x+"?)?)*("+x+"|$))";
86
+ quote_tab[quote_tab.length]="("+ x +"(\\\\.|[^"+ x +"])*(?:"+ x +"|$))";
87
+
86
88
  syntax_trace.push(x);
87
89
  }
88
90
  }
89
91
 
90
- this.syntax[lang]["comments"]=new Object();
92
+ this.syntax[lang]["comments"]={};
91
93
  if(this.load_syntax[lang]['COMMENT_SINGLE']){
92
94
  for(var i in this.load_syntax[lang]['COMMENT_SINGLE']){
93
95
  if(typeof(this.load_syntax[lang]['COMMENT_SINGLE'][i])=="function") continue;
@@ -116,27 +118,27 @@
116
118
  this.syntax[lang]["syntax_trace_regexp"]= new RegExp("((.|\n)*?)(\\\\*("+ syntax_trace.join("|") +"|$))", "gmi");
117
119
 
118
120
  if(this.load_syntax[lang]['SCRIPT_DELIMITERS']){
119
- this.syntax[lang]["script_delimiters"]= new Object();
121
+ this.syntax[lang]["script_delimiters"]= {};
120
122
  for(var i in this.load_syntax[lang]['SCRIPT_DELIMITERS']){
121
123
  if(typeof(this.load_syntax[lang]['SCRIPT_DELIMITERS'][i])=="function") continue;
122
124
  this.syntax[lang]["script_delimiters"][i]= this.load_syntax[lang]['SCRIPT_DELIMITERS'];
123
125
  }
124
126
  }
125
127
 
126
- this.syntax[lang]["custom_regexp"]= new Object();
128
+ this.syntax[lang]["custom_regexp"]= {};
127
129
  if(this.load_syntax[lang]['REGEXPS']){
128
130
  for(var i in this.load_syntax[lang]['REGEXPS']){
129
131
  if(typeof(this.load_syntax[lang]['REGEXPS'][i])=="function") continue;
130
132
  var val= this.load_syntax[lang]['REGEXPS'][i];
131
133
  if(!this.syntax[lang]["custom_regexp"][val['execute']])
132
- this.syntax[lang]["custom_regexp"][val['execute']]= new Object();
134
+ this.syntax[lang]["custom_regexp"][val['execute']]= {};
133
135
  this.syntax[lang]["custom_regexp"][val['execute']][i]={'regexp' : new RegExp(val['search'], val['modifiers'])
134
136
  , 'class' : val['class']};
135
137
  }
136
138
  }
137
139
 
138
140
  if(this.load_syntax[lang]['STYLES']){
139
- lang_style[lang]= new Object();
141
+ lang_style[lang]= {};
140
142
  for(var i in this.load_syntax[lang]['STYLES']){
141
143
  if(typeof(this.load_syntax[lang]['STYLES'][i])=="function") continue;
142
144
  if(typeof(this.load_syntax[lang]['STYLES'][i]) != "string"){
@@ -26,33 +26,35 @@
26
26
 
27
27
  // determine if the selected text if a comment or a quoted text
28
28
  EditArea.prototype.comment_or_quote= function(){
29
- var new_class="";
30
- var close_tag="";
31
- for(var i in parent.editAreaLoader.syntax[editArea.current_code_lang]["quotes"]){
32
- if(EditArea.prototype.comment_or_quote.arguments[0].indexOf(i)==0){
29
+ var new_class="", close_tag="", sy, arg, i;
30
+ sy = parent.editAreaLoader.syntax[editArea.current_code_lang];
31
+ arg = EditArea.prototype.comment_or_quote.arguments[0];
32
+
33
+ for( i in sy["quotes"] ){
34
+ if(arg.indexOf(i)==0){
33
35
  new_class="quotesmarks";
34
- close_tag=parent.editAreaLoader.syntax[editArea.current_code_lang]["quotes"][i];
36
+ close_tag=sy["quotes"][i];
35
37
  }
36
38
  }
37
39
  if(new_class.length==0)
38
40
  {
39
- for(var i in parent.editAreaLoader.syntax[editArea.current_code_lang]["comments"]){
40
- if(EditArea.prototype.comment_or_quote.arguments[0].indexOf(i)==0){
41
+ for(var i in sy["comments"]){
42
+ if( arg.indexOf(i)==0 ){
41
43
  new_class="comments";
42
- close_tag=parent.editAreaLoader.syntax[editArea.current_code_lang]["comments"][i];
44
+ close_tag=sy["comments"][i];
43
45
  }
44
46
  }
45
47
  }
46
48
  // for single line comment the \n must not be included in the span tags
47
49
  if(close_tag=="\n"){
48
- return "µ__"+ new_class +"__µ"+EditArea.prototype.comment_or_quote.arguments[0].replace(/(\r?\n)?$/m, "µ_END_µ$1");
50
+ return "µ__"+ new_class +"__µ"+ arg.replace(/(\r?\n)?$/m, "µ_END_µ$1");
49
51
  }else{
50
52
  // the closing tag must be set only if the comment or quotes is closed
51
53
  reg= new RegExp(parent.editAreaLoader.get_escaped_regexp(close_tag)+"$", "m");
52
- if(EditArea.prototype.comment_or_quote.arguments[0].search(reg)!=-1)
53
- return "µ__"+ new_class +"__µ"+EditArea.prototype.comment_or_quote.arguments[0]+"µ_END_µ";
54
+ if( arg.search(reg)!=-1 )
55
+ return "µ__"+ new_class +"__µ"+ arg +"µ_END_µ";
54
56
  else
55
- return "µ__"+ new_class +"__µ"+EditArea.prototype.comment_or_quote.arguments[0];
57
+ return "µ__"+ new_class +"__µ"+ arg;
56
58
  }
57
59
  };
58
60
 
@@ -76,7 +78,7 @@
76
78
  EditArea.prototype.colorize_text= function(text){
77
79
  //text="<div id='result' class='area' style='position: relative; z-index: 4; height: 500px; overflow: scroll;border: solid black 1px;'> ";
78
80
  /*
79
- if(this.nav['isOpera']){
81
+ if(this.isOpera){
80
82
  // opera can't use pre element tabulation cause a tab=6 chars in the textarea and 8 chars in the pre
81
83
  text= this.replace_tab(text);
82
84
  }*/
@@ -93,41 +95,43 @@
93
95
  };
94
96
 
95
97
  EditArea.prototype.apply_syntax= function(text, lang){
98
+ var sy;
96
99
  this.current_code_lang=lang;
97
100
 
98
101
  if(!parent.editAreaLoader.syntax[lang])
99
102
  return text;
100
-
101
- if(parent.editAreaLoader.syntax[lang]["custom_regexp"]['before']){
102
- for( var i in parent.editAreaLoader.syntax[lang]["custom_regexp"]['before']){
103
- var convert="$1µ__"+ parent.editAreaLoader.syntax[lang]["custom_regexp"]['before'][i]['class'] +"__µ$2µ_END_µ$3";
104
- text= text.replace(parent.editAreaLoader.syntax[lang]["custom_regexp"]['before'][i]['regexp'], convert);
103
+
104
+ sy = parent.editAreaLoader.syntax[lang];
105
+ if(sy["custom_regexp"]['before']){
106
+ for( var i in sy["custom_regexp"]['before']){
107
+ var convert="$1µ__"+ sy["custom_regexp"]['before'][i]['class'] +"__µ$2µ_END_µ$3";
108
+ text= text.replace(sy["custom_regexp"]['before'][i]['regexp'], convert);
105
109
  }
106
110
  }
107
111
 
108
- if(parent.editAreaLoader.syntax[lang]["comment_or_quote_reg_exp"]){
109
- //setTimeout("$('debug_area').value=editArea.comment_or_quote_reg_exp;", 500);
110
- text= text.replace(parent.editAreaLoader.syntax[lang]["comment_or_quote_reg_exp"], this.comment_or_quote);
112
+ if(sy["comment_or_quote_reg_exp"]){
113
+ //setTimeout("_$('debug_area').value=editArea.comment_or_quote_reg_exp;", 500);
114
+ text= text.replace(sy["comment_or_quote_reg_exp"], this.comment_or_quote);
111
115
  }
112
116
 
113
- if(parent.editAreaLoader.syntax[lang]["keywords_reg_exp"]){
114
- for(var i in parent.editAreaLoader.syntax[lang]["keywords_reg_exp"]){
115
- text= text.replace(parent.editAreaLoader.syntax[lang]["keywords_reg_exp"][i], 'µ__'+i+'__µ$2µ_END_µ');
117
+ if(sy["keywords_reg_exp"]){
118
+ for(var i in sy["keywords_reg_exp"]){
119
+ text= text.replace(sy["keywords_reg_exp"][i], 'µ__'+i+'__µ$2µ_END_µ');
116
120
  }
117
121
  }
118
122
 
119
- if(parent.editAreaLoader.syntax[lang]["delimiters_reg_exp"]){
120
- text= text.replace(parent.editAreaLoader.syntax[lang]["delimiters_reg_exp"], 'µ__delimiters__µ$1µ_END_µ');
123
+ if(sy["delimiters_reg_exp"]){
124
+ text= text.replace(sy["delimiters_reg_exp"], 'µ__delimiters__µ$1µ_END_µ');
121
125
  }
122
126
 
123
- if(parent.editAreaLoader.syntax[lang]["operators_reg_exp"]){
124
- text= text.replace(parent.editAreaLoader.syntax[lang]["operators_reg_exp"], 'µ__operators__µ$1µ_END_µ');
127
+ if(sy["operators_reg_exp"]){
128
+ text= text.replace(sy["operators_reg_exp"], 'µ__operators__µ$1µ_END_µ');
125
129
  }
126
130
 
127
- if(parent.editAreaLoader.syntax[lang]["custom_regexp"]['after']){
128
- for( var i in parent.editAreaLoader.syntax[lang]["custom_regexp"]['after']){
129
- var convert="$1µ__"+ parent.editAreaLoader.syntax[lang]["custom_regexp"]['after'][i]['class'] +"__µ$2µ_END_µ$3";
130
- text= text.replace(parent.editAreaLoader.syntax[lang]["custom_regexp"]['after'][i]['regexp'], convert);
131
+ if(sy["custom_regexp"]['after']){
132
+ for( var i in sy["custom_regexp"]['after']){
133
+ var convert="$1µ__"+ sy["custom_regexp"]['after'][i]['class'] +"__µ$2µ_END_µ$3";
134
+ text= text.replace(sy["custom_regexp"]['after'][i]['regexp'], convert);
131
135
  }
132
136
  }
133
137
 
@@ -1,81 +1,77 @@
1
1
 
2
2
  EditAreaLoader.prototype.start_resize_area= function(){
3
- document.onmouseup= editAreaLoader.end_resize_area;
4
- document.onmousemove= editAreaLoader.resize_area;
3
+ var d=document,a,div,width,height,father;
4
+
5
+ d.onmouseup= editAreaLoader.end_resize_area;
6
+ d.onmousemove= editAreaLoader.resize_area;
5
7
  editAreaLoader.toggle(editAreaLoader.resize["id"]);
6
8
 
7
- var textarea= editAreas[editAreaLoader.resize["id"]]["textarea"];
8
- var div= document.getElementById("edit_area_resize");
9
+ a = editAreas[editAreaLoader.resize["id"]]["textarea"];
10
+ div = d.getElementById("edit_area_resize");
9
11
  if(!div){
10
- div= document.createElement("div");
12
+ div= d.createElement("div");
11
13
  div.id="edit_area_resize";
12
14
  div.style.border="dashed #888888 1px";
13
15
  }
14
- var width= textarea.offsetWidth -2;
15
- var height= textarea.offsetHeight -2;
16
- /*if(this.nav['isGecko']){
17
- width-=2;
18
- height-=2;
19
- }*/
16
+ width = a.offsetWidth -2;
17
+ height = a.offsetHeight -2;
20
18
 
21
- div.style.display="block";
22
- div.style.width= width+"px";
23
- div.style.height= height+"px";
24
- var father= textarea.parentNode;
25
- father.insertBefore(div, textarea);
19
+ div.style.display = "block";
20
+ div.style.width = width+"px";
21
+ div.style.height = height+"px";
22
+ father= a.parentNode;
23
+ father.insertBefore(div, a);
26
24
 
27
- textarea.style.display="none";
25
+ a.style.display="none";
28
26
 
29
27
  editAreaLoader.resize["start_top"]= calculeOffsetTop(div);
30
- editAreaLoader.resize["start_left"]= calculeOffsetLeft(div);
31
-
32
-
33
- /*var next= textarea.nextSibling;
34
- if(next==null)
35
- father.appendChild(div);
36
- else
37
- father.insertBefore(div, next);*/
38
-
28
+ editAreaLoader.resize["start_left"]= calculeOffsetLeft(div);
39
29
  };
40
30
 
41
31
  EditAreaLoader.prototype.end_resize_area= function(e){
42
- document.onmouseup="";
43
- document.onmousemove="";
32
+ var d=document,div,a,width,height;
44
33
 
45
- var div= document.getElementById("edit_area_resize");
46
- var textarea= editAreas[editAreaLoader.resize["id"]]["textarea"];
47
- var width= Math.max(editAreas[editAreaLoader.resize["id"]]["settings"]["min_width"], div.offsetWidth-4);
48
- var height= Math.max(editAreas[editAreaLoader.resize["id"]]["settings"]["min_height"], div.offsetHeight-4);
49
- if(editAreaLoader.nav['isIE']==6){
34
+ d.onmouseup="";
35
+ d.onmousemove="";
36
+
37
+ div = d.getElementById("edit_area_resize");
38
+ a= editAreas[editAreaLoader.resize["id"]]["textarea"];
39
+ var x = editAreas[editAreaLoader.resize["id"]];
40
+ if(x.fullscreen && x.fullscreen['isFull']){
41
+ width = Math.max(editAreas[editAreaLoader.resize["id"]]["settings"]["min_width"], div.offsetWidth-4);
42
+ } else {
43
+ width = 498;
44
+ }
45
+ height = Math.max(editAreas[editAreaLoader.resize["id"]]["settings"]["min_height"], div.offsetHeight-4);
46
+ if(editAreaLoader.isIE==6){
50
47
  width-=2;
51
48
  height-=2;
52
49
  }
53
- textarea.style.width= width+"px";
54
- textarea.style.height= height+"px";
55
- div.style.display="none";
56
- textarea.style.display="inline";
57
- textarea.selectionStart= editAreaLoader.resize["selectionStart"];
58
- textarea.selectionEnd= editAreaLoader.resize["selectionEnd"];
50
+ a.style.width = width+"px";
51
+ a.style.height = height+"px";
52
+ div.style.display = "none";
53
+ a.style.display = "inline";
54
+ a.selectionStart = editAreaLoader.resize["selectionStart"];
55
+ a.selectionEnd = editAreaLoader.resize["selectionEnd"];
59
56
  editAreaLoader.toggle(editAreaLoader.resize["id"]);
60
57
 
61
58
  return false;
62
59
  };
63
60
 
64
61
  EditAreaLoader.prototype.resize_area= function(e){
65
- var allow= editAreas[editAreaLoader.resize["id"]]["settings"]["allow_resize"];
62
+ var allow,newHeight,newWidth;
63
+ allow = editAreas[editAreaLoader.resize["id"]]["settings"]["allow_resize"];
66
64
  if(allow=="both" || allow=="y")
67
65
  {
68
- new_y= getMouseY(e);
69
- var new_height= Math.max(20, new_y- editAreaLoader.resize["start_top"]);
70
- document.getElementById("edit_area_resize").style.height= new_height+"px";
66
+ newHeight = Math.max(20, getMouseY(e)- editAreaLoader.resize["start_top"]);
67
+ document.getElementById("edit_area_resize").style.height= newHeight+"px";
71
68
  }
72
69
  if(allow=="both" || allow=="x")
73
70
  {
74
- new_x= getMouseX(e);
75
- var new_width= Math.max(20, new_x- editAreaLoader.resize["start_left"]);
76
- document.getElementById("edit_area_resize").style.width= new_width+"px";
71
+ newWidth= Math.max(20, getMouseX(e)- editAreaLoader.resize["start_left"]);
72
+ document.getElementById("edit_area_resize").style.width= newWidth+"px";
77
73
  }
78
- //window.status="resize n_w: "+new_width+" new_h: "+new_height+ " new_y: "+new_y+" s_top: "+editAreaLoader.resize["start_top"];
74
+
79
75
  return false;
80
76
  };
81
77
 
@@ -1,19 +1,19 @@
1
1
  EditArea.prototype.show_search = function(){
2
- if($("area_search_replace").style.visibility=="visible"){
2
+ if(_$("area_search_replace").style.visibility=="visible"){
3
3
  this.hidden_search();
4
4
  }else{
5
5
  this.open_inline_popup("area_search_replace");
6
6
  var text= this.area_get_selection();
7
7
  var search= text.split("\n")[0];
8
- $("area_search").value= search;
9
- $("area_search").focus();
8
+ _$("area_search").value= search;
9
+ _$("area_search").focus();
10
10
  }
11
11
  };
12
12
 
13
13
  EditArea.prototype.hidden_search= function(){
14
- /*$("area_search_replace").style.visibility="hidden";
14
+ /*_$("area_search_replace").style.visibility="hidden";
15
15
  this.textarea.focus();
16
- var icon= $("search");
16
+ var icon= _$("search");
17
17
  setAttribute(icon, "class", getAttribute(icon, "class").replace(/ selected/g, "") );*/
18
18
  this.close_inline_popup("area_search_replace");
19
19
  };
@@ -22,8 +22,8 @@
22
22
 
23
23
  if(!mode)
24
24
  mode="search";
25
- $("area_search_msg").innerHTML="";
26
- var search=$("area_search").value;
25
+ _$("area_search_msg").innerHTML="";
26
+ var search=_$("area_search").value;
27
27
 
28
28
  this.textarea.focus();
29
29
  this.textarea.textareaFocused=true;
@@ -34,27 +34,27 @@
34
34
  var pos_begin=-1;
35
35
  var length=search.length;
36
36
 
37
- if($("area_search_replace").style.visibility!="visible"){
37
+ if(_$("area_search_replace").style.visibility!="visible"){
38
38
  this.show_search();
39
39
  return;
40
40
  }
41
41
  if(search.length==0){
42
- $("area_search_msg").innerHTML=this.get_translation("search_field_empty");
42
+ _$("area_search_msg").innerHTML=this.get_translation("search_field_empty");
43
43
  return;
44
44
  }
45
45
  // advance to the next occurence if no text selected
46
46
  if(mode!="replace" ){
47
- if($("area_search_reg_exp").checked)
47
+ if(_$("area_search_reg_exp").checked)
48
48
  start++;
49
49
  else
50
50
  start+= search.length;
51
51
  }
52
52
 
53
53
  //search
54
- if($("area_search_reg_exp").checked){
54
+ if(_$("area_search_reg_exp").checked){
55
55
  // regexp search
56
56
  var opt="m";
57
- if(!$("area_search_match_case").checked)
57
+ if(!_$("area_search_match_case").checked)
58
58
  opt+="i";
59
59
  var reg= new RegExp(search, opt);
60
60
  pos= infos["full_text"].substr(start).search(reg);
@@ -66,7 +66,7 @@
66
66
  length=infos["full_text"].match(reg)[0].length;
67
67
  }
68
68
  }else{
69
- if($("area_search_match_case").checked){
69
+ if(_$("area_search_match_case").checked){
70
70
  pos= infos["full_text"].indexOf(search, start);
71
71
  pos_begin= infos["full_text"].indexOf(search);
72
72
  }else{
@@ -77,21 +77,21 @@
77
77
 
78
78
  // interpret result
79
79
  if(pos==-1 && pos_begin==-1){
80
- $("area_search_msg").innerHTML="<strong>"+search+"</strong> "+this.get_translation("not_found");
80
+ _$("area_search_msg").innerHTML="<strong>"+search+"</strong> "+this.get_translation("not_found");
81
81
  return;
82
82
  }else if(pos==-1 && pos_begin != -1){
83
83
  begin= pos_begin;
84
- $("area_search_msg").innerHTML=this.get_translation("restart_search_at_begin");
84
+ _$("area_search_msg").innerHTML=this.get_translation("restart_search_at_begin");
85
85
  }else
86
86
  begin= pos;
87
87
 
88
- //$("area_search_msg").innerHTML+="<strong>"+search+"</strong> found at "+begin+" strat at "+start+" pos "+pos+" curs"+ infos["indexOfCursor"]+".";
88
+ //_$("area_search_msg").innerHTML+="<strong>"+search+"</strong> found at "+begin+" strat at "+start+" pos "+pos+" curs"+ infos["indexOfCursor"]+".";
89
89
  if(mode=="replace" && pos==infos["indexOfCursor"]){
90
- var replace= $("area_replace").value;
90
+ var replace= _$("area_replace").value;
91
91
  var new_text="";
92
- if($("area_search_reg_exp").checked){
92
+ if(_$("area_search_reg_exp").checked){
93
93
  var opt="m";
94
- if(!$("area_search_match_case").checked)
94
+ if(!_$("area_search_match_case").checked)
95
95
  opt+="i";
96
96
  var reg= new RegExp(search, opt);
97
97
  new_text= infos["full_text"].substr(0, begin) + infos["full_text"].substr(start).replace(reg, replace);
@@ -114,25 +114,25 @@
114
114
 
115
115
  EditArea.prototype.area_replace_all= function(){
116
116
  /* this.area_select(0, 0);
117
- $("area_search_msg").innerHTML="";
118
- while($("area_search_msg").innerHTML==""){
117
+ _$("area_search_msg").innerHTML="";
118
+ while(_$("area_search_msg").innerHTML==""){
119
119
  this.area_replace();
120
120
  }*/
121
121
 
122
122
  var base_text= this.textarea.value;
123
- var search= $("area_search").value;
124
- var replace= $("area_replace").value;
123
+ var search= _$("area_search").value;
124
+ var replace= _$("area_replace").value;
125
125
  if(search.length==0){
126
- $("area_search_msg").innerHTML=this.get_translation("search_field_empty");
126
+ _$("area_search_msg").innerHTML=this.get_translation("search_field_empty");
127
127
  return ;
128
128
  }
129
129
 
130
130
  var new_text="";
131
131
  var nb_change=0;
132
- if($("area_search_reg_exp").checked){
132
+ if(_$("area_search_reg_exp").checked){
133
133
  // regExp
134
134
  var opt="mg";
135
- if(!$("area_search_match_case").checked)
135
+ if(!_$("area_search_match_case").checked)
136
136
  opt+="i";
137
137
  var reg= new RegExp(search, opt);
138
138
  nb_change= infos["full_text"].match(reg).length;
@@ -140,7 +140,7 @@
140
140
 
141
141
  }else{
142
142
 
143
- if($("area_search_match_case").checked){
143
+ if(_$("area_search_match_case").checked){
144
144
  var tmp_tab=base_text.split(search);
145
145
  nb_change= tmp_tab.length -1 ;
146
146
  new_text= tmp_tab.join(replace);
@@ -161,10 +161,10 @@
161
161
  }
162
162
  }
163
163
  if(new_text==base_text){
164
- $("area_search_msg").innerHTML="<strong>"+search+"</strong> "+this.get_translation("not_found");
164
+ _$("area_search_msg").innerHTML="<strong>"+search+"</strong> "+this.get_translation("not_found");
165
165
  }else{
166
166
  this.textarea.value= new_text;
167
- $("area_search_msg").innerHTML="<strong>"+nb_change+"</strong> "+this.get_translation("occurrence_replaced");
167
+ _$("area_search_msg").innerHTML="<strong>"+nb_change+"</strong> "+this.get_translation("occurrence_replaced");
168
168
  // firefox and opera doesn't manage with the focus if it's done directly
169
169
  //editArea.textarea.focus();editArea.textarea.textareaFocused=true;
170
170
  setTimeout("editArea.textarea.focus();editArea.textarea.textareaFocused=true;", 100);