diff --git a/app/code/Magento/Cms/view/adminhtml/ui_component/cms_page_listing.xml b/app/code/Magento/Cms/view/adminhtml/ui_component/cms_page_listing.xml
index 846356adf9429..111f257afe176 100644
--- a/app/code/Magento/Cms/view/adminhtml/ui_component/cms_page_listing.xml
+++ b/app/code/Magento/Cms/view/adminhtml/ui_component/cms_page_listing.xml
@@ -120,6 +120,7 @@
- false
+
page_id
true
cms_page_listing.cms_page_listing.cms_page_columns.ids
diff --git a/app/code/Magento/Ui/view/base/web/js/grid/editing/editor.js b/app/code/Magento/Ui/view/base/web/js/grid/editing/editor.js
index ad70b200e4420..e96f6244af70c 100644
--- a/app/code/Magento/Ui/view/base/web/js/grid/editing/editor.js
+++ b/app/code/Magento/Ui/view/base/web/js/grid/editing/editor.js
@@ -308,6 +308,27 @@ define([
return this;
},
+ /**
+ * Redirect to Edit page.
+ */
+ redirectToEdit: function () {
+ var rowData = this.getData()[_.keys(this.getData())[0]],
+ indexFieldValue = (typeof rowData[this.indexField] != "undefined") ? rowData[this.indexField] : "";
+
+ if (indexFieldValue) {
+ window.location.href = decodeURIComponent(this.editUrl).replace(":id", indexFieldValue);
+ }
+ },
+
+ /**
+ * Check Edit url is defined in xml.
+ *
+ * @returns {Boolean}
+ */
+ hasEditUrl: function () {
+ return (typeof this.editUrl != "undefined") ? true : false;
+ },
+
/**
* Validates all active records.
*
diff --git a/app/code/Magento/Ui/view/base/web/templates/grid/editing/row-buttons.html b/app/code/Magento/Ui/view/base/web/templates/grid/editing/row-buttons.html
index 639653cef64f7..a384bd74eade1 100644
--- a/app/code/Magento/Ui/view/base/web/templates/grid/editing/row-buttons.html
+++ b/app/code/Magento/Ui/view/base/web/templates/grid/editing/row-buttons.html
@@ -12,5 +12,8 @@
+