webstaff: Add support for standalone grid menu items even when there is a menu label
authorMike Rylander <mrylander@gmail.com>
Tue, 7 Apr 2015 16:54:29 +0000 (12:54 -0400)
committerJason Stephenson <jstephenson@mvlc.org>
Wed, 19 Aug 2015 17:39:15 +0000 (13:39 -0400)
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jason Stephenson <jstephenson@mvlc.org>
Open-ILS/src/templates/staff/share/t_autogrid.tt2
Open-ILS/web/js/ui/default/staff/services/grid.js

index 86f2723..4805e9d 100644 (file)
@@ -8,17 +8,22 @@
 
   <div class="eg-grid-primary-label">{{mainLabel}}</div>
 
-  <div class="btn-group eg-grid-menuiitem
+  <div class="btn-group" 
     is-open="gridMenuIsOpen" ng-if="menuLabel" dropdown>
-    <button type="button" class="btn btn-default dropdown-toggle">
+    <button type="button" class="btn btn-default dropdown-toggle eg-grid-menui-item">
       {{menuLabel}}<span class="caret"></span>
     </button>
     <ul class="dropdown-menu">
-      <li ng-repeat="item in menuItems" ng-class="{divider: item.divider}">
+      <li ng-repeat="item in menuItems | filter : { standalone : 'false' }" ng-class="{divider: item.divider}">
         <a ng-if="!item.divider" href ng-disabled="item.disabled"
           ng-click="item.handler()">{{item.label}}</a>
       </li>
     </ul>
+    <button ng-if="!item.hidden()"
+      class="btn btn-default eg-grid-menui-item"
+      ng-disabled="item.disabled()"
+      ng-repeat="item in menuItems | filter : { standalone : 'true' }"
+      ng-click="item.handler()">{{item.label}}</button>
   </div>
 
   <!-- if no menu label is present, present menu-items as a 
index 68c996f..337f4f9 100644 (file)
@@ -1598,6 +1598,7 @@ angular.module('egGridMod',
         require : '^egGrid',
         scope : {
             label : '@',  
+            standalone : '=',  
             handler : '=', // onclick handler function
             divider : '=', // if true, show a divider only
             handlerData : '=', // if set, passed as second argument to handler
@@ -1607,6 +1608,7 @@ angular.module('egGridMod',
         link : function(scope, element, attrs, egGridCtrl) {
             egGridCtrl.addMenuItem({
                 label : scope.label,
+                standalone : scope.standalone ? true : false,
                 handler : scope.handler,
                 divider : scope.divider,
                 disabled : scope.disabled,