Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2014
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. var SProcsViewModel = function () {
  2. var self = this;
  3. self.storedProceduresInDB1 = ko.observableArray([{
  4. Name: "Sp1",
  5. Id: 1
  6. }, {
  7. Name: "Sp2",
  8. Id: 2
  9. }, {
  10. Name: "Sp3",
  11. Id: 3
  12. }, {
  13. Name: "Sp4",
  14. Id: 4
  15. }]);
  16. self.storedProceduresInDB2Orig = ko.observableArray([{
  17. Name: "Sp3",
  18. Id: 3
  19. }, {
  20. Name: "Sp4",
  21. Id: 4
  22. }, {
  23. Name: "Sp7",
  24. Id: 7
  25. }, {
  26. Name: "Sp8",
  27. Id: 8
  28. }]);
  29. self.storedProceduresInDB2 = ko.observableArray([{
  30. Name: "Sp3",
  31. Id: 3
  32. }, {
  33. Name: "Sp4",
  34. Id: 4
  35. }, {
  36. Name: "Sp7",
  37. Id: 7
  38. }, {
  39. Name: "Sp8",
  40. Id: 8
  41. }]);
  42.  
  43. self.selectedStoredProceduresInDb1 = ko.observableArray();
  44. self.selectedStoredProceduresInDb2 = ko.observableArray();
  45.  
  46. self.copyToDb2 = function () {
  47. var sprocs = [];
  48. console.log('self.selectedStoredProceduresInDb1()', self.selectedStoredProceduresInDb1());
  49. ko.utils.arrayForEach(self.selectedStoredProceduresInDb1(), function (value) {
  50. // console.log('arrayForEach',value,self.storedProceduresInDB2);
  51. var match = ko.utils.arrayFirst(self.storedProceduresInDB2(), function (item) {
  52. console.log('item in storedProceduresInDB2', value, item);
  53. return value.Id === item.Id;
  54. });
  55.  
  56. if (!match) {
  57. console.log('No match, so add to sprocs', value);
  58. sprocs.push(value);
  59. } else {
  60. console.log('Match found for:', value);
  61. }
  62. });
  63.  
  64. ko.utils.arrayForEach(self.selectedStoredProceduresInDb1(), function (value) {
  65. console.log('storedProceduresInDB1', value);
  66. });
  67.  
  68.  
  69. console.log('sprocs', sprocs);
  70.  
  71. ko.utils.arrayPushAll(self.storedProceduresInDB2, sprocs)
  72. };
  73.  
  74. self.removeFromDb2 = function(item, event){
  75. self.storedProceduresInDB2.remove(function(item) {
  76. return item.Name == $(event.currentTarget).find("option:selected").text();
  77. });
  78. }
  79.  
  80. return self;
  81. };
  82.  
  83. ko.applyBindings(new SProcsViewModel());
  84.  
  85. self.removeFromDb2 = function(item, event){
  86. self.storedProceduresInDB2.remove(function(item) {
  87. var nameToRemove = $(event.currentTarget).find("option:selected").text();
  88. var isInOrig = ko.utils.arrayFirst(self.storedProceduresInDB2Orig(),
  89. function(item){
  90. return item.Name == nameToRemove;
  91. });
  92. if (isInOrig)
  93. return false;
  94.  
  95. return item.Name == nameToRemove;
  96. });
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement