Angular multiple - ASCII\with test data\MLL@20!3

by Harsha Jayamanna

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.js"></script>
<script src=" https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
<div ng-app="sample">
  <div ng-controller="materialController">
  <h1>
  Method 3 (MLL@20!3):(ASCII)
  </h1>
  <p>
  Using a sort rule which was inherited from  ASCII sort. This rule doesn’t sort capital letters before lowercase letters., instead it considers only the alphabetical order when sorting letters.
  </p>
  <h2>
  Original Result
  </h2>
    <ul>
      <li ng-repeat="material in materials">
        {{ material.name}} , {{ material.edition}}
      </li>
    </ul>
  <h2>
  Sorted Result
  </h2>
    <ul>
      <li ng-repeat="material in materials | asciiSort">
        {{ material.name}} , {{material.edition}}
      </li>
    </ul>
<!--     <h2>
      Angular default Sorting
      </h2>
    <ul>
      <li ng-repeat="material in materials | orderBy : ['name','-edition']">
        {{ material.name}} , {{material.edition}}
      </li>
    </ul> -->
  </div>
</div>

CSS

body {
  font-family: Arial;
}

JavaScript

var app = angular.module('sample', []);
app.controller('materialController', function($scope) {
  $scope.materials = [];
    
  function getMaterials() {
    $scope.materials = 
    [
    {
    	name: 'Chez nous: Branché sur le monde francophone, Media-Enhanced Version',
      edition:'4e'
    },
    {
    	name: 'Chez nous: Branché sur le monde francophone, Media-Enhanced Version',
      edition:'4e'
    },
    {
    	name: 'Contrastes: Grammaire du francais courant, 2/e, 2e, Summer 2014 Re-Release',
      edition:'1e'
    },
    {
    	name: 'Gente: nivel básico, 2015 Release, 3/e, 3e, 2015 Release, Summer 2016 Re-Release',
      edition:''
    },
    {
    	name: 'Gente: nivel básico, 2015 Release, 3/e, 3e, 2015 Release, Summer 2016 Re-Release',
      edition:''
    },
    {
    	name: 'Hoy día: Spanish for Real Life, Volume 1, 1/e, 1e, Summer 2016 Re-Release',
      edition:''
    },
    {
    	name: 'Hoy día: Spanish for Real Life, Volume 1, 1/e, 1e, Summer 2016 Re-Release',
      edition:''
    },
    {
    	name: 'MLL@20!3, 6e, 2015 Release, Summer 2016 Re-Release',
      edition:''
    },
    {
    	name: 'Mosaicos: Spanish as a World Language, 6/e, 6e, Summer 2016 Re-Release',
      edition:'1e'
    },
    {
    	name: 'Mosaicos: Spanish as a World Language, 6/e, 6e, Summer 2016 Re-Release',
      edition:''
    },
    {
    	name: 'Points de départ',
      edition:'2e'
    },
    {
    	name: 'Points de départ',
      edition:'2e'
    },
    {
    	name: 'Rond-Point: une perspective actionnelle',
      edition:'2e'
    },
    {
    	name: 'Rond-Point: une perspective actionnelle',
      edition:'2e'
    },
    {
    	name: '¡Anda! Curso elemental, 3/',
      edition:'3e'
    },
    {
    	name: '¡Anda! Curso elemental',
      edition:''
    },
    {
    	name: '¡Anda! Curso intermedio',
      edition:'3e'
    },
    {
    	name: '¡Anda! Curso intermedio',
      edition:'3e'
    },
    {
    	name: '¡Arriba!: comunicación y cultura, 2015 Release, 6/e,...