Реализовано угловое масштабируемое и используемое xeditable для встроенного редактирования строк. Каждая загружаемая запись будет иметь кнопку EDIT. И новые записи могут быть добавлены с помощью кнопки Добавить новую строку, для каждой новой записи будет кнопка SAVE и кнопка CANCEL.Управление действием кнопки на основе видимости другой кнопки в форме
Требование - это как. Пользователь которые позволяют редактировать (Edit), если нет более активного сохранения (SAVE & ОТМЕНА) Кнопка есть на странице,
Как я могу добиться этого
// HTML
<style>
.sortable {
cursor: pointer;
}
.sortable:after {
content: url(data:image/gif;base64,R0lGODlhCwALAJEAAAAAAP///xUVFf///yH5BAEAAAMALAAAAAALAAsAAAIUnC2nKLnT4or00PvyrQwrPzUZshQAOw==);
padding-left: 1em;
}
.st-sort-ascent:after {
content: '\25B2';
}
.st-sort-descent:after {
content: '\25BC';
}
div[ng-app] { margin: 10px; }
.table {width: 100% }
form[editable-form] > div {margin: 10px 0;}
</style>
<div class="col-md-12 ng-scope" ng-controller="AppSettingsController as appCtrl">
<div class="alert alert-success" role="alert" ng-show="appCtrl.successMsg.length > 0">
<strong>{{appCtrl.successMsg}}</strong>
</div>
<div class="alert alert-danger" role="alert" ng-show="appCtrl.errorMsg.length > 0">
<strong>{{appCtrl.errorMsg}}</strong>
</div>
<button type="button" ng-click="appCtrl.addRandomItem(); "appCtrl.flag= false" class="btn btn-primary">
<i class="glyphicon glyphicon-plus">
</i> Add new record
</button>
<table st-table="appCtrl.displayedCollection" st-safe-src="appCtrl.param" class="table table-striped">
<thead>
<tr>
<th class="sortable" st-sort="parameterkey">Parameter Key</th>
<th class="sortable" st-sort="description">Description</th>
<th class="sortable" st-sort="value">Value</th>
<th class="sortable" st-sort="type">Type</th>
<th class="sortable" st-sort="active">Active</th>
<th> Action</th>
</tr>
<tr>
<th colspan="6">
<input st-search="" class="form-control" placeholder="global search ..." type="text" />
</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="row in appCtrl.displayedCollection">
<td>
<span editable-text="row.key" e-name="key" e-form="rowform" onbeforesave="appCtrl.checkName($data, user.id)" e-ng-readonly="appCtrl.flag" e-required >
{{ row.key }}
</span>
</td>
<td>
<span editable-text="row.description" e-name="description" e-form="rowform" onbeforesave="checkName($data, user.id)" e-required>
{{row.description|| 'empty' }}
</span>
</td>
<td>
<span editable-text="row.value" e-name="value" e-form="rowform" onbeforesave="appCtrl.checkName($data, user.id)" e-required>
{{row.value|| 'empty' }}
</span>
</td>
<td>
<span editable-text="row.type" e-name="type" e-form="rowform" onbeforesave="appCtrl.checkName($data, user.id)" e-required>
{{row.type|| 'empty' }}
</span>
</td>
<td>
<span editable-text="row.activeYn" e-name="activeYn" e-form="rowform" onbeforesave="appCtrl.checkName($data, user.id)" e-required>
{{row.activeYn|| 'empty' }}
</span>
</td>
<td style="white-space: nowrap">
<!-- form -->
<form editable-form name="rowform" onbeforesave="appCtrl.saveParam($data, row.paramId, row)" ng-show="rowform.$visible" class="form-buttons form-inline" shown="appCtrl.inserted == row">
<button type="submit" ng-disabled="rowform.$waiting" class="btn btn-primary" >
save
</button>
<button type="button" ng-disabled="rowform.$waiting" ng-click="rowform.$cancel(); appCtrl.isEmptyRow(row)" class="btn btn-default" >
cancel
</button>
</form>
<div class="buttons" ng-show="!rowform.$visible">
<button class="btn btn-primary" ng-click="rowform.$show()">edit</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
DO Мне нужно работать на основе значений editStateObjects []? – user630209
Я могу обработать это с помощью одной переменной флага, а не массива. Верный ? – user630209
@ пользователь630209, Cool. Да, абсолютно вы можете работать с переменной одного состояния. Я думал, что сразу у вас будет несколько строк в состоянии редактирования, но, конечно, это то, чего вы пытаетесь избежать. Если у вас есть переменная scope scopeBeingEdited, вы можете скрыть и показать, что в зависимости от того, является ли rowform = objectBeingEdited и задано соответствующее состояние в процедурах сохранения и редактирования. – Beartums