Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. class PositionType{
  2. constructor(positionByType, item){
  3. this.positionByType = positionByType
  4. this.item = item
  5. }
  6.  
  7. initialize(positon, value){
  8. const attributes = this.getDesAA(positon)
  9. for (const [language, des_aa_n2] of Object.entries(attributes)) {
  10. this.positionType[positon.code][language][des_aa_n2] = value
  11. }
  12. }
  13.  
  14. add(position){
  15. const attributes = this.getDesAA(position)
  16. for (const [language, des_aa_n2] of Object.entries(attributes)) {
  17. this.positionType[position.code][language][des_aa_n2].push(item)
  18. }
  19. }
  20.  
  21. getPositionType(){
  22. return this.positionType;
  23. }
  24.  
  25.  
  26. getDesAA(item){
  27. return {
  28. 'es': item.des_aa_n2,
  29. 'pt': item.des_aa_n2_pt,
  30. 'en': item.des_aa_n2_en
  31. }
  32. }
  33.  
  34. }
  35.  
  36. class PositionTypeN4 extends PositionType{
  37. constructor(positionByType, item){
  38. super(positionByType, item)
  39. }
  40.  
  41. getDesAA(item){
  42. return {
  43. 'es': item.des_aa_n2 + ' ' + item.des_aa_n4,
  44. 'pt': item.des_aa_n2_pt + ' ' + item.des_aa_n4_pt,
  45. 'en': item.des_aa_n2_en + ' ' + item.des_aa_n4_en
  46. }
  47. }
  48. }
  49.  
  50. class PositionTypeNormal extends PositionType{
  51. constructor(positionByType, item){
  52. super(positionByType, item)
  53. }
  54.  
  55. getDesAA(item){
  56. return {
  57. 'es': item.des_aa_n2,
  58. 'pt': item.des_aa_n2_pt,
  59. 'en': item.des_aa_n2_en
  60. }
  61. }
  62. }
  63. const mypositions = hasN4HarcodedCategory ? new PositionTypeN4(positionType, position) : new PositionTypeNormal(positionType, position)
  64. mypositions.initialize(position, [])
  65. mypositions.add(position)
  66. positionType = mypositions.getPositionType()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement