-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add landing page with table to Visualize app. #9605
Add landing page with table to Visualize app. #9605
Conversation
cool! @cjcenizal instead of "+ new visualization" text in the button should we always use "Add New" instead? Use "Add New" for all tables where a user can create a new object (Graph, Timelion, etc). @uboness what do you think? |
@alt74 That's a really interesting question. I think my preference as a user is to see the noun inside this button because it reinforces the domain of this view. Until we have a large "Visualizations" title, I feel like this view doesn't scream "Visualizations" at me, so anything we can do to reinforce the domain would be beneficial. On the other hand, one advantage of a consistent label is that the buttons become more scalable -- we wouldn't need to worry about them growing too long and disrupting other controls inside the ToolBar. Can you think of others, @alt74 ? Does the benefit of having the noun inside the button make sense? If so, then I propose we move forward by using the approach in this PR, but with a critical eye on each use case... if we discover a situation where the noun causes the button to disrupt other content in the ToolBar, then we can relabel them to have the more generic copy. |
48347a9
to
ee5ab0e
Compare
I had the same feeling as @alt74... feels too repetitive indeed to have "Visualization" there. "+ Add New" also feels somewhat repetitive (is there an option to add something that is not new... not here at least" Then we're left with "+ Add" do we really need both "+" and "Add" ? I'd like to challenge having any text. "+" generally peaks for itself... just like a trash icon communicates "delete". I think that together with a tooltip, users will get used to this fairly quickly and you gain cleaner UI. Also, How many rows are we going to show in the table. Are we paginating at all here? We should. Now, if we don't have enough rows to require pagination and we hide the pagination buttons, should we just push the tool buttons ("+" in this case) all the way to the right? (right now it feels somewhat hanging there) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like some iteration is needed, but code looks good at this point.
@@ -24,7 +25,7 @@ uiRoutes | |||
requireDefaultIndex: true | |||
}) | |||
.when('/visualize', { | |||
redirectTo: '/visualize/step/1' | |||
redirectTo: '/visualize/landing' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe we should pick a more descriptive route name. Maybe /visualize/load
, /visualize/index
, or just /visualize
since it's an index of the visualizations.
|
||
const module = uiModules.get('app/visualize', ['kibana/courier']); | ||
|
||
/******** | ||
/** Wizard Step 1 | ||
/********/ | ||
routes.when('/visualize/step/1', { | ||
template: templateStep(1, require('plugins/kibana/visualize/wizard/step_1.html')) | ||
template: require('plugins/kibana/visualize/wizard/step_1.html'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mind converting this and the require below to be import statements?
@@ -80,23 +80,23 @@ | |||
} | |||
} | |||
|
|||
/** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should probably move up above line 70
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've found it's better to keep comments local to classes (even if they're duplicated), or else it can become really hard to keep track of them as the number of comments and classes grows.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's fine, but you moved this comment up from 106, so maybe it should be duplicated for line 76 and 106?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, but I think it already is duplicated for those lines.
Regarding the button, i feel the noun inside the button is useful for the first couple of times you are using the application. After that its just taking extra space. I don't think we should have that button have the noun inside just for the sake of first time users, tooltip is fine enough for that. I have a couple of other questions:
and index selection screen is not the same width as the first two (but thats probably a bug or something went wrong with merge, as in CJs screenshots above it looks ok. |
few more ideas:
|
agree... lets try 2 other options - a relative width (say 75% of the width centralized) and a full width |
I propose a third option: a max-width left justified. No amount of wrangling is going to change the fact that so long as we have a sidebar in place, Kibana is left justified. Centering content inside it just seems awkward. |
Comments from UI ReviewWizard improvements
Table
Table actions
|
ee5ab0e
to
3a87785
Compare
Changes
I think this is the limit to the changes I want to make in this PR. Let's tackle the question of table width and alignment in separate iteration, when we can take all table views into account. |
jenkins, test this |
It looks awesome @cjcenizal! Really glad about this, I think people will be really excited especially when we have one for dashboard. A couple comments:
|
|
||
<tbody> | ||
<tr | ||
ng-repeat="item in listingController.items track by item.id | orderBy:'title'" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this supposed to cause it to be ordered by title because that doesn't seem to be happening? Or does it default to order by title if there is no item.id? I'm unfamiliar with this syntax.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, this actually needs to be:
ng-repeat="item in listingController.items | orderBy:'title' track by item.id"
Relevant links:
- https://code.angularjs.org/1.4.14/docs/api/ng/filter/orderBy
- http://stackoverflow.com/questions/16455832/orderby-not-working-as-expected-angularjs
I'll make a PR to fix this in Dashboard too.
</div> | ||
</div> | ||
</div> | ||
</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The previous table component had max 20 items shown at one time. Will this show all of them? Will the page be able to handle many visualizations? It's not paged, right, they are just all listed? I wonder how many visualizations some of our biggest users have, order of 1,000s maybe?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there is an infinite_scroll under ui/directives which could serve well here
const selectedIds = selectedItems.map(item => item.id); | ||
|
||
visualizationService.delete(selectedIds) | ||
.then(fetchObjects) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should the .then's be indented by two because it's a continuation of the top line?
|
||
this.edit = function edit(item) { | ||
const params = { | ||
// TODO: Get this value from somewhere instead of hardcodign it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor, but hardcodign = hardcoding
@@ -73,7 +73,7 @@ | |||
|
|||
&:hover:enabled, | |||
&:active:enabled { | |||
color: #FFFFFF; | |||
color: #FFFFFF !important; /* 1 */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see this /* 1 */
used in various places, what's its meaning/purpose?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there are comments at the top of the file marked with 1. and 2.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ahhh, cool, thanks for the explanation!
@@ -372,14 +369,7 @@ export default class VisualizePage { | |||
// this is for starting on the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this comment relevant? Opening a saved visualization doesn't seem to have anything to do with the create new visualization page.
I agree with everything Stacey said above, but besides that I have nothing more to add. This looks A W E S O M E. great job CJ! |
0df4dee
to
3778148
Compare
fee5981
to
668d598
Compare
@spalger @ppisljar @stacey-gammon Ready for another review.
|
tooltip="Create new dashboard" | ||
> | ||
<span aria-hidden="true" class="kuiButton__icon kuiIcon fa-plus"></span> | ||
</a> | ||
</div> | ||
|
||
<div class="kuiToolBarSection"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome! Only one issue is that if you select all, looks like it selects everything, not just the first page, so if you do select all and delete, it'll delete everything. I don't think this is what we want.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @stacey-gammon. The way I see it, you shouldn't be able to select items that are not visible. This would also mean that changing the page would clear previously selected items.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great catch! Thanks, will update.
</div> | ||
|
||
<!-- NoResults --> | ||
<div class="kuiPanel kuiPanel--centered" ng-if="!listingController.items.length"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love the new routes and the new look/feel of creating a visualization. So much cleaner! |
|
||
const app = uiModules.get('kibana'); | ||
|
||
app.factory('pagerService', () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An object called pagerService
looks like an instance of the PagerService
class to my eye. What do you think about renaming this to PagerService
and exposing the class directly, or returning the create function directly and renaming it to createPagerService
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should name this pagerFactory
instead, which is a much clearer indication IMO that this object follows the factory pattern (i.e. it exposes create
methods).
@@ -32,6 +37,12 @@ module.directive('breadCrumbs', function ($location) { | |||
$scope.breadcrumbs.pop(); | |||
} | |||
|
|||
if ($scope.omitPages) { | |||
$scope.breadcrumbs = $scope.breadcrumbs.filter(breadcrumb => | |||
$scope.omitPages.indexOf(breadcrumb.toLowerCase()) === -1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could also use Array#includes()
here
$scope.visTypeUrl = function (visType) { | ||
const baseUrl = visType.requiresSearch ? '#/visualize/step/2?' : '#/visualize/create?'; | ||
const baseUrl = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We absolutely should if we can. What routes are changing?
ng-bind="savedVis.lastSavedTitle" | ||
></span> | ||
</div> | ||
title="getVisualizationTitle()" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should probably be page-title
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great catch, thanks!
import _ from 'lodash'; | ||
|
||
export function VisualizeListingController( | ||
$filter, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you mind trying const $filter = $injector.get('$filter')
here and below? It's a part of #9495 that, among other things, prevents argument lists like this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure.
@@ -0,0 +1,7 @@ | |||
export const VisualizeConstants = { | |||
LANDING_PAGE_URL: '/visualize', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The way these *_URL
variables are used implies that *_PATHNAME
would be a more appropriate suffix (The code assumes they will not have query strings, hosts, ports, etc.).
@@ -77,8 +89,11 @@ module.controller('VisualizeWizardStep2', function ($route, $scope, timefilter, | |||
if (!pattern) return; | |||
|
|||
if (addToDashMode) { | |||
return `#/visualize/create?${DashboardConstants.ADD_VISUALIZATION_TO_DASHBOARD_MODE_PARAM}&type=${type}&indexPattern=${pattern}`; | |||
return `#${VisualizeConstants.CREATE_URL}` + |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a lot of this going on, I don't want to comment on it everywhere, but I'd like to reiterate my opinion that dynamically creating urls with string concatenation is a recipe for hard to trace bugs. Ideally we would always use a bonafide formatter like url.format()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Recorded in #10199
}; | ||
|
||
this.isItemChecked = function isItemChecked(item) { | ||
return selectedItems.indexOf(item) !== -1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Array#includes()
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IE doesn't support this yet. Does it get shimmed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, we use the babel-polyfill so we get all of the new Array and String methods, along with Maps and Sets and such
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i hope it does as we do use it in many other locations.
}]; | ||
|
||
this.getSortProperty = function getSortProperty() { | ||
return _.find(this.sortProperties, property => property.isSelected); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No need for _.find()
, Array#find()
should do the trick
tooltip="Create new dashboard" | ||
> | ||
<span aria-hidden="true" class="kuiButton__icon kuiIcon fa-plus"></span> | ||
</a> | ||
</div> | ||
|
||
<div class="kuiToolBarSection"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree with @stacey-gammon. The way I see it, you shouldn't be able to select items that are not visible. This would also mean that changing the page would clear previously selected items.
Most of my comments are style/optional/discretionary items, but the title missing from the breadcrumbs and potentially the ability to select non-visible items are things I think we need to fix before merging. |
…y applies to the current page of items. - Paging clears the selection. - Searching clears the selection. - Sorting clears the selection.
- Use consistent "Create" terminology in both Visualize and Dashboard for creating new items. - Use NoItems and PromptForItems components in Visualize listing view.
@stacey-gammon @spalger I've addressed your feedback. Would you mind taking another look? Please see the commit log for detailed notes on the changes. I made sure all changes to the Visualize listing page are mirrored in Dashboard. A couple of the more visual changes: Used NoItems and PromptForItems componentsFixed breadcrumbs and tweaked language |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks great!
Backports PR #9605 **Commit 1:** Refactor Visualize Wizard to use explicit controller names, instead of defining them dynamically. * Original sha: 5778951 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-21T20:58:55Z **Commit 2:** Add landing page with table to Visualize app. - Update Visualize wizard UI. - kbnTopNav directive supports no-menu-extensions attribute for excluding extensions, so you can hide the menu items entirely. * Original sha: 5a5eecb * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T00:08:06Z **Commit 3:** Add kuiIcon--basic and support icons in Table component. Display icons in Visualize landing page. * Original sha: 1dbffd1 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:38:35Z **Commit 4:** Fix bug with vertical alignment in Table cells. * Original sha: f69df4c * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:41:56Z **Commit 5:** Change Visualize menu items: New goes to landing page, Open goes to wizard. * Original sha: 8ca2faf * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:46:22Z **Commit 6:** Move visualize/landing route to live at visualize/ instead. * Original sha: e674f6c * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T21:46:21Z **Commit 7:** Refactor Visualize Wizard templates to use import syntax. * Original sha: b129af5 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T21:48:11Z **Commit 8:** Set kuiViewContent width to 100% to avoid it shrink wrapping its content. * Original sha: 94afb6f * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T22:00:36Z **Commit 9:** Move ToolBar buttons to the right side. Remove labels and add tooltips. * Original sha: 6a66f6f * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T22:04:49Z **Commit 10:** Fix functional tests for Visualize, to work with new landing page. * Original sha: 5a720c9 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T23:47:52Z **Commit 11:** Remove unused Visualize load menu template. * Original sha: b010488 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T23:52:24Z **Commit 12:** Remove Edit link from Visualization listing. * Original sha: a1f737f * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-03T19:41:50Z **Commit 13:** Disable timepicker in Visualization listing. * Original sha: ca4adc3 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-05T00:18:35Z **Commit 14:** Add basic Icon example. Fix Visualize Wizard titles and layout. * Original sha: 50e2da7 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-17T16:57:31Z **Commit 15:** Remove icon cells from Table component. Fix Visualize landing table header bug and type icon position. * Original sha: 5625264 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-01T18:19:49Z **Commit 16:** Change Visualize route names. Add omitPages attribute to breadcrumbs directive. Make Visualize breadcrumbs into links. * Original sha: 93c9533 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T00:41:07Z **Commit 17:** Remove Open and New menu buttons from Visualize. * Original sha: f243762 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:07:55Z **Commit 18:** Add ConfirmationModal for deleting visualizations. * Original sha: d0325ba * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:14:34Z **Commit 19:** Implement sorting for name and type columns in Visualize listing. * Original sha: 39ed424 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:21:57Z **Commit 20:** Refactor Visualize routes into VisualizeConstants file. Fix functional tests. * Original sha: 43ceb6e * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T18:45:17Z **Commit 21:** Add pager_controls directive and pager service. Add pagination to Dashboard and Visualize landing pages. Change Dashboard listing to use hrefs for each dashboard. * Original sha: d1d3da7 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:37:28Z **Commit 22:** Add Basic Icon example. * Original sha: 880b7b4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:41:59Z **Commit 23:** Use ng-if instead of ng-hide to hide/reveal Table action buttons in Dashboard listing. * Original sha: 668d598 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:44:06Z **Commit 24:** Redirect from old Visualize wizard routes to new ones. * Original sha: 99525ac * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T18:37:05Z **Commit 25:** Use ViewContent and Title components in Visualize wizard. * Original sha: 734c85b * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T18:46:50Z **Commit 26:** Fix Visualize and Dashboard listing table logic so that selection only applies to the current page of items. - Paging clears the selection. - Searching clears the selection. - Sorting clears the selection. * Original sha: de4f7b4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:05:16Z **Commit 27:** - Fix Visualize wizard breadcrumbs. - Use consistent "Create" terminology in both Visualize and Dashboard for creating new items. - Use NoItems and PromptForItems components in Visualize listing view. * Original sha: 10dbff6 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:22:09Z **Commit 28:** Rename pagerService factory to pagerFactory. * Original sha: 6eeeab6 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:29:36Z **Commit 29:** Minor code style improvements. * Original sha: 438f5c4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:36:17Z **Commit 30:** Use inject dependencies in Visualize and Dashboard listing. * Original sha: 794b18c * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:45:00Z
Backports PR elastic#9605 **Commit 1:** Refactor Visualize Wizard to use explicit controller names, instead of defining them dynamically. * Original sha: 5778951 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-21T20:58:55Z **Commit 2:** Add landing page with table to Visualize app. - Update Visualize wizard UI. - kbnTopNav directive supports no-menu-extensions attribute for excluding extensions, so you can hide the menu items entirely. * Original sha: 5a5eecb * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T00:08:06Z **Commit 3:** Add kuiIcon--basic and support icons in Table component. Display icons in Visualize landing page. * Original sha: 1dbffd1 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:38:35Z **Commit 4:** Fix bug with vertical alignment in Table cells. * Original sha: f69df4c * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:41:56Z **Commit 5:** Change Visualize menu items: New goes to landing page, Open goes to wizard. * Original sha: 8ca2faf * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:46:22Z **Commit 6:** Move visualize/landing route to live at visualize/ instead. * Original sha: e674f6c * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T21:46:21Z **Commit 7:** Refactor Visualize Wizard templates to use import syntax. * Original sha: b129af5 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T21:48:11Z **Commit 8:** Set kuiViewContent width to 100% to avoid it shrink wrapping its content. * Original sha: 94afb6f * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T22:00:36Z **Commit 9:** Move ToolBar buttons to the right side. Remove labels and add tooltips. * Original sha: 6a66f6f * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T22:04:49Z **Commit 10:** Fix functional tests for Visualize, to work with new landing page. * Original sha: 5a720c9 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T23:47:52Z **Commit 11:** Remove unused Visualize load menu template. * Original sha: b010488 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T23:52:24Z **Commit 12:** Remove Edit link from Visualization listing. * Original sha: a1f737f * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-03T19:41:50Z **Commit 13:** Disable timepicker in Visualization listing. * Original sha: ca4adc3 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-05T00:18:35Z **Commit 14:** Add basic Icon example. Fix Visualize Wizard titles and layout. * Original sha: 50e2da7 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-17T16:57:31Z **Commit 15:** Remove icon cells from Table component. Fix Visualize landing table header bug and type icon position. * Original sha: 5625264 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-01T18:19:49Z **Commit 16:** Change Visualize route names. Add omitPages attribute to breadcrumbs directive. Make Visualize breadcrumbs into links. * Original sha: 93c9533 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T00:41:07Z **Commit 17:** Remove Open and New menu buttons from Visualize. * Original sha: f243762 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:07:55Z **Commit 18:** Add ConfirmationModal for deleting visualizations. * Original sha: d0325ba * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:14:34Z **Commit 19:** Implement sorting for name and type columns in Visualize listing. * Original sha: 39ed424 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:21:57Z **Commit 20:** Refactor Visualize routes into VisualizeConstants file. Fix functional tests. * Original sha: 43ceb6e * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T18:45:17Z **Commit 21:** Add pager_controls directive and pager service. Add pagination to Dashboard and Visualize landing pages. Change Dashboard listing to use hrefs for each dashboard. * Original sha: d1d3da7 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:37:28Z **Commit 22:** Add Basic Icon example. * Original sha: 880b7b4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:41:59Z **Commit 23:** Use ng-if instead of ng-hide to hide/reveal Table action buttons in Dashboard listing. * Original sha: 668d598 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:44:06Z **Commit 24:** Redirect from old Visualize wizard routes to new ones. * Original sha: 99525ac * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T18:37:05Z **Commit 25:** Use ViewContent and Title components in Visualize wizard. * Original sha: 734c85b * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T18:46:50Z **Commit 26:** Fix Visualize and Dashboard listing table logic so that selection only applies to the current page of items. - Paging clears the selection. - Searching clears the selection. - Sorting clears the selection. * Original sha: de4f7b4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:05:16Z **Commit 27:** - Fix Visualize wizard breadcrumbs. - Use consistent "Create" terminology in both Visualize and Dashboard for creating new items. - Use NoItems and PromptForItems components in Visualize listing view. * Original sha: 10dbff6 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:22:09Z **Commit 28:** Rename pagerService factory to pagerFactory. * Original sha: 6eeeab6 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:29:36Z **Commit 29:** Minor code style improvements. * Original sha: 438f5c4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:36:17Z **Commit 30:** Use inject dependencies in Visualize and Dashboard listing. * Original sha: 794b18c * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:45:00Z
Backports PR #9605 **Commit 1:** Refactor Visualize Wizard to use explicit controller names, instead of defining them dynamically. * Original sha: 5778951 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-21T20:58:55Z **Commit 2:** Add landing page with table to Visualize app. - Update Visualize wizard UI. - kbnTopNav directive supports no-menu-extensions attribute for excluding extensions, so you can hide the menu items entirely. * Original sha: 5a5eecb * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T00:08:06Z **Commit 3:** Add kuiIcon--basic and support icons in Table component. Display icons in Visualize landing page. * Original sha: 1dbffd1 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:38:35Z **Commit 4:** Fix bug with vertical alignment in Table cells. * Original sha: f69df4c * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:41:56Z **Commit 5:** Change Visualize menu items: New goes to landing page, Open goes to wizard. * Original sha: 8ca2faf * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-22T01:46:22Z **Commit 6:** Move visualize/landing route to live at visualize/ instead. * Original sha: e674f6c * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T21:46:21Z **Commit 7:** Refactor Visualize Wizard templates to use import syntax. * Original sha: b129af5 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T21:48:11Z **Commit 8:** Set kuiViewContent width to 100% to avoid it shrink wrapping its content. * Original sha: 94afb6f * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T22:00:36Z **Commit 9:** Move ToolBar buttons to the right side. Remove labels and add tooltips. * Original sha: 6a66f6f * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T22:04:49Z **Commit 10:** Fix functional tests for Visualize, to work with new landing page. * Original sha: 5a720c9 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T23:47:52Z **Commit 11:** Remove unused Visualize load menu template. * Original sha: b010488 * Authored by CJ Cenizal <cj@cenizal.com> on 2016-12-23T23:52:24Z **Commit 12:** Remove Edit link from Visualization listing. * Original sha: a1f737f * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-03T19:41:50Z **Commit 13:** Disable timepicker in Visualization listing. * Original sha: ca4adc3 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-05T00:18:35Z **Commit 14:** Add basic Icon example. Fix Visualize Wizard titles and layout. * Original sha: 50e2da7 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-01-17T16:57:31Z **Commit 15:** Remove icon cells from Table component. Fix Visualize landing table header bug and type icon position. * Original sha: 5625264 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-01T18:19:49Z **Commit 16:** Change Visualize route names. Add omitPages attribute to breadcrumbs directive. Make Visualize breadcrumbs into links. * Original sha: 93c9533 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T00:41:07Z **Commit 17:** Remove Open and New menu buttons from Visualize. * Original sha: f243762 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:07:55Z **Commit 18:** Add ConfirmationModal for deleting visualizations. * Original sha: d0325ba * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:14:34Z **Commit 19:** Implement sorting for name and type columns in Visualize listing. * Original sha: 39ed424 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T01:21:57Z **Commit 20:** Refactor Visualize routes into VisualizeConstants file. Fix functional tests. * Original sha: 43ceb6e * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-02T18:45:17Z **Commit 21:** Add pager_controls directive and pager service. Add pagination to Dashboard and Visualize landing pages. Change Dashboard listing to use hrefs for each dashboard. * Original sha: d1d3da7 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:37:28Z **Commit 22:** Add Basic Icon example. * Original sha: 880b7b4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:41:59Z **Commit 23:** Use ng-if instead of ng-hide to hide/reveal Table action buttons in Dashboard listing. * Original sha: 668d598 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-04T00:44:06Z **Commit 24:** Redirect from old Visualize wizard routes to new ones. * Original sha: 99525ac * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T18:37:05Z **Commit 25:** Use ViewContent and Title components in Visualize wizard. * Original sha: 734c85b * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T18:46:50Z **Commit 26:** Fix Visualize and Dashboard listing table logic so that selection only applies to the current page of items. - Paging clears the selection. - Searching clears the selection. - Sorting clears the selection. * Original sha: de4f7b4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:05:16Z **Commit 27:** - Fix Visualize wizard breadcrumbs. - Use consistent "Create" terminology in both Visualize and Dashboard for creating new items. - Use NoItems and PromptForItems components in Visualize listing view. * Original sha: 10dbff6 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:22:09Z **Commit 28:** Rename pagerService factory to pagerFactory. * Original sha: 6eeeab6 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:29:36Z **Commit 29:** Minor code style improvements. * Original sha: 438f5c4 * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:36:17Z **Commit 30:** Use inject dependencies in Visualize and Dashboard listing. * Original sha: 794b18c * Authored by CJ Cenizal <cj@cenizal.com> on 2017-02-06T19:45:00Z
Addresses #9722
Changes
TODO
Now
Later
Screenshots