Github user tbouron commented on a diff in the pull request:
https://github.com/apache/brooklyn-ui/pull/94#discussion_r228906038
--- Diff:
ui-modules/blueprint-composer/app/components/catalog-selector/catalog-selector.directive.js
---
@@ -230,16 +248,85 @@ function controller($scope, $element, $q, $uibModal,
$log, $templateCache, palet
});
$scope.items = items;
});
- // this can be overridden for third-party filters.
- // it receives result of filtering based on search so filters can
adjust based on number of search resullts
- $scope.filterPaletteItems = (items) => items;
+ $scope.lastUsedText = (item) => {
+ let l = (Number)(item.lastUsed);
+ if (!l || isNaN(l) || l<=0) return "";
+ if (l < 100000) return 'Preselected for inclusion in "Recent"
filter.';
+ return 'Last used: ' + moment(l).fromNow();
+ };
+ $scope.showPaletteControls = false;
+ $scope.onFiltersShown = () => {
+ $timeout( () => {
+ // check do we need to show the multiline
+ let filters =
angular.element($element[0].querySelector(".filters"));
+ $scope.$apply( () =>
$scope.filterSettings.filtersMultilineAvailable = filters[0].scrollHeight >
filters[0].offsetHeight );
+
+ repaginate($scope, $element);
+ } );
+ };
+ $scope.togglePaletteControls = () => {
+ $scope.showPaletteControls = !$scope.showPaletteControls;
+ $timeout( () => repaginate($scope, $element) );
+ }
+ $scope.toggleShowAllFilters = () => {
+ $scope.filterSettings.showAllFilters =
!$scope.filterSettings.showAllFilters;
+ $timeout( () => repaginate($scope, $element) );
+ };
+ $scope.filterSettings = {};
+
+ $scope.filters = [
+ { label: 'Recent', icon: 'clock-o', title: "Recently used and
standard favorites", limitToOnePage: true,
+ filterInit: items => {
+ $scope.recentItems = items.filter( i => i.lastUsed &&
i.lastUsed > 0 );
+ $scope.recentItems.sort( (a,b) => b.lastUsed - a.lastUsed
);
+ return $scope.recentItems;
+ }, enabled: false },
+ ];
+ $scope.disableFilters = (showFilters) => {
+ $scope.filters.forEach( f => f.enabled = false );
+ if (showFilters !== false) $scope.showPaletteControls = true;
--- End diff --
Could you use curly brackets for the `if` statements in order to be
consistent with the codebase please? It also makes it easier to read
---