Edit in JSFiddle

<div ng-app="myapp" ng-controller="todoCtrl as vm">
<div class="row">
<div class="rk-comp-wrap col-sm-12" data-rk-dsgn-nav="3" data-rk-dsgn-comp="4" data-original-title="" title=""><div class="panel panel-success">
            <div class="panel-heading">
<div class="row"><div class="rk-comp-wrap col-sm-12" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1013" data-original-title="" title=""><form class="form-horizontal" ng-submit="vm.addTodo()">
<div class="rk-comp-wrap col-sm-12" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1002" data-original-title="" title=""><div class="form-group">
        
  <div class="input-group"><input class="form-control" name="" type="text" placeholder="Add todo here" ng-model="vm.todo"><div class="input-group-btn"><button class="btn btn-success" ng-click="vm.addTodo()"><i class="fa fa-plus"></i> </button></div></div>
</div></div></form></div></div>
</div>
            <div class="panel-body ">
            
<div class="row">
<div class="rk-comp-wrap col-sm-12" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1017" data-original-title="" title=""><ul class="list-group">
  
  <li class="list-group-item " ng-repeat="todo in vm.todos">
<div class="form-group" ng-show="todo.editing">        
  <div class="input-group"><input class="form-control" name="" type="text" placeholder="Edit todo here" ng-model="todo.text"><div class="input-group-btn">
  <button class="btn btn-success" ng-click="vm.editDone(todo,true)"><i class="fa fa-save"></i> </button>
  <button class="btn btn-warning" ng-click="vm.editDone(todo,false)"><i class="fa fa-close"></i> </button></div></div>
</div>

<div class="row" ng-show="!todo.editing">
<div class="rk-comp-wrap col-sm-1" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1009" data-original-title="" title=""><div class="form-group">
        <div class="checkbox"><label>
<input type="checkbox" ng-model="todo.done"> <span rk-edit=""></span>
</label></div></div></div><div class="rk-comp-wrap col-sm-8" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1" data-original-title="" title=""><h4 rk-edit="" class="text-warning">{{todo.text}}</h4></div><div class="rk-comp-wrap col-sm-3" data-rk-dsgn-nav="3" data-rk-dsgn-comp="5" data-original-title="" title="">
<div class="btn-group"><button class="btn btn-success" ng-click="vm.edit(todo)"><i class="fa fa-edit"></i>   </button></div>
<div class="btn-group"><button class="btn btn-danger" type="button" rk-edit="" ng-click="vm.remove(todo)"><i class="fa fa-close"></i> </button></div>
</div>
</div>

</li>
</ul>
</div>
</div>
</div>
            <div class="panel-footer bg-success clearfix">
                <div class="bg-success " rk-edit="">
<div class="row">
<div class="rk-comp-wrap text-center col-sm-3" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1008" data-original-title="" title=""><a href="#" rk-edit="" class="btn" ng-click="vm.markAll()">All</a></div>
<div class="rk-comp-wrap text-center col-sm-3" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1008" data-original-title="" title=""><a href="#" rk-edit="" class="btn" ng-bind="vm.completed()">completed</a></div>
<div class="rk-comp-wrap text-center col-sm-3" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1008" data-original-title="" title=""><a href="#" rk-edit="" ng-bind="vm.total()">total</a></div><div class="rk-comp-wrap text-center col-sm-3" data-rk-dsgn-nav="3" data-rk-dsgn-comp="1008" data-original-title="" title=""><a href="#" rk-edit="" ng-click="vm.archive()">Archive completed</a></div>
</div>




</div>
            </div>
        </div></div>
</div>
</div>
(function (app) {
    'use strict';

    app.controller('todoCtrl', todoCtrl);
    todoCtrl.$inject = [];
    function todoCtrl() {

        var vm = this;
        vm.todo = '';
        vm.allCompleted = false;

        vm.todos = [
        { text: 'Task 1', done: true, editing: false },
        { text: 'Task 2', done: false, editing: false },
        { text: 'Task 3', done: false, editing: false }
        ];


        vm.addTodo = addTodo;
        vm.edit = edit;
        vm.editDone = editDone;
        vm.remove = remove;
        vm.completed = completed;
        vm.total = total;
        vm.markAll = markAll;
        vm.archive = archive;


        ////////


        function addTodo() {
            if (vm.todo === '') { return; }
            vm.todos.push({ text: vm.todo, done: false, editing: false });
            vm.todo = '';
        }
        function edit(todo) {
            todo.original = todo.text;
            todo.editing = true;
        }
        function editDone(todo, save) {
            if (!save) todo.text = todo.original;
            todo.editing = false;
            todo.originial = null;
        }
        function remove(todo) {
            var idx = vm.todos.indexOf(todo);
            if (idx > -1) {
                vm.todos.splice(idx, 1);
            }
        }

        function completed() {
            return vm.todos.filter(function (v) {
                return v.done;
            }).length + ' completed';
        }

        function total() {
            return vm.todos.length + ' total';
        }

        function archive() {
            vm.todos = vm.todos.filter(function (val) {
                return !val.done;
            });
        }

        function markAll() {
            vm.allCompleted = !vm.allCompleted;
            vm.todos.forEach(function (todo) {
                todo.done = vm.allCompleted;
            });
        };

    }
}(angular.module('myapp', [])));