Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Add.php
Go to the documentation of this file.
1 <?php
8 
14 class Add extends \Magento\Backend\Block\Widget\Form\Container
15 {
21  protected function _construct()
22  {
23  parent::_construct();
24 
25  $this->_blockGroup = 'Magento_Review';
26  $this->_controller = 'adminhtml';
27  $this->_mode = 'add';
28 
29  $this->buttonList->update('save', 'label', __('Save Review'));
30  $this->buttonList->update('save', 'id', 'save_button');
31 
32  $this->buttonList->update('reset', 'id', 'reset_button');
33 
34  $this->_formScripts[] = '
35  require(["prototype"], function(){
36  toggleParentVis("add_review_form");
37  toggleVis("save_button");
38  toggleVis("reset_button");
39  });
40  ';
41 
42  // @codingStandardsIgnoreStart
43  $this->_formInitScripts[] = '
44  require(["jquery","prototype"], function(jQuery){
45  window.review = function() {
46  return {
47  productInfoUrl : null,
48  formHidden : true,
49  gridRowClick : function(data, click) {
50  if(Event.findElement(click,\'TR\').title){
51  review.productInfoUrl = Event.findElement(click,\'TR\').title;
52  review.loadProductData();
53  review.showForm();
54  review.formHidden = false;
55  }
56  },
57  loadProductData : function() {
58  jQuery.ajax({
59  type: "POST",
60  url: review.productInfoUrl,
61  data: {
62  form_key: FORM_KEY
63  },
64  showLoader: true,
65  success: review.reqSuccess,
66  error: review.reqFailure
67  });
68  },
69  showForm : function() {
70  toggleParentVis("add_review_form");
71  toggleVis("productGrid");
72  toggleVis("save_button");
73  toggleVis("reset_button");
74  },
75  updateRating: function() {
76  elements = [$("select_stores"), $("rating_detail").getElementsBySelector("input[type=\'radio\']")].flatten();
77  $(\'save_button\').disabled = true;
78  var params = Form.serializeElements(elements);
79  if (!params.isAjax) {
80  params.isAjax = "true";
81  }
82  if (!params.form_key) {
83  params.form_key = FORM_KEY;
84  }
85  new Ajax.Updater("rating_detail", "' .
86  $this->getUrl(
87  'review/product/ratingItems'
88  ) .
89  '", {parameters:params, evalScripts: true, onComplete:function(){ $(\'save_button\').disabled = false; } });
90  },
91 
92  reqSuccess :function(response) {
93  if( response.error ) {
94  alert(response.message);
95  } else if( response.id ){
96  $("product_id").value = response.id;
97 
98  $("product_name").innerHTML = \'<a href="' .
99  $this->getUrl(
100  'catalog/product/edit'
101  ) .
102  'id/\' + response.id + \'" target="_blank">\' + response.name + \'</a>\';
103  } else if ( response.message ) {
104  alert(response.message);
105  }
106  }
107  }
108  }();
109  Event.observe(window, \'load\', function(){
110  if ($("select_stores")) {
111  Event.observe($("select_stores"), \'change\', review.updateRating);
112  }
113  });
114  });
115  //]]>
116  ';
117  // @codingStandardsIgnoreEnd
118  }
119 
125  public function getHeaderText()
126  {
127  return __('New Review');
128  }
129 }
__()
Definition: __.php:13