@livepreso/api 6.42.1 → 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 (196) 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/build-cache-tar.log +7 -0
  18. package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
  19. package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
  20. package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
  21. package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
  22. package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
  23. package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
  24. package/.rush/temp/package-deps_build.json +152 -134
  25. package/.rush/temp/package-deps_test.json +172 -0
  26. package/.rush/temp/shrinkwrap-deps.json +946 -847
  27. package/CHANGELOG.json +41 -0
  28. package/CHANGELOG.md +22 -1
  29. package/api.build.log +3 -26
  30. package/babel.config.js +1 -1
  31. package/bin/test.sh +0 -1
  32. package/cjs/api.js +1 -1
  33. package/cjs/api.js.map +1 -1
  34. package/cjs/auth.js +38 -11
  35. package/cjs/auth.js.map +1 -1
  36. package/cjs/auth.spec.js +12 -6
  37. package/cjs/auth.spec.js.map +1 -1
  38. package/cjs/caching.js +3 -3
  39. package/cjs/collections/activity.js +2 -2
  40. package/cjs/collections/appointment-adjunct-tags.js +28 -0
  41. package/cjs/collections/appointment-adjunct-tags.js.map +1 -0
  42. package/cjs/collections/appointment-deckversion-tags.js +28 -0
  43. package/cjs/collections/appointment-deckversion-tags.js.map +1 -0
  44. package/cjs/collections/appointment-section-tags.js +28 -0
  45. package/cjs/collections/appointment-section-tags.js.map +1 -0
  46. package/cjs/collections/appointment-slide-tags.js +28 -0
  47. package/cjs/collections/appointment-slide-tags.js.map +1 -0
  48. package/cjs/collections/appointment-tags.js +208 -0
  49. package/cjs/collections/appointment-tags.js.map +1 -0
  50. package/cjs/collections/appointments.js +2 -2
  51. package/cjs/collections/auto-adjuncts.js +2 -2
  52. package/cjs/collections/base.js +84 -3
  53. package/cjs/collections/base.js.map +1 -1
  54. package/cjs/collections/base.spec.js +178 -0
  55. package/cjs/collections/base.spec.js.map +1 -1
  56. package/cjs/collections/deck-version-screenshots.js +62 -0
  57. package/cjs/collections/deck-version-screenshots.js.map +1 -0
  58. package/cjs/collections/deck-versions.js +2 -2
  59. package/cjs/collections/tags.js +28 -0
  60. package/cjs/collections/tags.js.map +1 -0
  61. package/cjs/collections.js +91 -0
  62. package/cjs/collections.js.map +1 -1
  63. package/cjs/models/activity-item.js +5 -3
  64. package/cjs/models/activity-item.js.map +1 -1
  65. package/cjs/models/appointment-adjunct-tags.js +52 -0
  66. package/cjs/models/appointment-adjunct-tags.js.map +1 -0
  67. package/cjs/models/appointment-deckversion-tags.js +52 -0
  68. package/cjs/models/appointment-deckversion-tags.js.map +1 -0
  69. package/cjs/models/appointment-duplicate.js +2 -2
  70. package/cjs/models/appointment-section-tags.js +52 -0
  71. package/cjs/models/appointment-section-tags.js.map +1 -0
  72. package/cjs/models/appointment-slide-tags.js +52 -0
  73. package/cjs/models/appointment-slide-tags.js.map +1 -0
  74. package/cjs/models/appointment-tags.js +16 -15
  75. package/cjs/models/appointment-tags.js.map +1 -1
  76. package/cjs/models/appointment.js +19 -3
  77. package/cjs/models/appointment.js.map +1 -1
  78. package/cjs/models/auto-adjunct.js +3 -1
  79. package/cjs/models/auto-adjunct.js.map +1 -1
  80. package/cjs/models/base.js +19 -1
  81. package/cjs/models/base.js.map +1 -1
  82. package/cjs/models/base.spec.js +9 -0
  83. package/cjs/models/base.spec.js.map +1 -1
  84. package/cjs/models/deck-tags.js +61 -0
  85. package/cjs/models/deck-tags.js.map +1 -0
  86. package/cjs/models/deck-version-screenshot.js +59 -0
  87. package/cjs/models/deck-version-screenshot.js.map +1 -0
  88. package/cjs/models/deck-version.js +30 -5
  89. package/cjs/models/deck-version.js.map +1 -1
  90. package/cjs/models/deck.js +4 -1
  91. package/cjs/models/deck.js.map +1 -1
  92. package/cjs/models/feed-data.js +5 -0
  93. package/cjs/models/feed-data.js.map +1 -1
  94. package/cjs/models/image.js +34 -0
  95. package/cjs/models/image.js.map +1 -1
  96. package/cjs/models/manifest-json.js +56 -13
  97. package/cjs/models/manifest-json.js.map +1 -1
  98. package/cjs/models/preset.js +21 -1
  99. package/cjs/models/preset.js.map +1 -1
  100. package/cjs/models/section.js +3 -1
  101. package/cjs/models/section.js.map +1 -1
  102. package/cjs/models/slide.js +3 -1
  103. package/cjs/models/slide.js.map +1 -1
  104. package/cjs/models/tag.js +54 -0
  105. package/cjs/models/tag.js.map +1 -0
  106. package/cjs/models/template.js +3 -1
  107. package/cjs/models/template.js.map +1 -1
  108. package/cjs/models/token.js +56 -0
  109. package/cjs/models/token.js.map +1 -0
  110. package/cjs/models/user.js +4 -2
  111. package/cjs/models/user.js.map +1 -1
  112. package/cjs/models.js +104 -0
  113. package/cjs/models.js.map +1 -1
  114. package/cjs/presentation/appointment-presentation.js +11 -4
  115. package/cjs/presentation/appointment-presentation.js.map +1 -1
  116. package/cjs/presentation/base-presentation-model.js +167 -9
  117. package/cjs/presentation/base-presentation-model.js.map +1 -1
  118. package/cjs/presentation/base-presentation-model.spec.js +96 -6
  119. package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
  120. package/cjs/presentation/presentation-deck.js +36 -8
  121. package/cjs/presentation/presentation-deck.js.map +1 -1
  122. package/cjs/presentation/presentation-deck.spec.js +53 -0
  123. package/cjs/presentation/presentation-deck.spec.js.map +1 -1
  124. package/cjs/presentation/presentation-section.js +64 -25
  125. package/cjs/presentation/presentation-section.js.map +1 -1
  126. package/cjs/presentation/presentation-section.spec.js +536 -0
  127. package/cjs/presentation/presentation-section.spec.js.map +1 -0
  128. package/cjs/presentation/presentation-slide.js +43 -18
  129. package/cjs/presentation/presentation-slide.js.map +1 -1
  130. package/cjs/presentation/presentation-slide.spec.js +386 -0
  131. package/cjs/presentation/presentation-slide.spec.js.map +1 -0
  132. package/cjs/presentation/presentation-subslide.js +5 -2
  133. package/cjs/presentation/presentation-subslide.js.map +1 -1
  134. package/cjs/presentation/presentation-subslide.spec.js +58 -12
  135. package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
  136. package/cjs/presentation/presentation.js +120 -6
  137. package/cjs/presentation/presentation.js.map +1 -1
  138. package/cjs/state-register.js +11 -1
  139. package/cjs/state-register.js.map +1 -1
  140. package/cjs/sync.js +1 -1
  141. package/cjs/utils.js +5 -5
  142. package/config/rush-project.json +11 -0
  143. package/jest.config.js +1 -0
  144. package/package.json +66 -66
  145. package/src/api.js +1 -1
  146. package/src/auth.js +44 -8
  147. package/src/auth.spec.js +2 -0
  148. package/src/collections/appointment-adjunct-tags.js +18 -0
  149. package/src/collections/appointment-deckversion-tags.js +21 -0
  150. package/src/collections/appointment-section-tags.js +18 -0
  151. package/src/collections/appointment-slide-tags.js +18 -0
  152. package/src/collections/appointment-tags.js +136 -0
  153. package/src/collections/base.js +80 -3
  154. package/src/collections/base.spec.js +108 -1
  155. package/src/collections/deck-version-screenshots.js +48 -0
  156. package/src/collections/tags.js +18 -0
  157. package/src/collections.js +7 -0
  158. package/src/models/activity-item.js +2 -0
  159. package/src/models/appointment-adjunct-tags.js +41 -0
  160. package/src/models/appointment-deckversion-tags.js +41 -0
  161. package/src/models/appointment-section-tags.js +41 -0
  162. package/src/models/appointment-slide-tags.js +41 -0
  163. package/src/models/appointment-tags.js +16 -14
  164. package/src/models/appointment.js +18 -1
  165. package/src/models/auto-adjunct.js +2 -0
  166. package/src/models/base.js +19 -1
  167. package/src/models/base.spec.js +16 -9
  168. package/src/models/deck-tags.js +52 -0
  169. package/src/models/deck-version-screenshot.js +48 -0
  170. package/src/models/deck-version.js +32 -4
  171. package/src/models/deck.js +2 -0
  172. package/src/models/feed-data.js +2 -0
  173. package/src/models/image.js +32 -0
  174. package/src/models/manifest-json.js +55 -7
  175. package/src/models/preset.js +19 -0
  176. package/src/models/section.js +2 -0
  177. package/src/models/slide.js +2 -0
  178. package/src/models/tag.js +42 -0
  179. package/src/models/template.js +2 -0
  180. package/src/models/token.js +47 -0
  181. package/src/models/user.js +4 -0
  182. package/src/models.js +8 -0
  183. package/src/presentation/appointment-presentation.js +13 -2
  184. package/src/presentation/base-presentation-model.js +129 -8
  185. package/src/presentation/base-presentation-model.spec.js +121 -6
  186. package/src/presentation/presentation-deck.js +41 -2
  187. package/src/presentation/presentation-deck.spec.js +53 -0
  188. package/src/presentation/presentation-section.js +57 -14
  189. package/src/presentation/presentation-section.spec.js +496 -0
  190. package/src/presentation/presentation-slide.js +41 -8
  191. package/src/presentation/presentation-slide.spec.js +352 -0
  192. package/src/presentation/presentation-subslide.js +7 -2
  193. package/src/presentation/presentation-subslide.spec.js +32 -3
  194. package/src/presentation/presentation.js +35 -6
  195. package/src/state-register.js +7 -0
  196. package/api.build.error.log +0 -16
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppointmentDeckVersionTagsModel = void 0;
7
+
8
+ require("./appointment.js");
9
+
10
+ require("./user.js");
11
+
12
+ require("./deck-version.js");
13
+
14
+ var _base = require("./base.js");
15
+
16
+ var _stateRegister = require("../state-register.js");
17
+
18
+ /**
19
+ * @constructor
20
+ * @alias models.AppointmentDeckVersionTagsModel
21
+ * @extends models.BaseModel
22
+ */
23
+ var AppointmentDeckVersionTagsModel = _base.BaseModel.extend(
24
+ /** @lends models.AppointmentDeckVersionTagsModel# */
25
+ {
26
+ modelName: "appointment-deckversion-tags",
27
+ urlMatchKeys: {
28
+ "appointment.id": "number"
29
+ },
30
+
31
+ /**
32
+ * @property {string[]} tags
33
+ */
34
+ props: {
35
+ tags: "array"
36
+ },
37
+
38
+ /**
39
+ * @property {models.AppointmentModel} appointment
40
+ * @property {models.DeckVersionModel} deckversion
41
+ * @property {models.UserModel} user
42
+ */
43
+ children: {
44
+ appointment: "AppointmentModel",
45
+ deckversion: "DeckVersionModel",
46
+ user: "UserModel"
47
+ }
48
+ });
49
+
50
+ exports.AppointmentDeckVersionTagsModel = AppointmentDeckVersionTagsModel;
51
+ (0, _stateRegister.register)("AppointmentDeckVersionTagsModel", AppointmentDeckVersionTagsModel);
52
+ //# sourceMappingURL=appointment-deckversion-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/models/appointment-deckversion-tags.js"],"names":["AppointmentDeckVersionTagsModel","BaseModel","extend","modelName","urlMatchKeys","props","tags","children","appointment","deckversion","user"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,+BAA+B,GAAGC,gBAAUC,MAAV;AAC9C;AAAsD;AACrDC,EAAAA,SAAS,EAAE,8BAD0C;AAGrDC,EAAAA,YAAY,EAAE;AACb,sBAAkB;AADL,GAHuC;;AAOrD;AACF;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,IAAI,EAAE;AADA,GAV8C;;AAcrD;AACF;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,WAAW,EAAE,kBADJ;AAETC,IAAAA,WAAW,EAAE,kBAFJ;AAGTC,IAAAA,IAAI,EAAE;AAHG;AAnB2C,CADR,CAAxC;;;AA4BP,6BAAS,iCAAT,EAA4CV,+BAA5C","sourcesContent":["import \"./appointment.js\";\nimport \"./user.js\";\nimport \"./deck-version.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.AppointmentDeckVersionTagsModel\n * @extends models.BaseModel\n */\nexport const AppointmentDeckVersionTagsModel = BaseModel.extend(\n\t/** @lends models.AppointmentDeckVersionTagsModel# */ {\n\t\tmodelName: \"appointment-deckversion-tags\",\n\n\t\turlMatchKeys: {\n\t\t\t\"appointment.id\": \"number\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string[]} tags\n\t\t */\n\t\tprops: {\n\t\t\ttags: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AppointmentModel} appointment\n\t\t * @property {models.DeckVersionModel} deckversion\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tappointment: \"AppointmentModel\",\n\t\t\tdeckversion: \"DeckVersionModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\t}\n);\n\nregister(\"AppointmentDeckVersionTagsModel\", AppointmentDeckVersionTagsModel);\n"],"file":"appointment-deckversion-tags.js"}
@@ -23,9 +23,9 @@ var _base = require("./base.js");
23
23
 
24
24
  var _stateRegister = require("../state-register.js");
25
25
 
26
- 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; }
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
27
 
28
- 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; }
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
29
 
30
30
  /**
31
31
  * @constructor
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppointmentSectionTagsModel = void 0;
7
+
8
+ require("./appointment.js");
9
+
10
+ require("./user.js");
11
+
12
+ require("./slide.js");
13
+
14
+ var _base = require("./base.js");
15
+
16
+ var _stateRegister = require("../state-register.js");
17
+
18
+ /**
19
+ * @constructor
20
+ * @alias models.AppointmentSectionTagsModel
21
+ * @extends models.BaseModel
22
+ */
23
+ var AppointmentSectionTagsModel = _base.BaseModel.extend(
24
+ /** @lends models.AppointmentSectionTagsModel# */
25
+ {
26
+ modelName: "appointment-section-tags",
27
+ urlMatchKeys: {
28
+ "appointment.id": "number"
29
+ },
30
+
31
+ /**
32
+ * @property {string[]} tags
33
+ */
34
+ props: {
35
+ tags: "array"
36
+ },
37
+
38
+ /**
39
+ * @property {models.AppointmentModel} appointment
40
+ * @property {models.SectionModel} slide
41
+ * @property {models.UserModel} user
42
+ */
43
+ children: {
44
+ appointment: "AppointmentModel",
45
+ section: "SectionModel",
46
+ user: "UserModel"
47
+ }
48
+ });
49
+
50
+ exports.AppointmentSectionTagsModel = AppointmentSectionTagsModel;
51
+ (0, _stateRegister.register)("AppointmentSectionTagsModel", AppointmentSectionTagsModel);
52
+ //# sourceMappingURL=appointment-section-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/models/appointment-section-tags.js"],"names":["AppointmentSectionTagsModel","BaseModel","extend","modelName","urlMatchKeys","props","tags","children","appointment","section","user"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,2BAA2B,GAAGC,gBAAUC,MAAV;AAC1C;AAAkD;AACjDC,EAAAA,SAAS,EAAE,0BADsC;AAGjDC,EAAAA,YAAY,EAAE;AACb,sBAAkB;AADL,GAHmC;;AAOjD;AACF;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,IAAI,EAAE;AADA,GAV0C;;AAcjD;AACF;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,WAAW,EAAE,kBADJ;AAETC,IAAAA,OAAO,EAAE,cAFA;AAGTC,IAAAA,IAAI,EAAE;AAHG;AAnBuC,CADR,CAApC;;;AA4BP,6BAAS,6BAAT,EAAwCV,2BAAxC","sourcesContent":["import \"./appointment.js\";\nimport \"./user.js\";\nimport \"./slide.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.AppointmentSectionTagsModel\n * @extends models.BaseModel\n */\nexport const AppointmentSectionTagsModel = BaseModel.extend(\n\t/** @lends models.AppointmentSectionTagsModel# */ {\n\t\tmodelName: \"appointment-section-tags\",\n\n\t\turlMatchKeys: {\n\t\t\t\"appointment.id\": \"number\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string[]} tags\n\t\t */\n\t\tprops: {\n\t\t\ttags: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AppointmentModel} appointment\n\t\t * @property {models.SectionModel} slide\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tappointment: \"AppointmentModel\",\n\t\t\tsection: \"SectionModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\t}\n);\n\nregister(\"AppointmentSectionTagsModel\", AppointmentSectionTagsModel);\n"],"file":"appointment-section-tags.js"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AppointmentSlideTagsModel = void 0;
7
+
8
+ require("./appointment.js");
9
+
10
+ require("./user.js");
11
+
12
+ require("./slide.js");
13
+
14
+ var _base = require("./base.js");
15
+
16
+ var _stateRegister = require("../state-register.js");
17
+
18
+ /**
19
+ * @constructor
20
+ * @alias models.AppointmentSlideTagsModel
21
+ * @extends models.BaseModel
22
+ */
23
+ var AppointmentSlideTagsModel = _base.BaseModel.extend(
24
+ /** @lends models.AppointmentSlideTagsModel# */
25
+ {
26
+ modelName: "appointment-slide-tags",
27
+ urlMatchKeys: {
28
+ "appointment.id": "number"
29
+ },
30
+
31
+ /**
32
+ * @property {string[]} tags
33
+ */
34
+ props: {
35
+ tags: "array"
36
+ },
37
+
38
+ /**
39
+ * @property {models.AppointmentModel} appointment
40
+ * @property {models.SlideModel} slide
41
+ * @property {models.UserModel} user
42
+ */
43
+ children: {
44
+ appointment: "AppointmentModel",
45
+ slide: "SlideModel",
46
+ user: "UserModel"
47
+ }
48
+ });
49
+
50
+ exports.AppointmentSlideTagsModel = AppointmentSlideTagsModel;
51
+ (0, _stateRegister.register)("AppointmentSlideTagsModel", AppointmentSlideTagsModel);
52
+ //# sourceMappingURL=appointment-slide-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/models/appointment-slide-tags.js"],"names":["AppointmentSlideTagsModel","BaseModel","extend","modelName","urlMatchKeys","props","tags","children","appointment","slide","user"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,yBAAyB,GAAGC,gBAAUC,MAAV;AACxC;AAAgD;AAC/CC,EAAAA,SAAS,EAAE,wBADoC;AAG/CC,EAAAA,YAAY,EAAE;AACb,sBAAkB;AADL,GAHiC;;AAO/C;AACF;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,IAAI,EAAE;AADA,GAVwC;;AAc/C;AACF;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,WAAW,EAAE,kBADJ;AAETC,IAAAA,KAAK,EAAE,YAFE;AAGTC,IAAAA,IAAI,EAAE;AAHG;AAnBqC,CADR,CAAlC;;;AA4BP,6BAAS,2BAAT,EAAsCV,yBAAtC","sourcesContent":["import \"./appointment.js\";\nimport \"./user.js\";\nimport \"./slide.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.AppointmentSlideTagsModel\n * @extends models.BaseModel\n */\nexport const AppointmentSlideTagsModel = BaseModel.extend(\n\t/** @lends models.AppointmentSlideTagsModel# */ {\n\t\tmodelName: \"appointment-slide-tags\",\n\n\t\turlMatchKeys: {\n\t\t\t\"appointment.id\": \"number\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string[]} tags\n\t\t */\n\t\tprops: {\n\t\t\ttags: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AppointmentModel} appointment\n\t\t * @property {models.SlideModel} slide\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tappointment: \"AppointmentModel\",\n\t\t\tslide: \"SlideModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\t}\n);\n\nregister(\"AppointmentSlideTagsModel\", AppointmentSlideTagsModel);\n"],"file":"appointment-slide-tags.js"}
@@ -17,27 +17,28 @@ var _stateRegister = require("../state-register.js");
17
17
  var AppointmentTagsModel = _base.BaseModel.extend(
18
18
  /** @lends models.AppointmentTagsModel# */
19
19
  {
20
- modelName: "appointment-tags",
20
+ urlMatchKeys: {
21
+ "appointment.id": "number"
22
+ },
21
23
 
22
24
  /**
23
- * @property {object} tags
25
+ * @property {string[]} tags
26
+ * @property {string} content_type
27
+ * @property {string} content_url
24
28
  */
25
29
  props: {
26
- items: "object"
27
- },
28
- url: function url() {
29
- if (this.parent && this.parent.modelName === "appointments") {
30
- return this.getFullURLPath("".concat(this.parent.getPlainURL(), "tags/"));
31
- }
32
-
33
- return _base.BaseModel.prototype.url.call(this);
30
+ tags: "array",
31
+ content_type: "string",
32
+ content_url: "string"
34
33
  },
35
- fetch: function fetch() {
36
- var _this = this;
37
34
 
38
- return _base.BaseModel.prototype.fetch.call(this).tap(function (tags) {
39
- _this.items = tags;
40
- });
35
+ /**
36
+ * @property {models.AppointmentModel} appointment
37
+ * @property {models.UserModel} user
38
+ */
39
+ children: {
40
+ appointment: "AppointmentModel",
41
+ user: "UserModel"
41
42
  }
42
43
  });
43
44
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/appointment-tags.js"],"names":["AppointmentTagsModel","BaseModel","extend","modelName","props","items","url","parent","getFullURLPath","getPlainURL","prototype","call","fetch","tap","tags","canBeEmpty"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,oBAAoB,GAAGC,gBAAUC,MAAV;AACnC;AAA2C;AAC1CC,EAAAA,SAAS,EAAE,kBAD+B;;AAG1C;AACF;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,KAAK,EAAE;AADD,GANmC;AAU1CC,EAAAA,GAV0C,iBAUpC;AACL,QAAI,KAAKC,MAAL,IAAe,KAAKA,MAAL,CAAYJ,SAAZ,KAA0B,cAA7C,EAA6D;AAC5D,aAAO,KAAKK,cAAL,WAAuB,KAAKD,MAAL,CAAYE,WAAZ,EAAvB,WAAP;AACA;;AACD,WAAOR,gBAAUS,SAAV,CAAoBJ,GAApB,CAAwBK,IAAxB,CAA6B,IAA7B,CAAP;AACA,GAfyC;AAiB1CC,EAAAA,KAjB0C,mBAiBlC;AAAA;;AACP,WAAOX,gBAAUS,SAAV,CAAoBE,KAApB,CAA0BD,IAA1B,CAA+B,IAA/B,EAAqCE,GAArC,CAAyC,UAACC,IAAD,EAAU;AACzD,MAAA,KAAI,CAACT,KAAL,GAAaS,IAAb;AACA,KAFM,CAAP;AAGA;AArByC,CADR,CAA7B;;;AA0BPd,oBAAoB,CAACe,UAArB,GAAkC,IAAlC;AAEA,6BAAS,sBAAT,EAAiCf,oBAAjC","sourcesContent":["import { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.AppointmentTagsModel\n * @extends models.BaseModel\n */\nexport const AppointmentTagsModel = BaseModel.extend(\n\t/** @lends models.AppointmentTagsModel# */ {\n\t\tmodelName: \"appointment-tags\",\n\n\t\t/**\n\t\t * @property {object} tags\n\t\t */\n\t\tprops: {\n\t\t\titems: \"object\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.parent && this.parent.modelName === \"appointments\") {\n\t\t\t\treturn this.getFullURLPath(`${this.parent.getPlainURL()}tags/`);\n\t\t\t}\n\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t},\n\n\t\tfetch() {\n\t\t\treturn BaseModel.prototype.fetch.call(this).tap((tags) => {\n\t\t\t\tthis.items = tags;\n\t\t\t});\n\t\t},\n\t}\n);\n\nAppointmentTagsModel.canBeEmpty = true;\n\nregister(\"AppointmentTagsModel\", AppointmentTagsModel);\n"],"file":"appointment-tags.js"}
1
+ {"version":3,"sources":["../../src/models/appointment-tags.js"],"names":["AppointmentTagsModel","BaseModel","extend","urlMatchKeys","props","tags","content_type","content_url","children","appointment","user","canBeEmpty"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,oBAAoB,GAAGC,gBAAUC,MAAV;AACnC;AAA2C;AAC1CC,EAAAA,YAAY,EAAE;AACb,sBAAkB;AADL,GAD4B;;AAK1C;AACF;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,IAAI,EAAE,OADA;AAENC,IAAAA,YAAY,EAAE,QAFR;AAGNC,IAAAA,WAAW,EAAE;AAHP,GAVmC;;AAgB1C;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,WAAW,EAAE,kBADJ;AAETC,IAAAA,IAAI,EAAE;AAFG;AApBgC,CADR,CAA7B;;;AA4BPV,oBAAoB,CAACW,UAArB,GAAkC,IAAlC;AAEA,6BAAS,sBAAT,EAAiCX,oBAAjC","sourcesContent":["import { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.AppointmentTagsModel\n * @extends models.BaseModel\n */\nexport const AppointmentTagsModel = BaseModel.extend(\n\t/** @lends models.AppointmentTagsModel# */ {\n\t\turlMatchKeys: {\n\t\t\t\"appointment.id\": \"number\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string[]} tags\n\t\t * @property {string} content_type\n\t\t * @property {string} content_url\n\t\t */\n\t\tprops: {\n\t\t\ttags: \"array\",\n\t\t\tcontent_type: \"string\",\n\t\t\tcontent_url: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.AppointmentModel} appointment\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tappointment: \"AppointmentModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\t}\n);\n\nAppointmentTagsModel.canBeEmpty = true;\n\nregister(\"AppointmentTagsModel\", AppointmentTagsModel);\n"],"file":"appointment-tags.js"}
@@ -41,6 +41,8 @@ require("../collections/dispatches.js");
41
41
 
42
42
  require("../collections/users.js");
43
43
 
44
+ require("../collections/appointment-tags");
45
+
44
46
  var _adjunctSections = require("../collections/adjunct-sections.js");
45
47
 
46
48
  var _adjunctSlides = require("../collections/adjunct-slides.js");
@@ -84,6 +86,7 @@ var AppointmentModel = _base.BaseModel.extend(
84
86
  * @property {string} display_title
85
87
  * @property {string} viewtype
86
88
  * @property {boolean} support_mode
89
+ * @property {boolean} is_muted
87
90
  * @property {date} no_edit_after
88
91
  * @property {date} no_share_after
89
92
  * @property {date} no_delete_after
@@ -107,6 +110,7 @@ var AppointmentModel = _base.BaseModel.extend(
107
110
  display_title: "stringSanitized",
108
111
  viewtype: "string",
109
112
  support_mode: "boolean",
113
+ is_muted: "boolean",
110
114
  no_edit_after: "date",
111
115
  no_share_after: "date",
112
116
  no_delete_after: "date",
@@ -128,7 +132,12 @@ var AppointmentModel = _base.BaseModel.extend(
128
132
  appointmentssection_set: "SectionSelectionCollection",
129
133
  appointmentsslide_set: "SlideSelectionCollection",
130
134
  dispatch_set: "DispatchCollection",
131
- current_editor_set: "UserCollection"
135
+ current_editor_set: "UserCollection",
136
+ tags: "AppointmentTagsCollection",
137
+ appointmentdeckversiontags_set: "AppointmentDeckVersionTagsCollection",
138
+ appointmentsectiontags_set: "AppointmentSectionTagsCollection",
139
+ appointmentslidetags_set: "AppointmentSlideTagsCollection",
140
+ appointmentadjuncttags_set: "AppointmentAdjunctTagsCollection"
132
141
  },
133
142
 
134
143
  /**
@@ -144,7 +153,6 @@ var AppointmentModel = _base.BaseModel.extend(
144
153
  user: "UserModel",
145
154
  latest_tele: "HostedPresoModel",
146
155
  stats: "AppointmentStatsModel",
147
- tags: "AppointmentTagsModel",
148
156
  team: "TeamModel"
149
157
  },
150
158
 
@@ -246,6 +254,13 @@ var AppointmentModel = _base.BaseModel.extend(
246
254
  }
247
255
  }
248
256
  },
257
+ getHooksPath: function getHooksPath() {
258
+ if (!this.deckversion_set.length) {
259
+ throw new Error("Requires a deckversion to get hooks.");
260
+ }
261
+
262
+ return this.deckversion_set.first().getHooksPath();
263
+ },
249
264
  fetchAll: function fetchAll() {
250
265
  var _this = this;
251
266
 
@@ -303,7 +318,7 @@ var AppointmentModel = _base.BaseModel.extend(
303
318
  return _bluebird.default.all([].concat((0, _toConsumableArray2.default)(adjunctSlides), (0, _toConsumableArray2.default)(adjunctSections)));
304
319
  }).then(function () {
305
320
  return _bluebird.default.all(_this.deckversion_set.map(function (model) {
306
- return _bluebird.default.all([model.template_set.fetchSet(options), model.manifest_json.fetch(options), model.deck.fetch(options)]);
321
+ return _bluebird.default.all([model.screenshots.fetch(options), model.template_set.fetchSet(options), model.manifest_json.fetch(options), model.deck.fetch(options)]);
307
322
  }));
308
323
  }).return(this);
309
324
  },
@@ -322,6 +337,7 @@ var AppointmentModel = _base.BaseModel.extend(
322
337
  viewtype: appointment.viewtype,
323
338
  preset: this._retrieveURL(appointment.preset),
324
339
  locks: appointment.locks,
340
+ is_muted: appointment.is_muted,
325
341
  no_edit_after: appointment.no_edit_after,
326
342
  no_share_after: appointment.no_share_after,
327
343
  no_delete_after: appointment.no_delete_after,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/appointment.js"],"names":["AppointmentModel","BaseModel","extend","modelName","props","name","attendees","begin","content_modified_date","created_by_support","created_date","creation_status","creation_status_history","editors_can_change_editors","end","locks","modified_date","notes","sort_date","display_contacts","display_title","viewtype","support_mode","no_edit_after","no_share_after","no_delete_after","no_snapshot_create_after","collections","contact_set","deckversion_set","opportunity_set","appointmenteditor_set","appointmentssection_set","appointmentsslide_set","dispatch_set","current_editor_set","children","preset","latest_snapshot","latest_feed_data","user","latest_tele","stats","tags","team","derived","adjunctSlides","deps","fn","AdjunctSlideCollection","queryData","appointment","id","adjunctSections","AdjunctSectionCollection","adjunctSubSlides","AdjunctSubSlideCollection","deckNotes","appointmentUrl","url","DeckNoteCollection","cannotShare","noShareAfter","diff","cannotEdit","noEditAfter","cannotDelete","noDeleteAfter","cannotCreateSnapshot","noCreateAfter","readOnly","shareOnly","fetchAll","fetchSelf","options","Promise","resolve","then","_url","fetch","fetches","fetchModels","fetchSet","catch","e","status","log","error","toJSON","push","all","filter","adj","template","map","model","template_set","manifest_json","deck","return","toServer","data","_retrieveURL"],"mappings":"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","sourcesContent":["import \"./user.js\";\nimport \"./snapshot.js\";\nimport \"./feed-data.js\";\nimport \"./preset.js\";\nimport \"./team.js\";\nimport \"./hosted-preso.js\";\nimport \"./appointment-stats.js\";\nimport \"./appointment-tags.js\";\nimport \"../collections/contacts.js\";\nimport \"../collections/appointment-editors.js\";\nimport \"../collections/deck-versions.js\";\nimport \"../collections/opportunities.js\";\nimport \"../collections/section-selections.js\";\nimport \"../collections/slide-selections.js\";\nimport \"../collections/dispatches.js\";\nimport \"../collections/users.js\";\n\nimport { AdjunctSectionCollection } from \"../collections/adjunct-sections.js\";\nimport { AdjunctSlideCollection } from \"../collections/adjunct-slides.js\";\nimport { AdjunctSubSlideCollection } from \"../collections/adjunct-sub-slides.js\";\nimport { BaseModel } from \"./base.js\";\nimport { DeckNoteCollection } from \"../collections/deck-notes.js\";\nimport Promise from \"bluebird\";\nimport log from \"../log.js\";\nimport moment from \"moment\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.AppointmentModel\n * @extends models.BaseModel\n */\nexport const AppointmentModel = BaseModel.extend(\n\t/** @lends models.AppointmentModel# */ {\n\t\tmodelName: \"appointments\",\n\n\t\t/**\n\t\t * @property {string} name\n\t\t * @property {string} attendees\n\t\t * @property {date} begin\n\t\t * @property {boolean} created_by_support\n\t\t * @property {date} created_date\n\t\t * @property {string} creation_state\n\t\t * @property {date} end\n\t\t * @property {date} modified_date\n\t\t * @property {string} notes\n\t\t * @property {date} sort_date\n\t\t * @property {string} display_contacts\n\t\t * @property {string} display_title\n\t\t * @property {string} viewtype\n\t\t * @property {boolean} support_mode\n\t\t * @property {date} no_edit_after\n\t\t * @property {date} no_share_after\n\t\t * @property {date} no_delete_after\n\t\t */\n\t\tprops: {\n\t\t\tname: \"stringSanitized\",\n\t\t\tattendees: \"string\",\n\t\t\tbegin: \"date\",\n\t\t\tcontent_modified_date: \"date\",\n\t\t\tcreated_by_support: \"boolean\",\n\t\t\tcreated_date: \"date\",\n\t\t\tcreation_status: \"string\",\n\t\t\tcreation_status_history: \"array\",\n\t\t\teditors_can_change_editors: \"boolean\",\n\t\t\tend: \"date\",\n\t\t\tlocks: \"array\",\n\t\t\tmodified_date: \"date\",\n\t\t\tnotes: \"stringSanitized\",\n\t\t\tsort_date: \"date\",\n\t\t\tdisplay_contacts: \"string\",\n\t\t\tdisplay_title: \"stringSanitized\",\n\t\t\tviewtype: \"string\",\n\t\t\tsupport_mode: \"boolean\",\n\t\t\tno_edit_after: \"date\",\n\t\t\tno_share_after: \"date\",\n\t\t\tno_delete_after: \"date\",\n\t\t\tno_snapshot_create_after: \"date\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.ContactCollection} contact_set\n\t\t * @property {collections.DeckVersionCollection} deckversion_set\n\t\t * @property {collections.OpportunityCollection} opportunity_set\n\t\t * @property {collections.SectionSelectionCollection} appointmentssection_set\n\t\t * @property {collections.SlideSelectionCollection} appointmentsslide_set\n\t\t */\n\t\tcollections: {\n\t\t\tcontact_set: \"ContactCollection\",\n\t\t\tdeckversion_set: \"DeckVersionCollection\",\n\t\t\topportunity_set: \"OpportunityCollection\",\n\t\t\tappointmenteditor_set: \"AppointmentEditorCollection\",\n\t\t\tappointmentssection_set: \"SectionSelectionCollection\",\n\t\t\tappointmentsslide_set: \"SlideSelectionCollection\",\n\t\t\tdispatch_set: \"DispatchCollection\",\n\t\t\tcurrent_editor_set: \"UserCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.PresetModel} preset\n\t\t * @property {models.SnapshotModel} latest_snapshot\n\t\t * @property {models.UserModel} user\n\t\t * @property {models.AppointmentStatsModel} appointmentStats\n\t\t */\n\t\tchildren: {\n\t\t\tpreset: \"PresetModel\",\n\t\t\tlatest_snapshot: \"SnapshotModel\",\n\t\t\tlatest_feed_data: \"FeedDataModel\",\n\t\t\tuser: \"UserModel\",\n\t\t\tlatest_tele: \"HostedPresoModel\",\n\t\t\tstats: \"AppointmentStatsModel\",\n\t\t\ttags: \"AppointmentTagsModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.AdjunctSlideCollection} adjunctSlides\n\t\t * @property {collections.AdjunctSectionCollection} adjunctSections\n\t\t * @property {collections.AdjunctSubSlideCollection} adjunctSubSlides\n\t\t * @property {boolean} readOnly\n\t\t * @property {boolean} shareOnly\n\t\t */\n\t\tderived: {\n\t\t\tadjunctSlides: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst adjunctSlides = new AdjunctSlideCollection();\n\t\t\t\t\tadjunctSlides.queryData.appointment = this.id;\n\t\t\t\t\treturn adjunctSlides;\n\t\t\t\t},\n\t\t\t},\n\t\t\tadjunctSections: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst adjunctSections = new AdjunctSectionCollection();\n\t\t\t\t\tadjunctSections.queryData.appointment = this.id;\n\t\t\t\t\treturn adjunctSections;\n\t\t\t\t},\n\t\t\t},\n\t\t\tadjunctSubSlides: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst adjunctSubSlides = new AdjunctSubSlideCollection();\n\t\t\t\t\tadjunctSubSlides.queryData.appointment = this.id;\n\t\t\t\t\treturn adjunctSubSlides;\n\t\t\t\t},\n\t\t\t},\n\t\t\tdeckNotes: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst appointmentUrl = this.url();\n\t\t\t\t\treturn new DeckNoteCollection({ url: `${appointmentUrl}notes/` });\n\t\t\t\t},\n\t\t\t},\n\t\t\tcannotShare: {\n\t\t\t\tdeps: [\"no_share_after\"],\n\t\t\t\tfn() {\n\t\t\t\t\tif (!this.no_share_after) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst noShareAfter = moment(this.no_share_after);\n\t\t\t\t\treturn moment().diff(noShareAfter) > 0;\n\t\t\t\t},\n\t\t\t},\n\t\t\tcannotEdit: {\n\t\t\t\tdeps: [\"no_edit_after\"],\n\t\t\t\tfn() {\n\t\t\t\t\tif (!this.no_edit_after) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst noEditAfter = moment(this.no_edit_after);\n\t\t\t\t\treturn moment().diff(noEditAfter) > 0;\n\t\t\t\t},\n\t\t\t},\n\t\t\tcannotDelete: {\n\t\t\t\tdeps: [\"no_delete_after\"],\n\t\t\t\tfn() {\n\t\t\t\t\tif (!this.no_delete_after) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst noDeleteAfter = moment(this.no_delete_after);\n\t\t\t\t\treturn moment().diff(noDeleteAfter) > 0;\n\t\t\t\t},\n\t\t\t},\n\t\t\tcannotCreateSnapshot: {\n\t\t\t\tdeps: [\"no_snapshot_create_after\"],\n\t\t\t\tfn() {\n\t\t\t\t\tif (!this.no_snapshot_create_after) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst noCreateAfter = moment(this.no_snapshot_create_after);\n\t\t\t\t\treturn moment().diff(noCreateAfter) > 0;\n\t\t\t\t},\n\t\t\t},\n\t\t\treadOnly: {\n\t\t\t\tdeps: [\"cannotShare\"],\n\t\t\t\tfn() {\n\t\t\t\t\treturn this.cannotShare;\n\t\t\t\t},\n\t\t\t},\n\t\t\tshareOnly: {\n\t\t\t\tdeps: [\"cannotEdit\", \"cannotDelete\"],\n\t\t\t\tfn() {\n\t\t\t\t\treturn this.cannotEdit || this.cannotDelete;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tfetchAll(fetchSelf = false, options = {}) {\n\t\t\treturn Promise.resolve()\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (!this._url || fetchSelf) {\n\t\t\t\t\t\treturn this.fetch(options);\n\t\t\t\t\t}\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tconst fetches = [\n\t\t\t\t\t\tthis.deckversion_set.fetchModels(options),\n\t\t\t\t\t\tthis.appointmentssection_set.fetch(options),\n\t\t\t\t\t\tthis.appointmentsslide_set.fetch(options),\n\t\t\t\t\t\tthis.appointmenteditor_set.fetch(options),\n\t\t\t\t\t\tthis.adjunctSlides.fetch(options),\n\t\t\t\t\t\tthis.adjunctSections.fetch(options),\n\t\t\t\t\t\tthis.adjunctSubSlides.fetch(options),\n\t\t\t\t\t\tthis.contact_set.fetchSet(options),\n\t\t\t\t\t\tthis.tags.fetch(options),\n\t\t\t\t\t\tthis.user.fetch(options).catch((e) => {\n\t\t\t\t\t\t\tif (e.status && e.status === 404) {\n\t\t\t\t\t\t\t\t// It's possible for a user to be deactivated, which means they'll\n\t\t\t\t\t\t\t\t// return with a 404. We want to be able to still load the preso,\n\t\t\t\t\t\t\t\t// but it will be readonly.\n\t\t\t\t\t\t\t\tthis.user = null;\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthrow e;\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tthis.deckNotes.fetch(options),\n\t\t\t\t\t\tthis.opportunity_set.fetchSet(options).catch(() => {\n\t\t\t\t\t\t\tlog.error(\n\t\t\t\t\t\t\t\t`Failed to fetch Opportunity set`,\n\t\t\t\t\t\t\t\tthis.opportunity_set.toJSON()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t\t\t}),\n\t\t\t\t\t];\n\n\t\t\t\t\tif (this.latest_snapshot) {\n\t\t\t\t\t\tfetches.push(this.latest_snapshot.fetch(options));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.latest_feed_data) {\n\t\t\t\t\t\tfetches.push(this.latest_feed_data.fetch(options));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.latest_tele) {\n\t\t\t\t\t\tfetches.push(this.latest_tele.fetch(options));\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Promise.all(fetches);\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tconst adjunctSlides = this.adjunctSlides\n\t\t\t\t\t\t.filter((adj) => adj.template)\n\t\t\t\t\t\t.map((adj) => adj.template.fetch(options));\n\t\t\t\t\tconst adjunctSections = this.adjunctSections\n\t\t\t\t\t\t.filter((adj) => adj.template)\n\t\t\t\t\t\t.map((adj) => adj.template.fetch(options));\n\n\t\t\t\t\treturn Promise.all([...adjunctSlides, ...adjunctSections]);\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\treturn Promise.all(\n\t\t\t\t\t\tthis.deckversion_set.map((model) => {\n\t\t\t\t\t\t\treturn Promise.all([\n\t\t\t\t\t\t\t\tmodel.template_set.fetchSet(options),\n\t\t\t\t\t\t\t\tmodel.manifest_json.fetch(options),\n\t\t\t\t\t\t\t\tmodel.deck.fetch(options),\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.return(this);\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst appointment = this.toJSON();\n\n\t\t\tconst data = {\n\t\t\t\tname: appointment.name,\n\t\t\t\tbegin: appointment.begin,\n\t\t\t\tend: appointment.end,\n\t\t\t\tcreation_status: appointment.creation_status,\n\t\t\t\tcontact_set: this._retrieveURL(appointment.contact_set),\n\t\t\t\tdeckversion_set: this._retrieveURL(appointment.deckversion_set),\n\t\t\t\tnotes: appointment.notes,\n\t\t\t\topportunity_set: this._retrieveURL(appointment.opportunity_set),\n\t\t\t\tuser: this._retrieveURL(appointment.user),\n\t\t\t\tviewtype: appointment.viewtype,\n\t\t\t\tpreset: this._retrieveURL(appointment.preset),\n\t\t\t\tlocks: appointment.locks,\n\t\t\t\tno_edit_after: appointment.no_edit_after,\n\t\t\t\tno_share_after: appointment.no_share_after,\n\t\t\t\tno_delete_after: appointment.no_delete_after,\n\t\t\t\tteam: this._retrieveURL(appointment.team),\n\t\t\t\teditors_can_change_editors: appointment.editors_can_change_editors,\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(\"AppointmentModel\", AppointmentModel);\n"],"file":"appointment.js"}
1
+ {"version":3,"sources":["../../src/models/appointment.js"],"names":["AppointmentModel","BaseModel","extend","modelName","props","name","attendees","begin","content_modified_date","created_by_support","created_date","creation_status","creation_status_history","editors_can_change_editors","end","locks","modified_date","notes","sort_date","display_contacts","display_title","viewtype","support_mode","is_muted","no_edit_after","no_share_after","no_delete_after","no_snapshot_create_after","collections","contact_set","deckversion_set","opportunity_set","appointmenteditor_set","appointmentssection_set","appointmentsslide_set","dispatch_set","current_editor_set","tags","appointmentdeckversiontags_set","appointmentsectiontags_set","appointmentslidetags_set","appointmentadjuncttags_set","children","preset","latest_snapshot","latest_feed_data","user","latest_tele","stats","team","derived","adjunctSlides","deps","fn","AdjunctSlideCollection","queryData","appointment","id","adjunctSections","AdjunctSectionCollection","adjunctSubSlides","AdjunctSubSlideCollection","deckNotes","appointmentUrl","url","DeckNoteCollection","cannotShare","noShareAfter","diff","cannotEdit","noEditAfter","cannotDelete","noDeleteAfter","cannotCreateSnapshot","noCreateAfter","readOnly","shareOnly","getHooksPath","length","Error","first","fetchAll","fetchSelf","options","Promise","resolve","then","_url","fetch","fetches","fetchModels","fetchSet","catch","e","status","log","error","toJSON","push","all","filter","adj","template","map","model","screenshots","template_set","manifest_json","deck","return","toServer","data","_retrieveURL"],"mappings":"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","sourcesContent":["import \"./user.js\";\nimport \"./snapshot.js\";\nimport \"./feed-data.js\";\nimport \"./preset.js\";\nimport \"./team.js\";\nimport \"./hosted-preso.js\";\nimport \"./appointment-stats.js\";\nimport \"./appointment-tags.js\";\nimport \"../collections/contacts.js\";\nimport \"../collections/appointment-editors.js\";\nimport \"../collections/deck-versions.js\";\nimport \"../collections/opportunities.js\";\nimport \"../collections/section-selections.js\";\nimport \"../collections/slide-selections.js\";\nimport \"../collections/dispatches.js\";\nimport \"../collections/users.js\";\nimport \"../collections/appointment-tags\";\n\nimport { AdjunctSectionCollection } from \"../collections/adjunct-sections.js\";\nimport { AdjunctSlideCollection } from \"../collections/adjunct-slides.js\";\nimport { AdjunctSubSlideCollection } from \"../collections/adjunct-sub-slides.js\";\nimport { BaseModel } from \"./base.js\";\nimport { DeckNoteCollection } from \"../collections/deck-notes.js\";\nimport Promise from \"bluebird\";\nimport log from \"../log.js\";\nimport moment from \"moment\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.AppointmentModel\n * @extends models.BaseModel\n */\nexport const AppointmentModel = BaseModel.extend(\n\t/** @lends models.AppointmentModel# */ {\n\t\tmodelName: \"appointments\",\n\n\t\t/**\n\t\t * @property {string} name\n\t\t * @property {string} attendees\n\t\t * @property {date} begin\n\t\t * @property {boolean} created_by_support\n\t\t * @property {date} created_date\n\t\t * @property {string} creation_state\n\t\t * @property {date} end\n\t\t * @property {date} modified_date\n\t\t * @property {string} notes\n\t\t * @property {date} sort_date\n\t\t * @property {string} display_contacts\n\t\t * @property {string} display_title\n\t\t * @property {string} viewtype\n\t\t * @property {boolean} support_mode\n\t\t * @property {boolean} is_muted\n\t\t * @property {date} no_edit_after\n\t\t * @property {date} no_share_after\n\t\t * @property {date} no_delete_after\n\t\t */\n\t\tprops: {\n\t\t\tname: \"stringSanitized\",\n\t\t\tattendees: \"string\",\n\t\t\tbegin: \"date\",\n\t\t\tcontent_modified_date: \"date\",\n\t\t\tcreated_by_support: \"boolean\",\n\t\t\tcreated_date: \"date\",\n\t\t\tcreation_status: \"string\",\n\t\t\tcreation_status_history: \"array\",\n\t\t\teditors_can_change_editors: \"boolean\",\n\t\t\tend: \"date\",\n\t\t\tlocks: \"array\",\n\t\t\tmodified_date: \"date\",\n\t\t\tnotes: \"stringSanitized\",\n\t\t\tsort_date: \"date\",\n\t\t\tdisplay_contacts: \"string\",\n\t\t\tdisplay_title: \"stringSanitized\",\n\t\t\tviewtype: \"string\",\n\t\t\tsupport_mode: \"boolean\",\n\t\t\tis_muted: \"boolean\",\n\t\t\tno_edit_after: \"date\",\n\t\t\tno_share_after: \"date\",\n\t\t\tno_delete_after: \"date\",\n\t\t\tno_snapshot_create_after: \"date\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.ContactCollection} contact_set\n\t\t * @property {collections.DeckVersionCollection} deckversion_set\n\t\t * @property {collections.OpportunityCollection} opportunity_set\n\t\t * @property {collections.SectionSelectionCollection} appointmentssection_set\n\t\t * @property {collections.SlideSelectionCollection} appointmentsslide_set\n\t\t */\n\t\tcollections: {\n\t\t\tcontact_set: \"ContactCollection\",\n\t\t\tdeckversion_set: \"DeckVersionCollection\",\n\t\t\topportunity_set: \"OpportunityCollection\",\n\t\t\tappointmenteditor_set: \"AppointmentEditorCollection\",\n\t\t\tappointmentssection_set: \"SectionSelectionCollection\",\n\t\t\tappointmentsslide_set: \"SlideSelectionCollection\",\n\t\t\tdispatch_set: \"DispatchCollection\",\n\t\t\tcurrent_editor_set: \"UserCollection\",\n\t\t\ttags: \"AppointmentTagsCollection\",\n\t\t\tappointmentdeckversiontags_set: \"AppointmentDeckVersionTagsCollection\",\n\t\t\tappointmentsectiontags_set: \"AppointmentSectionTagsCollection\",\n\t\t\tappointmentslidetags_set: \"AppointmentSlideTagsCollection\",\n\t\t\tappointmentadjuncttags_set: \"AppointmentAdjunctTagsCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.PresetModel} preset\n\t\t * @property {models.SnapshotModel} latest_snapshot\n\t\t * @property {models.UserModel} user\n\t\t * @property {models.AppointmentStatsModel} appointmentStats\n\t\t */\n\t\tchildren: {\n\t\t\tpreset: \"PresetModel\",\n\t\t\tlatest_snapshot: \"SnapshotModel\",\n\t\t\tlatest_feed_data: \"FeedDataModel\",\n\t\t\tuser: \"UserModel\",\n\t\t\tlatest_tele: \"HostedPresoModel\",\n\t\t\tstats: \"AppointmentStatsModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.AdjunctSlideCollection} adjunctSlides\n\t\t * @property {collections.AdjunctSectionCollection} adjunctSections\n\t\t * @property {collections.AdjunctSubSlideCollection} adjunctSubSlides\n\t\t * @property {boolean} readOnly\n\t\t * @property {boolean} shareOnly\n\t\t */\n\t\tderived: {\n\t\t\tadjunctSlides: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst adjunctSlides = new AdjunctSlideCollection();\n\t\t\t\t\tadjunctSlides.queryData.appointment = this.id;\n\t\t\t\t\treturn adjunctSlides;\n\t\t\t\t},\n\t\t\t},\n\t\t\tadjunctSections: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst adjunctSections = new AdjunctSectionCollection();\n\t\t\t\t\tadjunctSections.queryData.appointment = this.id;\n\t\t\t\t\treturn adjunctSections;\n\t\t\t\t},\n\t\t\t},\n\t\t\tadjunctSubSlides: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst adjunctSubSlides = new AdjunctSubSlideCollection();\n\t\t\t\t\tadjunctSubSlides.queryData.appointment = this.id;\n\t\t\t\t\treturn adjunctSubSlides;\n\t\t\t\t},\n\t\t\t},\n\t\t\tdeckNotes: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn() {\n\t\t\t\t\tconst appointmentUrl = this.url();\n\t\t\t\t\treturn new DeckNoteCollection({ url: `${appointmentUrl}notes/` });\n\t\t\t\t},\n\t\t\t},\n\t\t\tcannotShare: {\n\t\t\t\tdeps: [\"no_share_after\"],\n\t\t\t\tfn() {\n\t\t\t\t\tif (!this.no_share_after) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst noShareAfter = moment(this.no_share_after);\n\t\t\t\t\treturn moment().diff(noShareAfter) > 0;\n\t\t\t\t},\n\t\t\t},\n\t\t\tcannotEdit: {\n\t\t\t\tdeps: [\"no_edit_after\"],\n\t\t\t\tfn() {\n\t\t\t\t\tif (!this.no_edit_after) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst noEditAfter = moment(this.no_edit_after);\n\t\t\t\t\treturn moment().diff(noEditAfter) > 0;\n\t\t\t\t},\n\t\t\t},\n\t\t\tcannotDelete: {\n\t\t\t\tdeps: [\"no_delete_after\"],\n\t\t\t\tfn() {\n\t\t\t\t\tif (!this.no_delete_after) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst noDeleteAfter = moment(this.no_delete_after);\n\t\t\t\t\treturn moment().diff(noDeleteAfter) > 0;\n\t\t\t\t},\n\t\t\t},\n\t\t\tcannotCreateSnapshot: {\n\t\t\t\tdeps: [\"no_snapshot_create_after\"],\n\t\t\t\tfn() {\n\t\t\t\t\tif (!this.no_snapshot_create_after) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tconst noCreateAfter = moment(this.no_snapshot_create_after);\n\t\t\t\t\treturn moment().diff(noCreateAfter) > 0;\n\t\t\t\t},\n\t\t\t},\n\t\t\treadOnly: {\n\t\t\t\tdeps: [\"cannotShare\"],\n\t\t\t\tfn() {\n\t\t\t\t\treturn this.cannotShare;\n\t\t\t\t},\n\t\t\t},\n\t\t\tshareOnly: {\n\t\t\t\tdeps: [\"cannotEdit\", \"cannotDelete\"],\n\t\t\t\tfn() {\n\t\t\t\t\treturn this.cannotEdit || this.cannotDelete;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tgetHooksPath() {\n\t\t\tif (!this.deckversion_set.length) {\n\t\t\t\tthrow new Error(\"Requires a deckversion to get hooks.\");\n\t\t\t}\n\t\t\treturn this.deckversion_set.first().getHooksPath();\n\t\t},\n\n\t\tfetchAll(fetchSelf = false, options = {}) {\n\t\t\treturn Promise.resolve()\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (!this._url || fetchSelf) {\n\t\t\t\t\t\treturn this.fetch(options);\n\t\t\t\t\t}\n\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tconst fetches = [\n\t\t\t\t\t\tthis.deckversion_set.fetchModels(options),\n\t\t\t\t\t\tthis.appointmentssection_set.fetch(options),\n\t\t\t\t\t\tthis.appointmentsslide_set.fetch(options),\n\t\t\t\t\t\tthis.appointmenteditor_set.fetch(options),\n\t\t\t\t\t\tthis.adjunctSlides.fetch(options),\n\t\t\t\t\t\tthis.adjunctSections.fetch(options),\n\t\t\t\t\t\tthis.adjunctSubSlides.fetch(options),\n\t\t\t\t\t\tthis.contact_set.fetchSet(options),\n\t\t\t\t\t\tthis.tags.fetch(options),\n\t\t\t\t\t\tthis.user.fetch(options).catch((e) => {\n\t\t\t\t\t\t\tif (e.status && e.status === 404) {\n\t\t\t\t\t\t\t\t// It's possible for a user to be deactivated, which means they'll\n\t\t\t\t\t\t\t\t// return with a 404. We want to be able to still load the preso,\n\t\t\t\t\t\t\t\t// but it will be readonly.\n\t\t\t\t\t\t\t\tthis.user = null;\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthrow e;\n\t\t\t\t\t\t}),\n\t\t\t\t\t\tthis.deckNotes.fetch(options),\n\t\t\t\t\t\tthis.opportunity_set.fetchSet(options).catch(() => {\n\t\t\t\t\t\t\tlog.error(\n\t\t\t\t\t\t\t\t`Failed to fetch Opportunity set`,\n\t\t\t\t\t\t\t\tthis.opportunity_set.toJSON()\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn Promise.resolve();\n\t\t\t\t\t\t}),\n\t\t\t\t\t];\n\n\t\t\t\t\tif (this.latest_snapshot) {\n\t\t\t\t\t\tfetches.push(this.latest_snapshot.fetch(options));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.latest_feed_data) {\n\t\t\t\t\t\tfetches.push(this.latest_feed_data.fetch(options));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.latest_tele) {\n\t\t\t\t\t\tfetches.push(this.latest_tele.fetch(options));\n\t\t\t\t\t}\n\n\t\t\t\t\treturn Promise.all(fetches);\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tconst adjunctSlides = this.adjunctSlides\n\t\t\t\t\t\t.filter((adj) => adj.template)\n\t\t\t\t\t\t.map((adj) => adj.template.fetch(options));\n\t\t\t\t\tconst adjunctSections = this.adjunctSections\n\t\t\t\t\t\t.filter((adj) => adj.template)\n\t\t\t\t\t\t.map((adj) => adj.template.fetch(options));\n\n\t\t\t\t\treturn Promise.all([...adjunctSlides, ...adjunctSections]);\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\treturn Promise.all(\n\t\t\t\t\t\tthis.deckversion_set.map((model) => {\n\t\t\t\t\t\t\treturn Promise.all([\n\t\t\t\t\t\t\t\tmodel.screenshots.fetch(options),\n\t\t\t\t\t\t\t\tmodel.template_set.fetchSet(options),\n\t\t\t\t\t\t\t\tmodel.manifest_json.fetch(options),\n\t\t\t\t\t\t\t\tmodel.deck.fetch(options),\n\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t})\n\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t\t.return(this);\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst appointment = this.toJSON();\n\n\t\t\tconst data = {\n\t\t\t\tname: appointment.name,\n\t\t\t\tbegin: appointment.begin,\n\t\t\t\tend: appointment.end,\n\t\t\t\tcreation_status: appointment.creation_status,\n\t\t\t\tcontact_set: this._retrieveURL(appointment.contact_set),\n\t\t\t\tdeckversion_set: this._retrieveURL(appointment.deckversion_set),\n\t\t\t\tnotes: appointment.notes,\n\t\t\t\topportunity_set: this._retrieveURL(appointment.opportunity_set),\n\t\t\t\tuser: this._retrieveURL(appointment.user),\n\t\t\t\tviewtype: appointment.viewtype,\n\t\t\t\tpreset: this._retrieveURL(appointment.preset),\n\t\t\t\tlocks: appointment.locks,\n\t\t\t\tis_muted: appointment.is_muted,\n\t\t\t\tno_edit_after: appointment.no_edit_after,\n\t\t\t\tno_share_after: appointment.no_share_after,\n\t\t\t\tno_delete_after: appointment.no_delete_after,\n\t\t\t\tteam: this._retrieveURL(appointment.team),\n\t\t\t\teditors_can_change_editors: appointment.editors_can_change_editors,\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(\"AppointmentModel\", AppointmentModel);\n"],"file":"appointment.js"}
@@ -36,6 +36,7 @@ var AutoAdjunctModel = _base.BaseModel.extend(
36
36
  * @property {string} after_key
37
37
  * @property {boolean} enabled
38
38
  * @property {number} sequence
39
+ * @property {string[]} cmsvalkey_set
39
40
  */
40
41
  props: {
41
42
  image_128: "string",
@@ -49,7 +50,8 @@ var AutoAdjunctModel = _base.BaseModel.extend(
49
50
  key: "string",
50
51
  enabled: "boolean",
51
52
  sequence: "number",
52
- tags: "array"
53
+ tags: "array",
54
+ cmsvalkey_set: "array"
53
55
  },
54
56
 
55
57
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/models/auto-adjunct.js"],"names":["AutoAdjunctModel","BaseModel","extend","modelName","props","image_128","image_256","image_512","image_1024","image_original","name","parent_key","after_key","key","enabled","sequence","tags","children","deck","template","team"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAGC,gBAAUC,MAAV;AAC/B;AAAuC;AACtCC,EAAAA,SAAS,EAAE,cAD2B;;AAGtC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,SAAS,EAAE,QADL;AAENC,IAAAA,SAAS,EAAE,QAFL;AAGNC,IAAAA,SAAS,EAAE,QAHL;AAINC,IAAAA,UAAU,EAAE,QAJN;AAKNC,IAAAA,cAAc,EAAE,QALV;AAMNC,IAAAA,IAAI,EAAE,iBANA;AAONC,IAAAA,UAAU,EAAE,QAPN;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,GAAG,EAAE,QATC;AAUNC,IAAAA,OAAO,EAAE,SAVH;AAWNC,IAAAA,QAAQ,EAAE,QAXJ;AAYNC,IAAAA,IAAI,EAAE;AAZA,GAf+B;;AA8BtC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,WADG;AAETC,IAAAA,QAAQ,EAAE,eAFD;AAGTC,IAAAA,IAAI,EAAE;AAHG;AAlC4B,CADR,CAAzB;;;AA2CP,6BAAS,kBAAT,EAA6BpB,gBAA7B","sourcesContent":["import \"./template.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.AutoAdjunctModel\n * @extends models.BaseModel\n */\nexport const AutoAdjunctModel = BaseModel.extend(\n\t/** @lends models.AutoAdjunctModel# */ {\n\t\tmodelName: \"autoadjuncts\",\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_1024\n\t\t * @property {string} image_original\n\t\t * @property {string} name\n\t\t * @property {string} parent_key\n\t\t * @property {string} after_key\n\t\t * @property {boolean} enabled\n\t\t * @property {number} sequence\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_1024: \"string\",\n\t\t\timage_original: \"string\",\n\t\t\tname: \"stringSanitized\",\n\t\t\tparent_key: \"string\",\n\t\t\tafter_key: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tenabled: \"boolean\",\n\t\t\tsequence: \"number\",\n\t\t\ttags: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.DeckModel} deck\n\t\t * @property {models.TemplateModel} template\n\t\t */\n\t\tchildren: {\n\t\t\tdeck: \"DeckModel\",\n\t\t\ttemplate: \"TemplateModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t},\n\t}\n);\n\nregister(\"AutoAdjunctModel\", AutoAdjunctModel);\n"],"file":"auto-adjunct.js"}
1
+ {"version":3,"sources":["../../src/models/auto-adjunct.js"],"names":["AutoAdjunctModel","BaseModel","extend","modelName","props","image_128","image_256","image_512","image_1024","image_original","name","parent_key","after_key","key","enabled","sequence","tags","cmsvalkey_set","children","deck","template","team"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAGC,gBAAUC,MAAV;AAC/B;AAAuC;AACtCC,EAAAA,SAAS,EAAE,cAD2B;;AAGtC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,SAAS,EAAE,QADL;AAENC,IAAAA,SAAS,EAAE,QAFL;AAGNC,IAAAA,SAAS,EAAE,QAHL;AAINC,IAAAA,UAAU,EAAE,QAJN;AAKNC,IAAAA,cAAc,EAAE,QALV;AAMNC,IAAAA,IAAI,EAAE,iBANA;AAONC,IAAAA,UAAU,EAAE,QAPN;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,GAAG,EAAE,QATC;AAUNC,IAAAA,OAAO,EAAE,SAVH;AAWNC,IAAAA,QAAQ,EAAE,QAXJ;AAYNC,IAAAA,IAAI,EAAE,OAZA;AAaNC,IAAAA,aAAa,EAAE;AAbT,GAhB+B;;AAgCtC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,WADG;AAETC,IAAAA,QAAQ,EAAE,eAFD;AAGTC,IAAAA,IAAI,EAAE;AAHG;AApC4B,CADR,CAAzB;;;AA6CP,6BAAS,kBAAT,EAA6BrB,gBAA7B","sourcesContent":["import \"./template.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.AutoAdjunctModel\n * @extends models.BaseModel\n */\nexport const AutoAdjunctModel = BaseModel.extend(\n\t/** @lends models.AutoAdjunctModel# */ {\n\t\tmodelName: \"autoadjuncts\",\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_1024\n\t\t * @property {string} image_original\n\t\t * @property {string} name\n\t\t * @property {string} parent_key\n\t\t * @property {string} after_key\n\t\t * @property {boolean} enabled\n\t\t * @property {number} sequence\n\t\t * @property {string[]} cmsvalkey_set\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_1024: \"string\",\n\t\t\timage_original: \"string\",\n\t\t\tname: \"stringSanitized\",\n\t\t\tparent_key: \"string\",\n\t\t\tafter_key: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tenabled: \"boolean\",\n\t\t\tsequence: \"number\",\n\t\t\ttags: \"array\",\n\t\t\tcmsvalkey_set: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.DeckModel} deck\n\t\t * @property {models.TemplateModel} template\n\t\t */\n\t\tchildren: {\n\t\t\tdeck: \"DeckModel\",\n\t\t\ttemplate: \"TemplateModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t},\n\t}\n);\n\nregister(\"AutoAdjunctModel\", AutoAdjunctModel);\n"],"file":"auto-adjunct.js"}
@@ -57,6 +57,9 @@ var BaseModel = _ampersandModel.default.extend(
57
57
  // This is unfortunately necessary to avoid the default ampersand model/state
58
58
  // behaviour from automatically hydrating all children and collections on a fetch.
59
59
  isFetching: false,
60
+ // Useful to figure out whether the model is just a URL (unfetched), or has been
61
+ // fetched from the server (an object).
62
+ _isFetched: true,
60
63
  // Object of regexes that should be used to match a url in `matchesURL`
61
64
  // For example the URL: /api/foo/{pk}/bar/ might have the following:
62
65
  //
@@ -69,13 +72,15 @@ var BaseModel = _ampersandModel.default.extend(
69
72
  // ```
70
73
  urlMatchKeys: {},
71
74
  constructor: function constructor() {
72
- var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
75
+ var _data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
76
+
73
77
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
74
78
 
75
79
  var options = _lodash.default.defaults(opts, {
76
80
  data: {}
77
81
  });
78
82
 
83
+ var data = _data;
79
84
  this._unsetChildren = {};
80
85
  this._unsetCollections = {};
81
86
  this._expandedValues = {};
@@ -95,6 +100,15 @@ var BaseModel = _ampersandModel.default.extend(
95
100
  data = {
96
101
  url: data
97
102
  };
103
+ this._isFetched = false;
104
+ } // Convert model ids into a format we can understand
105
+
106
+
107
+ if (_lodash.default.isNumber(data)) {
108
+ data = {
109
+ id: data
110
+ };
111
+ this._isFetched = false;
98
112
  }
99
113
 
100
114
  var dataCopy = _lodash.default.extend({}, data);
@@ -420,6 +434,7 @@ var BaseModel = _ampersandModel.default.extend(
420
434
  this._options = _lodash.default.extend({}, this._options, options);
421
435
  this.isFetching = true;
422
436
  return _ampersandModel.default.prototype.fetch.apply(this, arguments).tap(function (response) {
437
+ _this4._isFetched = true;
423
438
  _this4.isFetching = false;
424
439
 
425
440
  _this4._updateResponse(response);
@@ -440,6 +455,9 @@ var BaseModel = _ampersandModel.default.extend(
440
455
  return null;
441
456
  });
442
457
  },
458
+ isFetched: function isFetched() {
459
+ return this._isFetched;
460
+ },
443
461
  getSafeAttrs: function getSafeAttrs(key) {
444
462
  var _this5 = this;
445
463