Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
users_grid_js.phtml
Go to the documentation of this file.
1 <?php
7 // @codingStandardsIgnoreFile
8 ?>
9 <script>
10 require([
11  'jquery',
12  'Magento_Ui/js/modal/confirm',
13  'underscore',
14  'mage/adminhtml/grid',
15  'prototype'
16 ], function(jQuery, confirm, _){
17 <!--
18 <?php $myBlock = $block->getLayout()->getBlock('roleUsersGrid'); ?>
19 <?php if (is_object($myBlock) && $myBlock->getJsObjectName()): ?>
20  var checkBoxes = $H(<?= /* @escapeNotVerified */ $myBlock->getUsers(true) ?>);
21  var warning = false;
22  if (checkBoxes.size() > 0) {
23  warning = true;
24  }
25  jQuery('#in_role_user').val(checkBoxes.toQueryString());
26 
27  function registerUserRole(grid, element, checked)
28  {
29  if (checked) {
30  checkBoxes.set(element.value, 0);
31  } else {
32  checkBoxes.unset(element.value);
33  }
34  $('in_role_user').value = checkBoxes.toQueryString();
35  grid.reloadParams = {'in_role_user[]':checkBoxes.keys()};
36  }
37 
38  function roleUsersRowClick(grid, event)
39  {
40  var trElement = Event.findElement(event, 'tr');
41  var isInput = Event.element(event).tagName == 'INPUT';
42  if (trElement) {
43  var checkbox = Element.getElementsBySelector(trElement, 'input');
44  if(checkbox[0]){
45  var checked = isInput ? !checkbox[0].checked : checkbox[0].checked;
46 
47  if (checked) {
48  confirm({
49  content: "<?= /* @escapeNotVerified */ __('Warning!\r\nThis action will remove this user from already assigned role\r\nAre you sure?') ?>",
50  actions: {
51  confirm: function () {
52  checkbox[0].checked = false;
53  checkBoxes.unset(checkbox[0].value);
54  varienElementMethods.setHasChanges(checkbox[0]);
55  },
56  cancel: function () {
57  checkbox[0].checked = true;
58  },
59  always: function () {
60  $('in_role_user').value = checkBoxes.toQueryString();
61  grid.reloadParams = {
62  'in_role_user[]': checkBoxes.keys()
63  };
64  }
65  }
66  });
67  } else {
68  checkbox[0].checked = true;
69  checkBoxes.set(checkbox[0].value, true);
70  $('in_role_user').value = checkBoxes.toQueryString();
71  grid.reloadParams = {
72  'in_role_user[]': checkBoxes.keys()
73  };
74  }
75  }
76  }
77  }
78 
79  function roleUsersRowInit(grid, row)
80  {
81  var checkbox = $(row).getElementsByClassName('checkbox')[0];
82  if (checkbox) {
83  if (checkbox.checked) {
84  checkBoxes.set(checkbox.value, checkbox.checked);
85  } else {
86  checkBoxes.unset(checkbox.value);
87  }
88 
89  $('in_role_user').value = checkBoxes.toQueryString();
90  grid.reloadParams = {'in_role_user[]':checkBoxes.keys()};
91  }
92  }
93 
94  function massSelectUsers(allCheckbox) {
95  if (!allCheckbox.checked && _.size(checkBoxes._object) > 0) {
96  allCheckbox.checked = true;
97  confirm({
98  content: "<?= /* @escapeNotVerified */ __('Warning!\r\nThis action will remove those users from already assigned roles\r\nAre you sure?') ?>",
99  actions: {
100  confirm: function () {
101  allCheckbox.checked = false;
102  markCheckboxes(false);
103  }
104  }
105  });
106  } else {
107  markCheckboxes(allCheckbox.checked)
108  }
109  }
110  function markCheckboxes(value) {
111  <?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?>.rows.each(function(row)
112  {
113  $(row).getElementsByClassName('checkbox')[0].checked = value;
114  roleUsersRowInit(<?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?>, row);
115  });
116  }
117  function onLoad() {
118  if (typeof <?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?> !== 'undefined') {
119  <?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?>.
120  rowClickCallback = roleUsersRowClick;
121  <?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?>.
122  initRowCallback = roleUsersRowInit;
123  <?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?>.
124  checkboxCheckCallback = registerUserRole;
125  <?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?>.
126  checkCheckboxes = massSelectUsers;
127  <?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?>.
128  rows.each(function (row) {
129  roleUsersRowInit(<?= /* @escapeNotVerified */ $myBlock->getJsObjectName() ?>, row)
130  });
131  $('in_role_user_old').value = $('in_role_user').value;
132  } else {
133  setTimeout(onLoad, 300);
134  }
135  }
136  onLoad();
137 <?php endif; ?>
138 //-->
139 
140 });
141 </script>
$block setTitle( 'CMS Block Title') -> setIdentifier('fixture_block') ->setContent('< h1 >Fixture Block Title</h1 >< a href=" store url</a><p> Config value
Definition: block.php:9
markCheckboxes(value)
<?=$myBlock-> getJsObjectName() ?>.rows.each(function(row)
massSelectUsers(allCheckbox)
$block
Definition: block.php:8
roleUsersRowInit(grid, row)
$myBlock
jquery extjs ext tree checkbox
Definition: tree.phtml:41
jQuery('.store-switcher .dropdown-menu li a').each(function()
Definition: switcher.phtml:203
registerUserRole(grid, element, checked)
roleUsersRowClick(grid, event)
onLoad()