DataSource.script 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?xml version="1.0"?>
  2. <!DOCTYPE script PUBLIC
  3. "-//Apache Software Foundation//Tapestry Script Specification 3.0//EN"
  4. "http://jakarta.apache.org/tapestry/dtd/Script_3_0.dtd">
  5. <script>
  6. <input-symbol key="specifications" class="jeus.tool.webadmin.jdbc.IDatasourceSpecifications" required="yes"/>
  7. <input-symbol key="source" required="yes"/>
  8. <input-symbol key="target" required="yes"/>
  9. <initialization>
  10. dojo.connect(dojo.byId("${source.clientId}"), "onchange", (function(){
  11. var vendors = {};
  12. var datasources = null;
  13. var datasource = null;
  14. <foreach key="dbms" expression="specifications.dbmsList">
  15. datasources = new Array();
  16. <foreach key="dsspec" expression="specifications.getSpecificationsByDbms(dbms)">
  17. datasource = new Object();
  18. datasource.id = "${dsspec.id}";
  19. datasource.label = "${dsspec.label}"
  20. datasources[datasources.length]=datasource;
  21. </foreach>
  22. vendors["${dbms}"] = datasources;
  23. </foreach>
  24. return function(e){
  25. var drivers = vendors[e.target.value];
  26. var target = dojo.byId("${target.clientId}");
  27. dojo.forEach(target.options, function(option, index){target.options[index] = null;});
  28. if(!drivers)return;
  29. dojo.forEach(drivers, function(driver, index){
  30. target.options[index] = new Option(driver.label, driver.id);
  31. });
  32. };
  33. })());
  34. </initialization>
  35. </script>