experimenting with 'import' statements wip user/berick/lp1739803-angjs-imports-experiment
authorBill Erickson <berickxx@gmail.com>
Mon, 8 Jan 2018 22:10:19 +0000 (17:10 -0500)
committerBill Erickson <berickxx@gmail.com>
Mon, 8 Jan 2018 22:10:19 +0000 (17:10 -0500)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/web/js/ui/default/staff/app.js
Open-ILS/web/js/ui/default/staff/services/core.js
Open-ILS/web/js/ui/default/staff/services/ui.js

index 26eee4a..5cf6737 100644 (file)
@@ -4,12 +4,12 @@
  * Splash Page
  */
 
-//import angular from 'angular';
 import angular from 'angular';
 import ngRoute from 'angular-route';
 import uiBootstrap from 'angular-ui-bootstrap';
 import egCoreMod from './services/core.js';
 import egUiMod from './services/ui.js';
+import focusMe from './services/ui.js';
 
 angular.module('egHome', [ngRoute, uiBootstrap, egCoreMod, egUiMod])
 
index 40055c4..094761a 100644 (file)
@@ -3,11 +3,13 @@
  * egCoreMod houses all of the services, etc. required by all pages
  * for basic functionality.
  */
-export default egCoreMod = angular.module('egCoreMod', ['cfp.hotkeys', 'ngFileSaver', 'ngCookies', 'ngToast'])
+export default 'egCoreMod';
+angular.module('egCoreMod', ['cfp.hotkeys', 'ngFileSaver', 'ngCookies', 'ngToast'])
 
 .config(['ngToastProvider', function(ngToastProvider) {
   ngToastProvider.configure({
     verticalPosition: 'bottom',
     animation: 'fade'
   });
-}]);
+}])
+
index 47632ed..65a7fa3 100644 (file)
@@ -1,13 +1,40 @@
 /**
   * UI tools and directives.
   */
+export default 'egUiMod';
+
+// TODO: just a test.  (No need to import directives linked to angular
+// modules that are already imported).  Would be useful for standalone
+// directives.
+export function focusMe($timeout, $parse) {
+    return {
+        link: function(scope, element, attrs) {
+            var model = $parse(attrs.focusMe);
+            scope.$watch(model, function(value) {
+                if(value === true) 
+                    $timeout(function() {element[0].focus()});
+            });
+            element.bind('blur', function() {
+                $timeout(function() {
+                    scope.$apply(model.assign(scope, false));
+                });
+            })
+        }
+    };
+}
+
+focusMe.$inject = ['$timeout', '$parse'];
+
 angular.module('egUiMod', ['egCoreMod', 'ui.bootstrap'])
 
+.directive('focusMe', focusMe)
 
 /**
  * <input focus-me="iAmOpen"/>
  * $scope.iAmOpen = true;
  */
+
+/*
 .directive('focusMe', 
        ['$timeout','$parse', 
 function($timeout , $parse) {
@@ -26,6 +53,7 @@ function($timeout , $parse) {
         }
     };
 }])
+*/
 
 /**
  * <input blur-me="pleaseBlurMe"/>
@@ -1258,4 +1286,6 @@ function($window , egStrings) {
     }
 
     return service;
-}]);
+}])
+
+.name; // must come last!