Site du proximo, utilisé pour gérer le stock.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

saveManager.js 2.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. class SaveManager {
  2. static saveData(types, dataset) {
  3. let finalDataset = {
  4. v1: SaveManager.generateV1JSON(types, dataset),
  5. v2: SaveManager.generateV2JSON(types, dataset)
  6. };
  7. console.log(finalDataset);
  8. $.ajax({
  9. type: "POST",
  10. url: "write_json.php",
  11. data: JSON.stringify(finalDataset),
  12. dataType: "json",
  13. contentType: "application/json; charset=utf-8",
  14. complete: function (data) {
  15. alert(data.responseText);
  16. console.log(data);
  17. },
  18. });
  19. }
  20. static generateV1JSON(savedTypes, savedDataset) {
  21. let types = [];
  22. // Replace type objects by names
  23. for (let i = 0; i < savedTypes.length; i++) {
  24. types.push(savedTypes[i].name);
  25. }
  26. let dataset = JSON.parse(JSON.stringify(savedDataset)); // Deep copy of object
  27. for (let i = 0; i < dataset.length; i++) {
  28. // Replace type ids by names
  29. for (let k = 0; k < dataset[i].type.length; k++) {
  30. dataset[i].type[k] = SaveManager.getTypeOfId(savedTypes, dataset[i].type[k]).name;
  31. }
  32. // remove the description field
  33. delete dataset[i].description
  34. }
  35. return {
  36. types: types,
  37. articles: dataset
  38. }
  39. }
  40. static generateV2JSON(savedTypes, savedDataset) {
  41. return {
  42. types: savedTypes,
  43. articles: savedDataset
  44. }
  45. }
  46. static getTypeOfId(types, id) {
  47. let item = {};
  48. for (let i = 0; i < types.length; i++) {
  49. if (types[i].id === id) {
  50. item = types[i];
  51. break;
  52. }
  53. }
  54. return item;
  55. }
  56. static convertToV2() {
  57. $.ajax({
  58. type: "POST",
  59. url: "convert_json.php",
  60. dataType: "json",
  61. contentType: "application/json; charset=utf-8",
  62. complete: function (data) {
  63. alert(data.responseText);
  64. console.log(data);
  65. window.location.reload();
  66. },
  67. });
  68. }
  69. }