Angular1 to Angular2 : controller

First step of the transformation of angular1 controller to angular2 componant

by manland

HTML

<script src="https://code.angularjs.org/1.4.7/angular.min.js"></script>
<div class="app" ng-app="app" ng-controller="LittleCtrl">
    <ul class="confs">
        <li class="conf" ng-repeat="conf in confs">
            <img class="conf-img" ng-src="{{conf.icon}}" />
            <a class="conf-url" href="{{conf.url}}" target="_blank">{{conf.name}} le {{conf.date}}</a>
        </li>
        <li class="conf">
            <input class="conf-input" type="text" ng-model="newConf.icon" placeholder="src image" />
            <input class="conf-input" type="text" ng-model="newConf.name" placeholder="titre" />
            <input class="conf-input" type="text" ng-model="newConf.url" placeholder="url" />
            <input class="conf-input" type="text" ng-model="newConf.date" placeholder="date" />
            <input class="conf-input" type="button" value="Ok" ng-click="addNewConf()" />
        </li>
    </ul>
</div>

CSS

body {
    background-color: #444;
    color: #fff;
}

a {
    color: inherit;
    text-decoration: none;
}



.confs {
    padding: 0;
}

.conf {
    list-style: none;
    border: 1px solid #222;
    padding: 10px;
    color: #fff;
    height: 50px;
}

.conf-img {
    height: 50px;
    max-width: 120px;
    margin-right: 15px;
    vertical-align: middle;
}

.conf-url {
    vertical-align: middle;
}

.conf-input {
    width: 100px;
}

JavaScript

var data = [
    {name: 'jug-montpellier', url: 'http://jug-montpellier.org/', date: 'tous les 3eme mercredi', icon: 'http://www.jug-montpellier.org/public/images/logo.png'},
    {name: 'devoxx', url: 'http://www.devoxx.fr/', date: '20 Avril 2016', icon: 'https://pbs.twimg.com/profile_images/587897238568968192/NMdj4LCC.png'},
    {name: 'KiwiParty', url: 'http://kiwiparty.fr/', date: 'Juin 2016', icon: 'http://kiwiparty.fr/xmedia/kiwiparty/2015/logo-kiwiparty.svg'},
    {name: 'mix-IT', url: 'http://www.mix-it.fr/', date: 'Avril 2016', icon: 'http://www.mix-it.fr/public/images/mini-mixit.png'}
];

var app = angular.module('app', []);

app.controller('LittleCtrl', [
    '$scope',
    function ($scope) {
        $scope.confs = data;
        $scope.newConf = {};
        
        $scope.addNewConf = function() {
            $scope.confs.push($scope.newConf);
            $scope.newConf = {};
        };
    }
]);