Что не так с кодом? (Angularjs, Json)

352
28 декабря 2016, 02:44

Необходимо следующее:

  1. Список проектов - формируется из tasks.json. Один и тот же проект может быть у нескольких задач;
  2. При нажатии на проект отображается список(!) задач из файла tasks.json. У одного проекта может быть несколько задач.

https://plnkr.co/edit/6HDIBG?p=preview

<!DOCTYPE html>
<html ng-app="diasoft">
    <head>
        <meta charset="utf-8" />
        <title>Diasoft test app</title>
        <link data-require="bootstrap-css@*" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
        <link rel="stylesheet" href="style.css" />
        <script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.15/angular.js" data-semver="1.3.15"></script>
        <script src="app.js"></script>
    </head>
    <body ng-controller="MainCtrl">
        <div id="menu" class="wrapper clearfix">
            <div class="col-md-4">
                <h2>Projects/Проекты</h2>
                <ul class="ul-project"> 
                    <!-- Список проектов -->
                    <li ng-repeat="x in titles | filter:isTask">
                        <a href="" ng-click="select(x)"> {{ x.title }}</a>
                    </li>
                </ul>
            </div>
        </div>
        <div class="col-md-8">
            <div class="body"> 
                <h2>{{selectedItem.title}}</h2>
                <h4>Tasks/Задачи</h4>
                <hr>
                <!-- Здесь отображаются задачи для выбранного проекта -->
            <p>{{titles.task | titles.projectId[selectedItem.Nid] }}</p>
            </div>
        </div>
    </body>
</html>
var app = angular.module('diasoft', []);
app.controller('MainCtrl', function($scope, $http) {
    $http.get("tasks.json") // json с задачами
         .success(function(response) {
            $scope.titles = response;
            $scope.isTask = function(titles) { 
                return titles.Category === "Projects"; 
            };
        });
    $scope.select = function(item) {
        $scope.selectedItem = item;
    };
});
[
    {
        "title" : "Project A1",
        "Category" : "Projects",
        "Nid" : "7"
    },
    {
        "title" : "Project A2 ",
        "Category" : "Projects",
        "Nid" : "6"
    },
    {
        "title" : "Project B",
        "Category" : "Projects",
        "Nid" : "5"
    },
    {
        "title" : "Project C",
        "Category" : "Projects",
        "Nid" : "4"
    },
    {
        "title" : "Project D1",
        "Category" : "Projects",
        "Nid" : "3"
    },
    {
        "title" : "Project D2",
        "Category" : "Projects",
        "Nid" : "2"
    },
    {
        "title" : "Project E",
        "Category" : "Projects",
        "Nid" : "1"
    },
    {
        "task" : "Make UI",
        "projectId" : ["1", "6"]
    },
    {
        "task" : "Customize toolbar",
        "projectId" : ["1", "2"]
    },
    {
        "task" : "Debug JS code",
        "projectId" : ["1", "4" ,"5"]
    },
    {
        "task" : "Write integration tests",
        "projectId" : ["2", "3"]
    },
    {
        "task" : "Test Application",
        "projectId" : ["1", "4", "6","7"]
    }
]
READ ALSO
Схема редактирования записи

Схема редактирования записи

Есть две формыВ первой список клиентов, вторая форма для редактирования записи

360
нет привязки команды в checkBox-е

нет привязки команды в checkBox-е

здравствуйте, нужно, чтобы параметром команды щелчка по checkbox был сам этот checkbox и возможно было в viewModel считать Uid этого checkboxмаксимально упростил...

418
Понять, что упаковано в object

Понять, что упаковано в object

Например, есть какой-то известный пользовательский тип(его либа есть в проекте), который приведен к типу object

344