This is what I want to achieve 

1) Have a report parameters html View which should be opened into a 
jQueryUI Dialog on the click of the OpenReport button in index.html. That 
way different report parameters Views can be loaded based on clicking 
 different <a href> report links ( which I haven't coded as of yet)
2) Since Angular View supports routing ... want the request routed via the 
angularJS routers defined in the App.js, that way we would have a single 
reportController that would load different report Views ( html Views), that 
would help me use angular MVC Standards
3) I did have a look at angular-ui but cont find anything for a jQuery UI 
dialog

How do I wrap a Jquery Plugin in a custom directive. If you have some 
references do send them.

Let me know if I am clear now.

Thanks
Raj


On Friday, February 6, 2015 at 1:36:13 AM UTC-5, Kevin Dreßler wrote:
>
> I couldnt really identify what you are asking for here, as you only 
> explained what you want to do, but I'll give it a try:
> Have you had a look at angular-ui <http://angular-ui.github.io/>?
> I really dont like mixin in too much of imperative jQuery thingies, 
> especially not into controllers. If there really is no angular-ui component 
> for your needs, better wrap that jQuery plugin in custom directive(s), but 
> thats just my opinion on best practices here.
>
> PS: You won't need $(document).ready(...) when wrapping plugin into 
> directive.
>
>
> Am Freitag, 6. Februar 2015 06:18:52 UTC+1 schrieb Rajaraman Soundararajan:
>>
>> Planning to use both jQuery and AngularJS because jQuery has many UI 
>> Widgets available which the latter doesnt have. 
>>
>> Home and Admin buttons  work. 
>>
>> Going further
>> 1) Want to open a JQuery Dialog Window on the click of a 
>> button.(OpenReport)
>> 2) the reportView.html page should be opened within the dialog. Idea is 
>> to open different reportParams screen withing the same dialog. Maybe we can 
>> have a reportController.js
>> 3) try to continue to use the routing logic provided by angular JS
>>
>> Attachment has the project structure.
>>
>> *index.html*
>> <!DOCTYPE html>
>> <html>
>> <head>
>>     <title>MVC Demo</title>
>>     <!--Start : jQuery Script Includes-->
>>     <link rel="stylesheet" href="
>> https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/smoothness/jquery-ui.css";
>>  
>> />
>>     <script src="
>> https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.js";></script>
>>     <script src="
>> https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js
>> "></script>
>>     <!--End : jQuery Script Includes-->
>>     <script type="text/javascript">
>>         $(document).ready(function () {
>>             var dialog = $("#dialogForm").dialog({
>>                 autoOpen: false,
>>                 height: 300,
>>                 width: 350,
>>                 modal: true
>>             });
>>             $('#openReport').click(function () {
>>                 dialog.dialog("open");
>>             });
>>         });
>>     </script>
>> </head>
>> <body ng-app="mvcApp">
>>     <header class="header" ng-controller="navigationController">
>>         <table>
>>             <thead>
>>                 <tr>
>>                     <th>
>>                         <button type="button" 
>> ng-click="navigateTo('home')">Home</button>
>>                     </th>
>>                     <th>
>>                         <button type="button" 
>> ng-click="navigateTo('admin')">Admin</button>
>>                     </th>
>>                     <th>
>>                         <button type="button" 
>> id="openReport">Report</button>
>>                     </th>
>>                 </tr>
>>             </thead>
>>         </table>
>>     </header>
>>     <section class="contentView" ng-view />
>>     <div id="dialogForm" title="Basic dialog">
>>         <p>This is the default dialog which is useful for displaying 
>> information. The dialog window can be moved, resized and closed with the 
>> 'x' icon.</p>
>>     </div>
>>     <script src="
>> https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js
>> "></script>
>>     <script src="
>> https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular-route.min.js
>> "></script>
>>     <script src="
>> https://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular-resource.min.js
>> "></script>
>>
>>     <script src="app.js"></script>
>>     <script src="navigationController.js"></script>
>>     <script src="home/homeController.js"></script>
>>     <script src="admin/adminController.js"></script>
>> </body>
>> </html>
>>
>> *App.js*
>> //Define an angular module for our app
>> var mvcApp = angular.module('mvcApp', ['ngRoute']);
>>
>> //Define Routing for app
>> mvcApp.config(['$routeProvider',
>>   function ($routeProvider) {
>>       $routeProvider.
>>         when('/home', {
>>             templateUrl: '/home/homeView.html',
>>             controller: 'homeController'
>>         }).
>>         when('/admin', {
>>             templateUrl: '/admin/adminView.html',
>>             controller: 'adminController'
>>         }).
>>         otherwise({
>>             redirectTo: '/home'
>>         });
>>   }]);
>>
>> *navigationController.js*
>>
>>
>> 'use strict';
>> mvcApp.controller('navigationController', function ($scope, $location) {
>>     $scope.navigateTo = function (path) {
>>         switch(path)
>>         {
>>             case "home":
>>                 $location.url('/home');
>>                 break;
>>             case "admin":
>>                 $location.url('/admin');
>>                 break;
>>             default:
>>                 $location.url('/home');
>>         }
>>     };
>>
>> });
>>
>> *homeController.js*
>> 'use strict';
>> mvcApp.controller('homeController', function ($scope, $location) {
>>     $scope.searchModel = {};
>>
>>     $scope.init = function () {
>>         //alert('homeController init... ');
>>     };
>>     
>>     var players = [{ name: 'John Doe', point: 45, age: 23, sex: 'M' }, { 
>> name: 'Kathy Bernert', point: 85, age: 22, sex: 'F' }, { name: 'Johny', 
>> point: 55, age: 45,sex:'M' }];
>>     $scope.players = players;
>>     $scope.init();
>> });
>>
>> *homeView.html*
>> <div>
>>     <table class="playerStyle">
>>         <tr>
>>             <th>Name</th>
>>             <th>Age</th>
>>             <th>Point</th>
>>         </tr>
>>         <tr ng-repeat="player in players">
>>             <td>{{player.name}}</td>
>>             <td>{{player.age}}</td>
>>             <td>{{player.point}}</td>
>>         </tr>
>>     </table>
>> </div>
>>
>> *adminController.js*
>> 'use strict';
>> mvcApp.controller('adminController', function ($scope) {
>>     $scope.init = function () {
>>         //alert('adminController init... ');
>>     };
>>     
>>     var adminAgents = [
>>         { name: 'John Doe', role: 'superAdmin', dept: 'Internet Services' 
>> },
>>         { name: 'Athen Hajiro', role: 'dataAdmin', dept: 'Data Services' 
>> },
>>         { name: 'Bill Jarr', role: 'eSAgentAdmin', dept: 'Enterprise 
>> Services' }
>>     ];
>>     $scope.adminAgents = adminAgents;
>>     
>>     $scope.init();
>> });
>>
>> *adminView.html*
>> <div>
>>     <table id="adminTableStyle">
>>         <thead>
>>             <tr>
>>                 <th>Name</th>
>>                 <th>Role</th>
>>                 <th>Dept</th>
>>                 <th></th>
>>             </tr>
>>         </thead>
>>           <tbody>
>>           <tr ng-repeat="adminAgent in adminAgents"  ng-class="{red: 
>> hover}"   ng-mouseenter="hover = true" ng-mouseleave="hover = false">
>>               <td>{{adminAgent.name}}</td>
>>               <td>{{adminAgent.role}}</td>
>>               <td>{{adminAgent.dept}}</td>
>>               <td>
>>                   <input type="button" value="Edit" />&nbsp;&nbsp;
>>                   <input type="button" value="Delete" />
>>               </td>
>>           </tr>
>>           </tbody>
>>     </table>
>> </div>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to