@livepreso/api 6.44.0 → 6.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/.eslintrc.js +3 -0
  2. package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
  3. package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
  4. package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
  5. package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
  6. package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
  7. package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
  8. package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
  9. package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
  10. package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
  11. package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
  12. package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
  13. package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
  14. package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
  15. package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
  16. package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
  17. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  18. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  19. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  20. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  21. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  22. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  23. package/.rush/temp/package-deps_build.json +170 -0
  24. package/.rush/temp/package-deps_test.json +38 -36
  25. package/.rush/temp/shrinkwrap-deps.json +231 -240
  26. package/CHANGELOG.json +17 -0
  27. package/CHANGELOG.md +8 -1
  28. package/api.build.log +4 -2
  29. package/bin/test.sh +0 -1
  30. package/cjs/auth.js +36 -10
  31. package/cjs/auth.js.map +1 -1
  32. package/cjs/auth.spec.js +12 -6
  33. package/cjs/auth.spec.js.map +1 -1
  34. package/cjs/collections/base.js +10 -2
  35. package/cjs/collections/base.js.map +1 -1
  36. package/cjs/collections/base.spec.js +22 -4
  37. package/cjs/collections/base.spec.js.map +1 -1
  38. package/cjs/collections/deck-version-screenshots.js +62 -0
  39. package/cjs/collections/deck-version-screenshots.js.map +1 -0
  40. package/cjs/collections.js +13 -0
  41. package/cjs/collections.js.map +1 -1
  42. package/cjs/models/activity-item.js +3 -1
  43. package/cjs/models/activity-item.js.map +1 -1
  44. package/cjs/models/appointment.js +11 -1
  45. package/cjs/models/appointment.js.map +1 -1
  46. package/cjs/models/auto-adjunct.js +3 -1
  47. package/cjs/models/auto-adjunct.js.map +1 -1
  48. package/cjs/models/base.js +19 -1
  49. package/cjs/models/base.js.map +1 -1
  50. package/cjs/models/base.spec.js +9 -0
  51. package/cjs/models/base.spec.js.map +1 -1
  52. package/cjs/models/deck-version-screenshot.js +59 -0
  53. package/cjs/models/deck-version-screenshot.js.map +1 -0
  54. package/cjs/models/deck-version.js +28 -5
  55. package/cjs/models/deck-version.js.map +1 -1
  56. package/cjs/models/feed-data.js +5 -0
  57. package/cjs/models/feed-data.js.map +1 -1
  58. package/cjs/models/image.js +34 -0
  59. package/cjs/models/image.js.map +1 -1
  60. package/cjs/models/manifest-json.js +1 -1
  61. package/cjs/models/manifest-json.js.map +1 -1
  62. package/cjs/models/section.js +3 -1
  63. package/cjs/models/section.js.map +1 -1
  64. package/cjs/models/slide.js +3 -1
  65. package/cjs/models/slide.js.map +1 -1
  66. package/cjs/models/template.js +3 -1
  67. package/cjs/models/template.js.map +1 -1
  68. package/cjs/models/token.js +56 -0
  69. package/cjs/models/token.js.map +1 -0
  70. package/cjs/models/user.js +2 -1
  71. package/cjs/models/user.js.map +1 -1
  72. package/cjs/models.js +26 -0
  73. package/cjs/models.js.map +1 -1
  74. package/cjs/presentation/appointment-presentation.js +7 -3
  75. package/cjs/presentation/appointment-presentation.js.map +1 -1
  76. package/cjs/presentation/base-presentation-model.js +111 -2
  77. package/cjs/presentation/base-presentation-model.js.map +1 -1
  78. package/cjs/presentation/base-presentation-model.spec.js +56 -0
  79. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  80. package/cjs/presentation/presentation-deck.js +33 -6
  81. package/cjs/presentation/presentation-deck.js.map +1 -1
  82. package/cjs/presentation/presentation-deck.spec.js +53 -0
  83. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  84. package/cjs/presentation/presentation-section.js +42 -16
  85. package/cjs/presentation/presentation-section.js.map +1 -1
  86. package/cjs/presentation/presentation-section.spec.js +121 -3
  87. package/cjs/presentation/presentation-section.spec.js.map +1 -1
  88. package/cjs/presentation/presentation-slide.js +30 -13
  89. package/cjs/presentation/presentation-slide.js.map +1 -1
  90. package/cjs/presentation/presentation-slide.spec.js +94 -2
  91. package/cjs/presentation/presentation-slide.spec.js.map +1 -1
  92. package/cjs/presentation/presentation.js +112 -8
  93. package/cjs/presentation/presentation.js.map +1 -1
  94. package/jest.config.js +1 -0
  95. package/package.json +4 -4
  96. package/src/auth.js +44 -8
  97. package/src/auth.spec.js +2 -0
  98. package/src/collections/base.js +10 -4
  99. package/src/collections/base.spec.js +17 -3
  100. package/src/collections/deck-version-screenshots.js +48 -0
  101. package/src/collections.js +1 -0
  102. package/src/models/activity-item.js +2 -0
  103. package/src/models/appointment.js +12 -0
  104. package/src/models/auto-adjunct.js +2 -0
  105. package/src/models/base.js +19 -1
  106. package/src/models/base.spec.js +16 -9
  107. package/src/models/deck-version-screenshot.js +48 -0
  108. package/src/models/deck-version.js +30 -4
  109. package/src/models/feed-data.js +2 -0
  110. package/src/models/image.js +32 -0
  111. package/src/models/manifest-json.js +1 -1
  112. package/src/models/section.js +2 -0
  113. package/src/models/slide.js +2 -0
  114. package/src/models/template.js +2 -0
  115. package/src/models/token.js +47 -0
  116. package/src/models/user.js +2 -0
  117. package/src/models.js +2 -0
  118. package/src/presentation/appointment-presentation.js +10 -2
  119. package/src/presentation/base-presentation-model.js +77 -1
  120. package/src/presentation/base-presentation-model.spec.js +77 -0
  121. package/src/presentation/presentation-deck.js +40 -2
  122. package/src/presentation/presentation-deck.spec.js +53 -0
  123. package/src/presentation/presentation-section.js +37 -5
  124. package/src/presentation/presentation-section.spec.js +135 -2
  125. package/src/presentation/presentation-slide.js +25 -5
  126. package/src/presentation/presentation-slide.spec.js +104 -2
  127. package/src/presentation/presentation.js +24 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/slide.js"],"names":["SlideModel","BaseModel","extend","modelName","props","adjunctslide_limit","adjunct_id","custom","created_by_autoadjunct","created_date","description","enabled","image_128","image_256","image_512","image_1024","image_original","key","modified_date","sequence","namespaced_key","title","uploaded","visible","type","default","tags","children","section","index_asset","collections","subslide_set"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,UAAU,GAAGC,gBAAUC,MAAV;AACzB;AAAiC;AAChCC,EAAAA,SAAS,EAAE,QADqB;;AAGhC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,kBAAkB,EAAE,QADd;AAENC,IAAAA,UAAU,EAAE,QAFN;AAGNC,IAAAA,MAAM,EAAE,SAHF;AAINC,IAAAA,sBAAsB,EAAE,SAJlB;AAKNC,IAAAA,YAAY,EAAE,MALR;AAMNC,IAAAA,WAAW,EAAE,QANP;AAONC,IAAAA,OAAO,EAAE,SAPH;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,SAAS,EAAE,QATL;AAUNC,IAAAA,SAAS,EAAE,QAVL;AAWNC,IAAAA,UAAU,EAAE,QAXN;AAYNC,IAAAA,cAAc,EAAE,QAZV;AAaNC,IAAAA,GAAG,EAAE,QAbC;AAcNC,IAAAA,aAAa,EAAE,MAdT;AAeNC,IAAAA,QAAQ,EAAE,QAfJ;AAgBNC,IAAAA,cAAc,EAAE,QAhBV;AAiBNC,IAAAA,KAAK,EAAE,QAjBD;AAkBNC,IAAAA,QAAQ,EAAE,SAlBJ;AAmBNC,IAAAA,OAAO,EAAE;AACRC,MAAAA,IAAI,EAAE,SADE;AAERC,MAAAA,OAAO,EAAE;AAFD,KAnBH;AAuBNC,IAAAA,IAAI,EAAE;AACLF,MAAAA,IAAI,EAAE,OADD;AAELC,MAAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFJ;AAvBA,GAzByB;;AAsDhC;AACF;AACA;AACA;AACEE,EAAAA,QAAQ,EAAE;AACTC,IAAAA,OAAO,EAAE,cADA;AAETC,IAAAA,WAAW,EAAE;AAFJ,GA1DsB;;AA+DhC;AACF;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,YAAY,EAAE;AADF;AAlEmB,CADR,CAAnB;;;AAyEP,6BAAS,YAAT,EAAuB/B,UAAvB","sourcesContent":["import \"../collections/sub-slides.js\";\nimport \"./section.js\";\nimport \"./asset.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.SlideModel\n * @extends models.BaseModel\n */\nexport const SlideModel = BaseModel.extend(\n\t/** @lends models.SlideModel# */ {\n\t\tmodelName: \"slides\",\n\n\t\t/**\n\t\t * @property {number} adjunctslide_limit\n\t\t * @property {number} adjunct_id\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} created_by_autoadjunct\n\t\t * @property {date} created_date\n\t\t * @property {string} description\n\t\t * @property {boolean} enabled\n\t\t * @property {string} image_128\n\t\t * @property {string} image_256\n\t\t * @property {string} image_512\n\t\t * @property {string} image_1024\n\t\t * @property {string} image_original\n\t\t * @property {string} key\n\t\t * @property {date} modified_date\n\t\t * @property {number} sequence\n\t\t * @property {string} namespaced_key\n\t\t * @property {string} title\n\t\t * @property {boolean} uploaded\n\t\t * @property {boolean} visible\n\t\t * @property {array} tags\n\t\t */\n\t\tprops: {\n\t\t\tadjunctslide_limit: \"number\",\n\t\t\tadjunct_id: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\tcreated_by_autoadjunct: \"boolean\",\n\t\t\tcreated_date: \"date\",\n\t\t\tdescription: \"string\",\n\t\t\tenabled: \"boolean\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\timage_1024: \"string\",\n\t\t\timage_original: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tmodified_date: \"date\",\n\t\t\tsequence: \"number\",\n\t\t\tnamespaced_key: \"string\",\n\t\t\ttitle: \"string\",\n\t\t\tuploaded: \"boolean\",\n\t\t\tvisible: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\ttags: {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: () => [],\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {models.SectionModel} section\n\t\t * @property {models.AssetModel} index_asset\n\t\t */\n\t\tchildren: {\n\t\t\tsection: \"SectionModel\",\n\t\t\tindex_asset: \"AssetModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.SubSlideCollection} subslide_set\n\t\t */\n\t\tcollections: {\n\t\t\tsubslide_set: \"SubSlideCollection\",\n\t\t},\n\t}\n);\n\nregister(\"SlideModel\", SlideModel);\n"],"file":"slide.js"}
1
+ {"version":3,"sources":["../../src/models/slide.js"],"names":["SlideModel","BaseModel","extend","modelName","props","adjunctslide_limit","adjunct_id","custom","created_by_autoadjunct","created_date","description","enabled","image_128","image_256","image_512","image_1024","image_original","key","modified_date","sequence","namespaced_key","title","uploaded","visible","type","default","tags","cmsvalkey_set","children","section","index_asset","collections","subslide_set"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,UAAU,GAAGC,gBAAUC,MAAV;AACzB;AAAiC;AAChCC,EAAAA,SAAS,EAAE,QADqB;;AAGhC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,kBAAkB,EAAE,QADd;AAENC,IAAAA,UAAU,EAAE,QAFN;AAGNC,IAAAA,MAAM,EAAE,SAHF;AAINC,IAAAA,sBAAsB,EAAE,SAJlB;AAKNC,IAAAA,YAAY,EAAE,MALR;AAMNC,IAAAA,WAAW,EAAE,QANP;AAONC,IAAAA,OAAO,EAAE,SAPH;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,SAAS,EAAE,QATL;AAUNC,IAAAA,SAAS,EAAE,QAVL;AAWNC,IAAAA,UAAU,EAAE,QAXN;AAYNC,IAAAA,cAAc,EAAE,QAZV;AAaNC,IAAAA,GAAG,EAAE,QAbC;AAcNC,IAAAA,aAAa,EAAE,MAdT;AAeNC,IAAAA,QAAQ,EAAE,QAfJ;AAgBNC,IAAAA,cAAc,EAAE,QAhBV;AAiBNC,IAAAA,KAAK,EAAE,QAjBD;AAkBNC,IAAAA,QAAQ,EAAE,SAlBJ;AAmBNC,IAAAA,OAAO,EAAE;AACRC,MAAAA,IAAI,EAAE,SADE;AAERC,MAAAA,OAAO,EAAE;AAFD,KAnBH;AAuBNC,IAAAA,IAAI,EAAE;AACLF,MAAAA,IAAI,EAAE,OADD;AAELC,MAAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFJ,KAvBA;AA2BNE,IAAAA,aAAa,EAAE;AA3BT,GA1ByB;;AAwDhC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,OAAO,EAAE,cADA;AAETC,IAAAA,WAAW,EAAE;AAFJ,GA5DsB;;AAiEhC;AACF;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,YAAY,EAAE;AADF;AApEmB,CADR,CAAnB;;;AA2EP,6BAAS,YAAT,EAAuBhC,UAAvB","sourcesContent":["import \"../collections/sub-slides.js\";\nimport \"./section.js\";\nimport \"./asset.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.SlideModel\n * @extends models.BaseModel\n */\nexport const SlideModel = BaseModel.extend(\n\t/** @lends models.SlideModel# */ {\n\t\tmodelName: \"slides\",\n\n\t\t/**\n\t\t * @property {number} adjunctslide_limit\n\t\t * @property {number} adjunct_id\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} created_by_autoadjunct\n\t\t * @property {date} created_date\n\t\t * @property {string} description\n\t\t * @property {boolean} enabled\n\t\t * @property {string} image_128\n\t\t * @property {string} image_256\n\t\t * @property {string} image_512\n\t\t * @property {string} image_1024\n\t\t * @property {string} image_original\n\t\t * @property {string} key\n\t\t * @property {date} modified_date\n\t\t * @property {number} sequence\n\t\t * @property {string} namespaced_key\n\t\t * @property {string} title\n\t\t * @property {boolean} uploaded\n\t\t * @property {boolean} visible\n\t\t * @property {array} tags\n\t\t * @property {string[]} cmsvalkey_set\n\t\t */\n\t\tprops: {\n\t\t\tadjunctslide_limit: \"number\",\n\t\t\tadjunct_id: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\tcreated_by_autoadjunct: \"boolean\",\n\t\t\tcreated_date: \"date\",\n\t\t\tdescription: \"string\",\n\t\t\tenabled: \"boolean\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\timage_1024: \"string\",\n\t\t\timage_original: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tmodified_date: \"date\",\n\t\t\tsequence: \"number\",\n\t\t\tnamespaced_key: \"string\",\n\t\t\ttitle: \"string\",\n\t\t\tuploaded: \"boolean\",\n\t\t\tvisible: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\ttags: {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: () => [],\n\t\t\t},\n\t\t\tcmsvalkey_set: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.SectionModel} section\n\t\t * @property {models.AssetModel} index_asset\n\t\t */\n\t\tchildren: {\n\t\t\tsection: \"SectionModel\",\n\t\t\tindex_asset: \"AssetModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.SubSlideCollection} subslide_set\n\t\t */\n\t\tcollections: {\n\t\t\tsubslide_set: \"SubSlideCollection\",\n\t\t},\n\t}\n);\n\nregister(\"SlideModel\", SlideModel);\n"],"file":"slide.js"}
@@ -33,6 +33,7 @@ var TemplateModel = _base.BaseModel.extend(
33
33
  * @property {string} image_128
34
34
  * @property {string} image_256
35
35
  * @property {string} image_512
36
+ * @property {string[]} cmsvalkey_set
36
37
  */
37
38
  props: {
38
39
  created_date: "date",
@@ -42,7 +43,8 @@ var TemplateModel = _base.BaseModel.extend(
42
43
  sequence: "number",
43
44
  image_128: "string",
44
45
  image_256: "string",
45
- image_512: "string"
46
+ image_512: "string",
47
+ cmsvalkey_set: "array"
46
48
  },
47
49
 
48
50
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/template.js"],"names":["TemplateModel","BaseModel","extend","modelName","props","created_date","modified_date","title","key","sequence","image_128","image_256","image_512","children","index_asset","deckversion"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAoC;AACnCC,EAAAA,SAAS,EAAE,WADwB;;AAGnC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,aAAa,EAAE,MAFT;AAGNC,IAAAA,KAAK,EAAE,QAHD;AAINC,IAAAA,GAAG,EAAE,QAJC;AAKNC,IAAAA,QAAQ,EAAE,QALJ;AAMNC,IAAAA,SAAS,EAAE,QANL;AAONC,IAAAA,SAAS,EAAE,QAPL;AAQNC,IAAAA,SAAS,EAAE;AARL,GAd4B;;AAyBnC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,WAAW,EAAE,YADJ;AAETC,IAAAA,WAAW,EAAE;AAFJ;AA7ByB,CADR,CAAtB;;;AAqCP,6BAAS,eAAT,EAA0Bf,aAA1B","sourcesContent":["import \"./deck-version.js\";\nimport \"./asset.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.TemplateModel\n * @extends models.BaseModel\n */\nexport const TemplateModel = BaseModel.extend(\n\t/** @lends models.TemplateModel# */ {\n\t\tmodelName: \"templates\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} title\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {string} image_128\n\t\t * @property {string} image_128\n\t\t * @property {string} image_256\n\t\t * @property {string} image_512\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\ttitle: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AssetModel} index_asset\n\t\t * @property {models.DeckVersionModel} deckversion\n\t\t */\n\t\tchildren: {\n\t\t\tindex_asset: \"AssetModel\",\n\t\t\tdeckversion: \"DeckVersionModel\",\n\t\t},\n\t}\n);\n\nregister(\"TemplateModel\", TemplateModel);\n"],"file":"template.js"}
1
+ {"version":3,"sources":["../../src/models/template.js"],"names":["TemplateModel","BaseModel","extend","modelName","props","created_date","modified_date","title","key","sequence","image_128","image_256","image_512","cmsvalkey_set","children","index_asset","deckversion"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAoC;AACnCC,EAAAA,SAAS,EAAE,WADwB;;AAGnC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,aAAa,EAAE,MAFT;AAGNC,IAAAA,KAAK,EAAE,QAHD;AAINC,IAAAA,GAAG,EAAE,QAJC;AAKNC,IAAAA,QAAQ,EAAE,QALJ;AAMNC,IAAAA,SAAS,EAAE,QANL;AAONC,IAAAA,SAAS,EAAE,QAPL;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,aAAa,EAAE;AATT,GAf4B;;AA2BnC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,WAAW,EAAE,YADJ;AAETC,IAAAA,WAAW,EAAE;AAFJ;AA/ByB,CADR,CAAtB;;;AAuCP,6BAAS,eAAT,EAA0BhB,aAA1B","sourcesContent":["import \"./deck-version.js\";\nimport \"./asset.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.TemplateModel\n * @extends models.BaseModel\n */\nexport const TemplateModel = BaseModel.extend(\n\t/** @lends models.TemplateModel# */ {\n\t\tmodelName: \"templates\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} title\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {string} image_128\n\t\t * @property {string} image_128\n\t\t * @property {string} image_256\n\t\t * @property {string} image_512\n\t\t * @property {string[]} cmsvalkey_set\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\ttitle: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\tcmsvalkey_set: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AssetModel} index_asset\n\t\t * @property {models.DeckVersionModel} deckversion\n\t\t */\n\t\tchildren: {\n\t\t\tindex_asset: \"AssetModel\",\n\t\t\tdeckversion: \"DeckVersionModel\",\n\t\t},\n\t}\n);\n\nregister(\"TemplateModel\", TemplateModel);\n"],"file":"template.js"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TokenModel = void 0;
7
+
8
+ require("./user.js");
9
+
10
+ var _base = require("./base.js");
11
+
12
+ var _stateRegister = require("../state-register.js");
13
+
14
+ /**
15
+ * @constructor
16
+ * @alias models.TokenModel
17
+ * @extends models.BaseModel
18
+ */
19
+ var TokenModel = _base.BaseModel.extend(
20
+ /** @lends models.TokenModel# */
21
+ {
22
+ modelName: "tokens",
23
+
24
+ /**
25
+ * @property {date} created_date
26
+ * @property {boolean} expired
27
+ * @property {date} expires_at
28
+ * @property {string} key
29
+ * @property {number} seconds_to_expiry
30
+ * @property {string} agent
31
+ * @property {string} agent_version
32
+ */
33
+ props: {
34
+ created_date: "date",
35
+ expired: "boolean",
36
+ expires_at: "date",
37
+ key: "string",
38
+ seconds_to_expiry: "number",
39
+ agent: "string",
40
+ agent_version: "string"
41
+ },
42
+
43
+ /**
44
+ * @property {models.UserModel} user
45
+ */
46
+ children: {
47
+ user: "UserModel"
48
+ },
49
+ url: function url() {
50
+ return "".concat(this.urlRoot()).concat(this.key, "/");
51
+ }
52
+ });
53
+
54
+ exports.TokenModel = TokenModel;
55
+ (0, _stateRegister.register)("TokenModel", TokenModel);
56
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/models/token.js"],"names":["TokenModel","BaseModel","extend","modelName","props","created_date","expired","expires_at","key","seconds_to_expiry","agent","agent_version","children","user","url","urlRoot"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,UAAU,GAAGC,gBAAUC,MAAV;AACzB;AAAiC;AAChCC,EAAAA,SAAS,EAAE,QADqB;;AAGhC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,OAAO,EAAE,SAFH;AAGNC,IAAAA,UAAU,EAAE,MAHN;AAINC,IAAAA,GAAG,EAAE,QAJC;AAKNC,IAAAA,iBAAiB,EAAE,QALb;AAMNC,IAAAA,KAAK,EAAE,QAND;AAONC,IAAAA,aAAa,EAAE;AAPT,GAZyB;;AAsBhC;AACF;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE;AADG,GAzBsB;AA6BhCC,EAAAA,GA7BgC,iBA6B1B;AACL,qBAAU,KAAKC,OAAL,EAAV,SAA2B,KAAKP,GAAhC;AACA;AA/B+B,CADR,CAAnB;;;AAoCP,6BAAS,YAAT,EAAuBR,UAAvB","sourcesContent":["import \"./user.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.TokenModel\n * @extends models.BaseModel\n */\nexport const TokenModel = BaseModel.extend(\n\t/** @lends models.TokenModel# */ {\n\t\tmodelName: \"tokens\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {boolean} expired\n\t\t * @property {date} expires_at\n\t\t * @property {string} key\n\t\t * @property {number} seconds_to_expiry\n\t\t * @property {string} agent\n\t\t * @property {string} agent_version\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\texpired: \"boolean\",\n\t\t\texpires_at: \"date\",\n\t\t\tkey: \"string\",\n\t\t\tseconds_to_expiry: \"number\",\n\t\t\tagent: \"string\",\n\t\t\tagent_version: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tuser: \"UserModel\",\n\t\t},\n\n\t\turl() {\n\t\t\treturn `${this.urlRoot()}${this.key}/`;\n\t\t},\n\t}\n);\n\nregister(\"TokenModel\", TokenModel);\n"],"file":"token.js"}
@@ -147,7 +147,8 @@ var UserModel = _base.BaseModel.extend(
147
147
  canShare: this.actions.indexOf("Share preso") > -1,
148
148
  canPresent: this.actions.indexOf("Present preso") > -1,
149
149
  canCreateWithoutTeam: this.actions.indexOf("Allow Teamless Appointments") > -1,
150
- canUseClosedCaptions: this.actions.indexOf("Use Closed Captions") > -1
150
+ canUseClosedCaptions: this.actions.indexOf("Use Closed Captions") > -1,
151
+ canCreateMutedAppointments: this.actions.indexOf("Create Muted Appointments") > -1
151
152
  };
152
153
  var customers = {
153
154
  canCreateWithoutTeam: this.actions.indexOf("Allow Teamless Customers") > -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/user.js"],"names":["UserModel","BaseModel","extend","modelName","initialize","options","self","anon","props","actions","type","default","preferences","notification_sender","email_signature","app_prefs","timezone","calendar_feed","date_joined","email","first_name","last_name","is_active","is_staff","is_superuser","is_support","is_manager","last_login","username","profile","rtms_topic","rtms_token","last_reset_request","children","tenancy","collections","groups","team_set","derived","fullName","deps","fn","permissions","presets","canCreateCompanyPresets","indexOf","canCreateTeamPresets","presomanager","isGlobalTemporarySlideManager","isTeamTemporarySlideManager","isTeamContentManager","isContentCreator","canAddGlobalNotes","canAddTeamNotes","canModifyNotes","canModifyTemporarySlides","canModifyContent","appointments","canUploadCustomSlides","isContentAdmin","telePresenter","livePresenter","canViewPresosOfOthers","canShare","canPresent","canCreateWithoutTeam","canUseClosedCaptions","customers","fetchHQLogin","resourceURL","Api","getResourceURL","preventCachingID","Number","Date","now","fetch","url","then","prototype","apply","arguments","tap","originalUrl","call","toServer","data","id","map","group"],"mappings":"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","sourcesContent":["import \"./tenancy.js\";\nimport \"../collections/groups.js\";\nimport \"../collections/teams.js\";\n\nimport { Api } from \"../api.js\";\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n\n * @constructor\n * @alias models.UserModel\n * @extends models.BaseModel\n */\nexport const UserModel = BaseModel.extend(\n\t/** @lends models.UserModel# */ {\n\t\tmodelName: \"users\",\n\n\t\tinitialize(options = { self: false, anon: false }) {\n\t\t\tthis.self = options && options.self ? options.self : false;\n\t\t\tthis.anon = options && options.anon ? options.anon : false;\n\t\t},\n\n\t\t/**\n\t\t * @property {string[]} actions\n\t\t * @property {date} date_joined\n\t\t * @property {string} email\n\t\t * @property {string} first_name\n\t\t * @property {string} last_name\n\t\t * @property {boolean} is_active\n\t\t * @property {boolean} is_staff\n\t\t * @property {boolean} is_superuser\n\t\t * @property {boolean} is_support\n\t\t * @property {boolean} is_manager\n\t\t * @property {date} last_login\n\t\t * @property {string} username\n\t\t * @property {object} preferences\n\t\t * @property {object} profile\n\t\t * @property {string} rtms_topic\n\t\t * @property {string} rtms_token\n\t\t * @property {date} last_reset_request\n\t\t */\n\t\tprops: {\n\t\t\tactions: {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: () => [],\n\t\t\t},\n\t\t\tpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: () => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tnotification_sender: \"default\",\n\t\t\t\t\t\temail_signature: \"\",\n\t\t\t\t\t\tapp_prefs: {},\n\t\t\t\t\t\ttimezone: \"\",\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tcalendar_feed: \"string\",\n\t\t\tdate_joined: \"date\",\n\t\t\temail: \"string\",\n\t\t\tfirst_name: \"string\",\n\t\t\tlast_name: \"string\",\n\t\t\tis_active: \"boolean\",\n\t\t\tis_staff: \"boolean\",\n\t\t\tis_superuser: \"boolean\",\n\t\t\tis_support: \"boolean\",\n\t\t\tis_manager: \"boolean\",\n\t\t\tlast_login: \"date\",\n\t\t\tusername: \"string\",\n\t\t\tprofile: \"object\",\n\t\t\trtms_topic: \"string\",\n\t\t\trtms_token: \"string\",\n\t\t\tlast_reset_request: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.TenancyModel} tenancy\n\t\t */\n\t\tchildren: {\n\t\t\ttenancy: \"TenancyModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.GroupCollection} groups\n\t\t * @property {collections.TeamCollection} team_set\n\t\t */\n\t\tcollections: {\n\t\t\tgroups: \"GroupCollection\",\n\t\t\tteam_set: \"TeamCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string} fullName - The full name of the user\n\t\t * @property {object} permissions - The one place for testing user permissions\n\t\t * @property {boolean} permissions.canCreateCompanyPresets - Has ability to create a company preset\n\t\t */\n\t\tderived: {\n\t\t\tfullName: {\n\t\t\t\tdeps: [\"first_name\", \"last_name\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn `${this.first_name} ${this.last_name}`;\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tpermissions: {\n\t\t\t\tdeps: [\"actions\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\tconst presets = {\n\t\t\t\t\t\tcanCreateCompanyPresets:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Deck Presets\") > -1,\n\t\t\t\t\t\tcanCreateTeamPresets:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Team Presets\") > -1,\n\t\t\t\t\t};\n\n\t\t\t\t\tconst presomanager = {\n\t\t\t\t\t\tisGlobalTemporarySlideManager:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Temporary Slides\") > -1,\n\t\t\t\t\t\tisTeamTemporarySlideManager:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Team Temporary Slides\") > -1,\n\n\t\t\t\t\t\tisTeamContentManager:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Team Editable Text\") > -1,\n\t\t\t\t\t\tisContentCreator: this.actions.indexOf(\"Create Content\") > -1,\n\n\t\t\t\t\t\tcanAddGlobalNotes: this.actions.indexOf(\"Manage Notes\") > -1,\n\t\t\t\t\t\tcanAddTeamNotes: this.actions.indexOf(\"Manage Team Notes\") > -1,\n\t\t\t\t\t};\n\n\t\t\t\t\tpresomanager.canModifyNotes =\n\t\t\t\t\t\tpresomanager.canAddGlobalNotes || presomanager.canAddTeamNotes;\n\n\t\t\t\t\tpresomanager.canModifyTemporarySlides =\n\t\t\t\t\t\tpresomanager.isGlobalTemporarySlideManager ||\n\t\t\t\t\t\tpresomanager.isTeamTemporarySlideManager;\n\n\t\t\t\t\tpresomanager.canModifyContent =\n\t\t\t\t\t\tthis.actions.indexOf(\"Create Content\") > -1 ||\n\t\t\t\t\t\tthis.actions.indexOf(\"Manage Team Editable Text\") > -1;\n\n\t\t\t\t\tconst appointments = {\n\t\t\t\t\t\tcanUploadCustomSlides:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Upload Custom Slides\") > -1 &&\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Upload Custom Sections\") > -1,\n\n\t\t\t\t\t\tisContentAdmin: this.actions.indexOf(\"Administer Content\") > -1,\n\t\t\t\t\t\tisContentCreator: this.actions.indexOf(\"Create Content\") > -1,\n\n\t\t\t\t\t\ttelePresenter: this.actions.indexOf(\"TelePresent\") > -1,\n\t\t\t\t\t\tlivePresenter: this.actions.indexOf(\"LivePresent\") > -1,\n\n\t\t\t\t\t\tcanViewPresosOfOthers:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"View Presos of Others\") > -1,\n\t\t\t\t\t\tcanShare: this.actions.indexOf(\"Share preso\") > -1,\n\t\t\t\t\t\tcanPresent: this.actions.indexOf(\"Present preso\") > -1,\n\t\t\t\t\t\tcanCreateWithoutTeam:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Allow Teamless Appointments\") > -1,\n\t\t\t\t\t\tcanUseClosedCaptions:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Use Closed Captions\") > -1,\n\t\t\t\t\t};\n\n\t\t\t\t\tconst customers = {\n\t\t\t\t\t\tcanCreateWithoutTeam:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Allow Teamless Customers\") > -1,\n\t\t\t\t\t};\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\tappointments,\n\t\t\t\t\t\tpresomanager,\n\t\t\t\t\t\tcustomers,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tfetchHQLogin() {\n\t\t\tconst resourceURL = Api.getResourceURL(\"hq-authorized-link\");\n\t\t\tconst preventCachingID = Number(Date.now());\n\n\t\t\t// This will return a cached response if we don't have a random ID\n\t\t\t// attached.\n\t\t\treturn this.fetch({ url: `${resourceURL}?_=${preventCachingID}` }).then(\n\t\t\t\t({ url }) => {\n\t\t\t\t\treturn url;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tfetch() {\n\t\t\tconst fetch = BaseModel.prototype.fetch.apply(this, arguments);\n\n\t\t\treturn fetch.tap(() => {\n\t\t\t\tif (this.self) {\n\t\t\t\t\tthis.self = false;\n\t\t\t\t}\n\n\t\t\t\tif (this.anon) {\n\t\t\t\t\tthis.anon = false;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\turl() {\n\t\t\tconst originalUrl = BaseModel.prototype.url.call(this);\n\t\t\tif (this.self) {\n\t\t\t\treturn `${originalUrl}self/`;\n\t\t\t} else if (this.anon) {\n\t\t\t\treturn `${originalUrl}anon/`;\n\t\t\t}\n\t\t\treturn originalUrl;\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst data = {\n\t\t\t\tid: this.id,\n\t\t\t\tpreferences: this.preferences,\n\t\t\t};\n\n\t\t\tif (this.groups) {\n\t\t\t\tdata.groups = this.groups.map((group) => group.url());\n\t\t\t}\n\n\t\t\tif (!data.preferences.timezone) {\n\t\t\t\tdelete data.preferences.timezone;\n\t\t\t}\n\n\t\t\treturn data;\n\t\t},\n\t}\n);\n\nregister(\"UserModel\", UserModel);\n"],"file":"user.js"}
1
+ {"version":3,"sources":["../../src/models/user.js"],"names":["UserModel","BaseModel","extend","modelName","initialize","options","self","anon","props","actions","type","default","preferences","notification_sender","email_signature","app_prefs","timezone","calendar_feed","date_joined","email","first_name","last_name","is_active","is_staff","is_superuser","is_support","is_manager","last_login","username","profile","rtms_topic","rtms_token","last_reset_request","children","tenancy","collections","groups","team_set","derived","fullName","deps","fn","permissions","presets","canCreateCompanyPresets","indexOf","canCreateTeamPresets","presomanager","isGlobalTemporarySlideManager","isTeamTemporarySlideManager","isTeamContentManager","isContentCreator","canAddGlobalNotes","canAddTeamNotes","canModifyNotes","canModifyTemporarySlides","canModifyContent","appointments","canUploadCustomSlides","isContentAdmin","telePresenter","livePresenter","canViewPresosOfOthers","canShare","canPresent","canCreateWithoutTeam","canUseClosedCaptions","canCreateMutedAppointments","customers","fetchHQLogin","resourceURL","Api","getResourceURL","preventCachingID","Number","Date","now","fetch","url","then","prototype","apply","arguments","tap","originalUrl","call","toServer","data","id","map","group"],"mappings":"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","sourcesContent":["import \"./tenancy.js\";\nimport \"../collections/groups.js\";\nimport \"../collections/teams.js\";\n\nimport { Api } from \"../api.js\";\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n\n * @constructor\n * @alias models.UserModel\n * @extends models.BaseModel\n */\nexport const UserModel = BaseModel.extend(\n\t/** @lends models.UserModel# */ {\n\t\tmodelName: \"users\",\n\n\t\tinitialize(options = { self: false, anon: false }) {\n\t\t\tthis.self = options && options.self ? options.self : false;\n\t\t\tthis.anon = options && options.anon ? options.anon : false;\n\t\t},\n\n\t\t/**\n\t\t * @property {string[]} actions\n\t\t * @property {date} date_joined\n\t\t * @property {string} email\n\t\t * @property {string} first_name\n\t\t * @property {string} last_name\n\t\t * @property {boolean} is_active\n\t\t * @property {boolean} is_staff\n\t\t * @property {boolean} is_superuser\n\t\t * @property {boolean} is_support\n\t\t * @property {boolean} is_manager\n\t\t * @property {date} last_login\n\t\t * @property {string} username\n\t\t * @property {object} preferences\n\t\t * @property {object} profile\n\t\t * @property {string} rtms_topic\n\t\t * @property {string} rtms_token\n\t\t * @property {date} last_reset_request\n\t\t */\n\t\tprops: {\n\t\t\tactions: {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: () => [],\n\t\t\t},\n\t\t\tpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: () => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tnotification_sender: \"default\",\n\t\t\t\t\t\temail_signature: \"\",\n\t\t\t\t\t\tapp_prefs: {},\n\t\t\t\t\t\ttimezone: \"\",\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tcalendar_feed: \"string\",\n\t\t\tdate_joined: \"date\",\n\t\t\temail: \"string\",\n\t\t\tfirst_name: \"string\",\n\t\t\tlast_name: \"string\",\n\t\t\tis_active: \"boolean\",\n\t\t\tis_staff: \"boolean\",\n\t\t\tis_superuser: \"boolean\",\n\t\t\tis_support: \"boolean\",\n\t\t\tis_manager: \"boolean\",\n\t\t\tlast_login: \"date\",\n\t\t\tusername: \"string\",\n\t\t\tprofile: \"object\",\n\t\t\trtms_topic: \"string\",\n\t\t\trtms_token: \"string\",\n\t\t\tlast_reset_request: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.TenancyModel} tenancy\n\t\t */\n\t\tchildren: {\n\t\t\ttenancy: \"TenancyModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.GroupCollection} groups\n\t\t * @property {collections.TeamCollection} team_set\n\t\t */\n\t\tcollections: {\n\t\t\tgroups: \"GroupCollection\",\n\t\t\tteam_set: \"TeamCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string} fullName - The full name of the user\n\t\t * @property {object} permissions - The one place for testing user permissions\n\t\t * @property {boolean} permissions.canCreateCompanyPresets - Has ability to create a company preset\n\t\t */\n\t\tderived: {\n\t\t\tfullName: {\n\t\t\t\tdeps: [\"first_name\", \"last_name\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn `${this.first_name} ${this.last_name}`;\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tpermissions: {\n\t\t\t\tdeps: [\"actions\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\tconst presets = {\n\t\t\t\t\t\tcanCreateCompanyPresets:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Deck Presets\") > -1,\n\t\t\t\t\t\tcanCreateTeamPresets:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Team Presets\") > -1,\n\t\t\t\t\t};\n\n\t\t\t\t\tconst presomanager = {\n\t\t\t\t\t\tisGlobalTemporarySlideManager:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Temporary Slides\") > -1,\n\t\t\t\t\t\tisTeamTemporarySlideManager:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Team Temporary Slides\") > -1,\n\n\t\t\t\t\t\tisTeamContentManager:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Manage Team Editable Text\") > -1,\n\t\t\t\t\t\tisContentCreator: this.actions.indexOf(\"Create Content\") > -1,\n\n\t\t\t\t\t\tcanAddGlobalNotes: this.actions.indexOf(\"Manage Notes\") > -1,\n\t\t\t\t\t\tcanAddTeamNotes: this.actions.indexOf(\"Manage Team Notes\") > -1,\n\t\t\t\t\t};\n\n\t\t\t\t\tpresomanager.canModifyNotes =\n\t\t\t\t\t\tpresomanager.canAddGlobalNotes || presomanager.canAddTeamNotes;\n\n\t\t\t\t\tpresomanager.canModifyTemporarySlides =\n\t\t\t\t\t\tpresomanager.isGlobalTemporarySlideManager ||\n\t\t\t\t\t\tpresomanager.isTeamTemporarySlideManager;\n\n\t\t\t\t\tpresomanager.canModifyContent =\n\t\t\t\t\t\tthis.actions.indexOf(\"Create Content\") > -1 ||\n\t\t\t\t\t\tthis.actions.indexOf(\"Manage Team Editable Text\") > -1;\n\n\t\t\t\t\tconst appointments = {\n\t\t\t\t\t\tcanUploadCustomSlides:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Upload Custom Slides\") > -1 &&\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Upload Custom Sections\") > -1,\n\n\t\t\t\t\t\tisContentAdmin: this.actions.indexOf(\"Administer Content\") > -1,\n\t\t\t\t\t\tisContentCreator: this.actions.indexOf(\"Create Content\") > -1,\n\n\t\t\t\t\t\ttelePresenter: this.actions.indexOf(\"TelePresent\") > -1,\n\t\t\t\t\t\tlivePresenter: this.actions.indexOf(\"LivePresent\") > -1,\n\n\t\t\t\t\t\tcanViewPresosOfOthers:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"View Presos of Others\") > -1,\n\t\t\t\t\t\tcanShare: this.actions.indexOf(\"Share preso\") > -1,\n\t\t\t\t\t\tcanPresent: this.actions.indexOf(\"Present preso\") > -1,\n\t\t\t\t\t\tcanCreateWithoutTeam:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Allow Teamless Appointments\") > -1,\n\t\t\t\t\t\tcanUseClosedCaptions:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Use Closed Captions\") > -1,\n\t\t\t\t\t\tcanCreateMutedAppointments:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Create Muted Appointments\") > -1,\n\t\t\t\t\t};\n\n\t\t\t\t\tconst customers = {\n\t\t\t\t\t\tcanCreateWithoutTeam:\n\t\t\t\t\t\t\tthis.actions.indexOf(\"Allow Teamless Customers\") > -1,\n\t\t\t\t\t};\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\tappointments,\n\t\t\t\t\t\tpresomanager,\n\t\t\t\t\t\tcustomers,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tfetchHQLogin() {\n\t\t\tconst resourceURL = Api.getResourceURL(\"hq-authorized-link\");\n\t\t\tconst preventCachingID = Number(Date.now());\n\n\t\t\t// This will return a cached response if we don't have a random ID\n\t\t\t// attached.\n\t\t\treturn this.fetch({ url: `${resourceURL}?_=${preventCachingID}` }).then(\n\t\t\t\t({ url }) => {\n\t\t\t\t\treturn url;\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\n\t\tfetch() {\n\t\t\tconst fetch = BaseModel.prototype.fetch.apply(this, arguments);\n\n\t\t\treturn fetch.tap(() => {\n\t\t\t\tif (this.self) {\n\t\t\t\t\tthis.self = false;\n\t\t\t\t}\n\n\t\t\t\tif (this.anon) {\n\t\t\t\t\tthis.anon = false;\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\turl() {\n\t\t\tconst originalUrl = BaseModel.prototype.url.call(this);\n\t\t\tif (this.self) {\n\t\t\t\treturn `${originalUrl}self/`;\n\t\t\t} else if (this.anon) {\n\t\t\t\treturn `${originalUrl}anon/`;\n\t\t\t}\n\t\t\treturn originalUrl;\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst data = {\n\t\t\t\tid: this.id,\n\t\t\t\tpreferences: this.preferences,\n\t\t\t};\n\n\t\t\tif (this.groups) {\n\t\t\t\tdata.groups = this.groups.map((group) => group.url());\n\t\t\t}\n\n\t\t\tif (!data.preferences.timezone) {\n\t\t\t\tdelete data.preferences.timezone;\n\t\t\t}\n\n\t\t\treturn data;\n\t\t},\n\t}\n);\n\nregister(\"UserModel\", UserModel);\n"],"file":"user.js"}
package/cjs/models.js CHANGED
@@ -238,6 +238,19 @@ Object.keys(_deckVersion).forEach(function (key) {
238
238
  });
239
239
  });
240
240
 
241
+ var _deckVersionScreenshot = require("./models/deck-version-screenshot");
242
+
243
+ Object.keys(_deckVersionScreenshot).forEach(function (key) {
244
+ if (key === "default" || key === "__esModule") return;
245
+ if (key in exports && exports[key] === _deckVersionScreenshot[key]) return;
246
+ Object.defineProperty(exports, key, {
247
+ enumerable: true,
248
+ get: function get() {
249
+ return _deckVersionScreenshot[key];
250
+ }
251
+ });
252
+ });
253
+
241
254
  var _dispatch = require("./models/dispatch");
242
255
 
243
256
  Object.keys(_dispatch).forEach(function (key) {
@@ -835,4 +848,17 @@ Object.keys(_transcribeSocket).forEach(function (key) {
835
848
  }
836
849
  });
837
850
  });
851
+
852
+ var _token = require("./models/token.js");
853
+
854
+ Object.keys(_token).forEach(function (key) {
855
+ if (key === "default" || key === "__esModule") return;
856
+ if (key in exports && exports[key] === _token[key]) return;
857
+ Object.defineProperty(exports, key, {
858
+ enumerable: true,
859
+ get: function get() {
860
+ return _token[key];
861
+ }
862
+ });
863
+ });
838
864
  //# sourceMappingURL=models.js.map
package/cjs/models.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/models.js"],"names":[],"mappings":";;;;;;AAGA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/**\n * @namespace models\n */\nexport * from \"./models/activity-item\";\nexport * from \"./models/adjunct\";\nexport * from \"./models/adjunct-section\";\nexport * from \"./models/adjunct-slide\";\nexport * from \"./models/adjunct-sub-slide\";\nexport * from \"./models/api\";\nexport * from \"./models/appointment\";\nexport * from \"./models/appointment-tags\";\nexport * from \"./models/asset\";\nexport * from \"./models/auto-adjunct\";\nexport * from \"./models/base\";\nexport * from \"./models/choicelist.js\";\nexport * from \"./models/cms-val\";\nexport * from \"./models/contact\";\nexport * from \"./models/customer\";\nexport * from \"./models/deck\";\nexport * from \"./models/deck-tags\";\nexport * from \"./models/deck-version\";\nexport * from \"./models/dispatch\";\nexport * from \"./models/dispatch-preview\";\nexport * from \"./models/envs.js\";\nexport * from \"./models/event\";\nexport * from \"./models/event-object\";\nexport * from \"./models/file.js\";\nexport * from \"./models/feed-data.js\";\nexport * from \"./models/group\";\nexport * from \"./models/handover.js\";\nexport * from \"./models/hosted-preso.js\";\nexport * from \"./models/image\";\nexport * from \"./models/location.js\";\nexport * from \"./models/manifest-json\";\nexport * from \"./models/deck-note\";\nexport * from \"./models/opportunity\";\nexport * from \"./models/pack\";\nexport * from \"./models/pack-diff\";\nexport * from \"./models/preset\";\nexport * from \"./models/refresh-request\";\nexport * from \"./models/room\";\nexport * from \"./models/salesforce-lookup.js\";\nexport * from \"./models/section\";\nexport * from \"./models/section-selection\";\nexport * from \"./models/slide\";\nexport * from \"./models/slide-selection\";\nexport * from \"./models/snapshot\";\nexport * from \"./models/sub-slide\";\nexport * from \"./models/support-ticket.js\";\nexport * from \"./models/tag.js\";\nexport * from \"./models/tenancy.js\";\nexport * from \"./models/timing-log.js\";\nexport * from \"./models/upload.js\";\nexport * from \"./models/user\";\nexport * from \"./models/onshare\";\nexport * from \"./models/appointment-editor.js\";\nexport * from \"./models/appointment-duplicate.js\";\nexport * from \"./models/appointment-stats.js\";\nexport * from \"./models/appointment-viewing.js\";\nexport * from \"./models/appointment-deckversion-tags.js\";\nexport * from \"./models/appointment-section-tags.js\";\nexport * from \"./models/appointment-slide-tags.js\";\nexport * from \"./models/appointment-adjunct-tags.js\";\nexport * from \"./models/team.js\";\nexport * from \"./models/template.js\";\nexport * from \"./models/auto-adjunct-key-check.js\";\nexport * from \"./models/transcribe-socket.js\";\n"],"file":"models.js"}
1
+ {"version":3,"sources":["../src/models.js"],"names":[],"mappings":";;;;;;AAGA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["/**\n * @namespace models\n */\nexport * from \"./models/activity-item\";\nexport * from \"./models/adjunct\";\nexport * from \"./models/adjunct-section\";\nexport * from \"./models/adjunct-slide\";\nexport * from \"./models/adjunct-sub-slide\";\nexport * from \"./models/api\";\nexport * from \"./models/appointment\";\nexport * from \"./models/appointment-tags\";\nexport * from \"./models/asset\";\nexport * from \"./models/auto-adjunct\";\nexport * from \"./models/base\";\nexport * from \"./models/choicelist.js\";\nexport * from \"./models/cms-val\";\nexport * from \"./models/contact\";\nexport * from \"./models/customer\";\nexport * from \"./models/deck\";\nexport * from \"./models/deck-tags\";\nexport * from \"./models/deck-version\";\nexport * from \"./models/deck-version-screenshot\";\nexport * from \"./models/dispatch\";\nexport * from \"./models/dispatch-preview\";\nexport * from \"./models/envs.js\";\nexport * from \"./models/event\";\nexport * from \"./models/event-object\";\nexport * from \"./models/file.js\";\nexport * from \"./models/feed-data.js\";\nexport * from \"./models/group\";\nexport * from \"./models/handover.js\";\nexport * from \"./models/hosted-preso.js\";\nexport * from \"./models/image\";\nexport * from \"./models/location.js\";\nexport * from \"./models/manifest-json\";\nexport * from \"./models/deck-note\";\nexport * from \"./models/opportunity\";\nexport * from \"./models/pack\";\nexport * from \"./models/pack-diff\";\nexport * from \"./models/preset\";\nexport * from \"./models/refresh-request\";\nexport * from \"./models/room\";\nexport * from \"./models/salesforce-lookup.js\";\nexport * from \"./models/section\";\nexport * from \"./models/section-selection\";\nexport * from \"./models/slide\";\nexport * from \"./models/slide-selection\";\nexport * from \"./models/snapshot\";\nexport * from \"./models/sub-slide\";\nexport * from \"./models/support-ticket.js\";\nexport * from \"./models/tag.js\";\nexport * from \"./models/tenancy.js\";\nexport * from \"./models/timing-log.js\";\nexport * from \"./models/upload.js\";\nexport * from \"./models/user\";\nexport * from \"./models/onshare\";\nexport * from \"./models/appointment-editor.js\";\nexport * from \"./models/appointment-duplicate.js\";\nexport * from \"./models/appointment-stats.js\";\nexport * from \"./models/appointment-viewing.js\";\nexport * from \"./models/appointment-deckversion-tags.js\";\nexport * from \"./models/appointment-section-tags.js\";\nexport * from \"./models/appointment-slide-tags.js\";\nexport * from \"./models/appointment-adjunct-tags.js\";\nexport * from \"./models/team.js\";\nexport * from \"./models/template.js\";\nexport * from \"./models/auto-adjunct-key-check.js\";\nexport * from \"./models/transcribe-socket.js\";\nexport * from \"./models/token.js\";\n"],"file":"models.js"}
@@ -82,19 +82,23 @@ var AppointmentPresentation = _base.BaseModel.extend(
82
82
  exports.AppointmentPresentation = AppointmentPresentation;
83
83
 
84
84
  var createFromAppointment = function createFromAppointment(appointment, options) {
85
- var appointmentPresentation = new AppointmentPresentation(); // Note that we're not passing through tags if appointment.tags is empty.
85
+ var appointmentPresentation = new AppointmentPresentation();
86
+ var team = appointment.team ? new _models.TeamModel(appointment.team).id : null; // Note that we're not passing through tags if appointment.tags is empty.
86
87
  // This is because tags currently aren't available in the telepresenter
87
88
  // bundle and we want to fall back on the model tags for now.
88
89
 
89
90
  appointmentPresentation.presentation.decks.add(appointment.deckversion_set.map(function (model, index) {
91
+ var screenshots = _presentationDeck.PresentationDeck.filterScreenshotsByTeam(model.screenshots, team);
92
+
90
93
  return _presentationDeck.PresentationDeck.createFromDeckVersion(model, _objectSpread({
91
94
  adjunctSections: appointment.adjunctSections,
92
95
  adjunctSlides: appointment.adjunctSlides,
93
96
  adjunctSubSlides: appointment.adjunctSubSlides,
94
97
  sectionSelections: appointment.appointmentssection_set,
95
98
  slideSelections: appointment.appointmentsslide_set,
96
- index: index,
97
- appointmentTags: appointment.tags.length ? appointment.tags : null
99
+ appointmentTags: appointment.tags.length ? appointment.tags : null,
100
+ screenshots: screenshots,
101
+ index: index
98
102
  }, options));
99
103
  }));
100
104
  appointmentPresentation.tele = appointment.latest_tele;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/appointment-presentation.js"],"names":["AppointmentPresentation","BaseModel","extend","props","viewtype","begin","end","tele","supportMode","locks","children","presentation","latest_snapshot","latest_feed_data","user","collections","opportunities","contacts","createFromAppointment","appointment","options","appointmentPresentation","decks","add","deckversion_set","map","model","index","PresentationDeck","createFromDeckVersion","adjunctSections","adjunctSlides","adjunctSubSlides","sectionSelections","appointmentssection_set","slideSelections","appointmentsslide_set","appointmentTags","tags","length","latest_tele","opportunity_set","contact_set","support_mode","id","createFromURL","url","AppointmentModel","fetchAll","then","createFromID"],"mappings":"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","sourcesContent":["import \"./presentation.js\";\nimport \"../models/feed-data.js\";\nimport \"../models/snapshot.js\";\nimport \"../models/user.js\";\nimport \"../collections/opportunities.js\";\nimport \"../collections/contacts.js\";\n\nimport { AppointmentModel } from \"../models.js\";\nimport { BaseModel } from \"../models/base.js\";\nimport { PresentationDeck } from \"./presentation-deck.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias presentation.AppointmentPresentation\n * @extends presentation.BasePresentationModel\n */\nexport const AppointmentPresentation = BaseModel.extend(\n\t/** @lends presentation.AppointmentPresentation# */ {\n\t\t/**\n\t\t * @property {string} viewtype\n\t\t * @property {date} begin\n\t\t * @property {object} tele\n\t\t * @property {boolean} supportMode\n\t\t */\n\t\tprops: {\n\t\t\tviewtype: \"string\",\n\t\t\tbegin: \"date\",\n\t\t\tend: \"date\",\n\t\t\ttele: \"object\",\n\t\t\tsupportMode: \"boolean\",\n\t\t\tlocks: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.Presentation} presentation\n\t\t * @property {models.SnapshotModel} latest_snapshot\n\t\t * @property {models.FeedDataModel} latest_feed_data\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tpresentation: \"Presentation\",\n\t\t\tlatest_snapshot: \"SnapshotModel\",\n\t\t\tlatest_feed_data: \"FeedDataModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.OpportunityCollection} opportunities\n\t\t * @property {collections.ContactCollection} contacts\n\t\t */\n\t\tcollections: {\n\t\t\topportunities: \"OpportunityCollection\",\n\t\t\tcontacts: \"ContactCollection\",\n\t\t},\n\t}\n);\n\nconst createFromAppointment = function (appointment, options) {\n\tconst appointmentPresentation = new AppointmentPresentation();\n\n\t// Note that we're not passing through tags if appointment.tags is empty.\n\t// This is because tags currently aren't available in the telepresenter\n\t// bundle and we want to fall back on the model tags for now.\n\tappointmentPresentation.presentation.decks.add(\n\t\tappointment.deckversion_set.map((model, index) => {\n\t\t\treturn PresentationDeck.createFromDeckVersion(model, {\n\t\t\t\tadjunctSections: appointment.adjunctSections,\n\t\t\t\tadjunctSlides: appointment.adjunctSlides,\n\t\t\t\tadjunctSubSlides: appointment.adjunctSubSlides,\n\t\t\t\tsectionSelections: appointment.appointmentssection_set,\n\t\t\t\tslideSelections: appointment.appointmentsslide_set,\n\t\t\t\tindex,\n\t\t\t\tappointmentTags: appointment.tags.length ? appointment.tags : null,\n\t\t\t\t...options,\n\t\t\t});\n\t\t})\n\t);\n\n\tappointmentPresentation.tele = appointment.latest_tele;\n\tappointmentPresentation.user = appointment.user;\n\tappointmentPresentation.begin = appointment.begin;\n\tappointmentPresentation.end = appointment.end;\n\tappointmentPresentation.latest_snapshot = appointment.latest_snapshot;\n\tappointmentPresentation.latest_feed_data = appointment.latest_feed_data;\n\tappointmentPresentation.viewtype = appointment.viewtype;\n\tappointmentPresentation.opportunities = appointment.opportunity_set;\n\tappointmentPresentation.contacts = appointment.contact_set;\n\tappointmentPresentation.supportMode = appointment.support_mode;\n\tappointmentPresentation.id = appointment.id;\n\tappointmentPresentation.locks = appointment.locks;\n\n\treturn appointmentPresentation;\n};\n\n/**\n * @function createFromURL\n * @memberof presentation.AppointmentPresentation\n * @param {string} url\n */\nAppointmentPresentation.createFromURL = function (url, options = {}) {\n\tconst appointment = new AppointmentModel({ url });\n\n\treturn appointment.fetchAll(true).then(() => {\n\t\treturn createFromAppointment(appointment, options);\n\t});\n};\n\n/**\n * @function createFromID\n * @memberof presentation.AppointmentPresentation\n * @param {number} id\n */\nAppointmentPresentation.createFromID = function (id, options = {}) {\n\tconst appointment = new AppointmentModel({ id });\n\n\treturn appointment.fetchAll().then(() => {\n\t\treturn createFromAppointment(appointment, options);\n\t});\n};\n\n/**\n * @function createFromAppointment\n * @memberof presentation.AppointmentPresentation\n * @param {model} appointment\n */\nAppointmentPresentation.createFromAppointment = function (\n\tappointment,\n\toptions = {}\n) {\n\treturn createFromAppointment(appointment, options);\n};\n\nregister(\"AppointmentPresentation\", AppointmentPresentation);\n"],"file":"appointment-presentation.js"}
1
+ {"version":3,"sources":["../../src/presentation/appointment-presentation.js"],"names":["AppointmentPresentation","BaseModel","extend","props","viewtype","begin","end","tele","supportMode","locks","children","presentation","latest_snapshot","latest_feed_data","user","collections","opportunities","contacts","createFromAppointment","appointment","options","appointmentPresentation","team","TeamModel","id","decks","add","deckversion_set","map","model","index","screenshots","PresentationDeck","filterScreenshotsByTeam","createFromDeckVersion","adjunctSections","adjunctSlides","adjunctSubSlides","sectionSelections","appointmentssection_set","slideSelections","appointmentsslide_set","appointmentTags","tags","length","latest_tele","opportunity_set","contact_set","support_mode","createFromURL","url","AppointmentModel","fetchAll","then","createFromID"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,uBAAuB,GAAGC,gBAAUC,MAAV;AACtC;AAAoD;AACnD;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,QAAQ,EAAE,QADJ;AAENC,IAAAA,KAAK,EAAE,MAFD;AAGNC,IAAAA,GAAG,EAAE,MAHC;AAINC,IAAAA,IAAI,EAAE,QAJA;AAKNC,IAAAA,WAAW,EAAE,SALP;AAMNC,IAAAA,KAAK,EAAE;AAND,GAP4C;;AAgBnD;AACF;AACA;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,YAAY,EAAE,cADL;AAETC,IAAAA,eAAe,EAAE,eAFR;AAGTC,IAAAA,gBAAgB,EAAE,eAHT;AAITC,IAAAA,IAAI,EAAE;AAJG,GAtByC;;AA6BnD;AACF;AACA;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,aAAa,EAAE,uBADH;AAEZC,IAAAA,QAAQ,EAAE;AAFE;AAjCsC,CADd,CAAhC;;;;AAyCP,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAUC,WAAV,EAAuBC,OAAvB,EAAgC;AAC7D,MAAMC,uBAAuB,GAAG,IAAIrB,uBAAJ,EAAhC;AACA,MAAMsB,IAAI,GAAGH,WAAW,CAACG,IAAZ,GAAmB,IAAIC,iBAAJ,CAAcJ,WAAW,CAACG,IAA1B,EAAgCE,EAAnD,GAAwD,IAArE,CAF6D,CAI7D;AACA;AACA;;AACAH,EAAAA,uBAAuB,CAACV,YAAxB,CAAqCc,KAArC,CAA2CC,GAA3C,CACCP,WAAW,CAACQ,eAAZ,CAA4BC,GAA5B,CAAgC,UAACC,KAAD,EAAQC,KAAR,EAAkB;AACjD,QAAMC,WAAW,GAAGC,mCAAiBC,uBAAjB,CACnBJ,KAAK,CAACE,WADa,EAEnBT,IAFmB,CAApB;;AAKA,WAAOU,mCAAiBE,qBAAjB,CAAuCL,KAAvC;AACNM,MAAAA,eAAe,EAAEhB,WAAW,CAACgB,eADvB;AAENC,MAAAA,aAAa,EAAEjB,WAAW,CAACiB,aAFrB;AAGNC,MAAAA,gBAAgB,EAAElB,WAAW,CAACkB,gBAHxB;AAINC,MAAAA,iBAAiB,EAAEnB,WAAW,CAACoB,uBAJzB;AAKNC,MAAAA,eAAe,EAAErB,WAAW,CAACsB,qBALvB;AAMNC,MAAAA,eAAe,EAAEvB,WAAW,CAACwB,IAAZ,CAAiBC,MAAjB,GAA0BzB,WAAW,CAACwB,IAAtC,GAA6C,IANxD;AAONZ,MAAAA,WAAW,EAAXA,WAPM;AAQND,MAAAA,KAAK,EAALA;AARM,OASHV,OATG,EAAP;AAWA,GAjBD,CADD;AAqBAC,EAAAA,uBAAuB,CAACd,IAAxB,GAA+BY,WAAW,CAAC0B,WAA3C;AACAxB,EAAAA,uBAAuB,CAACP,IAAxB,GAA+BK,WAAW,CAACL,IAA3C;AACAO,EAAAA,uBAAuB,CAAChB,KAAxB,GAAgCc,WAAW,CAACd,KAA5C;AACAgB,EAAAA,uBAAuB,CAACf,GAAxB,GAA8Ba,WAAW,CAACb,GAA1C;AACAe,EAAAA,uBAAuB,CAACT,eAAxB,GAA0CO,WAAW,CAACP,eAAtD;AACAS,EAAAA,uBAAuB,CAACR,gBAAxB,GAA2CM,WAAW,CAACN,gBAAvD;AACAQ,EAAAA,uBAAuB,CAACjB,QAAxB,GAAmCe,WAAW,CAACf,QAA/C;AACAiB,EAAAA,uBAAuB,CAACL,aAAxB,GAAwCG,WAAW,CAAC2B,eAApD;AACAzB,EAAAA,uBAAuB,CAACJ,QAAxB,GAAmCE,WAAW,CAAC4B,WAA/C;AACA1B,EAAAA,uBAAuB,CAACb,WAAxB,GAAsCW,WAAW,CAAC6B,YAAlD;AACA3B,EAAAA,uBAAuB,CAACG,EAAxB,GAA6BL,WAAW,CAACK,EAAzC;AACAH,EAAAA,uBAAuB,CAACZ,KAAxB,GAAgCU,WAAW,CAACV,KAA5C;AAEA,SAAOY,uBAAP;AACA,CA1CD;AA4CA;AACA;AACA;AACA;AACA;;;AACArB,uBAAuB,CAACiD,aAAxB,GAAwC,UAAUC,GAAV,EAA6B;AAAA,MAAd9B,OAAc,uEAAJ,EAAI;AACpE,MAAMD,WAAW,GAAG,IAAIgC,wBAAJ,CAAqB;AAAED,IAAAA,GAAG,EAAHA;AAAF,GAArB,CAApB;AAEA,SAAO/B,WAAW,CAACiC,QAAZ,CAAqB,IAArB,EAA2BC,IAA3B,CAAgC,YAAM;AAC5C,WAAOnC,qBAAqB,CAACC,WAAD,EAAcC,OAAd,CAA5B;AACA,GAFM,CAAP;AAGA,CAND;AAQA;AACA;AACA;AACA;AACA;;;AACApB,uBAAuB,CAACsD,YAAxB,GAAuC,UAAU9B,EAAV,EAA4B;AAAA,MAAdJ,OAAc,uEAAJ,EAAI;AAClE,MAAMD,WAAW,GAAG,IAAIgC,wBAAJ,CAAqB;AAAE3B,IAAAA,EAAE,EAAFA;AAAF,GAArB,CAApB;AAEA,SAAOL,WAAW,CAACiC,QAAZ,GAAuBC,IAAvB,CAA4B,YAAM;AACxC,WAAOnC,qBAAqB,CAACC,WAAD,EAAcC,OAAd,CAA5B;AACA,GAFM,CAAP;AAGA,CAND;AAQA;AACA;AACA;AACA;AACA;;;AACApB,uBAAuB,CAACkB,qBAAxB,GAAgD,UAC/CC,WAD+C,EAG9C;AAAA,MADDC,OACC,uEADS,EACT;AACD,SAAOF,qBAAqB,CAACC,WAAD,EAAcC,OAAd,CAA5B;AACA,CALD;;AAOA,6BAAS,yBAAT,EAAoCpB,uBAApC","sourcesContent":["import \"./presentation.js\";\nimport \"../models/feed-data.js\";\nimport \"../models/snapshot.js\";\nimport \"../models/user.js\";\nimport \"../collections/opportunities.js\";\nimport \"../collections/contacts.js\";\n\nimport { AppointmentModel, TeamModel } from \"../models.js\";\n\nimport { BaseModel } from \"../models/base.js\";\nimport { PresentationDeck } from \"./presentation-deck.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias presentation.AppointmentPresentation\n * @extends presentation.BasePresentationModel\n */\nexport const AppointmentPresentation = BaseModel.extend(\n\t/** @lends presentation.AppointmentPresentation# */ {\n\t\t/**\n\t\t * @property {string} viewtype\n\t\t * @property {date} begin\n\t\t * @property {object} tele\n\t\t * @property {boolean} supportMode\n\t\t */\n\t\tprops: {\n\t\t\tviewtype: \"string\",\n\t\t\tbegin: \"date\",\n\t\t\tend: \"date\",\n\t\t\ttele: \"object\",\n\t\t\tsupportMode: \"boolean\",\n\t\t\tlocks: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {presentation.Presentation} presentation\n\t\t * @property {models.SnapshotModel} latest_snapshot\n\t\t * @property {models.FeedDataModel} latest_feed_data\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tpresentation: \"Presentation\",\n\t\t\tlatest_snapshot: \"SnapshotModel\",\n\t\t\tlatest_feed_data: \"FeedDataModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.OpportunityCollection} opportunities\n\t\t * @property {collections.ContactCollection} contacts\n\t\t */\n\t\tcollections: {\n\t\t\topportunities: \"OpportunityCollection\",\n\t\t\tcontacts: \"ContactCollection\",\n\t\t},\n\t}\n);\n\nconst createFromAppointment = function (appointment, options) {\n\tconst appointmentPresentation = new AppointmentPresentation();\n\tconst team = appointment.team ? new TeamModel(appointment.team).id : null;\n\n\t// Note that we're not passing through tags if appointment.tags is empty.\n\t// This is because tags currently aren't available in the telepresenter\n\t// bundle and we want to fall back on the model tags for now.\n\tappointmentPresentation.presentation.decks.add(\n\t\tappointment.deckversion_set.map((model, index) => {\n\t\t\tconst screenshots = PresentationDeck.filterScreenshotsByTeam(\n\t\t\t\tmodel.screenshots,\n\t\t\t\tteam\n\t\t\t);\n\n\t\t\treturn PresentationDeck.createFromDeckVersion(model, {\n\t\t\t\tadjunctSections: appointment.adjunctSections,\n\t\t\t\tadjunctSlides: appointment.adjunctSlides,\n\t\t\t\tadjunctSubSlides: appointment.adjunctSubSlides,\n\t\t\t\tsectionSelections: appointment.appointmentssection_set,\n\t\t\t\tslideSelections: appointment.appointmentsslide_set,\n\t\t\t\tappointmentTags: appointment.tags.length ? appointment.tags : null,\n\t\t\t\tscreenshots,\n\t\t\t\tindex,\n\t\t\t\t...options,\n\t\t\t});\n\t\t})\n\t);\n\n\tappointmentPresentation.tele = appointment.latest_tele;\n\tappointmentPresentation.user = appointment.user;\n\tappointmentPresentation.begin = appointment.begin;\n\tappointmentPresentation.end = appointment.end;\n\tappointmentPresentation.latest_snapshot = appointment.latest_snapshot;\n\tappointmentPresentation.latest_feed_data = appointment.latest_feed_data;\n\tappointmentPresentation.viewtype = appointment.viewtype;\n\tappointmentPresentation.opportunities = appointment.opportunity_set;\n\tappointmentPresentation.contacts = appointment.contact_set;\n\tappointmentPresentation.supportMode = appointment.support_mode;\n\tappointmentPresentation.id = appointment.id;\n\tappointmentPresentation.locks = appointment.locks;\n\n\treturn appointmentPresentation;\n};\n\n/**\n * @function createFromURL\n * @memberof presentation.AppointmentPresentation\n * @param {string} url\n */\nAppointmentPresentation.createFromURL = function (url, options = {}) {\n\tconst appointment = new AppointmentModel({ url });\n\n\treturn appointment.fetchAll(true).then(() => {\n\t\treturn createFromAppointment(appointment, options);\n\t});\n};\n\n/**\n * @function createFromID\n * @memberof presentation.AppointmentPresentation\n * @param {number} id\n */\nAppointmentPresentation.createFromID = function (id, options = {}) {\n\tconst appointment = new AppointmentModel({ id });\n\n\treturn appointment.fetchAll().then(() => {\n\t\treturn createFromAppointment(appointment, options);\n\t});\n};\n\n/**\n * @function createFromAppointment\n * @memberof presentation.AppointmentPresentation\n * @param {model} appointment\n */\nAppointmentPresentation.createFromAppointment = function (\n\tappointment,\n\toptions = {}\n) {\n\treturn createFromAppointment(appointment, options);\n};\n\nregister(\"AppointmentPresentation\", AppointmentPresentation);\n"],"file":"appointment-presentation.js"}
@@ -1,12 +1,32 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.BasePresentationModel = void 0;
7
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
8
12
  var _base = require("../models/base.js");
9
13
 
14
+ var _deckVersionScreenshots = require("../collections/deck-version-screenshots.js");
15
+
16
+ var _team2 = require("../models/team.js");
17
+
18
+ var _lodash = _interopRequireDefault(require("lodash"));
19
+
20
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
21
+
22
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
+
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
+
26
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
+
28
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
29
+
10
30
  /**
11
31
  * @constructor
12
32
  * @alias presentation.BasePresentationModel
@@ -19,6 +39,97 @@ var BasePresentationModel = _base.BaseModel.extend(
19
39
  return null;
20
40
  }
21
41
  });
42
+ /**
43
+ * Logic to pick a thumbnail based on either the model itself or from
44
+ * and overriding screenshot if one exists.
45
+ */
46
+
47
+
48
+ exports.BasePresentationModel = BasePresentationModel;
49
+
50
+ BasePresentationModel.getThumbnail = function (model, screenshots) {
51
+ var _screenshots$filter;
52
+
53
+ var overrideScreenshot = (_screenshots$filter = screenshots === null || screenshots === void 0 ? void 0 : screenshots.filter(function (screen) {
54
+ return screen.subject === model.url();
55
+ })) !== null && _screenshots$filter !== void 0 ? _screenshots$filter : [];
56
+
57
+ if (overrideScreenshot.length) {
58
+ if (overrideScreenshot.length > 1) {
59
+ throw new Error("\n\t\t\t\tFound multiple screenshots that could match this subject. If there is a team\n\t\t\t\tand a global, be sure to remove the screenshot that you don't need.\n\t\t\t");
60
+ }
61
+
62
+ return overrideScreenshot[0].image_256;
63
+ }
64
+
65
+ return model.image_256;
66
+ };
67
+ /**
68
+ * Takes a list of screenshots and filters it to only be a list used by a single team
69
+ * (or company wide).
70
+ *
71
+ * The logic should be like this:
72
+ *
73
+ * * If the team is null, we just return all global screenshots (team = null)
74
+ * * If we select a team, we take those global screenshots and replace any that have a
75
+ * team specific version of that screenshot. If none is found, the team will want to
76
+ * see the same global version. Obviously only one team's screenshots should be available.
77
+ */
78
+
79
+
80
+ BasePresentationModel.filterScreenshotsByTeam = function (_screenshots) {
81
+ var _team = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
82
+
83
+ var screenshots = new _deckVersionScreenshots.DeckVersionScreenshotCollection(_screenshots);
84
+ var team = _team ? new _team2.TeamModel(_team) : null;
85
+ var globalScreenshots = screenshots.filter(function (screen) {
86
+ return screen.team === null;
87
+ }).map(function (screen) {
88
+ return screen.toJSON();
89
+ });
90
+ var result = globalScreenshots;
91
+
92
+ if (team) {
93
+ var teamScreenshots = screenshots.filter(function (screen) {
94
+ return screen.team && screen.team.url() === team.url();
95
+ }).map(function (screen) {
96
+ return _objectSpread(_objectSpread({}, screen.toJSON()), {}, {
97
+ team: screen.team.url()
98
+ });
99
+ });
100
+
101
+ var _iterator = _createForOfIteratorHelper(teamScreenshots),
102
+ _step;
103
+
104
+ try {
105
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
106
+ var teamScreen = _step.value;
107
+
108
+ var existingGlobalIndex = _lodash.default.findIndex(result, {
109
+ subject: teamScreen.subject
110
+ });
111
+
112
+ if (existingGlobalIndex === -1) {
113
+ // If there isn't an existing global version, just add the team
114
+ // screenshot to the list
115
+ result.push(teamScreen);
116
+ } else {
117
+ // Otherwise we should use the team version instead of the global version
118
+ result[existingGlobalIndex] = teamScreen;
119
+ }
120
+ }
121
+ } catch (err) {
122
+ _iterator.e(err);
123
+ } finally {
124
+ _iterator.f();
125
+ }
126
+ } // Try to return it in the same order every time
127
+
128
+
129
+ var ordered = _lodash.default.orderBy(result, ["team", "subject"], ["desc", "asc"]);
130
+
131
+ return new _deckVersionScreenshots.DeckVersionScreenshotCollection(ordered);
132
+ };
22
133
  /**
23
134
  * Standard function for retrieving the visibility and sequence of a model
24
135
  * from a choicelist or section & slide selections. If a choicelist is
@@ -28,8 +139,6 @@ var BasePresentationModel = _base.BaseModel.extend(
28
139
  */
29
140
 
30
141
 
31
- exports.BasePresentationModel = BasePresentationModel;
32
-
33
142
  BasePresentationModel.getVisibilityAndSequence = function (model) {
34
143
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
35
144
  var _options$choicelist = options.choicelist,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/presentation/base-presentation-model.js"],"names":["BasePresentationModel","BaseModel","extend","url","getVisibilityAndSequence","model","options","choicelist","selections","config","visible","enabled","sequence","selectionID","choice","find","item","indexOf","adjunct","selection","id","getAppointmentTags","tags","tagItem","tag","content_url","getDeckTags","namespaced_key","isAutoAdjunct","keys","Object","filter","key","includes","splitKey","split","length","deck","getTags","appointmentTags","deckTags","canBeEmpty"],"mappings":"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","sourcesContent":["import { BaseModel } from \"../models/base.js\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationModel\n * @extends presentation.BaseModel\n */\nexport const BasePresentationModel = BaseModel.extend(\n\t/** @lends presentation.BasePresentationModel# */ {\n\t\turl() {\n\t\t\treturn null;\n\t\t},\n\t}\n);\n\n/**\n * Standard function for retrieving the visibility and sequence of a model\n * from a choicelist or section & slide selections. If a choicelist is\n * provided we prefer the choicelist, otherwise we use selections.\n * Adjuncts are included in choicelists but not in selections so we use the\n * model's state to determine sequence & vis when selections are used.\n */\n\nBasePresentationModel.getVisibilityAndSequence = function (\n\tmodel,\n\toptions = {}\n) {\n\tconst { choicelist = null, selections = null } = options;\n\tconst url = model.url();\n\n\tconst config = {\n\t\tvisible: model.visible || model.enabled || false,\n\t\tsequence: model.sequence,\n\t\tselectionID: null,\n\t};\n\n\tif (choicelist) {\n\t\t// All items should have a choicelist entry - if it's not in\n\t\t// the choicelist, it's not in the preso\n\t\tconst choice = choicelist.find((item) => item.url === url);\n\n\t\tif (choice) {\n\t\t\tconfig.sequence = choicelist.indexOf(choice);\n\t\t\tconfig.visible = choice.visible;\n\t\t} else {\n\t\t\tconfig.visible = false;\n\t\t}\n\t} else if (selections && !model.adjunct) {\n\t\t// Non-adjunct subslides and adjunct sections/slides/subslides\n\t\t// have no selections - they fall through here using their\n\t\t// model's values\n\t\tconst selection = selections.find((selection) => selection.url === url);\n\n\t\tif (selection) {\n\t\t\tconfig.visible = selection.visible;\n\t\t\tconfig.sequence = selection.sequence;\n\t\t\tconfig.selectionID = selection.id;\n\t\t}\n\t}\n\n\t// If neither a choicelist nor selections are available, the\n\t// values on the model will be used.\n\n\treturn config;\n};\n\nconst getAppointmentTags = function (model, tags) {\n\tconst url = model.adjunct?.url() || model.url();\n\tconst tagItem = tags.find((tag) => tag.content_url === url);\n\n\tif (tagItem) {\n\t\treturn tagItem.tags || [];\n\t}\n\n\t// Subslide tags currently aren't included in the\n\t// appointmentTags data.\n\treturn model.tags || [];\n};\n\nconst getDeckTags = function (model, tags) {\n\t// All non-adjunct sections, slides and subslides have namespaced_key\n\tif (model.namespaced_key) {\n\t\treturn tags[model.namespaced_key] || model.tags || [];\n\t} else if (model.adjunct || model.isAutoAdjunct) {\n\t\t// Autoadjunct keys are unique and move around so we search for them\n\t\t// and ignore the rest of the namespaced key\n\t\tconst keys = Object.keys(tags).filter((key) => {\n\t\t\tif (key.includes(\"/\")) {\n\t\t\t\tconst splitKey = key.split(\"/\");\n\n\t\t\t\treturn splitKey[splitKey.length - 1] === model.key;\n\t\t\t}\n\t\t\treturn key === model.key;\n\t\t});\n\t\treturn keys.length ? tags[keys[0]] : [];\n\t} else if (model.deck) {\n\t\t// The deck's namespaced key is always \"\" - this is because the\n\t\t// namespaced key format is section-key/slide-key, but the\n\t\t// deck sits above sections.\n\t\treturn tags[\"\"] || model.tags || [];\n\t}\n\n\treturn model.tags || [];\n};\n\n// Retrieve the tags for the model.\n// If appointmentTags is passed through in the options, we call the\n// getAppointmentTags function above to retrieve the appointment tags\n// for the model.\n// if there are no appointmentTags but deckTags are passed\n// through then we call the getDeckTags function.\n// In the future we will always use one of these two methods and\n// references to model.tags should be removed.\nBasePresentationModel.getTags = function (model, options = {}) {\n\tif (options.appointmentTags) {\n\t\treturn getAppointmentTags(model, options.appointmentTags);\n\t}\n\n\tif (options.deckTags) {\n\t\treturn getDeckTags(model, options.deckTags);\n\t}\n\n\treturn model.tags || [];\n};\n\nBasePresentationModel.canBeEmpty = true;\n"],"file":"base-presentation-model.js"}
1
+ {"version":3,"sources":["../../src/presentation/base-presentation-model.js"],"names":["BasePresentationModel","BaseModel","extend","url","getThumbnail","model","screenshots","overrideScreenshot","filter","screen","subject","length","Error","image_256","filterScreenshotsByTeam","_screenshots","_team","DeckVersionScreenshotCollection","team","TeamModel","globalScreenshots","map","toJSON","result","teamScreenshots","teamScreen","existingGlobalIndex","_","findIndex","push","ordered","orderBy","getVisibilityAndSequence","options","choicelist","selections","config","visible","enabled","sequence","selectionID","choice","find","item","indexOf","adjunct","selection","id","getAppointmentTags","tags","tagItem","tag","content_url","getDeckTags","namespaced_key","isAutoAdjunct","keys","Object","key","includes","splitKey","split","deck","getTags","appointmentTags","deckTags","canBeEmpty"],"mappings":"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","sourcesContent":["import { BaseModel } from \"../models/base.js\";\nimport { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.js\";\nimport { TeamModel } from \"../models/team.js\";\nimport _ from \"lodash\";\n\n/**\n * @constructor\n * @alias presentation.BasePresentationModel\n * @extends presentation.BaseModel\n */\nexport const BasePresentationModel = BaseModel.extend(\n\t/** @lends presentation.BasePresentationModel# */ {\n\t\turl() {\n\t\t\treturn null;\n\t\t},\n\t}\n);\n\n/**\n * Logic to pick a thumbnail based on either the model itself or from\n * and overriding screenshot if one exists.\n */\nBasePresentationModel.getThumbnail = function (model, screenshots) {\n\tconst overrideScreenshot =\n\t\tscreenshots?.filter((screen) => {\n\t\t\treturn screen.subject === model.url();\n\t\t}) ?? [];\n\n\tif (overrideScreenshot.length) {\n\t\tif (overrideScreenshot.length > 1) {\n\t\t\tthrow new Error(`\n\t\t\t\tFound multiple screenshots that could match this subject. If there is a team\n\t\t\t\tand a global, be sure to remove the screenshot that you don't need.\n\t\t\t`);\n\t\t}\n\n\t\treturn overrideScreenshot[0].image_256;\n\t}\n\n\treturn model.image_256;\n};\n\n/**\n * Takes a list of screenshots and filters it to only be a list used by a single team\n * (or company wide).\n *\n * The logic should be like this:\n *\n *\t* If the team is null, we just return all global screenshots (team = null)\n *\t* If we select a team, we take those global screenshots and replace any that have a\n *\t\tteam specific version of that screenshot. If none is found, the team will want to\n *\t\tsee the same global version. Obviously only one team's screenshots should be available.\n */\nBasePresentationModel.filterScreenshotsByTeam = function (\n\t_screenshots,\n\t_team = null\n) {\n\tconst screenshots = new DeckVersionScreenshotCollection(_screenshots);\n\tconst team = _team ? new TeamModel(_team) : null;\n\n\tconst globalScreenshots = screenshots\n\t\t.filter((screen) => screen.team === null)\n\t\t.map((screen) => screen.toJSON());\n\n\tconst result = globalScreenshots;\n\n\tif (team) {\n\t\tconst teamScreenshots = screenshots\n\t\t\t.filter((screen) => screen.team && screen.team.url() === team.url())\n\t\t\t.map((screen) => ({ ...screen.toJSON(), team: screen.team.url() }));\n\n\t\tfor (const teamScreen of teamScreenshots) {\n\t\t\tconst existingGlobalIndex = _.findIndex(result, {\n\t\t\t\tsubject: teamScreen.subject,\n\t\t\t});\n\n\t\t\tif (existingGlobalIndex === -1) {\n\t\t\t\t// If there isn't an existing global version, just add the team\n\t\t\t\t// screenshot to the list\n\t\t\t\tresult.push(teamScreen);\n\t\t\t} else {\n\t\t\t\t// Otherwise we should use the team version instead of the global version\n\t\t\t\tresult[existingGlobalIndex] = teamScreen;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Try to return it in the same order every time\n\tconst ordered = _.orderBy(result, [\"team\", \"subject\"], [\"desc\", \"asc\"]);\n\treturn new DeckVersionScreenshotCollection(ordered);\n};\n\n/**\n * Standard function for retrieving the visibility and sequence of a model\n * from a choicelist or section & slide selections. If a choicelist is\n * provided we prefer the choicelist, otherwise we use selections.\n * Adjuncts are included in choicelists but not in selections so we use the\n * model's state to determine sequence & vis when selections are used.\n */\nBasePresentationModel.getVisibilityAndSequence = function (\n\tmodel,\n\toptions = {}\n) {\n\tconst { choicelist = null, selections = null } = options;\n\tconst url = model.url();\n\n\tconst config = {\n\t\tvisible: model.visible || model.enabled || false,\n\t\tsequence: model.sequence,\n\t\tselectionID: null,\n\t};\n\n\tif (choicelist) {\n\t\t// All items should have a choicelist entry - if it's not in\n\t\t// the choicelist, it's not in the preso\n\t\tconst choice = choicelist.find((item) => item.url === url);\n\n\t\tif (choice) {\n\t\t\tconfig.sequence = choicelist.indexOf(choice);\n\t\t\tconfig.visible = choice.visible;\n\t\t} else {\n\t\t\tconfig.visible = false;\n\t\t}\n\t} else if (selections && !model.adjunct) {\n\t\t// Non-adjunct subslides and adjunct sections/slides/subslides\n\t\t// have no selections - they fall through here using their\n\t\t// model's values\n\t\tconst selection = selections.find((selection) => selection.url === url);\n\n\t\tif (selection) {\n\t\t\tconfig.visible = selection.visible;\n\t\t\tconfig.sequence = selection.sequence;\n\t\t\tconfig.selectionID = selection.id;\n\t\t}\n\t}\n\n\t// If neither a choicelist nor selections are available, the\n\t// values on the model will be used.\n\n\treturn config;\n};\n\nconst getAppointmentTags = function (model, tags) {\n\tconst url = model.adjunct?.url() || model.url();\n\tconst tagItem = tags.find((tag) => tag.content_url === url);\n\n\tif (tagItem) {\n\t\treturn tagItem.tags || [];\n\t}\n\n\t// Subslide tags currently aren't included in the\n\t// appointmentTags data.\n\treturn model.tags || [];\n};\n\nconst getDeckTags = function (model, tags) {\n\t// All non-adjunct sections, slides and subslides have namespaced_key\n\tif (model.namespaced_key) {\n\t\treturn tags[model.namespaced_key] || model.tags || [];\n\t} else if (model.adjunct || model.isAutoAdjunct) {\n\t\t// Autoadjunct keys are unique and move around so we search for them\n\t\t// and ignore the rest of the namespaced key\n\t\tconst keys = Object.keys(tags).filter((key) => {\n\t\t\tif (key.includes(\"/\")) {\n\t\t\t\tconst splitKey = key.split(\"/\");\n\n\t\t\t\treturn splitKey[splitKey.length - 1] === model.key;\n\t\t\t}\n\t\t\treturn key === model.key;\n\t\t});\n\t\treturn keys.length ? tags[keys[0]] : [];\n\t} else if (model.deck) {\n\t\t// The deck's namespaced key is always \"\" - this is because the\n\t\t// namespaced key format is section-key/slide-key, but the\n\t\t// deck sits above sections.\n\t\treturn tags[\"\"] || model.tags || [];\n\t}\n\n\treturn model.tags || [];\n};\n\n// Retrieve the tags for the model.\n// If appointmentTags is passed through in the options, we call the\n// getAppointmentTags function above to retrieve the appointment tags\n// for the model.\n// if there are no appointmentTags but deckTags are passed\n// through then we call the getDeckTags function.\n// In the future we will always use one of these two methods and\n// references to model.tags should be removed.\nBasePresentationModel.getTags = function (model, options = {}) {\n\tif (options.appointmentTags) {\n\t\treturn getAppointmentTags(model, options.appointmentTags);\n\t}\n\n\tif (options.deckTags) {\n\t\treturn getDeckTags(model, options.deckTags);\n\t}\n\n\treturn model.tags || [];\n};\n\nBasePresentationModel.canBeEmpty = true;\n"],"file":"base-presentation-model.js"}
@@ -6,6 +6,8 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
6
6
 
7
7
  var _basePresentationModel = require("./base-presentation-model.js");
8
8
 
9
+ var _deckVersionScreenshots = require("../collections/deck-version-screenshots.js");
10
+
9
11
  describe("#getVisibilityAndSequence", function () {
10
12
  it("should return model defaults when no options", function () {
11
13
  var config = _basePresentationModel.BasePresentationModel.getVisibilityAndSequence({
@@ -204,4 +206,58 @@ describe("#getTags", function () {
204
206
  expect(tags).toEqual(["adjunctslide-tags"]);
205
207
  });
206
208
  });
209
+ describe("#filterScreenshotsByTeam", function () {
210
+ var screenshots = new _deckVersionScreenshots.DeckVersionScreenshotCollection([{
211
+ subject: "/api/slides/1/",
212
+ image_256: "global-screenshot-1.png",
213
+ team: null
214
+ }, {
215
+ subject: "/api/slides/2/",
216
+ image_256: "global-screenshot-2.png",
217
+ team: null
218
+ }, {
219
+ subject: "/api/slides/1/",
220
+ image_256: "team-1-screenshot.png",
221
+ team: "/api/teams/1/"
222
+ }, {
223
+ subject: "/api/sections/2/",
224
+ image_256: "team-1-screenshot.png",
225
+ team: "/api/teams/1/"
226
+ }, // Just for testing that the team filters don't get cross-contaminated
227
+ {
228
+ subject: "/api/sections/2/",
229
+ image_256: "team-2-screenshot.png",
230
+ team: "/api/teams/2/"
231
+ }]);
232
+ it("should just return global screenshots if team is null", function () {
233
+ var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByTeam(screenshots, null).toJSON();
234
+
235
+ expect(filtered).toEqual([{
236
+ subject: "/api/slides/1/",
237
+ image_256: "global-screenshot-1.png",
238
+ team: null
239
+ }, {
240
+ subject: "/api/slides/2/",
241
+ image_256: "global-screenshot-2.png",
242
+ team: null
243
+ }]);
244
+ });
245
+ it("should return globals with team override", function () {
246
+ var filtered = _basePresentationModel.BasePresentationModel.filterScreenshotsByTeam(screenshots, 1).toJSON();
247
+
248
+ expect(filtered).toEqual([{
249
+ image_256: "global-screenshot-2.png",
250
+ subject: "/api/slides/2/",
251
+ team: null
252
+ }, {
253
+ image_256: "team-1-screenshot.png",
254
+ subject: "/api/sections/2/",
255
+ team: "/api/teams/1/"
256
+ }, {
257
+ image_256: "team-1-screenshot.png",
258
+ subject: "/api/slides/1/",
259
+ team: "/api/teams/1/"
260
+ }]);
261
+ });
262
+ });
207
263
  //# sourceMappingURL=base-presentation-model.spec.js.map