Skip to content

Commit ce33fc2

Browse files
Merge branch 'master-local' into master-dist
2 parents 85731c6 + 8f1f1fc commit ce33fc2

File tree

56 files changed

+968
-100
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+968
-100
lines changed

Gruntfile.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,11 @@ module.exports = function (grunt) {
142142
'misc/angular-bootstrap-prettify.js',
143143
'lib/lodash/lodash.min.js',
144144
'dist/angular-patternfly.js',
145-
'lib/angular-ui-router/release/angular-ui-router.min.js'],
145+
'lib/angular-ui-router/release/angular-ui-router.min.js',
146+
'node_modules/angular-drag-and-drop-lists/angular-drag-and-drop-lists.js'],
146147
html5Mode: false,
147148
template: 'grunt-ngdocs-index.tmpl',
148-
styles: ['lib/patternfly/dist/css/patternfly.css', 'lib/patternfly/dist/css/patternfly-additions.css',
149+
styles: ['node_modules/patternfly/dist/css/patternfly.css', 'node_modules/patternfly/dist/css/patternfly-additions.css',
149150
'dist/styles/angular-patternfly.css', 'misc/ng-docs.css', 'misc/examples.css']
150151
},
151152

dist/angular-patternfly.js

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ angular.module( 'patternfly.utils', ['ui.bootstrap'] );
106106
* Views module for patternfly.
107107
*
108108
*/
109-
angular.module('patternfly.views', ['patternfly.utils', 'patternfly.filters', 'patternfly.sort', 'patternfly.charts']);
109+
angular.module('patternfly.views', ['patternfly.utils', 'patternfly.filters', 'patternfly.sort', 'patternfly.charts', 'dndLists']);
110110
;/**
111111
* @name PatternFly Wizard
112112
*
@@ -8229,6 +8229,10 @@ angular.module('patternfly.views').directive('pfCardView', ["pfUtils", function
82298229
* <li>.showSelectBox - (boolean) Show item selection boxes for each item, default is true
82308230
* <li>.selectItems - (boolean) Allow row selection, default is false
82318231
* <li>.dlbClick - (boolean) Handle double clicking (item remains selected on a double click). Default is false.
8232+
* <li>.dragEnabled - (boolean) Enable drag and drop. Default is false.
8233+
* <li>.dragEnd - ( function() ) Function to call when the drag operation ended, default is none
8234+
* <li>.dragMoved - ( function() ) Function to call when the drag operation moved an element, default is none
8235+
* <li>.dragStart - ( function(item) ) Function to call when the drag operation started, default is none
82328236
* <li>.multiSelect - (boolean) Allow multiple row selections, selectItems must also be set, not applicable when dblClick is true. Default is false
82338237
* <li>.useExpandingRows - (boolean) Allow row expansion for each list item.
82348238
* <li>.selectionMatchProp - (string) Property of the items to use for determining matching, default is 'uuid'
@@ -8365,6 +8369,15 @@ angular.module('patternfly.views').directive('pfCardView', ["pfUtils", function
83658369
</div>
83668370
</form>
83678371
</div>
8372+
<div class="col-md-12">
8373+
<form role="form">
8374+
<div class="form-group">
8375+
<label class="checkbox-inline">
8376+
<input type="checkbox" ng-model="config.dragEnabled">Drag and Drop</input>
8377+
</label>
8378+
</div>
8379+
</form>
8380+
</div>
83688381
<div class="col-md-12">
83698382
<label style="font-weight:normal;vertical-align:center;">Events: </label>
83708383
</div>
@@ -8398,6 +8411,27 @@ angular.module('patternfly.views').directive('pfCardView', ["pfUtils", function
83988411
return $scope.showDisabled && (item.name === "John Smith");
83998412
};
84008413
8414+
var dragEnd = function() {
8415+
$scope.eventText = 'drag end\r\n' + $scope.eventText;
8416+
};
8417+
var dragMoved = function() {
8418+
var index = -1;
8419+
8420+
for (var i = 0; i < $scope.items.length; i++) {
8421+
if ($scope.items[i] === $scope.dragItem) {
8422+
index = i;
8423+
}
8424+
}
8425+
if (index >= 0) {
8426+
$scope.items.splice(index, 1);
8427+
}
8428+
$scope.eventText = 'drag moved\r\n' + $scope.eventText;
8429+
};
8430+
var dragStart = function(item) {
8431+
$scope.dragItem = item;
8432+
$scope.eventText = item.name + ': drag start\r\n' + $scope.eventText;
8433+
};
8434+
84018435
$scope.enableButtonForItemFn = function(action, item) {
84028436
return !((action.name ==='Action 2') && (item.name === "Frank Livingston")) &&
84038437
!(action.name === 'Start' && item.started);
@@ -8438,6 +8472,10 @@ angular.module('patternfly.views').directive('pfCardView', ["pfUtils", function
84388472
selectItems: false,
84398473
multiSelect: false,
84408474
dblClick: false,
8475+
dragEnabled: false,
8476+
dragEnd: dragEnd,
8477+
dragMoved: dragMoved,
8478+
dragStart: dragStart,
84418479
selectionMatchProp: 'name',
84428480
selectedItems: [],
84438481
checkDisabled: checkDisabledItem,
@@ -8638,6 +8676,10 @@ angular.module('patternfly.views').directive('pfListView', ["$timeout", "$window
86388676
selectItems: false,
86398677
multiSelect: false,
86408678
dblClick: false,
8679+
dragEnabled: false,
8680+
dragEnd: null,
8681+
dragMoved: null,
8682+
dragStart: null,
86418683
selectionMatchProp: 'uuid',
86428684
selectedItems: [],
86438685
checkDisabled: false,
@@ -8832,6 +8874,30 @@ angular.module('patternfly.views').directive('pfListView', ["$timeout", "$window
88328874
scope.checkDisabled = function (item) {
88338875
return scope.config.checkDisabled && scope.config.checkDisabled(item);
88348876
};
8877+
8878+
scope.dragEnd = function () {
8879+
if (angular.isFunction(scope.config.dragEnd)) {
8880+
scope.config.dragEnd();
8881+
}
8882+
};
8883+
8884+
scope.dragMoved = function () {
8885+
if (angular.isFunction(scope.config.dragMoved)) {
8886+
scope.config.dragMoved();
8887+
}
8888+
};
8889+
8890+
scope.isDragOriginal = function (item) {
8891+
return (item === scope.dragItem);
8892+
};
8893+
8894+
scope.dragStart = function (item) {
8895+
scope.dragItem = item;
8896+
8897+
if (angular.isFunction(scope.config.dragStart)) {
8898+
scope.config.dragStart(item);
8899+
}
8900+
};
88358901
}
88368902
};
88378903
}]);
@@ -10349,7 +10415,7 @@ angular.module('patternfly.wizard').directive('pfWizardSubstep', function () {
1034910415

1035010416

1035110417
$templateCache.put('views/listview/list-view.html',
10352-
"<div class=\"list-group list-view-pf\"><div class=\"list-group-item {{item.rowClass}}\" ng-repeat=\"item in items track by $index\" ng-class=\"{'pf-selectable': selectItems, 'active': isSelected(item), 'disabled': checkDisabled(item), 'list-view-pf-expand-active': item.isExpanded}\"><div class=list-group-item-header><div class=list-view-pf-expand ng-if=config.useExpandingRows><span class=\"fa fa-angle-right\" ng-show=!item.disableRowExpansion ng-click=toggleItemExpansion(item) ng-class=\"{'fa-angle-down': item.isExpanded}\"></span> <span class=pf-expand-placeholder ng-show=item.disableRowExpansion></span></div><div class=list-view-pf-checkbox ng-if=config.showSelectBox><input type=checkbox value=item.selected ng-model=item.selected ng-disabled=checkDisabled(item) ng-change=\"checkBoxChange(item)\"></div><div class=list-view-pf-actions ng-if=\"(actionButtons && actionButtons.length > 0) || (menuActions && menuActions.length > 0)\"><button class=\"btn btn-default {{actionButton.class}}\" ng-repeat=\"actionButton in actionButtons\" title={{actionButton.title}} ng-class=\"{'disabled' : checkDisabled(item) || !enableButtonForItem(actionButton, item)}\" ng-click=\"handleButtonAction(actionButton, item)\"><div ng-if=actionButton.include class=actionButton.includeClass ng-include src=actionButton.include></div><span ng-if=!actionButton.include>{{actionButton.name}}</span></button><div uib-dropdown class=\"{{dropdownClass}} pull-right dropdown-kebab-pf {{getMenuClassForItem(item)}} {{hideMenuForItem(item) ? 'invisible' : ''}}\" id=kebab_{{$index}} ng-if=\"menuActions && menuActions.length > 0\"><button uib-dropdown-toggle class=\"btn btn-link\" type=button id=dropdownKebabRight_{{$index}} ng-class=\"{'disabled': checkDisabled(item)}\" ng-click=\"setupActions(item, $event)\"><span class=\"fa fa-ellipsis-v\"></span></button><ul uib-dropdown-menu class=\"dropdown-menu dropdown-menu-right {{$index}}\" aria-labelledby=dropdownKebabRight_{{$index}}><li ng-repeat=\"menuAction in menuActions\" ng-if=\"menuAction.isVisible !== false\" role=\"{{menuAction.isSeparator === true ? 'separator' : 'menuitem'}}\" ng-class=\"{'divider': (menuAction.isSeparator === true), 'disabled': (menuAction.isDisabled === true)}\"><a ng-if=\"menuAction.isSeparator !== true\" title={{menuAction.title}} ng-click=\"handleMenuAction(menuAction, item)\">{{menuAction.name}}</a></li></ul></div></div><div pf-transclude=parent class=list-view-pf-main-info ng-click=\"itemClick($event, item)\" ng-dblclick=\"dblClick($event, item)\"></div></div><div class=\"list-group-item-container container-fluid\" ng-transclude=expandedContent ng-if=\"config.useExpandingRows && item.isExpanded\"></div></div></div>"
10418+
"<div class=\"list-group list-view-pf\" dnd-list=items ng-class=\"{'list-view-pf-dnd': config.dragEnabled === true}\"><div class=dndPlaceholder></div><div class=\"list-group-item {{item.rowClass}}\" ng-repeat=\"item in items track by $index\" dnd-draggable=item dnd-effect-allowed=move dnd-disable-if=\"config.dragEnabled !== true\" dnd-dragstart=dragStart(item) dnd-moved=dragMoved() dnd-dragend=dragEnd() ng-class=\"{'drag-original': isDragOriginal(item), 'pf-selectable': selectItems, 'active': isSelected(item), 'disabled': checkDisabled(item), 'list-view-pf-expand-active': item.isExpanded}\"><div class=list-group-item-header><div class=list-view-pf-dnd-drag-items ng-if=\"config.dragEnabled === true\"><div pf-transclude=parent class=list-view-pf-main-info></div></div><div ng-class=\"{'list-view-pf-dnd-original-items': config.dragEnabled === true}\"><div class=list-view-pf-expand ng-if=config.useExpandingRows><span class=\"fa fa-angle-right\" ng-show=!item.disableRowExpansion ng-click=toggleItemExpansion(item) ng-class=\"{'fa-angle-down': item.isExpanded}\"></span> <span class=pf-expand-placeholder ng-show=item.disableRowExpansion></span></div><div class=list-view-pf-checkbox ng-if=config.showSelectBox><input type=checkbox value=item.selected ng-model=item.selected ng-disabled=checkDisabled(item) ng-change=\"checkBoxChange(item)\"></div><div class=list-view-pf-actions ng-if=\"(actionButtons && actionButtons.length > 0) || (menuActions && menuActions.length > 0)\"><button class=\"btn btn-default {{actionButton.class}}\" ng-repeat=\"actionButton in actionButtons\" title={{actionButton.title}} ng-class=\"{'disabled' : checkDisabled(item) || !enableButtonForItem(actionButton, item)}\" ng-click=\"handleButtonAction(actionButton, item)\"><div ng-if=actionButton.include class=actionButton.includeClass ng-include src=actionButton.include></div><span ng-if=!actionButton.include>{{actionButton.name}}</span></button><div uib-dropdown class=\"{{dropdownClass}} pull-right dropdown-kebab-pf {{getMenuClassForItem(item)}} {{hideMenuForItem(item) ? 'invisible' : ''}}\" id=kebab_{{$index}} ng-if=\"menuActions && menuActions.length > 0\"><button uib-dropdown-toggle class=\"btn btn-link\" type=button id=dropdownKebabRight_{{$index}} ng-class=\"{'disabled': checkDisabled(item)}\" ng-click=\"setupActions(item, $event)\"><span class=\"fa fa-ellipsis-v\"></span></button><ul uib-dropdown-menu class=\"dropdown-menu dropdown-menu-right {{$index}}\" aria-labelledby=dropdownKebabRight_{{$index}}><li ng-repeat=\"menuAction in menuActions\" ng-if=\"menuAction.isVisible !== false\" role=\"{{menuAction.isSeparator === true ? 'separator' : 'menuitem'}}\" ng-class=\"{'divider': (menuAction.isSeparator === true), 'disabled': (menuAction.isDisabled === true)}\"><a ng-if=\"menuAction.isSeparator !== true\" title={{menuAction.title}} ng-click=\"handleMenuAction(menuAction, item)\">{{menuAction.name}}</a></li></ul></div></div><div pf-transclude=parent class=list-view-pf-main-info ng-click=\"itemClick($event, item)\" ng-dblclick=\"dblClick($event, item)\"></div><div class=\"list-group-item-container container-fluid\" ng-transclude=expandedContent ng-if=\"config.useExpandingRows && item.isExpanded\"></div></div></div></div></div>"
1035310419
);
1035410420

1035510421
}]);

dist/angular-patternfly.min.js

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/docs/css/patternfly-additions.css

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3763,6 +3763,42 @@ a.disabled {
37633763
position: relative;
37643764
width: 100%;
37653765
}
3766+
.list-view-pf-dnd .dndDragging.drag-original {
3767+
display: none;
3768+
}
3769+
.list-view-pf-dnd .dndDragging.drag-original .list-view-pf-dnd-original-items {
3770+
display: block;
3771+
}
3772+
.list-view-pf-dnd .dndDragging .list-view-pf-dnd-drag-items {
3773+
display: inline-block;
3774+
}
3775+
.list-view-pf-dnd .dndDragging .list-view-pf-dnd-original-items {
3776+
display: none;
3777+
}
3778+
.list-view-pf-dnd .dndPlaceholder {
3779+
background-color: #ededed;
3780+
padding: 20px 0;
3781+
}
3782+
.list-view-pf-dnd .list-group-item-header {
3783+
margin-left: -10px;
3784+
}
3785+
.list-view-pf-dnd .list-group-item-header:before {
3786+
background-image: linear-gradient(to bottom, #0088ce 60%, #fff 0%);
3787+
background-position: left;
3788+
background-repeat: repeat-y;
3789+
background-size: 2px 5px;
3790+
border: 4px solid #0088ce;
3791+
border-color: #00659c;
3792+
content: "";
3793+
height: 55px;
3794+
left: 4px;
3795+
position: absolute;
3796+
top: 5px;
3797+
width: 10px;
3798+
}
3799+
.list-view-pf-dnd-drag-items {
3800+
display: none;
3801+
}
37663802
.login-pf {
37673803
height: 100%;
37683804
}

0 commit comments

Comments
 (0)