utils.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import {Dialog} from './dialog';
  2. import {ICollection, Resource} from 'ngx-jsonapi';
  3. import {Service, Service as Srv, ServicesService} from '../components/basic/services/services.service';
  4. import {Base} from 'ngx-jsonapi/services/base';
  5. import {Product, ProductsService} from '../components/basic/products/products.service';
  6. export function setErrors(errors: any[], controls, dialog: Dialog) {
  7. let errorStrings: string[] = [];
  8. for (const key in errors) {
  9. const err = errors[key];
  10. let errorKey = '';
  11. try {
  12. errorKey = (err.source.pointer).split('\/').reverse()[0] + 'Ctrl';
  13. } catch (e) {
  14. errorKey = '';
  15. }
  16. if (errorKey !== '') {
  17. // ERRPR KEY HAMON INDEX HAST
  18. controls[errorKey].setErrors({'error': err.detail});
  19. } else {
  20. errorStrings[errorStrings.length] = err.detail;
  21. }
  22. }
  23. if (errorStrings.length > 0) {
  24. dialog.openForAlert(errorStrings.join(','));
  25. }
  26. }
  27. // az server username barmigardone
  28. export function repairErrors(errors) {
  29. for (const key in errors) {
  30. if (errors[key]['source'] && (errors[key]['source']['pointer'] == '/data/attribute/email' || errors[key]['source']['pointer'] == '/data/attribute/mobile')) {
  31. errors[key]['source']['pointer'] = '/data/attribute/username';
  32. }
  33. }
  34. return errors;
  35. }
  36. export function getBaseServices(): Service[] {
  37. const basics = JSON.parse(localStorage.getItem('basics'));
  38. const basicServicess = JSON.parse(basics['services']);
  39. const resource: ICollection<Srv> = Base.newCollection<Srv>();
  40. (new ServicesService()).convert(basicServicess, resource);
  41. return resource.$toArray;
  42. }
  43. export function getBaseProduct(): Product[] {
  44. const basics = JSON.parse(localStorage.getItem('basics'));
  45. const basicProducts = JSON.parse(basics['products']);
  46. // todo in porside shavad
  47. const resource: ICollection<Product> = Base.newCollection<Product>();
  48. (new ProductsService()).convert(basicProducts, resource);
  49. return resource.$toArray;
  50. }