मुझे यह जानने की जरूरत है कि किसी भी बटन का उपयोग किए बिना एंजुलुई ग्रिड में राज्य को सहेजने और पुनर्स्थापित करने के तरीके को कैसे कार्यान्वित किया जाए। जब भी हम ग्रिड में कोई भी परिवर्तन करते हैं तो मुझे राज्य को स्वचालित रूप से सहेजने की आवश्यकता होती है। हमें सहेजे गए राज्य को भी ऑटो को पुनर्स्थापित करना होगा। यहां तक कि यदि हम पृष्ठ को रीफ्रेश करते हैं तो सहेजे गए राज्य कोकोणीय यूई ग्रिड राज्य को बचाने और पुनर्स्थापित करने के लिए
उत्तर
यहां बताया गया है। मुझे ग्रिड राज्य में बदलाव के लिए एक भी घटना नहीं मिली, लेकिन ऐसा लगता है कि उनके पास लगभग हर चीज के लिए व्यक्तिगत घटनाएं हैं। यहां कुछ ऐसे हैं जो मैं उपयोग कर रहा हूं। मैंने बस रजिस्ट्रार एपीआई कॉलबैक में एक ब्रेक पॉइंट सेट किया है और ईवेंट खोजने के लिए ग्रिडएपी ऑब्जेक्ट के माध्यम से खोला है। http://plnkr.co/edit/LAMZvOkpx6jsD4CWSz04?p=preview
HTML:
<div ui-grid="gridOptions"
ui-grid-selection
ui-grid-resize-columns
ui-grid-auto-resize
ui-grid-move-columns
ui-grid-grouping
ui-grid-save-state>
</div>
जे एस:
$scope.gridOptions = {
data: [
{ name: 'Jack', title: 'manager', phone: '123456789', location: 'india'},
{ name: 'Suzy', title: 'developer', phone: '465189798', location: 'usa'},
{ name: 'George', title: 'secretary', phone: '82656517', location: 'japan'},
{ name: 'Michael', title: 'analyst', phone: '31321687', location: 'egypt'},
{ name: 'Sara', title: 'consultant', phone: '59595847', location: 'germany'},
{ name: 'Chris', title: 'engineer', phone: '789456123', location: 'russia'},
{ name: 'Elizabeth', title: 'clerk', phone: '963852741', location: 'china'},
{ name: 'Jane', title: 'intern', phone: '147258369', location: 'australia'},
{ name: 'Bill', title: 'accountant', phone: '951487623', location: 'brazil'}
],
columnDefs: [
{ name: 'name' },
{ name: 'title' },
{ name: 'phone' },
{ name: 'location' }
],
enableGridMenu: true,
enableRowSelection: true,
enableRowHeaderSelection: false,
enableColumnResizing: true,
enableColumnReordering: true,
enableFiltering: true,
onRegisterApi: function(gridApi) {
// Keep a reference to the gridApi.
$scope.gridApi = gridApi;
// Setup events so we're notified when grid state changes.
$scope.gridApi.colMovable.on.columnPositionChanged($scope, saveState);
$scope.gridApi.colResizable.on.columnSizeChanged($scope, saveState);
$scope.gridApi.grouping.on.aggregationChanged($scope, saveState);
$scope.gridApi.grouping.on.groupingChanged($scope, saveState);
$scope.gridApi.core.on.columnVisibilityChanged($scope, saveState);
$scope.gridApi.core.on.filterChanged($scope, saveState);
$scope.gridApi.core.on.sortChanged($scope, saveState);
// Restore previously saved state.
restoreState();
}
};
function saveState() {
var state = $scope.gridApi.saveState.save();
localStorageService.set('gridState', state);
}
function restoreState() {
$timeout(function() {
var state = localStorageService.get('gridState');
if (state) $scope.gridApi.saveState.restore($scope, state);
});
}
$ timeout के साथ पुनर्स्थापना चरण को लपेटना महत्वपूर्ण है, क्योंकि यह इसे जोड़ने के बिना पुनर्स्थापित स्थिति को लागू नहीं करेगा। – Schreinbo
मैं ग्रिड राज्य में परिवर्तन के लिए एक भी घटना नहीं पा सके =>
window.onbeforeunload = function(e) {
$scope.saveState();
};
$scope.restoreState();
मामले में आप रीसेट करना चाहते हैं ग्रिड
if(localStorage.getItem("justReset")!="1")
$scope.restoreState();
localStorage.setItem("justReset","0")
यहाँ एक सेवा के लिए आसान
$scope.gridOptions.onRegisterApi = function (gridApi) {
SaveStateGridService.init(gridApi);
};
एचटीएमएल
<div
ui-grid="gridOptions"
ui-grid-save-state></div>
localforage
angular.module('starter.controllers')
.factory('SaveStateGridService', function SaveStateGridService($timeout, $state, $rootScope) {
var self = {
stateName: null,
keyLocalStorage: null,
listener: null,
init: function (gridApi) {
self.stateName = $state.$current.name;
self.keyLocalStorage = 'grid-' + self.stateName;
if (self.keyLocalStorage != null) {
// save the state before we leave
self.listerner = $rootScope.$on('$stateChangeStart',
function (event, toState, toParams, fromState, fromParams, options) {
if (fromState.name === self.stateName) {
var item = gridApi.saveState.save();
localforage.setItem(self.keyLocalStorage, item);
}
self.listerner();
}
);
//restore the state when we load if it exists
localforage.getItem(self.keyLocalStorage, function (err, item) {
if (item != null) {
$timeout(function() {
gridApi.saveState.restore(null, item);
}, 1);
}
});
}
}
};
return self;
});
नियंत्रक/घटक के साथ उपयोग करने के लिए यह कोणीय $ कुकीज़
का उपयोग कर राज्य को बचाने के लिए अपेक्षाकृत आसान हैfunction saveState() {
var state = $scope.gridApi.saveState.save();
$cookies.put('gridState', JSON.stringify(state));
}
फिर, बहाल करने के लिए:
$scope.restoreState = function() {
$timeout(function() {
var state = JSON.parse($cookies.get('gridState'));
if (state) {
$scope.gridApi.saveState.restore($scope, state);
}
कुकीज़ काम नहीं करती है: angular.js: 14791 कुकी 'ग्रिडस्टेट' संभवतः सेट या ओवरफ्लो नहीं हुआ क्योंकि यह बहुत बड़ा था (9040> 4096 बाइट्स)! – Slava
- 1. क्षैतिज स्क्रॉलबार (कोणीय यूई-ग्रिड)
- 2. कोणीय यूई-ग्रिड के कॉलम दृश्यता
- 3. कोणीय-यूई का टूलटिप एनजी-ग्रिड
- 4. एंड्रॉइड - हनीकॉम - एक्शन बार टैब खंड राज्य को बचाने/पुनर्स्थापित करने के लिए
- 5. सेल हेडर में कोणीय यूई-ग्रिड घटनाएं
- 6. कोणीय यूई-ग्रिड कस्टम हेडर एचटीएमएल
- 7. यूई-ग्रिड
- 8. localStorage में jqGrid के राज्य को बचाने साइट
- 9. पंक्तियों को जोड़े जाने पर कोणीय यूई-ग्रिड को एनिमेट करने के लिए कैसे करें
- 10. कोणीय-यूई-ग्रिड: माउसओवर पर पंक्ति को हाइलाइट कैसे करें?
- 11. कोणीय यूई-राउटर: ब्राउज़र
- 12. कोणीय यूई राउटर राज्य - एक ही टेम्पलेट और नियंत्रक के साथ कई राज्य
- 13. दृश्य स्टूडियो राज्य को बचाने
- 14. एंगुलरजेएस: यूई-रूट $ राज्य
- 15. मैं केंडो यूई ग्रिड
- 16. कोणीय यूई ग्रिड कैसे शुरू में सभी पंक्तियों का विस्तार करने के लिए?
- 17. पेजेड यूई-ग्रिड
- 18. कोणीय यूई-राउटर स्ट्रिंग
- 19. कोणीय यूई-ग्रिड में पंक्ति सूचकांक कैसे प्राप्त करें 3.0
- 20. प्रक्रिया के बाद राज्य को पुनर्स्थापित करें
- 21. कोणीय यूई-ग्रिड सेल टेक्स्ट की प्रतिलिपि नहीं बना सकता
- 22. कोणीय और यूई-राउटर के साथ, एक दृश्य के लिए नेविगेटर इतिहास को अक्षम करने के लिए कैसे करें
- 23. कोणीय-यूई मोडल - मोडल
- 24. एंड्रॉयड उन्मुखीकरण परिवर्तन पर राज्य को बचाने
- 25. कोणीय यूई-राउटर
- 26. कोणीय-यूई-राउटर
- 27. कोणीय ui ग्रिड
- 28. राज्य को फ़िल्टर करने के लिए कहां?
- 29. कोणीय यूई-पेड़ और नोड्स को प्रतिबंधित करने के लिए कॉलबैक स्वीकार करते हैं?
- 30. आयनिक ढांचे और कोणीय यूई कैलेंडर मुद्दा?
मुझे यकीन है कि तुम क्यों नीचे किया गया है मतदान नहीं कर रहा हूँ। मैं इसे समझने की भी कोशिश कर रहा हूं। क्या आपके पास कोई भाग्य है? –