@livepreso/api 6.42.1 → 6.43.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 (117) hide show
  1. package/.rush/temp/build-cache-tar.log +7 -0
  2. package/.rush/temp/package-deps_build.json +151 -133
  3. package/.rush/temp/shrinkwrap-deps.json +189 -192
  4. package/CHANGELOG.json +12 -0
  5. package/CHANGELOG.md +8 -1
  6. package/api.build.log +10 -24
  7. package/babel.config.js +1 -1
  8. package/cjs/api.js +1 -1
  9. package/cjs/api.js.map +1 -1
  10. package/cjs/auth.js +2 -1
  11. package/cjs/auth.js.map +1 -1
  12. package/cjs/caching.js +3 -3
  13. package/cjs/collections/appointment-adjunct-tags.js +28 -0
  14. package/cjs/collections/appointment-adjunct-tags.js.map +1 -0
  15. package/cjs/collections/appointment-deckversion-tags.js +28 -0
  16. package/cjs/collections/appointment-deckversion-tags.js.map +1 -0
  17. package/cjs/collections/appointment-section-tags.js +28 -0
  18. package/cjs/collections/appointment-section-tags.js.map +1 -0
  19. package/cjs/collections/appointment-slide-tags.js +28 -0
  20. package/cjs/collections/appointment-slide-tags.js.map +1 -0
  21. package/cjs/collections/appointment-tags.js +208 -0
  22. package/cjs/collections/appointment-tags.js.map +1 -0
  23. package/cjs/collections/tags.js +28 -0
  24. package/cjs/collections/tags.js.map +1 -0
  25. package/cjs/collections.js +78 -0
  26. package/cjs/collections.js.map +1 -1
  27. package/cjs/models/appointment-adjunct-tags.js +52 -0
  28. package/cjs/models/appointment-adjunct-tags.js.map +1 -0
  29. package/cjs/models/appointment-deckversion-tags.js +52 -0
  30. package/cjs/models/appointment-deckversion-tags.js.map +1 -0
  31. package/cjs/models/appointment-section-tags.js +52 -0
  32. package/cjs/models/appointment-section-tags.js.map +1 -0
  33. package/cjs/models/appointment-slide-tags.js +52 -0
  34. package/cjs/models/appointment-slide-tags.js.map +1 -0
  35. package/cjs/models/appointment-tags.js +16 -15
  36. package/cjs/models/appointment-tags.js.map +1 -1
  37. package/cjs/models/appointment.js +8 -2
  38. package/cjs/models/appointment.js.map +1 -1
  39. package/cjs/models/deck-tags.js +61 -0
  40. package/cjs/models/deck-tags.js.map +1 -0
  41. package/cjs/models/deck-version.js +2 -0
  42. package/cjs/models/deck-version.js.map +1 -1
  43. package/cjs/models/deck.js +4 -1
  44. package/cjs/models/deck.js.map +1 -1
  45. package/cjs/models/manifest-json.js +47 -12
  46. package/cjs/models/manifest-json.js.map +1 -1
  47. package/cjs/models/preset.js +21 -1
  48. package/cjs/models/preset.js.map +1 -1
  49. package/cjs/models/tag.js +54 -0
  50. package/cjs/models/tag.js.map +1 -0
  51. package/cjs/models/user.js +2 -1
  52. package/cjs/models/user.js.map +1 -1
  53. package/cjs/models.js +78 -0
  54. package/cjs/models.js.map +1 -1
  55. package/cjs/presentation/appointment-presentation.js +5 -2
  56. package/cjs/presentation/appointment-presentation.js.map +1 -1
  57. package/cjs/presentation/base-presentation-model.js +56 -7
  58. package/cjs/presentation/base-presentation-model.js.map +1 -1
  59. package/cjs/presentation/base-presentation-model.spec.js +40 -6
  60. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  61. package/cjs/presentation/presentation-deck.js +2 -1
  62. package/cjs/presentation/presentation-deck.js.map +1 -1
  63. package/cjs/presentation/presentation-section.js +21 -8
  64. package/cjs/presentation/presentation-section.js.map +1 -1
  65. package/cjs/presentation/presentation-section.spec.js +418 -0
  66. package/cjs/presentation/presentation-section.spec.js.map +1 -0
  67. package/cjs/presentation/presentation-slide.js +12 -4
  68. package/cjs/presentation/presentation-slide.js.map +1 -1
  69. package/cjs/presentation/presentation-slide.spec.js +294 -0
  70. package/cjs/presentation/presentation-slide.spec.js.map +1 -0
  71. package/cjs/presentation/presentation-subslide.js +5 -2
  72. package/cjs/presentation/presentation-subslide.js.map +1 -1
  73. package/cjs/presentation/presentation-subslide.spec.js +58 -12
  74. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  75. package/cjs/presentation/presentation.js +13 -3
  76. package/cjs/presentation/presentation.js.map +1 -1
  77. package/cjs/state-register.js +11 -1
  78. package/cjs/state-register.js.map +1 -1
  79. package/cjs/sync.js +1 -1
  80. package/cjs/utils.js +5 -5
  81. package/config/rush-project.json +53 -0
  82. package/package.json +64 -66
  83. package/src/api.js +1 -1
  84. package/src/collections/appointment-adjunct-tags.js +18 -0
  85. package/src/collections/appointment-deckversion-tags.js +21 -0
  86. package/src/collections/appointment-section-tags.js +18 -0
  87. package/src/collections/appointment-slide-tags.js +18 -0
  88. package/src/collections/appointment-tags.js +136 -0
  89. package/src/collections/tags.js +18 -0
  90. package/src/collections.js +6 -0
  91. package/src/models/appointment-adjunct-tags.js +41 -0
  92. package/src/models/appointment-deckversion-tags.js +41 -0
  93. package/src/models/appointment-section-tags.js +41 -0
  94. package/src/models/appointment-slide-tags.js +41 -0
  95. package/src/models/appointment-tags.js +16 -14
  96. package/src/models/appointment.js +6 -1
  97. package/src/models/deck-tags.js +52 -0
  98. package/src/models/deck-version.js +2 -0
  99. package/src/models/deck.js +2 -0
  100. package/src/models/manifest-json.js +46 -7
  101. package/src/models/preset.js +19 -0
  102. package/src/models/tag.js +42 -0
  103. package/src/models/user.js +2 -0
  104. package/src/models.js +6 -0
  105. package/src/presentation/appointment-presentation.js +4 -1
  106. package/src/presentation/base-presentation-model.js +52 -7
  107. package/src/presentation/base-presentation-model.spec.js +44 -6
  108. package/src/presentation/presentation-deck.js +1 -0
  109. package/src/presentation/presentation-section.js +20 -9
  110. package/src/presentation/presentation-section.spec.js +363 -0
  111. package/src/presentation/presentation-slide.js +16 -3
  112. package/src/presentation/presentation-slide.spec.js +250 -0
  113. package/src/presentation/presentation-subslide.js +7 -2
  114. package/src/presentation/presentation-subslide.spec.js +32 -3
  115. package/src/presentation/presentation.js +15 -3
  116. package/src/state-register.js +7 -0
  117. package/api.build.error.log +0 -16
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/deck-version.js"],"names":["DeckVersionModel","BaseModel","extend","modelName","props","image_128","image_256","image_512","image_128_archive","image_256_archive","image_512_archive","creation_status","creation_percent","update_description","version","approved","approval","pack_root_url","upgrade_description","friendly_release_notes","has_editable_share_support","tags","children","deck","index_asset","pack","manifest_json","collections","section_set","note_set","template_set","getHooks","isNew","Error","Promise","resolve","then","Object","keys","getSafeAttrs","length","fetch","rootAssetUrl","getRootAssetUrl","hooks","hooksPath","SystemJS","import","default","getFixtures","fixtures","fixturePaths","imports","_","map","fixture","key","path","superagent","get","response","text","JSON","parse","body","catch","SuperagentPromiseError","e","all","waitForReady","indexOf","delay","indexAsset","_retrieveURL","split","slice","join","replace","toServer"],"mappings":"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","sourcesContent":["import \"../collections/sections.js\";\nimport \"../collections/deck-notes.js\";\nimport \"../collections/templates.js\";\nimport \"./pack.js\";\nimport \"./deck.js\";\nimport \"./asset.js\";\nimport \"./manifest-json.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport Promise from \"bluebird\";\nimport _ from \"lodash\";\nimport { register } from \"../state-register.js\";\nimport superagent from \"superagent\";\n\n/**\n * @constructor\n * @alias models.DeckVersionModel\n * @extends models.BaseModel\n */\nexport const DeckVersionModel = BaseModel.extend(\n\t/** @lends models.DeckVersionModel# */ {\n\t\tmodelName: \"deckversions\",\n\n\t\t/**\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_128_archive\n\t\t * @property {string} image_256_archive\n\t\t * @property {string} image_512_archive\n\t\t * @property {string} creation_status\n\t\t * @property {string} update_description\n\t\t * @property {version} version\n\t\t * @property {boolean} approved\n\t\t * @property {string} approval\n\t\t * @property {string} pack_root_url\n\t\t * @property {string} upgrade_description\n\t\t * @property {string} friendly_release_notes\n\t\t * @property {boolean} has_editable_share_support\n\t\t * @property {string[]} tags\n\t\t */\n\t\tprops: {\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\timage_128_archive: \"string\",\n\t\t\timage_256_archive: \"string\",\n\t\t\timage_512_archive: \"string\",\n\t\t\tcreation_status: \"string\",\n\t\t\tcreation_percent: \"number\",\n\t\t\tupdate_description: \"string\",\n\t\t\tversion: \"number\",\n\t\t\tapproved: \"boolean\",\n\t\t\tapproval: \"string\",\n\t\t\tpack_root_url: \"string\",\n\t\t\tupgrade_description: \"string\",\n\t\t\tfriendly_release_notes: \"string\",\n\t\t\thas_editable_share_support: \"boolean\",\n\t\t\ttags: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.DeckModel} deck\n\t\t * @property {models.AssetModel} index_asset\n\t\t * @property {models.PackModel} pack\n\t\t * @property {models.ManifestJSONModel} manifest_json\n\t\t */\n\t\tchildren: {\n\t\t\tdeck: \"DeckModel\",\n\t\t\tindex_asset: \"AssetModel\",\n\t\t\tpack: \"PackModel\",\n\t\t\tmanifest_json: \"ManifestJSONModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.SectionCollection} section_set\n\t\t * @property {models.DeckNoteCollection} note_set\n\t\t * @property {models.TemplateCollection} template_set\n\t\t */\n\t\tcollections: {\n\t\t\tsection_set: \"SectionCollection\",\n\t\t\tnote_set: \"DeckNoteCollection\",\n\t\t\ttemplate_set: \"TemplateCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @todo This should eventually return a hooks interface\n\t\t * @returns {object}\n\t\t */\n\t\tgetHooks() {\n\t\t\tif (this.isNew()) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Can only get hooks from a fetched deckversion or at least have an ID\"\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn Promise.resolve()\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tObject.keys(this.getSafeAttrs()).length === 1 ||\n\t\t\t\t\t\t!this.index_asset\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn this.fetch();\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (this.manifest_json.isNew()) {\n\t\t\t\t\t\treturn this.manifest_json.fetch();\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tconst rootAssetUrl = this.getRootAssetUrl();\n\t\t\t\t\tif (!this.manifest_json.hooks) {\n\t\t\t\t\t\tthrow new Error(\"Manifest does not contain a hooks entry\");\n\t\t\t\t\t}\n\t\t\t\t\tconst hooksPath = `${rootAssetUrl}${this.manifest_json.hooks}`;\n\n\t\t\t\t\treturn SystemJS.import(hooksPath);\n\t\t\t\t})\n\t\t\t\t.then((hooks) => {\n\t\t\t\t\tif (hooks.default) {\n\t\t\t\t\t\treturn hooks.default;\n\t\t\t\t\t}\n\t\t\t\t\treturn hooks;\n\t\t\t\t});\n\t\t},\n\n\t\tgetFixtures(fixtures = {}, rootAssetUrl = this.getRootAssetUrl()) {\n\t\t\tconst fixturePaths = this.manifest_json.fixtures || {};\n\n\t\t\tconst imports = _.map(fixturePaths, (fixture, key) => {\n\t\t\t\tconst path = `${rootAssetUrl}${fixture}`;\n\n\t\t\t\treturn superagent\n\t\t\t\t\t.get(path)\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tif (response.text) {\n\t\t\t\t\t\t\tfixtures[key] = JSON.parse(response.text);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfixtures[key] = response.body || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(superagent.SuperagentPromiseError, (e) => {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn Promise.all(imports);\n\t\t},\n\n\t\twaitForReady() {\n\t\t\treturn this.fetch().then(() => {\n\t\t\t\tif ([\"created\", \"failed\"].indexOf(this.creation_status) > -1) {\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t}\n\t\t\t\treturn Promise.delay(1000).then(() => this.waitForReady());\n\t\t\t});\n\t\t},\n\n\t\tgetRootAssetUrl() {\n\t\t\tconst indexAsset = this._retrieveURL(this.index_asset);\n\t\t\treturn (\n\t\t\t\t`${indexAsset.split(\"/\").slice(0, -1).join(\"/\")}/`\n\t\t\t\t\t// HACK: We've got instances (see: myob) that are returning ports in their urls.\n\t\t\t\t\t// SystemJS gets confused and starts caching multiple versions (one with and without\n\t\t\t\t\t// this port), causing havoc. If we see it, strip it.\n\t\t\t\t\t.replace(\":443\", \"\")\n\t\t\t);\n\t\t},\n\n\t\ttoServer() {\n\t\t\treturn {\n\t\t\t\tapproval: this.approval,\n\t\t\t\tupgrade_description: this.upgrade_description,\n\t\t\t};\n\t\t},\n\t}\n);\n\nregister(\"DeckVersionModel\", DeckVersionModel);\n"],"file":"deck-version.js"}
1
+ {"version":3,"sources":["../../src/models/deck-version.js"],"names":["DeckVersionModel","BaseModel","extend","modelName","props","image_128","image_256","image_512","image_128_archive","image_256_archive","image_512_archive","creation_status","creation_percent","update_description","version","approved","approval","pack_root_url","upgrade_description","friendly_release_notes","has_editable_share_support","point_in_time_share_policy","tags","children","deck","index_asset","pack","manifest_json","collections","section_set","note_set","template_set","getHooks","isNew","Error","Promise","resolve","then","Object","keys","getSafeAttrs","length","fetch","rootAssetUrl","getRootAssetUrl","hooks","hooksPath","SystemJS","import","default","getFixtures","fixtures","fixturePaths","imports","_","map","fixture","key","path","superagent","get","response","text","JSON","parse","body","catch","SuperagentPromiseError","e","all","waitForReady","indexOf","delay","indexAsset","_retrieveURL","split","slice","join","replace","toServer"],"mappings":"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","sourcesContent":["import \"../collections/sections.js\";\nimport \"../collections/deck-notes.js\";\nimport \"../collections/templates.js\";\nimport \"./pack.js\";\nimport \"./deck.js\";\nimport \"./asset.js\";\nimport \"./manifest-json.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport Promise from \"bluebird\";\nimport _ from \"lodash\";\nimport { register } from \"../state-register.js\";\nimport superagent from \"superagent\";\n\n/**\n * @constructor\n * @alias models.DeckVersionModel\n * @extends models.BaseModel\n */\nexport const DeckVersionModel = BaseModel.extend(\n\t/** @lends models.DeckVersionModel# */ {\n\t\tmodelName: \"deckversions\",\n\n\t\t/**\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_128_archive\n\t\t * @property {string} image_256_archive\n\t\t * @property {string} image_512_archive\n\t\t * @property {string} creation_status\n\t\t * @property {string} update_description\n\t\t * @property {version} version\n\t\t * @property {boolean} approved\n\t\t * @property {string} approval\n\t\t * @property {string} pack_root_url\n\t\t * @property {string} upgrade_description\n\t\t * @property {string} friendly_release_notes\n\t\t * @property {boolean} has_editable_share_support\n\t\t * @property {string} point_in_time_share_policy\n\t\t * @property {string[]} tags\n\t\t */\n\t\tprops: {\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\timage_128_archive: \"string\",\n\t\t\timage_256_archive: \"string\",\n\t\t\timage_512_archive: \"string\",\n\t\t\tcreation_status: \"string\",\n\t\t\tcreation_percent: \"number\",\n\t\t\tupdate_description: \"string\",\n\t\t\tversion: \"number\",\n\t\t\tapproved: \"boolean\",\n\t\t\tapproval: \"string\",\n\t\t\tpack_root_url: \"string\",\n\t\t\tupgrade_description: \"string\",\n\t\t\tfriendly_release_notes: \"string\",\n\t\t\thas_editable_share_support: \"boolean\",\n\t\t\tpoint_in_time_share_policy: \"string\",\n\t\t\ttags: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.DeckModel} deck\n\t\t * @property {models.AssetModel} index_asset\n\t\t * @property {models.PackModel} pack\n\t\t * @property {models.ManifestJSONModel} manifest_json\n\t\t */\n\t\tchildren: {\n\t\t\tdeck: \"DeckModel\",\n\t\t\tindex_asset: \"AssetModel\",\n\t\t\tpack: \"PackModel\",\n\t\t\tmanifest_json: \"ManifestJSONModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.SectionCollection} section_set\n\t\t * @property {models.DeckNoteCollection} note_set\n\t\t * @property {models.TemplateCollection} template_set\n\t\t */\n\t\tcollections: {\n\t\t\tsection_set: \"SectionCollection\",\n\t\t\tnote_set: \"DeckNoteCollection\",\n\t\t\ttemplate_set: \"TemplateCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @todo This should eventually return a hooks interface\n\t\t * @returns {object}\n\t\t */\n\t\tgetHooks() {\n\t\t\tif (this.isNew()) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Can only get hooks from a fetched deckversion or at least have an ID\"\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn Promise.resolve()\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tObject.keys(this.getSafeAttrs()).length === 1 ||\n\t\t\t\t\t\t!this.index_asset\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn this.fetch();\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (this.manifest_json.isNew()) {\n\t\t\t\t\t\treturn this.manifest_json.fetch();\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tconst rootAssetUrl = this.getRootAssetUrl();\n\t\t\t\t\tif (!this.manifest_json.hooks) {\n\t\t\t\t\t\tthrow new Error(\"Manifest does not contain a hooks entry\");\n\t\t\t\t\t}\n\t\t\t\t\tconst hooksPath = `${rootAssetUrl}${this.manifest_json.hooks}`;\n\n\t\t\t\t\treturn SystemJS.import(hooksPath);\n\t\t\t\t})\n\t\t\t\t.then((hooks) => {\n\t\t\t\t\tif (hooks.default) {\n\t\t\t\t\t\treturn hooks.default;\n\t\t\t\t\t}\n\t\t\t\t\treturn hooks;\n\t\t\t\t});\n\t\t},\n\n\t\tgetFixtures(fixtures = {}, rootAssetUrl = this.getRootAssetUrl()) {\n\t\t\tconst fixturePaths = this.manifest_json.fixtures || {};\n\n\t\t\tconst imports = _.map(fixturePaths, (fixture, key) => {\n\t\t\t\tconst path = `${rootAssetUrl}${fixture}`;\n\n\t\t\t\treturn superagent\n\t\t\t\t\t.get(path)\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tif (response.text) {\n\t\t\t\t\t\t\tfixtures[key] = JSON.parse(response.text);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tfixtures[key] = response.body || {};\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch(superagent.SuperagentPromiseError, (e) => {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn Promise.all(imports);\n\t\t},\n\n\t\twaitForReady() {\n\t\t\treturn this.fetch().then(() => {\n\t\t\t\tif ([\"created\", \"failed\"].indexOf(this.creation_status) > -1) {\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t}\n\t\t\t\treturn Promise.delay(1000).then(() => this.waitForReady());\n\t\t\t});\n\t\t},\n\n\t\tgetRootAssetUrl() {\n\t\t\tconst indexAsset = this._retrieveURL(this.index_asset);\n\t\t\treturn (\n\t\t\t\t`${indexAsset.split(\"/\").slice(0, -1).join(\"/\")}/`\n\t\t\t\t\t// HACK: We've got instances (see: myob) that are returning ports in their urls.\n\t\t\t\t\t// SystemJS gets confused and starts caching multiple versions (one with and without\n\t\t\t\t\t// this port), causing havoc. If we see it, strip it.\n\t\t\t\t\t.replace(\":443\", \"\")\n\t\t\t);\n\t\t},\n\n\t\ttoServer() {\n\t\t\treturn {\n\t\t\t\tapproval: this.approval,\n\t\t\t\tupgrade_description: this.upgrade_description,\n\t\t\t};\n\t\t},\n\t}\n);\n\nregister(\"DeckVersionModel\", DeckVersionModel);\n"],"file":"deck-version.js"}
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DeckModel = void 0;
7
7
 
8
+ require("./deck-tags.js");
9
+
8
10
  require("./deck-version.js");
9
11
 
10
12
  var _base = require("./base.js");
@@ -62,7 +64,8 @@ var DeckModel = _base.BaseModel.extend(
62
64
  */
63
65
  children: {
64
66
  approved_version: "DeckVersionModel",
65
- head_version: "DeckVersionModel"
67
+ head_version: "DeckVersionModel",
68
+ tags: "DeckTagsModel"
66
69
  }
67
70
  });
68
71
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/deck.js"],"names":["DeckModel","BaseModel","extend","modelName","props","enabled","created_date","modified_date","description","key","sequence","title","derived","cmsVals","deps","fn","CMSValCollection","queryData","deck","id","children","approved_version","head_version"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,SAAS,GAAGC,gBAAUC,MAAV;AACxB;AAAgC;AAC/BC,EAAAA,SAAS,EAAE,OADoB;;AAG/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,OAAO,EAAE,SADH;AAENC,IAAAA,YAAY,EAAE,MAFR;AAGNC,IAAAA,aAAa,EAAE,MAHT;AAINC,IAAAA,WAAW,EAAE,iBAJP;AAKNC,IAAAA,GAAG,EAAE,QALC;AAMNC,IAAAA,QAAQ,EAAE,QANJ;AAONC,IAAAA,KAAK,EAAE;AAPD,GAZwB;;AAsB/B;AACF;AACA;AACEC,EAAAA,OAAO,EAAE;AACRC,IAAAA,OAAO,EAAE;AACRC,MAAAA,IAAI,EAAE,CAAC,IAAD,CADE;AAERC,MAAAA,EAFQ,gBAEH;AACJ,YAAMF,OAAO,GAAG,IAAIG,yBAAJ,EAAhB;AACAH,QAAAA,OAAO,CAACI,SAAR,CAAkBC,IAAlB,GAAyB,KAAKC,EAA9B;AACA,eAAON,OAAP;AACA;AANO;AADD,GAzBsB;;AAoC/B;AACF;AACA;AACA;AACEO,EAAAA,QAAQ,EAAE;AACTC,IAAAA,gBAAgB,EAAE,kBADT;AAETC,IAAAA,YAAY,EAAE;AAFL;AAxCqB,CADR,CAAlB;;;AAgDP,6BAAS,WAAT,EAAsBtB,SAAtB","sourcesContent":["import \"./deck-version.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { CMSValCollection } from \"../collections/cms-vals.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.DeckModel\n * @extends models.BaseModel\n */\nexport const DeckModel = BaseModel.extend(\n\t/** @lends models.DeckModel# */ {\n\t\tmodelName: \"decks\",\n\n\t\t/**\n\t\t * @property {boolean} enabled\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} description\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {string} title\n\t\t */\n\t\tprops: {\n\t\t\tenabled: \"boolean\",\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tdescription: \"stringSanitized\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\ttitle: \"stringSanitized\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.CMSValCollection} cms_vals\n\t\t */\n\t\tderived: {\n\t\t\tcmsVals: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst cmsVals = new CMSValCollection();\n\t\t\t\t\tcmsVals.queryData.deck = this.id;\n\t\t\t\t\treturn cmsVals;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {models.DeckVersionModel} approved_version\n\t\t * @property {models.DeckVersionModel} head_version\n\t\t */\n\t\tchildren: {\n\t\t\tapproved_version: \"DeckVersionModel\",\n\t\t\thead_version: \"DeckVersionModel\",\n\t\t},\n\t}\n);\n\nregister(\"DeckModel\", DeckModel);\n"],"file":"deck.js"}
1
+ {"version":3,"sources":["../../src/models/deck.js"],"names":["DeckModel","BaseModel","extend","modelName","props","enabled","created_date","modified_date","description","key","sequence","title","derived","cmsVals","deps","fn","CMSValCollection","queryData","deck","id","children","approved_version","head_version","tags"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,SAAS,GAAGC,gBAAUC,MAAV;AACxB;AAAgC;AAC/BC,EAAAA,SAAS,EAAE,OADoB;;AAG/B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,OAAO,EAAE,SADH;AAENC,IAAAA,YAAY,EAAE,MAFR;AAGNC,IAAAA,aAAa,EAAE,MAHT;AAINC,IAAAA,WAAW,EAAE,iBAJP;AAKNC,IAAAA,GAAG,EAAE,QALC;AAMNC,IAAAA,QAAQ,EAAE,QANJ;AAONC,IAAAA,KAAK,EAAE;AAPD,GAZwB;;AAsB/B;AACF;AACA;AACEC,EAAAA,OAAO,EAAE;AACRC,IAAAA,OAAO,EAAE;AACRC,MAAAA,IAAI,EAAE,CAAC,IAAD,CADE;AAERC,MAAAA,EAFQ,gBAEH;AACJ,YAAMF,OAAO,GAAG,IAAIG,yBAAJ,EAAhB;AACAH,QAAAA,OAAO,CAACI,SAAR,CAAkBC,IAAlB,GAAyB,KAAKC,EAA9B;AACA,eAAON,OAAP;AACA;AANO;AADD,GAzBsB;;AAoC/B;AACF;AACA;AACA;AACEO,EAAAA,QAAQ,EAAE;AACTC,IAAAA,gBAAgB,EAAE,kBADT;AAETC,IAAAA,YAAY,EAAE,kBAFL;AAGTC,IAAAA,IAAI,EAAE;AAHG;AAxCqB,CADR,CAAlB;;;AAiDP,6BAAS,WAAT,EAAsBvB,SAAtB","sourcesContent":["import \"./deck-tags.js\";\nimport \"./deck-version.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { CMSValCollection } from \"../collections/cms-vals.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.DeckModel\n * @extends models.BaseModel\n */\nexport const DeckModel = BaseModel.extend(\n\t/** @lends models.DeckModel# */ {\n\t\tmodelName: \"decks\",\n\n\t\t/**\n\t\t * @property {boolean} enabled\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} description\n\t\t * @property {string} key\n\t\t * @property {number} sequence\n\t\t * @property {string} title\n\t\t */\n\t\tprops: {\n\t\t\tenabled: \"boolean\",\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tdescription: \"stringSanitized\",\n\t\t\tkey: \"string\",\n\t\t\tsequence: \"number\",\n\t\t\ttitle: \"stringSanitized\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.CMSValCollection} cms_vals\n\t\t */\n\t\tderived: {\n\t\t\tcmsVals: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst cmsVals = new CMSValCollection();\n\t\t\t\t\tcmsVals.queryData.deck = this.id;\n\t\t\t\t\treturn cmsVals;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * @property {models.DeckVersionModel} approved_version\n\t\t * @property {models.DeckVersionModel} head_version\n\t\t */\n\t\tchildren: {\n\t\t\tapproved_version: \"DeckVersionModel\",\n\t\t\thead_version: \"DeckVersionModel\",\n\t\t\ttags: \"DeckTagsModel\",\n\t\t},\n\t}\n);\n\nregister(\"DeckModel\", DeckModel);\n"],"file":"deck.js"}
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.ManifestJSONModel = void 0;
9
9
 
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
10
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
13
 
12
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -19,16 +21,16 @@ var _stateRegister = require("../state-register.js");
19
21
 
20
22
  var _url = _interopRequireDefault(require("url"));
21
23
 
22
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
23
-
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
-
26
24
  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; } } }; }
27
25
 
28
26
  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); }
29
27
 
30
28
  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; }
31
29
 
30
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
31
+
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
33
+
32
34
  /**
33
35
  * @constructor
34
36
  * @alias models.ManifestJSONModel
@@ -103,6 +105,9 @@ var ManifestJSONModel = _base.BaseModel.extend(
103
105
  type: "boolean",
104
106
  default: false
105
107
  },
108
+ point_in_time_share_policy: {
109
+ type: "string"
110
+ },
106
111
  notify_salesperson_after_feeds_fetched: {
107
112
  type: "boolean",
108
113
  default: false
@@ -180,6 +185,37 @@ var ManifestJSONModel = _base.BaseModel.extend(
180
185
  exports.ManifestJSONModel = ManifestJSONModel;
181
186
 
182
187
  ManifestJSONModel.createFromProject = function (projectFile) {
188
+ // If the deck is an impostor deck, we have to update some things for
189
+ // them to make sense in the impostor format
190
+ if (projectFile.impostor) {
191
+ // There is only one real section; all of the "sections" defined in the
192
+ // project.yaml are actually slides, and slides can't have a maxAdjunctSlides
193
+ // value. We get around this by totalling up all of the maxAdjunctSlides values
194
+ // across the sections and give that number to the real section. Later e.g. in the
195
+ // app, that number will be taken and divided by the number of impostor sections
196
+ // to get the maxAdjunctSlides value for each impostor section
197
+ var maxAdjunctSlides = projectFile.sections.reduce(function (num, section) {
198
+ return num + (section.maxAdjunctSlides || 0);
199
+ }, 0); // Create a "real" section (that will never be seen by the user) and give
200
+ // it all of the sections & slides. Impostor sections (which are technically
201
+ // slides) are given the "section-header" tag to mark them as sections
202
+
203
+ projectFile.sections = [{
204
+ maxAdjunctSlides: maxAdjunctSlides,
205
+ key: projectFile.key,
206
+ title: projectFile.name,
207
+ slides: projectFile.sections.reduce(function (sections, section) {
208
+ var newSection = _objectSpread(_objectSpread({}, section), {}, {
209
+ slides: []
210
+ });
211
+
212
+ newSection.tags = ["section-header"].concat(newSection.tags || []);
213
+ sections.push.apply(sections, [newSection].concat((0, _toConsumableArray2.default)(section.slides || [])));
214
+ return sections;
215
+ }, [])
216
+ }];
217
+ }
218
+
183
219
  var titles = projectFile.sections.reduce(function (titles, section) {
184
220
  titles[section.key] = section.title;
185
221
 
@@ -237,9 +273,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
237
273
  return ordering;
238
274
  }, {});
239
275
  var tags = projectFile.sections.reduce(function (tags, section) {
240
- if (section.tags) {
241
- tags[section.key] = section.tags;
242
- }
276
+ tags[section.key] = section.tags || [];
243
277
 
244
278
  var _iterator3 = _createForOfIteratorHelper(section.slides || []),
245
279
  _step3;
@@ -247,10 +281,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
247
281
  try {
248
282
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
249
283
  var slide = _step3.value;
250
-
251
- if (slide.tags) {
252
- tags["".concat(section.key, "/").concat(slide.key)] = slide.tags;
253
- }
284
+ tags["".concat(section.key, "/").concat(slide.key)] = slide.tags || [];
254
285
  }
255
286
  } catch (err) {
256
287
  _iterator3.e(err);
@@ -266,7 +297,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
266
297
  if (projectFile.welcome.tags) {
267
298
  // It's convention to use an empty string for the
268
299
  // Welcome slide's key
269
- tags[""] = projectFile.welcome.tags;
300
+ tags[""] = projectFile.welcome.tags || [];
270
301
  }
271
302
  }
272
303
 
@@ -311,6 +342,10 @@ ManifestJSONModel.createFromProject = function (projectFile) {
311
342
  manifest.has_editable_share_support = projectFile.has_editable_share_support;
312
343
  }
313
344
 
345
+ if (projectFile.point_in_time_share_policy) {
346
+ manifest.point_in_time_share_policy = projectFile.point_in_time_share_policy;
347
+ }
348
+
314
349
  if (projectFile.notify_salesperson_after_feeds_fetched) {
315
350
  manifest.notify_salesperson_after_feeds_fetched = projectFile.notify_salesperson_after_feeds_fetched;
316
351
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/manifest-json.js"],"names":["ManifestJSONModel","BaseModel","extend","props","key","maintainer","common","feeds","hooks","fixtures","limits","ordering","tags","titles","templates","content_editors","persistentcontext","type","default","screenshotpreferences","vector","dimensions","width","height","pdfpreferences","quality_level","has_editable_share_support","notify_salesperson_after_feeds_fetched","require_verification","companywide_editable","app_settings","appointment","show_visible_default","getAssetPath","split","sectionKey","slideKey","sectionKeyPath","url2","resolve","url","getTemplateAssetPath","parent","modelName","getPlainURL","prototype","call","createFromProject","projectFile","sections","reduce","section","title","slides","slide","template","index","adjunctslide","maxAdjunctSlides","slideIndex","welcome","manifest","canBeEmpty"],"mappings":"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","sourcesContent":["import \"./pack.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias models.ManifestJSONModel\n * @extends models.BaseModel\n */\nexport const ManifestJSONModel = BaseModel.extend(\n\t/** @lends models.ManifestJSONModel# */ {\n\t\t/**\n\t\t * @property {string} key\n\t\t * @property {string} maintainer\n\t\t * @property {object} common\n\t\t * @property {object} feeds\n\t\t * @property {object} hooks\n\t\t * @property {object} limits\n\t\t * @property {object} ordering\n\t\t * @property {object} tags\n\t\t * @property {object} titles\n\t\t * @property {object} templates\n\t\t * @property {object} screenshotpreferences\n\t\t * @property {object} dimensions\n\t\t * @property {object} pdfpreferences\n\t\t * @property {boolean} has_editable_share_support\n\t\t * @property {boolean} notify_salesperson_after_feeds_fetched\n\t\t * @property {boolean} require_verification\n\t\t * @property {boolean} companywide_editable\n\t\t * @property {object} content_editors\n\t\t */\n\t\tprops: {\n\t\t\tkey: \"string\",\n\t\t\tmaintainer: \"string\",\n\t\t\tcommon: \"object\",\n\t\t\tfeeds: \"object\",\n\t\t\thooks: \"string\",\n\t\t\tfixtures: \"object\",\n\t\t\tlimits: \"object\",\n\t\t\tordering: \"object\",\n\t\t\ttags: \"object\",\n\t\t\ttitles: \"object\",\n\t\t\ttemplates: \"object\",\n\t\t\tcontent_editors: \"object\",\n\t\t\tpersistentcontext: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tscreenshotpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvector: false,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\twidth: 1024,\n\t\t\t\t\t\theight: 768,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tpdfpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tquality_level: \"prepress\",\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\thas_editable_share_support: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tnotify_salesperson_after_feeds_fetched: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\trequire_verification: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcompanywide_editable: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tapp_settings: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tappointment: {\n\t\t\t\t\t\t\tshow_visible_default: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Returns the path to a manifest asset, using its url as the base.\n\t\t * @param {?string} key\n\t\t * @returns {?string}\n\t\t */\n\t\tgetAssetPath(key = null) {\n\t\t\tif (key) {\n\t\t\t\tconst [sectionKey, slideKey = null] = key.split(\"/\");\n\t\t\t\tconst sectionKeyPath = url2.resolve(\n\t\t\t\t\tthis.url(),\n\t\t\t\t\t`sections/${sectionKey}/`\n\t\t\t\t);\n\t\t\t\tif (slideKey) {\n\t\t\t\t\treturn url2.resolve(sectionKeyPath, `slides/${slideKey}/`);\n\t\t\t\t}\n\t\t\t\treturn sectionKeyPath;\n\t\t\t}\n\n\t\t\treturn this.url();\n\t\t},\n\n\t\t/**\n\t\t Returns path to template assets, which are exceptional to regular slide assets\n\t\t * @param {?string} key\n\t\t * @returns {?string}\n\t\t */\n\t\tgetTemplateAssetPath(key) {\n\t\t\treturn url2.resolve(this.getAssetPath(), `templates/${key}/`);\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.parent && this.parent.modelName === \"deckversions\") {\n\t\t\t\treturn `${this.parent.getPlainURL()}manifest/`;\n\t\t\t}\n\n\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t},\n\t}\n);\n\n/**\n * Converts a project file into a manifest json object. This expected\n * the project.yaml file to have been already read into a javascript\n * object.\n */\nManifestJSONModel.createFromProject = function (projectFile) {\n\tconst titles = projectFile.sections.reduce((titles, section) => {\n\t\ttitles[section.key] = section.title;\n\t\tfor (const slide of section.slides || []) {\n\t\t\ttitles[`${section.key}/${slide.key}`] = slide.title;\n\t\t}\n\t\treturn titles;\n\t}, {});\n\n\tconst templates = (projectFile.templates || []).reduce(\n\t\t(templates, template, index) => {\n\t\t\ttemplates[template.key] = {\n\t\t\t\ttitle: template.title,\n\t\t\t\tordering: index + 1,\n\t\t\t};\n\t\t\treturn templates;\n\t\t},\n\t\t{}\n\t);\n\n\tconst limits = {\n\t\tadjunctslide: projectFile.sections.reduce((limits, section) => {\n\t\t\tif (typeof section.maxAdjunctSlides === \"number\") {\n\t\t\t\tlimits[section.key] = section.maxAdjunctSlides;\n\t\t\t}\n\t\t\treturn limits;\n\t\t}, {}),\n\t};\n\n\tconst ordering = projectFile.sections.reduce((ordering, section, index) => {\n\t\tordering[section.key] = index + 1;\n\t\tlet slideIndex = 0;\n\t\tfor (const slide of section.slides || []) {\n\t\t\tslideIndex++;\n\t\t\tordering[`${section.key}/${slide.key}`] = slideIndex;\n\t\t}\n\t\treturn ordering;\n\t}, {});\n\n\tconst tags = projectFile.sections.reduce((tags, section) => {\n\t\tif (section.tags) {\n\t\t\ttags[section.key] = section.tags;\n\t\t}\n\t\tfor (const slide of section.slides || []) {\n\t\t\tif (slide.tags) {\n\t\t\t\ttags[`${section.key}/${slide.key}`] = slide.tags;\n\t\t\t}\n\t\t}\n\t\treturn tags;\n\t}, {});\n\n\t// Add config for the Welcome slide here - it's namespaced in\n\t// the project.yaml under the \"welcome\" key\n\tif (projectFile.welcome) {\n\t\tif (projectFile.welcome.tags) {\n\t\t\t// It's convention to use an empty string for the\n\t\t\t// Welcome slide's key\n\t\t\ttags[\"\"] = projectFile.welcome.tags;\n\t\t}\n\t}\n\n\tconst manifest = new ManifestJSONModel({\n\t\tcommon: projectFile.common,\n\t\tfeeds: projectFile.feeds,\n\t\thooks: projectFile.hooks,\n\t\tfixtures: projectFile.fixtures,\n\t\ttitles,\n\t\ttemplates,\n\t\tordering,\n\t\tlimits,\n\t\ttags,\n\t\tkey: projectFile.key,\n\t});\n\n\tif (projectFile.content_editors) {\n\t\tmanifest.content_editors = projectFile.content_editors;\n\t}\n\n\tif (projectFile.screenshotpreferences) {\n\t\tmanifest.screenshotpreferences = projectFile.screenshotpreferences;\n\t}\n\n\tif (projectFile.pdfpreferences) {\n\t\tmanifest.pdfpreferences = projectFile.pdfpreferences;\n\t}\n\n\tif (projectFile.persistentcontext) {\n\t\tmanifest.persistentcontext = projectFile.persistentcontext;\n\t}\n\n\tif (projectFile.maintainer) {\n\t\tmanifest.maintainer = projectFile.maintainer;\n\t}\n\n\tif (projectFile.dimensions) {\n\t\tmanifest.dimensions = projectFile.dimensions;\n\t}\n\n\tif (projectFile.has_editable_share_support) {\n\t\tmanifest.has_editable_share_support =\n\t\t\tprojectFile.has_editable_share_support;\n\t}\n\n\tif (projectFile.notify_salesperson_after_feeds_fetched) {\n\t\tmanifest.notify_salesperson_after_feeds_fetched =\n\t\t\tprojectFile.notify_salesperson_after_feeds_fetched;\n\t}\n\n\tif (projectFile.require_verification) {\n\t\tmanifest.require_verification = projectFile.require_verification;\n\t}\n\n\tif (projectFile.app_settings) {\n\t\tmanifest.app_settings = {\n\t\t\t...manifest.app_settings,\n\t\t\t...projectFile.app_settings,\n\t\t};\n\t}\n\n\treturn manifest;\n};\n\nManifestJSONModel.canBeEmpty = true;\n\nregister(\"ManifestJSONModel\", ManifestJSONModel);\n"],"file":"manifest-json.js"}
1
+ {"version":3,"sources":["../../src/models/manifest-json.js"],"names":["ManifestJSONModel","BaseModel","extend","props","key","maintainer","common","feeds","hooks","fixtures","limits","ordering","tags","titles","templates","content_editors","persistentcontext","type","default","screenshotpreferences","vector","dimensions","width","height","pdfpreferences","quality_level","has_editable_share_support","point_in_time_share_policy","notify_salesperson_after_feeds_fetched","require_verification","companywide_editable","app_settings","appointment","show_visible_default","getAssetPath","split","sectionKey","slideKey","sectionKeyPath","url2","resolve","url","getTemplateAssetPath","parent","modelName","getPlainURL","prototype","call","createFromProject","projectFile","impostor","maxAdjunctSlides","sections","reduce","num","section","title","name","slides","newSection","concat","push","slide","template","index","adjunctslide","slideIndex","welcome","manifest","canBeEmpty"],"mappings":"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","sourcesContent":["import \"./pack.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\nimport url2 from \"url\";\n\n/**\n * @constructor\n * @alias models.ManifestJSONModel\n * @extends models.BaseModel\n */\nexport const ManifestJSONModel = BaseModel.extend(\n\t/** @lends models.ManifestJSONModel# */ {\n\t\t/**\n\t\t * @property {string} key\n\t\t * @property {string} maintainer\n\t\t * @property {object} common\n\t\t * @property {object} feeds\n\t\t * @property {object} hooks\n\t\t * @property {object} limits\n\t\t * @property {object} ordering\n\t\t * @property {object} tags\n\t\t * @property {object} titles\n\t\t * @property {object} templates\n\t\t * @property {object} screenshotpreferences\n\t\t * @property {object} dimensions\n\t\t * @property {object} pdfpreferences\n\t\t * @property {boolean} has_editable_share_support\n\t\t * @property {boolean} notify_salesperson_after_feeds_fetched\n\t\t * @property {boolean} require_verification\n\t\t * @property {boolean} companywide_editable\n\t\t * @property {object} content_editors\n\t\t */\n\t\tprops: {\n\t\t\tkey: \"string\",\n\t\t\tmaintainer: \"string\",\n\t\t\tcommon: \"object\",\n\t\t\tfeeds: \"object\",\n\t\t\thooks: \"string\",\n\t\t\tfixtures: \"object\",\n\t\t\tlimits: \"object\",\n\t\t\tordering: \"object\",\n\t\t\ttags: \"object\",\n\t\t\ttitles: \"object\",\n\t\t\ttemplates: \"object\",\n\t\t\tcontent_editors: \"object\",\n\t\t\tpersistentcontext: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tscreenshotpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tvector: false,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\twidth: 1024,\n\t\t\t\t\t\theight: 768,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\tpdfpreferences: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tquality_level: \"prepress\",\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t\thas_editable_share_support: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tpoint_in_time_share_policy: {\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tnotify_salesperson_after_feeds_fetched: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\trequire_verification: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tcompanywide_editable: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tapp_settings: {\n\t\t\t\ttype: \"object\",\n\t\t\t\tdefault: function () {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tappointment: {\n\t\t\t\t\t\t\tshow_visible_default: false,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Returns the path to a manifest asset, using its url as the base.\n\t\t * @param {?string} key\n\t\t * @returns {?string}\n\t\t */\n\t\tgetAssetPath(key = null) {\n\t\t\tif (key) {\n\t\t\t\tconst [sectionKey, slideKey = null] = key.split(\"/\");\n\t\t\t\tconst sectionKeyPath = url2.resolve(\n\t\t\t\t\tthis.url(),\n\t\t\t\t\t`sections/${sectionKey}/`\n\t\t\t\t);\n\t\t\t\tif (slideKey) {\n\t\t\t\t\treturn url2.resolve(sectionKeyPath, `slides/${slideKey}/`);\n\t\t\t\t}\n\t\t\t\treturn sectionKeyPath;\n\t\t\t}\n\n\t\t\treturn this.url();\n\t\t},\n\n\t\t/**\n\t\t Returns path to template assets, which are exceptional to regular slide assets\n\t\t * @param {?string} key\n\t\t * @returns {?string}\n\t\t */\n\t\tgetTemplateAssetPath(key) {\n\t\t\treturn url2.resolve(this.getAssetPath(), `templates/${key}/`);\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.parent && this.parent.modelName === \"deckversions\") {\n\t\t\t\treturn `${this.parent.getPlainURL()}manifest/`;\n\t\t\t}\n\n\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t},\n\t}\n);\n\n/**\n * Converts a project file into a manifest json object. This expected\n * the project.yaml file to have been already read into a javascript\n * object.\n */\nManifestJSONModel.createFromProject = function (projectFile) {\n\t// If the deck is an impostor deck, we have to update some things for\n\t// them to make sense in the impostor format\n\tif (projectFile.impostor) {\n\t\t// There is only one real section; all of the \"sections\" defined in the\n\t\t// project.yaml are actually slides, and slides can't have a maxAdjunctSlides\n\t\t// value. We get around this by totalling up all of the maxAdjunctSlides values\n\t\t// across the sections and give that number to the real section. Later e.g. in the\n\t\t// app, that number will be taken and divided by the number of impostor sections\n\t\t// to get the maxAdjunctSlides value for each impostor section\n\t\tconst maxAdjunctSlides = projectFile.sections.reduce((num, section) => {\n\t\t\treturn num + (section.maxAdjunctSlides || 0);\n\t\t}, 0);\n\n\t\t// Create a \"real\" section (that will never be seen by the user) and give\n\t\t// it all of the sections & slides. Impostor sections (which are technically\n\t\t// slides) are given the \"section-header\" tag to mark them as sections\n\t\tprojectFile.sections = [\n\t\t\t{\n\t\t\t\tmaxAdjunctSlides,\n\t\t\t\tkey: projectFile.key,\n\t\t\t\ttitle: projectFile.name,\n\t\t\t\tslides: projectFile.sections.reduce((sections, section) => {\n\t\t\t\t\tconst newSection = {\n\t\t\t\t\t\t...section,\n\t\t\t\t\t\tslides: [],\n\t\t\t\t\t};\n\t\t\t\t\tnewSection.tags = [\"section-header\"].concat(newSection.tags || []);\n\n\t\t\t\t\tsections.push(newSection, ...(section.slides || []));\n\t\t\t\t\treturn sections;\n\t\t\t\t}, []),\n\t\t\t},\n\t\t];\n\t}\n\n\tconst titles = projectFile.sections.reduce((titles, section) => {\n\t\ttitles[section.key] = section.title;\n\t\tfor (const slide of section.slides || []) {\n\t\t\ttitles[`${section.key}/${slide.key}`] = slide.title;\n\t\t}\n\t\treturn titles;\n\t}, {});\n\n\tconst templates = (projectFile.templates || []).reduce(\n\t\t(templates, template, index) => {\n\t\t\ttemplates[template.key] = {\n\t\t\t\ttitle: template.title,\n\t\t\t\tordering: index + 1,\n\t\t\t};\n\t\t\treturn templates;\n\t\t},\n\t\t{}\n\t);\n\n\tconst limits = {\n\t\tadjunctslide: projectFile.sections.reduce((limits, section) => {\n\t\t\tif (typeof section.maxAdjunctSlides === \"number\") {\n\t\t\t\tlimits[section.key] = section.maxAdjunctSlides;\n\t\t\t}\n\t\t\treturn limits;\n\t\t}, {}),\n\t};\n\n\tconst ordering = projectFile.sections.reduce((ordering, section, index) => {\n\t\tordering[section.key] = index + 1;\n\t\tlet slideIndex = 0;\n\t\tfor (const slide of section.slides || []) {\n\t\t\tslideIndex++;\n\t\t\tordering[`${section.key}/${slide.key}`] = slideIndex;\n\t\t}\n\t\treturn ordering;\n\t}, {});\n\n\tconst tags = projectFile.sections.reduce((tags, section) => {\n\t\ttags[section.key] = section.tags || [];\n\t\tfor (const slide of section.slides || []) {\n\t\t\ttags[`${section.key}/${slide.key}`] = slide.tags || [];\n\t\t}\n\t\treturn tags;\n\t}, {});\n\n\t// Add config for the Welcome slide here - it's namespaced in\n\t// the project.yaml under the \"welcome\" key\n\tif (projectFile.welcome) {\n\t\tif (projectFile.welcome.tags) {\n\t\t\t// It's convention to use an empty string for the\n\t\t\t// Welcome slide's key\n\t\t\ttags[\"\"] = projectFile.welcome.tags || [];\n\t\t}\n\t}\n\n\tconst manifest = new ManifestJSONModel({\n\t\tcommon: projectFile.common,\n\t\tfeeds: projectFile.feeds,\n\t\thooks: projectFile.hooks,\n\t\tfixtures: projectFile.fixtures,\n\t\ttitles,\n\t\ttemplates,\n\t\tordering,\n\t\tlimits,\n\t\ttags,\n\t\tkey: projectFile.key,\n\t});\n\n\tif (projectFile.content_editors) {\n\t\tmanifest.content_editors = projectFile.content_editors;\n\t}\n\n\tif (projectFile.screenshotpreferences) {\n\t\tmanifest.screenshotpreferences = projectFile.screenshotpreferences;\n\t}\n\n\tif (projectFile.pdfpreferences) {\n\t\tmanifest.pdfpreferences = projectFile.pdfpreferences;\n\t}\n\n\tif (projectFile.persistentcontext) {\n\t\tmanifest.persistentcontext = projectFile.persistentcontext;\n\t}\n\n\tif (projectFile.maintainer) {\n\t\tmanifest.maintainer = projectFile.maintainer;\n\t}\n\n\tif (projectFile.dimensions) {\n\t\tmanifest.dimensions = projectFile.dimensions;\n\t}\n\n\tif (projectFile.has_editable_share_support) {\n\t\tmanifest.has_editable_share_support =\n\t\t\tprojectFile.has_editable_share_support;\n\t}\n\n\tif (projectFile.point_in_time_share_policy) {\n\t\tmanifest.point_in_time_share_policy =\n\t\t\tprojectFile.point_in_time_share_policy;\n\t}\n\n\tif (projectFile.notify_salesperson_after_feeds_fetched) {\n\t\tmanifest.notify_salesperson_after_feeds_fetched =\n\t\t\tprojectFile.notify_salesperson_after_feeds_fetched;\n\t}\n\n\tif (projectFile.require_verification) {\n\t\tmanifest.require_verification = projectFile.require_verification;\n\t}\n\n\tif (projectFile.app_settings) {\n\t\tmanifest.app_settings = {\n\t\t\t...manifest.app_settings,\n\t\t\t...projectFile.app_settings,\n\t\t};\n\t}\n\n\treturn manifest;\n};\n\nManifestJSONModel.canBeEmpty = true;\n\nregister(\"ManifestJSONModel\", ManifestJSONModel);\n"],"file":"manifest-json.js"}
@@ -9,6 +9,8 @@ require("./user.js");
9
9
 
10
10
  require("./deck.js");
11
11
 
12
+ require("./team.js");
13
+
12
14
  var _base = require("./base.js");
13
15
 
14
16
  var _stateRegister = require("../state-register.js");
@@ -42,10 +44,13 @@ var PresetModel = _base.BaseModel.extend(
42
44
  /**
43
45
  * @property {models.UserModel} user
44
46
  * @property {models.DeckModel} deck
47
+ * @property {models.TeamModel} team
45
48
  */
46
49
  children: {
47
50
  user: "UserModel",
48
- deck: "DeckModel"
51
+ deck: "DeckModel",
52
+ team: "TeamModel",
53
+ keylist_team: "TeamModel"
49
54
  },
50
55
  toServer: function toServer() {
51
56
  var data = {
@@ -63,10 +68,25 @@ var PresetModel = _base.BaseModel.extend(
63
68
  data.id = this.id;
64
69
  }
65
70
 
71
+ var teamURL = this._retrieveURL(this.team);
72
+
73
+ if (teamURL) {
74
+ data.team = teamURL;
75
+ }
76
+
77
+ var keylistTeamURL = this._retrieveURL(this.keylist_team);
78
+
79
+ if (keylistTeamURL) {
80
+ data.keylist_team = keylistTeamURL;
81
+ }
82
+
66
83
  return data;
67
84
  }
68
85
  });
69
86
 
70
87
  exports.PresetModel = PresetModel;
88
+ PresetModel.USER_VISIBILITY = "__user__";
89
+ PresetModel.GLOBAL_VISIBILITY = "__global__";
90
+ PresetModel.STANDARD_SLIDE_SOURCE = "__standard__";
71
91
  (0, _stateRegister.register)("PresetModel", PresetModel);
72
92
  //# sourceMappingURL=preset.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/preset.js"],"names":["PresetModel","BaseModel","extend","modelName","props","scope","keylist","created_date","modified_date","name","context","children","user","deck","toServer","data","_retrieveURL","id"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,WAAW,GAAGC,gBAAUC,MAAV;AAC1B;AAAkC;AACjCC,EAAAA,SAAS,EAAE,SADsB;;AAGjC;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,KAAK,EAAE,QADD;AAENC,IAAAA,OAAO,EAAE,OAFH;AAGNC,IAAAA,YAAY,EAAE,MAHR;AAINC,IAAAA,aAAa,EAAE,MAJT;AAKNC,IAAAA,IAAI,EAAE,iBALA;AAMNC,IAAAA,OAAO,EAAE;AANH,GAV0B;;AAmBjC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,WADG;AAETC,IAAAA,IAAI,EAAE;AAFG,GAvBuB;AA4BjCC,EAAAA,QA5BiC,sBA4BtB;AACV,QAAMC,IAAI,GAAG;AACZV,MAAAA,KAAK,EAAE,KAAKA,KADA;AAEZC,MAAAA,OAAO,EAAE,KAAKA,OAFF;AAGZC,MAAAA,YAAY,EAAE,KAAKA,YAHP;AAIZC,MAAAA,aAAa,EAAE,KAAKA,aAJR;AAKZC,MAAAA,IAAI,EAAE,KAAKA,IALC;AAMZC,MAAAA,OAAO,EAAE,KAAKA,OAAL,IAAgB,EANb;AAOZ;AACAG,MAAAA,IAAI,EAAE,KAAKG,YAAL,CAAkB,KAAKH,IAAvB;AARM,KAAb;;AAWA,QAAI,KAAKI,EAAT,EAAa;AACZF,MAAAA,IAAI,CAACE,EAAL,GAAU,KAAKA,EAAf;AACA;;AAED,WAAOF,IAAP;AACA;AA7CgC,CADR,CAApB;;;AAkDP,6BAAS,aAAT,EAAwBf,WAAxB","sourcesContent":["import \"./user.js\";\nimport \"./deck.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.PresetModel\n * @extends models.BaseModel\n */\nexport const PresetModel = BaseModel.extend(\n\t/** @lends models.PresetModel# */ {\n\t\tmodelName: \"presets\",\n\n\t\t/**\n\t\t * @property {string} scope\n\t\t * @property {string[]} keylist\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} name\n\t\t */\n\t\tprops: {\n\t\t\tscope: \"string\",\n\t\t\tkeylist: \"array\",\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tname: \"stringSanitized\",\n\t\t\tcontext: \"object\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.UserModel} user\n\t\t * @property {models.DeckModel} deck\n\t\t */\n\t\tchildren: {\n\t\t\tuser: \"UserModel\",\n\t\t\tdeck: \"DeckModel\",\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst data = {\n\t\t\t\tscope: this.scope,\n\t\t\t\tkeylist: this.keylist,\n\t\t\t\tcreated_date: this.created_date,\n\t\t\t\tmodified_date: this.modified_date,\n\t\t\t\tname: this.name,\n\t\t\t\tcontext: this.context || {},\n\t\t\t\t// user: this._retrieveURL(this.user),\n\t\t\t\tdeck: this._retrieveURL(this.deck),\n\t\t\t};\n\n\t\t\tif (this.id) {\n\t\t\t\tdata.id = this.id;\n\t\t\t}\n\n\t\t\treturn data;\n\t\t},\n\t}\n);\n\nregister(\"PresetModel\", PresetModel);\n"],"file":"preset.js"}
1
+ {"version":3,"sources":["../../src/models/preset.js"],"names":["PresetModel","BaseModel","extend","modelName","props","scope","keylist","created_date","modified_date","name","context","children","user","deck","team","keylist_team","toServer","data","_retrieveURL","id","teamURL","keylistTeamURL","USER_VISIBILITY","GLOBAL_VISIBILITY","STANDARD_SLIDE_SOURCE"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,WAAW,GAAGC,gBAAUC,MAAV;AAC1B;AAAkC;AACjCC,EAAAA,SAAS,EAAE,SADsB;;AAGjC;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,KAAK,EAAE,QADD;AAENC,IAAAA,OAAO,EAAE,OAFH;AAGNC,IAAAA,YAAY,EAAE,MAHR;AAINC,IAAAA,aAAa,EAAE,MAJT;AAKNC,IAAAA,IAAI,EAAE,iBALA;AAMNC,IAAAA,OAAO,EAAE;AANH,GAV0B;;AAmBjC;AACF;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,WADG;AAETC,IAAAA,IAAI,EAAE,WAFG;AAGTC,IAAAA,IAAI,EAAE,WAHG;AAITC,IAAAA,YAAY,EAAE;AAJL,GAxBuB;AA+BjCC,EAAAA,QA/BiC,sBA+BtB;AACV,QAAMC,IAAI,GAAG;AACZZ,MAAAA,KAAK,EAAE,KAAKA,KADA;AAEZC,MAAAA,OAAO,EAAE,KAAKA,OAFF;AAGZC,MAAAA,YAAY,EAAE,KAAKA,YAHP;AAIZC,MAAAA,aAAa,EAAE,KAAKA,aAJR;AAKZC,MAAAA,IAAI,EAAE,KAAKA,IALC;AAMZC,MAAAA,OAAO,EAAE,KAAKA,OAAL,IAAgB,EANb;AAOZ;AACAG,MAAAA,IAAI,EAAE,KAAKK,YAAL,CAAkB,KAAKL,IAAvB;AARM,KAAb;;AAWA,QAAI,KAAKM,EAAT,EAAa;AACZF,MAAAA,IAAI,CAACE,EAAL,GAAU,KAAKA,EAAf;AACA;;AAED,QAAMC,OAAO,GAAG,KAAKF,YAAL,CAAkB,KAAKJ,IAAvB,CAAhB;;AAEA,QAAIM,OAAJ,EAAa;AACZH,MAAAA,IAAI,CAACH,IAAL,GAAYM,OAAZ;AACA;;AACD,QAAMC,cAAc,GAAG,KAAKH,YAAL,CAAkB,KAAKH,YAAvB,CAAvB;;AAEA,QAAIM,cAAJ,EAAoB;AACnBJ,MAAAA,IAAI,CAACF,YAAL,GAAoBM,cAApB;AACA;;AAED,WAAOJ,IAAP;AACA;AA3DgC,CADR,CAApB;;;AAgEPjB,WAAW,CAACsB,eAAZ,GAA8B,UAA9B;AACAtB,WAAW,CAACuB,iBAAZ,GAAgC,YAAhC;AACAvB,WAAW,CAACwB,qBAAZ,GAAoC,cAApC;AAEA,6BAAS,aAAT,EAAwBxB,WAAxB","sourcesContent":["import \"./user.js\";\nimport \"./deck.js\";\nimport \"./team.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.PresetModel\n * @extends models.BaseModel\n */\nexport const PresetModel = BaseModel.extend(\n\t/** @lends models.PresetModel# */ {\n\t\tmodelName: \"presets\",\n\n\t\t/**\n\t\t * @property {string} scope\n\t\t * @property {string[]} keylist\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} name\n\t\t */\n\t\tprops: {\n\t\t\tscope: \"string\",\n\t\t\tkeylist: \"array\",\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tname: \"stringSanitized\",\n\t\t\tcontext: \"object\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.UserModel} user\n\t\t * @property {models.DeckModel} deck\n\t\t * @property {models.TeamModel} team\n\t\t */\n\t\tchildren: {\n\t\t\tuser: \"UserModel\",\n\t\t\tdeck: \"DeckModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t\tkeylist_team: \"TeamModel\",\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst data = {\n\t\t\t\tscope: this.scope,\n\t\t\t\tkeylist: this.keylist,\n\t\t\t\tcreated_date: this.created_date,\n\t\t\t\tmodified_date: this.modified_date,\n\t\t\t\tname: this.name,\n\t\t\t\tcontext: this.context || {},\n\t\t\t\t// user: this._retrieveURL(this.user),\n\t\t\t\tdeck: this._retrieveURL(this.deck),\n\t\t\t};\n\n\t\t\tif (this.id) {\n\t\t\t\tdata.id = this.id;\n\t\t\t}\n\n\t\t\tconst teamURL = this._retrieveURL(this.team);\n\n\t\t\tif (teamURL) {\n\t\t\t\tdata.team = teamURL;\n\t\t\t}\n\t\t\tconst keylistTeamURL = this._retrieveURL(this.keylist_team);\n\n\t\t\tif (keylistTeamURL) {\n\t\t\t\tdata.keylist_team = keylistTeamURL;\n\t\t\t}\n\n\t\t\treturn data;\n\t\t},\n\t}\n);\n\nPresetModel.USER_VISIBILITY = \"__user__\";\nPresetModel.GLOBAL_VISIBILITY = \"__global__\";\nPresetModel.STANDARD_SLIDE_SOURCE = \"__standard__\";\n\nregister(\"PresetModel\", PresetModel);\n"],"file":"preset.js"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TagModel = void 0;
7
+
8
+ require("./user.js");
9
+
10
+ require("./team.js");
11
+
12
+ require("./deck.js");
13
+
14
+ var _base = require("./base.js");
15
+
16
+ var _stateRegister = require("../state-register.js");
17
+
18
+ /**
19
+ * @constructor
20
+ * @alias models.TagModel
21
+ * @extends models.BaseModel
22
+ */
23
+ var TagModel = _base.BaseModel.extend(
24
+ /** @lends models.TagModel# */
25
+ {
26
+ modelName: "tags",
27
+
28
+ /**
29
+ * @property {string} scope
30
+ * @property {string} key
31
+ * @property {string} description
32
+ */
33
+ props: {
34
+ scope: "string",
35
+ key: "string",
36
+ description: "string",
37
+ visible: "boolean"
38
+ },
39
+
40
+ /**
41
+ * @property {models.UserModel} user
42
+ * @property {models.TeamModel} team
43
+ * @property {models.DeckModel} deck
44
+ */
45
+ children: {
46
+ user: "UserModel",
47
+ team: "TeamModel",
48
+ deck: "DeckModel"
49
+ }
50
+ });
51
+
52
+ exports.TagModel = TagModel;
53
+ (0, _stateRegister.register)("TagModel", TagModel);
54
+ //# sourceMappingURL=tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/models/tag.js"],"names":["TagModel","BaseModel","extend","modelName","props","scope","key","description","visible","children","user","team","deck"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,QAAQ,GAAGC,gBAAUC,MAAV;AACvB;AAA+B;AAC9BC,EAAAA,SAAS,EAAE,MADmB;;AAG9B;AACF;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,KAAK,EAAE,QADD;AAENC,IAAAA,GAAG,EAAE,QAFC;AAGNC,IAAAA,WAAW,EAAE,QAHP;AAINC,IAAAA,OAAO,EAAE;AAJH,GARuB;;AAe9B;AACF;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,WADG;AAETC,IAAAA,IAAI,EAAE,WAFG;AAGTC,IAAAA,IAAI,EAAE;AAHG;AApBoB,CADR,CAAjB;;;AA6BP,6BAAS,UAAT,EAAqBZ,QAArB","sourcesContent":["import \"./user.js\";\nimport \"./team.js\";\nimport \"./deck.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.TagModel\n * @extends models.BaseModel\n */\nexport const TagModel = BaseModel.extend(\n\t/** @lends models.TagModel# */ {\n\t\tmodelName: \"tags\",\n\n\t\t/**\n\t\t * @property {string} scope\n\t\t * @property {string} key\n\t\t * @property {string} description\n\t\t */\n\t\tprops: {\n\t\t\tscope: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tdescription: \"string\",\n\t\t\tvisible: \"boolean\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.UserModel} user\n\t\t * @property {models.TeamModel} team\n\t\t * @property {models.DeckModel} deck\n\t\t */\n\t\tchildren: {\n\t\t\tuser: \"UserModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t\tdeck: \"DeckModel\",\n\t\t},\n\t}\n);\n\nregister(\"TagModel\", TagModel);\n"],"file":"tag.js"}
@@ -123,7 +123,8 @@ var UserModel = _base.BaseModel.extend(
123
123
  deps: ["actions"],
124
124
  fn: function fn() {
125
125
  var presets = {
126
- canCreateCompanyPresets: this.actions.indexOf("Manage Deck Presets") > -1
126
+ canCreateCompanyPresets: this.actions.indexOf("Manage Deck Presets") > -1,
127
+ canCreateTeamPresets: this.actions.indexOf("Manage Team Presets") > -1
127
128
  };
128
129
  var presomanager = {
129
130
  isGlobalTemporarySlideManager: this.actions.indexOf("Manage Temporary Slides") > -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","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};\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","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"}
package/cjs/models.js CHANGED
@@ -212,6 +212,19 @@ Object.keys(_deck).forEach(function (key) {
212
212
  });
213
213
  });
214
214
 
215
+ var _deckTags = require("./models/deck-tags");
216
+
217
+ Object.keys(_deckTags).forEach(function (key) {
218
+ if (key === "default" || key === "__esModule") return;
219
+ if (key in exports && exports[key] === _deckTags[key]) return;
220
+ Object.defineProperty(exports, key, {
221
+ enumerable: true,
222
+ get: function get() {
223
+ return _deckTags[key];
224
+ }
225
+ });
226
+ });
227
+
215
228
  var _deckVersion = require("./models/deck-version");
216
229
 
217
230
  Object.keys(_deckVersion).forEach(function (key) {
@@ -589,6 +602,19 @@ Object.keys(_supportTicket).forEach(function (key) {
589
602
  });
590
603
  });
591
604
 
605
+ var _tag = require("./models/tag.js");
606
+
607
+ Object.keys(_tag).forEach(function (key) {
608
+ if (key === "default" || key === "__esModule") return;
609
+ if (key in exports && exports[key] === _tag[key]) return;
610
+ Object.defineProperty(exports, key, {
611
+ enumerable: true,
612
+ get: function get() {
613
+ return _tag[key];
614
+ }
615
+ });
616
+ });
617
+
592
618
  var _tenancy = require("./models/tenancy.js");
593
619
 
594
620
  Object.keys(_tenancy).forEach(function (key) {
@@ -706,6 +732,58 @@ Object.keys(_appointmentViewing).forEach(function (key) {
706
732
  });
707
733
  });
708
734
 
735
+ var _appointmentDeckversionTags = require("./models/appointment-deckversion-tags.js");
736
+
737
+ Object.keys(_appointmentDeckversionTags).forEach(function (key) {
738
+ if (key === "default" || key === "__esModule") return;
739
+ if (key in exports && exports[key] === _appointmentDeckversionTags[key]) return;
740
+ Object.defineProperty(exports, key, {
741
+ enumerable: true,
742
+ get: function get() {
743
+ return _appointmentDeckversionTags[key];
744
+ }
745
+ });
746
+ });
747
+
748
+ var _appointmentSectionTags = require("./models/appointment-section-tags.js");
749
+
750
+ Object.keys(_appointmentSectionTags).forEach(function (key) {
751
+ if (key === "default" || key === "__esModule") return;
752
+ if (key in exports && exports[key] === _appointmentSectionTags[key]) return;
753
+ Object.defineProperty(exports, key, {
754
+ enumerable: true,
755
+ get: function get() {
756
+ return _appointmentSectionTags[key];
757
+ }
758
+ });
759
+ });
760
+
761
+ var _appointmentSlideTags = require("./models/appointment-slide-tags.js");
762
+
763
+ Object.keys(_appointmentSlideTags).forEach(function (key) {
764
+ if (key === "default" || key === "__esModule") return;
765
+ if (key in exports && exports[key] === _appointmentSlideTags[key]) return;
766
+ Object.defineProperty(exports, key, {
767
+ enumerable: true,
768
+ get: function get() {
769
+ return _appointmentSlideTags[key];
770
+ }
771
+ });
772
+ });
773
+
774
+ var _appointmentAdjunctTags = require("./models/appointment-adjunct-tags.js");
775
+
776
+ Object.keys(_appointmentAdjunctTags).forEach(function (key) {
777
+ if (key === "default" || key === "__esModule") return;
778
+ if (key in exports && exports[key] === _appointmentAdjunctTags[key]) return;
779
+ Object.defineProperty(exports, key, {
780
+ enumerable: true,
781
+ get: function get() {
782
+ return _appointmentAdjunctTags[key];
783
+ }
784
+ });
785
+ });
786
+
709
787
  var _team = require("./models/team.js");
710
788
 
711
789
  Object.keys(_team).forEach(function (key) {