Ho una tabella e vorrei aggiungere la modifica in linea a quella tabella. Ho iniziato con ng-grid, tuttavia, ho deciso che mentre funzionava bene, stavo passando troppo tempo a cercare di sistemare lo stile in modo che corrispondesse al tema generale del mio sito web. Sono partito da zero e ora sto usando un semplice vecchio tavolo html con angularjs dietro le quinte per la sua fantastica proprietà di associazione dei dati bidirezionale.Utilizzo di bootstrap-datepicker con angolare xediv
Tutto è andato liscio, tranne per il fatto che sono bloccato a cercare di ottenere l'editing in linea per funzionare con bootstrap-datepicker: http://www.eyecon.ro/bootstrap-datepicker/?utm_source=twitterfeed&utm_medium=twitter. La ragione per cui sto usando questo datepicker su ui-bootstrap datepicker che xeditable dice che dovresti usare è perché non sembra o sembra giusto nel mio sito web. Ecco come appare l'ui-bootstrap datepicker come http://jsfiddle.net/NfPcH/23/
. Mi piace l'aspetto semplice e semplice del datepicker di bootstrap.
Ecco una plunker di una tabella con campi xeditable e data per cercare di modificare PLUNKER
Utilizzando bootstrap-datepicker come un campo di input funziona bene, una direttiva personalizzato viene utilizzato per aggiornare correttamente il modello:
editablegrid.directive('datepicker', function() {
return {
restrict : 'A',
require : 'ngModel',
link : function(scope, element, attrs, ngModelCtrl) {
$(function() {
var dp = $(element).datepicker({
format : 'MM dd, yyyy'
});
dp.on('changeDate', function(e) {
ngModelCtrl.$setViewValue(e.format('MM dd, yyyy'));
scope.$apply();
});
});
}
}
ho cambiato il codice sorgente xeditable utilizzare bootstrap-datepicker (vedi righe 78-84 di xeditable.js)
/*
The New directive I've made for xeditable to use with the bootstrap-datepicker
*/
angular.module('xeditable').directive('editableBsdateNew', ['editableDirectiveFactory',
function(editableDirectiveFactory) {
return editableDirectiveFactory({
directiveName: 'editableBsdateNew',
inputTpl: '<input type="text" class="form-control form-control-inline input-sm" datepicker>'
});
}]);
, howeve Il problema si trova da qualche parte con xeditable e in che modo aggiorna il modello della riga selezionata.
xeditable funziona perfettamente per la modifica di testo e menu a discesa in linea, cercando di integrare con bootstrap-datepicker si sta rivelando difficile.
Se esiste un altro modo di utilizzare la modifica in linea con bootstrap-datepicker, non sarei contrario a provarlo. Stavo pensando che se questo non ha funzionato, forse qualcosa con ng-show e ng-hide potrebbe fare il trucco.
Purtroppo, però, non so quello che ho nel plunker è davvero vicino. Non ho dato una buona occhiata a questo per un po ', ma puoi fare in modo che il modello cambi correttamente se fai clic sulla casella di testo per aprire il calendario e utilizzare i tasti freccia per navigare e inserire per selezionare una data. Quindi c'è qualcosa di sbagliato nell'usare il mouse per selezionare una data. Ne darò un'altra occhiata alla fine di questa settimana. – JDubs
Hai ragione, con 1 leggero cambiamento potrebbe essere d'aiuto. Penso di averlo funzionato, invece di usare il metodo Render utilizzare il metodo link e associare le proprietà in questo modo. – Sanj