AIA.js 2.46 KB
'use strict';

var AIA = angular.module('AIA', ['ngSanitize', 'ngRoute']);


AIA.directive('checkImageExistance', function ($http) {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
            debugger;
            attrs.$observe('ngSrc', function (ngSrc) {
                $http.get(ngSrc).success(function () {
                    alert('image exist');
                }).error(function () {
                    alert('image not exist');
                    element.attr('src', 'http://upload.wikimedia.org/wikipedia/commons/7/73/Lion_waiting_in_Namibia.jpg'); // set default image
                });
            });
        }
    };
});


AIA.directive('nnkn', function () {
    return {
        restrict: 'E',
        link: function (scope, element, attrs) {
            alert('nt')
            // show an image-missing image
            element.error(function () {
                alert('not exist')
                var w = element.width();
                var h = element.height();
                var source = element.src;
                // using 20 here because it seems even a missing image will have ~18px width 
                // after this error function has been called
                if (w <= 20) { w = 100; }
                if (h <= 20) { h = 100; }
                var url = 'http://placehold.it/' + w + 'x' + h + '/cccccc/ffffff&text=Oh No!';
                element.prop('src', url);
                element.css('border', 'double 3px #cccccc');
            });
        }
    }
});


AIA.constant('pages', [
    {
        name: 'Login',
        pageSlug: 'login',
        pageUrl: 'login.html',
        pageController: 'AuthenticationController'
    },
    {
        name: 'Dissectible Anatomy Views List',
        pageSlug: 'da-view-list',
        pageUrl: 'app/views/da/da-body-view-list.html',
        pageController: 'DAController' 
    },
    {
        name: 'Dissectible Anatomy Body View',
        pageSlug: 'da-body-view',
        pageUrl: 'app/views/da/da-body-view.html',
        pageController: 'DAController'
    }
]);


AIA.config(function ($routeProvider, pages) {
    for (var i = 0; i < pages.length; i++) {
        if (pages[i].pageSlug != null) {
            $routeProvider.when('/' + pages[i].pageSlug,
                {
                    templateUrl: pages[i].pageUrl,
                    controller: pages[i].pageController
                })
        }
    }
});