Property.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. MWF.xDesktop.requireApp("process.ViewDesigner", "Property", null, false);
  2. MWF.xApplication.cms.QueryViewDesigner.Property = MWF.CMSQVDProperty = new Class({
  3. Extends: MWF.xApplication.process.ViewDesigner.Property,
  4. options: {
  5. "style": "default",
  6. "path": "../x_component_cms_FormDesigner/property/property.html"
  7. },
  8. loadColumnExportEditor: function(){
  9. var _self = this;
  10. var nodes = this.propertyContent.getElements(".MWFColumnExport");
  11. nodes.each(function(node){
  12. //if (!this.data.export) this.data.export = {};
  13. //var sort = this.data.export.sort || "";
  14. //var sortOrder = this.data.export.sortOrder || "1";
  15. var select = node.getElement("select");
  16. var sortList = this.view.data.data.orderEntryList;
  17. sortList.each(function(order){
  18. if (order.column==this.data.column){
  19. if (order.orderType=="asc") select.options[1].set("selected", true);
  20. if (order.orderType=="desc") select.options[1].set("selected", false);
  21. }
  22. }.bind(this));
  23. select.addEvent("change", function(e){
  24. var v = select.options[select.selectedIndex].value;
  25. if (v!="none"){
  26. var flag = false;
  27. sortList.each(function(order){
  28. if (order.column==this.data.column){
  29. flag = true;
  30. order.orderType=select.options[select.selectedIndex].value;
  31. }
  32. }.bind(this));
  33. if (!flag) sortList.push({"column": this.data.column, "orderType": select.options[select.selectedIndex].value});
  34. }else{
  35. var deleteItem = null;
  36. sortList.each(function(order){
  37. if (order.column==this.data.column){
  38. deleteItem = order;
  39. }
  40. }.bind(this));
  41. if (deleteItem) sortList.erase(deleteItem);
  42. }
  43. }.bind(this));
  44. var radios = node.getElements("input");
  45. var group = this.view.data.data.groupEntry ;
  46. if (group.column==this.data.column) radios[0].set("checked", true);
  47. radios.addEvent("click", function(e){
  48. if (this.checked){
  49. if (this.value=="true") {
  50. _self.view.data.data.group.column = _self.data.column;
  51. _self.view.items.each(function(col){
  52. if (col.property){
  53. var groupRadios = col.property.propertyContent.getElement(".MWFColumnExportGroup").getElements("input");
  54. groupRadios.each(function(r){
  55. if (r.value=="true") r.set("checked", false);
  56. if (r.value=="false") r.set("checked", true);
  57. });
  58. }
  59. });
  60. this.set("checked", true);
  61. }else{
  62. if (group.column ==_self.data.column) _self.view.data.data.group = {};
  63. }
  64. }
  65. });
  66. }.bind(this));
  67. },
  68. loadPersonSelectInput: function () {
  69. var applicationNodes = this.propertyContent.getElements(".MWFSelectApplication");
  70. var categoryNodes = this.propertyContent.getElements(".MWFSelectCategory");
  71. var unitNodes = this.propertyContent.getElements(".MWFSelectUnit");
  72. var personNodes = this.propertyContent.getElements(".MWFSelectPerson");
  73. var identityNodes = this.propertyContent.getElements(".MWFSelectIdentity");
  74. MWF.xDesktop.requireApp("cms.QueryViewDesigner", "widget.PersonSelector", function () {
  75. applicationNodes.each(function (node) {
  76. new MWF.xApplication.cms.QueryViewDesigner.widget.PersonSelector(node, this.view.designer, {
  77. "type": "application",
  78. "names": (this.data.data.restrictWhereEntry) ? this.data.data.restrictWhereEntry.appInfoList : [],
  79. "onChange": function (ids) {
  80. this.savePersonSelectItem(node, ids);
  81. }.bind(this)
  82. });
  83. }.bind(this));
  84. categoryNodes.each(function (node) {
  85. new MWF.xApplication.cms.QueryViewDesigner.widget.PersonSelector(node, this.view.designer, {
  86. "type": "category",
  87. "names": (this.data.data.restrictWhereEntry) ? this.data.data.restrictWhereEntry.categoryList : [],
  88. "onChange": function (ids) {
  89. this.savePersonSelectItem(node, ids);
  90. }.bind(this)
  91. });
  92. }.bind(this));
  93. unitNodes.each(function (node) {
  94. new MWF.xApplication.cms.QueryViewDesigner.widget.PersonSelector(node, this.view.designer, {
  95. "type": "unit",
  96. "names": (this.data.data.restrictWhereEntry) ? this.data.data.restrictWhereEntry.unitList : [],
  97. "onChange": function (ids) {
  98. this.savePersonSelectItem(node, ids);
  99. }.bind(this)
  100. });
  101. }.bind(this));
  102. personNodes.each(function (node) {
  103. new MWF.xApplication.cms.QueryViewDesigner.widget.PersonSelector(node, this.view.designer, {
  104. "type": "person",
  105. "names": (this.data.data.restrictWhereEntry) ? this.data.data.restrictWhereEntry.personList : [],
  106. "onChange": function (ids) {
  107. this.savePersonSelectItem(node, ids);
  108. }.bind(this)
  109. });
  110. }.bind(this));
  111. identityNodes.each(function (node) {
  112. new MWF.xApplication.cms.QueryViewDesigner.widget.PersonSelector(node, this.view.designer, {
  113. "type": "identity",
  114. "names": (this.data.data.restrictWhereEntry) ? this.data.data.restrictWhereEntry.identityList : [],
  115. "onChange": function (ids) {
  116. this.savePersonSelectItem(node, ids);
  117. }.bind(this)
  118. });
  119. }.bind(this));
  120. }.bind(this));
  121. }
  122. });