Stack Overflow em Português Asked by lucasbento on December 26, 2021
Como devo modificar o código abaixo para que funcione com a classe popover-wrapper
do Angular-xeditable → Demo.
var app = angular.module("app", ["xeditable"])
.run(function(editableOptions) {
editableOptions.theme = 'bs3';
})
.controller('Ctrl', function($scope) {
$scope.targetIndex = -1;
$scope.toggle = function(index){
// Se o targetIndex atual for o mesmo do selecionado, então apague.
// Caso contrário, salve o índice selecionado em targetIndex.
$scope.targetIndex = ($scope.targetIndex == index ? null : index);
}
$scope.users = [
{ name: 'awesome user I' },
{ name: 'awesome user II' },
];
});
div[ng-app] { margin: 50px; }
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-sanitize.min.js"></script>
<script src="https://vitalets.github.io/angular-xeditable/dist/js/xeditable.js"></script>
<h4>Angular-xeditable Text (Bootstrap 3)</h4>
<form ng-app="app" ng-controller="Ctrl" editable-form name="formulario">
<div ng-repeat="user in users track by $index">
<a href="#" ng-click="toggle($index)" ng-show="!(targetIndex == $index)" editable-text="user.name">{{ user.name || 'empty' }}</a>
<input type='text' ng-model="user.name" ng-show="targetIndex == $index"/>
<div class="buttons">
<!-- buttons to submit / cancel form -->
<span ng-show="targetIndex == $index">
<br/>
<button type="submit" class="btn btn-primary" ng-disabled="formulario.$waiting" ng-click="toggle($index)">
Save
</button>
<button type="button" class="btn btn-default" ng-disabled="formulario.$waiting" ng-click="toggle($index)">
Cancel
</button>
</span>
</div>
<br />
</div>
</form>
Faltou você adicionar mais duas dependências: boostrap css
e o xeditable css
, também removi o form
, pois a api
faz todo o trabalho dinamicamente.
var app = angular.module("app", ["xeditable"])
.run(function(editableOptions) {
editableOptions.theme = 'bs3';
})
.controller('Ctrl', function($scope) {
//Comentei esse trecho pois ele estava ocultando o botão
//$scope.targetIndex = -1;
//$scope.toggle = function(index){
// Se o targetIndex atual for o mesmo do selecionado, então apague.
// Caso contrário, salve o índice selecionado em targetIndex.
//$scope.targetIndex = ($scope.targetIndex == index ? null : index);
//}
$scope.users = [
{ name: 'awesome user I' },
{ name: 'awesome user II' },
];
});
div[ng-app] { margin: 50px; }
.pop {
margin:0;
margin-top: 100px;
display: flex;
align-items: center;
justify-content: center;
}
.popover-wrapper:active{
color: black;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-sanitize.min.js"></script>
<script src="https://vitalets.github.io/angular-xeditable/dist/js/xeditable.js"></script>
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://vitalets.github.io/angular-xeditable/dist/css/xeditable.css" rel="stylesheet"/>
<body ng-app="app" ng-controller="Ctrl">
<div ng-repeat="user in users track by $index" class="pop">
<div class="popover-wrapper">
<a href="#" ng-click="toggle($index)" ng-show="!(targetIndex == $index)" editable-text="user.name">{{ user.name || 'empty' }}</a>
</div>
</div>
</body>
Answered by Felipe Duarte on December 26, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP