Skip to content

Commit 209069e

Browse files
authored
Visualization list eui (#31686)
* Fixing bugs from #31599 * Make listing item links instead of buttons * restore dashboard edit button behavior
1 parent ad06c96 commit 209069e

File tree

8 files changed

+26
-8
lines changed

8 files changed

+26
-8
lines changed

src/legacy/core_plugins/kibana/public/dashboard/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,11 @@ uiRoutes
7070
$scope.find = (search) => {
7171
return services.dashboards.find(search, $scope.listingLimit);
7272
};
73-
$scope.edit = ({ id }) => {
74-
kbnUrl.redirect(createDashboardEditUrl(id));
73+
$scope.editItem = ({ id }) => {
74+
kbnUrl.redirect(`${createDashboardEditUrl(id)}?_a=(viewMode:edit)`);
75+
};
76+
$scope.getViewUrl = ({ id }) => {
77+
return chrome.addBasePath(`#${createDashboardEditUrl(id)}`);
7578
};
7679
$scope.delete = (ids) => {
7780
return services.dashboards.delete(ids);

src/legacy/core_plugins/kibana/public/dashboard/listing/dashboard_listing.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ class DashboardListingUi extends React.Component {
160160
sortable: true,
161161
render: (field, record) => (
162162
<EuiLink
163-
onClick={() => this.props.editItem(record)}
163+
href={this.props.getViewUrl(record)}
164164
data-test-subj={`dashboardListingTitleLink-${record.title.split(' ').join('-')}`}
165165
>
166166
{field}
@@ -185,6 +185,7 @@ DashboardListingUi.propTypes = {
185185
findItems: PropTypes.func.isRequired,
186186
deleteItems: PropTypes.func.isRequired,
187187
editItem: PropTypes.func.isRequired,
188+
getViewUrl: PropTypes.func.isRequired,
188189
listingLimit: PropTypes.number.isRequired,
189190
hideWriteControls: PropTypes.bool.isRequired,
190191
initialFilter: PropTypes.string,

src/legacy/core_plugins/kibana/public/dashboard/listing/dashboard_listing.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ test('renders empty page in before initial fetch to avoid flickering', () => {
6464
deleteItems={() => {}}
6565
createItem={() => {}}
6666
editItem={() => {}}
67+
getViewUrl={() => {}}
6768
listingLimit={1000}
6869
hideWriteControls={false}
6970
/>);
@@ -77,6 +78,7 @@ describe('after fetch', () => {
7778
deleteItems={() => {}}
7879
createItem={() => {}}
7980
editItem={() => {}}
81+
getViewUrl={() => {}}
8082
listingLimit={1000}
8183
hideWriteControls={false}
8284
initialFilter="my dashboard"
@@ -96,6 +98,7 @@ describe('after fetch', () => {
9698
deleteItems={() => {}}
9799
createItem={() => {}}
98100
editItem={() => {}}
101+
getViewUrl={() => {}}
99102
listingLimit={1000}
100103
hideWriteControls={false}
101104
/>);
@@ -114,6 +117,7 @@ describe('after fetch', () => {
114117
deleteItems={() => {}}
115118
createItem={() => {}}
116119
editItem={() => {}}
120+
getViewUrl={() => {}}
117121
listingLimit={1}
118122
hideWriteControls={false}
119123
/>);
@@ -132,6 +136,7 @@ describe('after fetch', () => {
132136
deleteItems={() => {}}
133137
createItem={() => {}}
134138
editItem={() => {}}
139+
getViewUrl={() => {}}
135140
listingLimit={1}
136141
hideWriteControls={true}
137142
/>);
@@ -150,6 +155,7 @@ describe('after fetch', () => {
150155
deleteItems={() => {}}
151156
createItem={() => {}}
152157
editItem={() => {}}
158+
getViewUrl={() => {}}
153159
listingLimit={1}
154160
hideWriteControls={false}
155161
/>);

src/legacy/core_plugins/kibana/public/dashboard/listing/dashboard_listing_ng_wrapper.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<dashboard-listing
22
create-item="create"
3-
edit-item="edit"
3+
get-view-url="getViewUrl"
4+
edit-item="editItem"
45
find-items="find"
56
delete-items="delete"
67
listing-limit="listingLimit"

src/legacy/core_plugins/kibana/public/visualize/listing/visualize_listing.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@
3434
find-items="listingController.fetchItems"
3535
delete-items="listingController.deleteSelectedItems"
3636
create-item="listingController.createNewVis"
37-
edit-item="listingController.edit"
37+
get-view-url="listingController.getViewUrl"
38+
edit-item="listingController.editItem"
3839
></visualize-listing-table>
3940

4041
<new-vis-modal

src/legacy/core_plugins/kibana/public/visualize/listing/visualize_listing.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,15 @@ export function VisualizeListingController($injector, createNewVis) {
5353
this.showNewVisModal = true;
5454
};
5555

56-
this.edit = ({ id }) => {
56+
this.editItem = ({ id }) => {
57+
// for visualizations the edit and view URLs are the same
5758
kbnUrl.change(createVisualizeEditUrl(id));
5859
};
5960

61+
this.getViewUrl = ({ id }) => {
62+
return chrome.addBasePath(`#${createVisualizeEditUrl(id)}`);
63+
};
64+
6065
this.closeNewVisModal = () => {
6166
this.showNewVisModal = false;
6267
// In case the user came via a URL to this page, change the URL to the regular landing page URL after closing the modal

src/legacy/core_plugins/kibana/public/visualize/listing/visualize_listing_table.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ class VisualizeListingTableUi extends Component {
8585
sortable: true,
8686
render: (field, record) => (
8787
<EuiLink
88-
onClick={() => this.props.editItem(record)}
88+
href={this.props.getViewUrl(record)}
8989
data-test-subj={`visListingTitleLink-${record.title.split(' ').join('-')}`}
9090
>
9191
{field}
@@ -219,6 +219,7 @@ VisualizeListingTableUi.propTypes = {
219219
deleteItems: PropTypes.func.isRequired,
220220
findItems: PropTypes.func.isRequired,
221221
createItem: PropTypes.func.isRequired,
222+
getViewUrl: PropTypes.func.isRequired,
222223
editItem: PropTypes.func.isRequired,
223224
};
224225

test/functional/page_objects/visualize_page.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -799,7 +799,7 @@ export function VisualizePageProvider({ getService, getPageObjects }) {
799799

800800
async clickVisualizationByName(vizName) {
801801
log.debug('clickVisualizationByLinkText(' + vizName + ')');
802-
return find.clickByButtonText(vizName);
802+
return find.clickByPartialLinkText(vizName);
803803
}
804804

805805
async loadSavedVisualization(vizName, { navigateToVisualize = true } = {}) {

0 commit comments

Comments
 (0)