Files
memory-infrastructure-palace/docs/projects/memorypalace/Apple Notes/directive('machineList',.md

13 KiB

function(){ // Runs during compile return { // name: '', // priority: 1, // terminal: true, // scope: {}, // {} = isolate, true = child, false/undefined = no change controller: function($scope, $element, $attrs, $transclude, $http) { var self = this;

    <span style="color:#000ff;">/**</span>
     <span style="color:#000ff;">* Initialise Controller</span>
     <span style="color:#000ff;">*/</span>
    <span style="color:#000ff;">self.Initialise = function() {</span>
      <span style="color:#000ff;">self.log("Initialising Scope.");</span>
      <span style="color:#000ff;">$scope.machineObj = [];</span>
      <span style="color:#000ff;">if ($scope.user !== undefined) {</span>
        <span style="color:#000ff;">self.log("User exists");</span>
        <span style="color:#000ff;">if(typeof $scope.user.software_key.constructor == 'Array') {</span>
          <span style="color:#000ff;">self.log("Key is an array");</span>
          <span style="color:#000ff;">angular.forEach($scope.user.software_key, function(software_key, key){</span>
            <span style="color:#000ff;">var url = 'URL' + software_key + '/DATA';</span>
            <span style="color:#000ff;">self.log(url);</span>
            <span style="color:#000ff;">$http.get(url).</span>
            <span style="color:#000ff;">success(function(data/*, status, headers, config*/) {</span>
              <span style="color:#000ff;">if(data.id === 'error') {</span>
                <span style="color:#000ff;">self.log(data);</span>
              <span style="color:#000ff;">} else {</span>
                <span style="color:#000ff;">self.log("Processing data.");</span>
                <span style="color:#000ff;">$scope.machineList = data;</span>
                <span style="color:#000ff;">angular.forEach($scope.machineList,function(machine,index){</span>
                  <span style="color:#000ff;">$scope.machineObj.push({</span>
                    <span style="color:#000ff;">Name: machine.Name,</span>
                    <span style="color:#000ff;">Address: machine.Address,</span>
                    <span style="color:#000ff;">Key: machine.Key</span>
                  <span style="color:#000ff;">});</span>
                <span style="color:#000ff;">});</span>
              <span style="color:#000ff;">}</span>
            <span style="color:#000ff;">}).</span>
            <span style="color:#000ff;">error(function(data/*, status, headers, config*/) {</span>
              <span style="color:#000ff;">alert(data);</span>
            <span style="color:#000ff;">});</span>
          <span style="color:#000ff;">});</span>
        <span style="color:#000ff;">}</span>
      <span style="color:#000ff;">} else {</span>
        <span style="color:#000ff;">self.log("User does not exist");</span>
        <span style="color:#000ff;">var url = 'URL' + $scope.user.key + '/DATA';</span>
        <span style="color:#000ff;">self.log(url);</span>
        <span style="color:#000ff;">$http.get(url).</span>
        <span style="color:#000ff;">success(function(data/*, status, headers, config*/) {</span>
          <span style="color:#000ff;">if(data.id === 'error') {</span>
            <span style="color:#000ff;">console.log(data);</span>
          <span style="color:#000ff;">} else {</span>
            <span style="color:#000ff;">self.log("Processing data.");</span>
            <span style="color:#000ff;">angular.forEach($scope.machineList,function(machine,index){</span>
              <span style="color:#000ff;">$scope.machineObj.push({</span>
                <span style="color:#000ff;">Name: machine.Name,</span>
                <span style="color:#000ff;">Address: machine.Address,</span>
                <span style="color:#000ff;">Key: machine.SoftwareKey</span>
              <span style="color:#000ff;">});</span>
            <span style="color:#000ff;">});</span>
            <span style="color:#000ff;">console.log($scope.machineObj);</span>
          <span style="color:#000ff;">}</span>
        <span style="color:#000ff;">}).</span>
        <span style="color:#000ff;">error(function(data/*, status, headers, config*/) {</span>
          <span style="color:#000ff;">alert(data);</span>
        <span style="color:#000ff;">});</span>
      <span style="color:#000ff;">}</span>
    <span style="color:#000ff;">}</span>

    <span style="color:#000ff;">/**</span>
     <span style="color:#000ff;">* Handle Click event on Machine list item</span>
     <span style="color:#000ff;">* @param {string} $keyword</span>
     <span style="color:#000ff;">*/</span>
    <span style="color:#000ff;">self.alertMe = function($keyword){</span>
      <span style="color:#000ff;">alert($keyword);</span>
    <span style="color:#000ff;">};</span>

    <span style="color:#000ff;">/**</span>
     <span style="color:#000ff;">* Write to the Console</span>
     <span style="color:#000ff;">* @param {string} message</span>
     <span style="color:#000ff;">*/</span>
    <span style="color:#000ff;">self.log = function(message) {</span>
      <span style="color:#000ff;">console.log(message);</span>
    <span style="color:#000ff;">};</span>

    <span style="color:#000ff;">// Initialise Directive</span>
    <span style="color:#000ff;">self.Initialise();</span>
  <span style="color:#000ff;">},</span>
  <span style="color:#000ff;">restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment</span>
  <span style="color:#000ff;">template: '<li ng-repeat="machine in machineObj" class="text-center"><a ng-href="" ng-click="alertMe(machine.keyword)">{{::machine.Name}}</a></li>',</span>
  <span style="color:#000ff;">replace: true,</span>
<span style="color:#000ff;">};</span>

} );

.directive('machineList', function(){ // Runs during compile return { // name: '', // priority: 1, // terminal: true, // scope: {}, // {} = isolate, true = child, false/undefined = no change controller: function($scope, $element, $attrs, $transclude, $http) { $scope.machineObj = []; $scope.alertMe = function($keyword){ alert($keyword.Address); }; if($scope.user !== undefined) { if($scope.user.software_key.constructor === Array) { angular.forEach($scope.user.software_key, function(software_key, key){ $http.get('http://54.213.13.56/api/' + software_key + '/remotes'). success(function(data/, status, headers, config/) { if(data.id === 'error') { console.log(data); } else { //console.log(data); $scope.machineList = data; angular.forEach($scope.machineList,function(machine,index){ $scope.machineObj.push({ Name: machine.Name, Address: machine.Address, SoftwareKey: machine.SoftwareKey });

              <span style="color:#000ff;">});</span>
              <span style="color:#000ff;">//alert($scope.machineObj.length);</span>
              <span style="color:#000ff;">console.log($scope.machineObj);</span>
              <span style="color:#000ff;">//$rootScope.user = data;</span>

              <span style="color:#000ff;">/*console.log($scope.user.software_key);*/</span>
              <span style="color:#000ff;">//alert($scope.user.software_key.constructor === Array);</span>
              <span style="color:#000ff;">//alert(data);</span>
              <span style="color:#000ff;">//$rootScope.loggedInUser = $scope.user.email;</span>
              <span style="color:#000ff;">//$location.path("/");</span>
            <span style="color:#000ff;">}</span>
          <span style="color:#000ff;">}).</span>
          <span style="color:#000ff;">error(function(data/*, status, headers, config*/) {</span>
            <span style="color:#000ff;">alert(data);</span>
          <span style="color:#000ff;">});</span>
        <span style="color:#000ff;">});</span>

      <span style="color:#000ff;">}</span>
    <span style="color:#000ff;">} else {</span>
      <span style="color:#000ff;">$http.get('http://54.213.13.56/api/' + $scope.user.software_key + '/remotes').</span>
          <span style="color:#000ff;">success(function(data/*, status, headers, config*/) {</span>
        <span style="color:#000ff;">if(data.id === 'error') {</span>
          <span style="color:#000ff;">console.log(data);</span>
        <span style="color:#000ff;">} else {</span>
          <span style="color:#000ff;">//console.log(data);</span>

          <span style="color:#000ff;">angular.forEach($scope.machineList,function(machine,index){</span>
            <span style="color:#000ff;">$scope.machineObj.push({</span>
              <span style="color:#000ff;">Name: machine.Name,</span>
              <span style="color:#000ff;">Address: machine.Address,</span>
              <span style="color:#000ff;">SoftwareKey: machine.SoftwareKey</span>
            <span style="color:#000ff;">});</span>

          <span style="color:#000ff;">});</span>
          <span style="color:#000ff;">//alert($scope.machineObj.length);</span>
          <span style="color:#000ff;">console.log($scope.machineObj);</span>
          <span style="color:#000ff;">//$rootScope.user = data;</span>

          <span style="color:#000ff;">/*console.log($scope.user.software_key);*/</span>
          <span style="color:#000ff;">//alert($scope.user.software_key.constructor === Array);</span>
          <span style="color:#000ff;">//alert(data);</span>
          <span style="color:#000ff;">//$rootScope.loggedInUser = $scope.user.email;</span>
          <span style="color:#000ff;">//$location.path("/");</span>
        <span style="color:#000ff;">}</span>
      <span style="color:#000ff;">}).</span>
      <span style="color:#000ff;">error(function(data/*, status, headers, config*/) {</span>
        <span style="color:#000ff;">alert(data);</span>
      <span style="color:#000ff;">});</span>
    <span style="color:#000ff;">}</span>
<span style="color:#000ff;">},</span>
<span style="color:#000ff;">// require: 'ngModel', // Array = multiple requires, ? = optional, ^ = check parent elements</span>
<span style="color:#000ff;">restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment</span>
<span style="color:#000ff;">template: '<li ng-machine ng-repeat="machine in machineObj" class="text-center"><a ng-href="" ng-click="alertMe(machine)">{{::machine.Name}}</a></li>',</span>
<span style="color:#000ff;">// templateUrl: '',</span>
<span style="color:#000ff;">replace: true,</span>
<span style="color:#000ff;">// transclude: true,</span>
<span style="color:#000ff;">// compile: function(tElement, tAttrs, function transclude(function(scope, cloneLinkingFn){ return function linking(scope, elm, attrs){}})),</span>
<span style="color:#000ff;">//link: function(scope, iElm, iAttrs, controller, $http) {}</span>

}; });