Как выделить еще один NgRepeat для каждой строки данных? - PullRequest
0 голосов
/ 28 июня 2019

У меня есть вид, как показано ниже.Сообщение «Поехал ли работник 4 часа на работу?» - предупреждающее сообщение для Эндрю.В одной строке может быть несколько предупреждающих сообщений.Как изолировать предупреждающее сообщение (я)?так как предупреждающие сообщения здесь должны быть только для Андрея.или, может быть, вопрос в том, как правильно это реализовать?

Вот мой HTML-код:

<tbody>
    <tr ng-repeat-start="itm in vm.service.timeSheet.TicketTimesheetsDetails">

      <td>
        <i ng-if="(itm.ErrorCount > 0 || itm.WarningCount > 0) && !vm.service.isCollapsed" class="icon icon-chevron-right" ng-click="vm.service.isCollapsed = true">
          <md-tooltip>
            Show timesheet validation(s)
          </md-tooltip>
        </i>
        <i ng-if="(itm.ErrorCount > 0 || itm.WarningCount > 0) && vm.service.isCollapsed" class="icon icon-chevron-down" ng-click="vm.service.isCollapsed = false">
          <md-tooltip>
            Show timesheet validation(s)
          </md-tooltip>
        </i>

      </td>

      <td>
        <i class="icon icon-clipboard-account" ng-click="vm.service.showRoleDialog(itm)" style="color:steelblue">
          <md-tooltip>
              {{vm.service.changeRoleCaption}}
          </md-tooltip>
        </i>
      </td>

      <td>
        {{itm.AllocatedItemName}}
      </td>

      <td>
        <md-input-container>
          <input ng-attr-id="{{'TravelStartTime-' + $index}}"
                 type="text"
                 ng-focus="vm.service.disableSaveButton()"
                 ng-change="vm.service.onTextChange('#TravelStartTime-' + $index)"
                 ng-disabled="vm.service.isLocked"
                 aria-label="Travel Start"
                 ng-blur="vm.service.validateLine(itm, 1, 'TravelStartTime',  $index, itm.TravelStartTime, true)"
                 ng-model="itm.TravelStartTime"
                 time-picker>
        </md-input-container>
      </td>
      <td>
        <md-input-container>
          <input ng-attr-id="{{'JobStartTime-' + $index}}"
                 type="text"
                 ng-disabled="vm.service.isLocked"
                 aria-label="Job Start"
                 ng-focus="vm.service.disableSaveButton()"
                 ng-change="vm.service.onTextChange('#JobStartTime-' + $index)"
                 ng-blur="vm.service.validateLine(itm, 2, 'JobStartTime',  $index, itm.JobStartTime, true)"
                 ng-model="itm.JobStartTime"
                 ng-class="{'has-error': vm.service.isFieldValid(itm, 'JobStartTime')}"
                 time-picker>
        </md-input-container>
      </td>
     </tr>
    <tr ng-repeat="validation in vm.service.timesheetValidations" ng-if="vm.service.isCollapsed" ng-repeat-end="">]
      <td class="validation-section">
          &nbsp; 
      </td>
      <td class="validation-section">
          <i class="icon icon-alert" style="color: #ff7316;">
            </i>
      </td>
      <td colspan="4" class="validation-section">
            {{ validation.Message }}
      </td>
    </tr>

А вот метод размытия, где предупреждающее сообщение (я)создаются (вызов API):

timeSheetApi
                .validate(clonedTimesheet)
                .then(function (resp) {

                    var validationErrors = resp.data;

                    line.ErrorCount = 0;
                    line.Errors = '';
                    line.WarningCount = validationErrors.length;

                    if (validationErrors.length > 0) {
                        line.ErrorCount = validationErrors.length;
                        service.timesheetValidations = validationErrors; //these are the Warning Messages
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...