@livepreso/api 6.44.0 → 6.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +3 -0
- package/.rush/temp/256021b5963b4c0221d3dec247b697b9691a9b2c.log +10 -0
- package/.rush/temp/2a322f00f12cf9d1e64afe81275cc78d01c49050.log +10 -0
- package/.rush/temp/30061f1865447dcbb3f20a305061205f3dbe6091.log +10 -0
- package/.rush/temp/45522aea0dee8cb2be1a53248ba45bd235743b43.log +10 -0
- package/.rush/temp/58fcbb7f15a76326d40e0839ab179755da82a891.log +10 -0
- package/.rush/temp/5bc0bba70b733baa4dd976667ba0a1386e516186.log +10 -0
- package/.rush/temp/64f1bb696f8d7d7e72907b80df316b127f72e23e.log +10 -0
- package/.rush/temp/6f640f951414ea68adb65c17e4ed7527cde54faf.log +10 -0
- package/.rush/temp/7c7b958682d4ab5697530be47d0aac62efe1adf1.log +10 -0
- package/.rush/temp/82bfb987463fbcfebf04022e6ed00015c73879c8.log +10 -0
- package/.rush/temp/844034aa6e542115075e8f3dc5ffc640973e0064.log +10 -0
- package/.rush/temp/8b42957a7c15da1f29cb57bee125f13affa70dca.log +10 -0
- package/.rush/temp/a769db9d81a23000c0e9b1bf4f1a9a9e721d0d7c.log +10 -0
- package/.rush/temp/a87d3a8b4ece87ec66f27c86226a9f205617681f.log +10 -0
- package/.rush/temp/bb7a5bdcc4af4ad1507f81f33774b31f5b4e4fb7.log +10 -0
- package/.rush/temp/c20e29ccaaa9231b38a28bb24451b4ce7562cdc0.log +10 -0
- package/.rush/temp/e21303db8f59b4625fd184c9114377d781fd24f8.log +10 -0
- package/.rush/temp/e6d303862765b6a5f41dd483d0f9ae083a1fae10.log +10 -0
- package/.rush/temp/eaf69fbc059d2f1258d7569136180d4a1d3c7072.log +10 -0
- package/.rush/temp/f85d279e2674966daaec83e1c3986a96f86ef304.log +10 -0
- package/.rush/temp/fc0a332c5b34c6b90006850cf2d93a48fb4b9a6e.log +10 -0
- package/.rush/temp/package-deps_build.json +170 -0
- package/.rush/temp/package-deps_test.json +38 -36
- package/.rush/temp/shrinkwrap-deps.json +231 -240
- package/CHANGELOG.json +17 -0
- package/CHANGELOG.md +8 -1
- package/api.build.log +4 -2
- package/bin/test.sh +0 -1
- package/cjs/auth.js +36 -10
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +12 -6
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/collections/base.js +10 -2
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +22 -4
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js +62 -0
- package/cjs/collections/deck-version-screenshots.js.map +1 -0
- package/cjs/collections.js +13 -0
- package/cjs/collections.js.map +1 -1
- package/cjs/models/activity-item.js +3 -1
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/appointment.js +11 -1
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/auto-adjunct.js +3 -1
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +19 -1
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +9 -0
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js +59 -0
- package/cjs/models/deck-version-screenshot.js.map +1 -0
- package/cjs/models/deck-version.js +28 -5
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/feed-data.js +5 -0
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/image.js +34 -0
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/manifest-json.js +1 -1
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/section.js +3 -1
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/slide.js +3 -1
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/template.js +3 -1
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/token.js +56 -0
- package/cjs/models/token.js.map +1 -0
- package/cjs/models/user.js +2 -1
- package/cjs/models/user.js.map +1 -1
- package/cjs/models.js +26 -0
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +7 -3
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +111 -2
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +56 -0
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +33 -6
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +53 -0
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-section.js +42 -16
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +121 -3
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +30 -13
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +94 -2
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation.js +112 -8
- package/cjs/presentation/presentation.js.map +1 -1
- package/jest.config.js +1 -0
- package/package.json +4 -4
- package/src/auth.js +44 -8
- package/src/auth.spec.js +2 -0
- package/src/collections/base.js +10 -4
- package/src/collections/base.spec.js +17 -3
- package/src/collections/deck-version-screenshots.js +48 -0
- package/src/collections.js +1 -0
- package/src/models/activity-item.js +2 -0
- package/src/models/appointment.js +12 -0
- package/src/models/auto-adjunct.js +2 -0
- package/src/models/base.js +19 -1
- package/src/models/base.spec.js +16 -9
- package/src/models/deck-version-screenshot.js +48 -0
- package/src/models/deck-version.js +30 -4
- package/src/models/feed-data.js +2 -0
- package/src/models/image.js +32 -0
- package/src/models/manifest-json.js +1 -1
- package/src/models/section.js +2 -0
- package/src/models/slide.js +2 -0
- package/src/models/template.js +2 -0
- package/src/models/token.js +47 -0
- package/src/models/user.js +2 -0
- package/src/models.js +2 -0
- package/src/presentation/appointment-presentation.js +10 -2
- package/src/presentation/base-presentation-model.js +77 -1
- package/src/presentation/base-presentation-model.spec.js +77 -0
- package/src/presentation/presentation-deck.js +40 -2
- package/src/presentation/presentation-deck.spec.js +53 -0
- package/src/presentation/presentation-section.js +37 -5
- package/src/presentation/presentation-section.spec.js +135 -2
- package/src/presentation/presentation-slide.js +25 -5
- package/src/presentation/presentation-slide.spec.js +104 -2
- package/src/presentation/presentation.js +24 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/base.spec.js"],"names":["it","TestModel","BaseModel","extend","props","testDate","model","date","moment","utc","expect","toEqual","format","DATE_FORMAT_T","model2","date2","Model","begin","URL","url","modelName","children","test","toBeInstanceOf","id","parent","toThrow","TestCollection","BaseCollection","collections","tests","first","mustFail","at","normalString","control","withSpace","withoutSpace","withSpecialCharacters","foo","firstModel","secondModel","testURL","testModel","getResourceURL","prototype","jest","fn","DerivedModel","name","derived","myDerivedModel","DerivedCollection","myDerivedCollection","describe","matchesURL","errorFn","spyOn","log","mockImplementation","not","toBeCalled","urlMatchKeys","bar","endpoint","td","replace","Api","ActivityModel"],"mappings":"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","sourcesContent":["import { Api } from \"../api.js\";\nimport { BaseCollection } from \"../collections/base.js\";\nimport { BaseModel } from \"./base.js\";\nimport { DATE_FORMAT_T } from \"../utils.js\";\nimport { G } from \"sp-test/api\";\nimport log from \"../log.js\";\nimport moment from \"moment\";\nimport td from \"testdouble\";\n\nit(\"should set date types correctly (SP-2698)\", function () {\n\tconst TestModel = BaseModel.extend({ props: { testDate: \"date\" } });\n\n\tconst model = new TestModel();\n\tconst date = moment.utc();\n\tmodel.testDate = date;\n\n\texpect(model.testDate).toEqual(date.format(DATE_FORMAT_T));\n\n\tconst model2 = new TestModel();\n\tconst date2 = moment.utc();\n\tmodel2.testDate = date2;\n\n\texpect(model2.testDate).toEqual(date2.format(DATE_FORMAT_T));\n});\n\nit(\"should accept moment object for date types\", () => {\n\tconst Model = BaseModel.extend({ props: { begin: \"date\" } });\n\tconst model = new Model({ begin: moment(\"2014-04-25T01:32:21.196000Z\") });\n\texpect(model.begin).toEqual(\"2014-04-25T01:32:21.196000Z\");\n});\n\nit(\"should override url if passed to constructor\", () => {\n\tconst URL = \"path/to/api/\";\n\tconst Model = BaseModel.extend();\n\tconst model = new Model({ url: URL });\n\texpect(URL).toEqual(model.url());\n});\n\nit(\"should append a trailing slash to urls if not there\", () => {\n\tconst Model = G(BaseModel.extend({ modelName: \"tests\" }));\n\tconst model = new Model({ url: \"/api/tests\" });\n\texpect(model.url()).toEqual(\"/api/tests/\");\n});\n\nit(\"should not append a slash to a get query\", () => {\n\tconst Model = G(BaseModel.extend({ modelName: \"tests\" }));\n\tconst model = new Model({ url: \"/api/tests/?foo=bar\" });\n\texpect(model.url()).toEqual(\"/api/tests/?foo=bar\");\n});\n\nit(\"should replace child model strings with the registered model\", function () {\n\tconst TestModel = G(BaseModel, \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: 1 });\n\texpect(model.test).toBeInstanceOf(TestModel);\n});\n\nit(\"should allow the model to be passed in\", function () {\n\tconst TestModel = G(BaseModel, \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: new TestModel({ id: 1 }) });\n\texpect(model.test.id).toEqual(1);\n\texpect(model.test).toBeInstanceOf(TestModel);\n});\n\nit(\"should reference parent model if foreign key exists\", function () {\n\tG(BaseModel, \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: 1 });\n\texpect(model).toEqual(model.test.parent);\n});\n\nit(\"should throw an error if the child model doesn't exist\", () => {\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"DoesntExist\" },\n\t\t})\n\t);\n\n\texpect(() => new Model()).toThrow();\n});\n\nit(\"should convert a url into a model\", function () {\n\tG(BaseModel.extend({ modelName: \"tests\" }), \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: \"/api/tests/1/\" });\n\texpect(model.test.id).toEqual(1);\n});\n\nit(\"should convert an object into a model\", function () {\n\tG(BaseModel, \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: { id: 1 } });\n\texpect(model.test.id).toEqual(1);\n});\n\nit(\"should replace collection strings with their registered state\", function () {\n\tG(BaseModel, \"TestModel\");\n\tconst TestCollection = G(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"TestModel\",\n\t\t}),\n\t\t\"TestCollection\"\n\t);\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst model = new Model({\n\t\ttests: [{ id: 1 }],\n\t});\n\texpect(model.tests).toBeInstanceOf(TestCollection);\n});\n\nit(\"should allow a list of models to be passed into a collection\", function () {\n\tconst TestModel = G(BaseModel, \"TestModel\");\n\tG(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"TestModel\",\n\t\t}),\n\t\t\"TestCollection\"\n\t);\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst test = new TestModel({ id: 1 });\n\tconst model = new Model({\n\t\ttests: [test],\n\t});\n\texpect(model.tests.first().id).toEqual(1);\n});\n\nit(\"should allow a collection to be passed in directly\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst TestCollection = G(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"TestModel\",\n\t\t}),\n\t\t\"TestCollection\"\n\t);\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst model = new Model({\n\t\ttests: new TestCollection([{ id: 1 }]),\n\t});\n\texpect(model.tests).toBeInstanceOf(TestCollection);\n});\n\nit(\"should throw an error if the child collection doesn't exist\", () => {\n\tconst Model = BaseModel.extend({\n\t\tcollections: { mustFail: \"DoesntExist\" },\n\t});\n\texpect(() => new Model()).toThrow();\n});\n\nit(\"should convert a url into a collection\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst TestCollection = G(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"TestModel\",\n\t\t}),\n\t\t\"TestCollection\"\n\t);\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst model = new Model({ tests: \"/api/tests/\" });\n\texpect(model.tests).toBeInstanceOf(TestCollection);\n});\n\nit(\"should convert an array of objects into a collection\", () => {\n\tG(BaseModel, \"TestModel\");\n\tG(BaseCollection.extend({ model: \"TestModel\" }), \"TestCollection\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst model = new Model({\n\t\ttests: [{ id: 1 }, { id: 2 }],\n\t});\n\texpect(model.tests.at(0).id).toEqual(1);\n\texpect(model.tests.at(1).id).toEqual(2);\n});\n\nit(\"should correctly sanitize strings of multibyte characters (preserving spaces)\", function () {\n\tconst TestModel = BaseModel.extend({\n\t\tprops: {\n\t\t\tnormalString: \"string\",\n\t\t\tcontrol: \"stringSanitized\",\n\t\t\twithSpace: \"stringSanitized\",\n\t\t\twithoutSpace: \"stringSanitized\",\n\t\t\twithSpecialCharacters: \"stringSanitized\",\n\t\t},\n\t});\n\n\tconst model = new TestModel({\n\t\tnormalString: \"Aâ BâCç\",\n\t\tcontrol: \"ABC\",\n\t\twithSpace: \"Aâ BâCç\",\n\t\twithoutSpace: \"AãB®C\",\n\t\twithSpecialCharacters: \"!@#$%^&*()_+\",\n\t});\n\n\texpect(model.normalString).toEqual(\"Aâ BâCç\");\n\texpect(model.control).toEqual(\"ABC\");\n\texpect(model.withSpace).toEqual(\"A B C\");\n\texpect(model.withoutSpace).toEqual(\"ABC\");\n\texpect(model.withSpecialCharacters).toEqual(\"!@#$%^&*()_+\");\n});\n\nit(\"should allow passing in another model into a model\", () => {\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t\tprops: {\n\t\t\tfoo: \"string\",\n\t\t},\n\t});\n\n\tconst firstModel = new TestModel({ foo: \"bar\" });\n\tconst secondModel = new TestModel(firstModel);\n\n\texpect(secondModel.foo).toEqual(\"bar\");\n});\n\nit(\"should retrieve the ID when there is no resource URL\", () => {\n\tconst testURL = \"http://localhost:9980/api/test/34/\";\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t});\n\n\tconst testModel = new TestModel({ url: testURL });\n\n\texpect(testModel.getResourceURL()).toEqual(\"/test/\");\n\texpect(testModel.id).toEqual(34);\n});\n\nit(\"should retrieve the ID when the resource URL is the same as the hostname\", () => {\n\tconst testURL = \"http://localhost:9980/api/test/34/\";\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t});\n\n\tTestModel.prototype.getResourceURL = jest.fn(() => {\n\t\treturn \"http://localhost:9980/api/test/\";\n\t});\n\n\tconst testModel = new TestModel({ url: testURL });\n\n\texpect(testModel.id).toEqual(34);\n});\n\nit(\"should retrieve the ID when the resource hostname is different to the URL hostname\", () => {\n\tconst testURL = \"http://some-hostname/api/test/34/\";\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t});\n\n\tTestModel.prototype.getResourceURL = jest.fn(() => {\n\t\treturn \"http://localhost:9980/api/test/\";\n\t});\n\n\tconst testModel = new TestModel({ url: testURL });\n\n\texpect(testModel.id).toEqual(34);\n});\n\nit(\"should pass through values into a derived model\", () => {\n\tconst DerivedModel = BaseModel.extend({\n\t\tmodelName: \"derived\",\n\t\tprops: {\n\t\t\tname: \"string\",\n\t\t},\n\t});\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t\tderived: {\n\t\t\tmyDerivedModel: {\n\t\t\t\tfn() {\n\t\t\t\t\treturn new DerivedModel();\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t});\n\n\tconst model = new TestModel({ myDerivedModel: { id: 1, name: \"foo\" } });\n\texpect(model.myDerivedModel.id).toEqual(1);\n\texpect(model.myDerivedModel.name).toEqual(\"foo\");\n});\n\nit(\"should pass through values into a derived collection\", () => {\n\tG(\n\t\tBaseModel.extend({\n\t\t\tmodelName: \"derived\",\n\t\t\tprops: {\n\t\t\t\tname: \"string\",\n\t\t\t},\n\t\t}),\n\t\t\"DerivedModel\"\n\t);\n\n\tconst DerivedCollection = G(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"DerivedModel\",\n\t\t})\n\t);\n\n\tconst TestModel = G(\n\t\tBaseModel.extend({\n\t\t\tmodelName: \"test\",\n\t\t\tderived: {\n\t\t\t\tmyDerivedCollection: {\n\t\t\t\t\tfn() {\n\t\t\t\t\t\treturn new DerivedCollection();\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\t\"TestModel\"\n\t);\n\n\tconst model = new TestModel({\n\t\tmyDerivedCollection: [{ id: 1, name: \"foo\" }],\n\t});\n\texpect(model.myDerivedCollection.first().id).toEqual(1);\n\texpect(model.myDerivedCollection.first().name).toEqual(\"foo\");\n});\n\ndescribe(\".matchesURL\", () => {\n\tit(\"should have a model match the right url\", () => {\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"foo\",\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/foo/1/\")).toEqual(true);\n\t});\n\n\tit(\"should have a model not match the wrong url\", () => {\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"foo\",\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/bar/1/\")).toEqual(false);\n\t});\n\n\tit(\"should not throw a nasty error when url isn't even close\", () => {\n\t\tconst errorFn = jest.spyOn(log, \"error\").mockImplementation(jest.fn());\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"bar\",\n\t\t\tgetResourceURL() {\n\t\t\t\treturn \"/api/bar/{foo}/\";\n\t\t\t},\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/foo/1/\")).toEqual(false);\n\t\texpect(errorFn).not.toBeCalled();\n\t});\n\n\tit(\"should throw an error if url matches, but it isn't set up right\", () => {\n\t\tconst errorFn = jest.spyOn(log, \"error\").mockImplementation(jest.fn());\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"bar\",\n\t\t\tgetResourceURL() {\n\t\t\t\treturn \"/api/bar/{foo}/\";\n\t\t\t},\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/bar/1/\")).toEqual(false);\n\t\texpect(errorFn).toBeCalled();\n\t});\n\n\tit(\"should expect values passed in through url match keys\", () => {\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"bar\",\n\t\t\turlMatchKeys: {\n\t\t\t\tfoo: \"string\",\n\t\t\t\tbar: \"number\",\n\t\t\t},\n\t\t\tgetResourceURL() {\n\t\t\t\treturn \"/api/bar/{bar}/{foo}/\";\n\t\t\t},\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/bar/1/hello/1/\")).toEqual(true);\n\t});\n\n\tit(\"should match with the full server endpoint included\", () => {\n\t\tconst endpoint = \"http://localhost:8000/api/\";\n\t\ttd.replace(Api, \"getURL\", () => endpoint);\n\t\tconst url = \"http://localhost:8000/api/activities/2719/\";\n\t\tconst ActivityModel = G(\"ActivityItemModel\").extend({\n\t\t\tgetResourceURL() {\n\t\t\t\treturn `${endpoint}activities/`;\n\t\t\t},\n\t\t});\n\t\texpect(ActivityModel.matchesURL(url)).toEqual(true);\n\t});\n});\n"],"file":"base.spec.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/models/base.spec.js"],"names":["it","TestModel","BaseModel","extend","props","testDate","model","date","moment","utc","expect","toEqual","format","DATE_FORMAT_T","model2","date2","Model","begin","URL","url","modelName","children","test","toBeInstanceOf","id","parent","toThrow","testModel","TestCollection","BaseCollection","collections","tests","first","mustFail","at","normalString","control","withSpace","withoutSpace","withSpecialCharacters","foo","firstModel","secondModel","testURL","getResourceURL","prototype","jest","fn","DerivedModel","name","derived","myDerivedModel","DerivedCollection","myDerivedCollection","describe","matchesURL","errorFn","spyOn","log","mockImplementation","not","toBeCalled","urlMatchKeys","bar","endpoint","td","replace","Api","ActivityModel"],"mappings":"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","sourcesContent":["import { Api } from \"../api.js\";\nimport { BaseCollection } from \"../collections/base.js\";\nimport { BaseModel } from \"./base.js\";\nimport { DATE_FORMAT_T } from \"../utils.js\";\nimport { G } from \"sp-test/api\";\nimport log from \"../log.js\";\nimport moment from \"moment\";\nimport td from \"testdouble\";\n\nit(\"should set date types correctly (SP-2698)\", () => {\n\tconst TestModel = BaseModel.extend({ props: { testDate: \"date\" } });\n\n\tconst model = new TestModel();\n\tconst date = moment.utc();\n\tmodel.testDate = date;\n\n\texpect(model.testDate).toEqual(date.format(DATE_FORMAT_T));\n\n\tconst model2 = new TestModel();\n\tconst date2 = moment.utc();\n\tmodel2.testDate = date2;\n\n\texpect(model2.testDate).toEqual(date2.format(DATE_FORMAT_T));\n});\n\nit(\"should accept moment object for date types\", () => {\n\tconst Model = BaseModel.extend({ props: { begin: \"date\" } });\n\tconst model = new Model({ begin: moment(\"2014-04-25T01:32:21.196000Z\") });\n\texpect(model.begin).toEqual(\"2014-04-25T01:32:21.196000Z\");\n});\n\nit(\"should override url if passed to constructor\", () => {\n\tconst URL = \"path/to/api/\";\n\tconst Model = BaseModel.extend();\n\tconst model = new Model({ url: URL });\n\texpect(URL).toEqual(model.url());\n});\n\nit(\"should append a trailing slash to urls if not there\", () => {\n\tconst Model = G(BaseModel.extend({ modelName: \"tests\" }));\n\tconst model = new Model({ url: \"/api/tests\" });\n\texpect(model.url()).toEqual(\"/api/tests/\");\n});\n\nit(\"should not append a slash to a get query\", () => {\n\tconst Model = G(BaseModel.extend({ modelName: \"tests\" }));\n\tconst model = new Model({ url: \"/api/tests/?foo=bar\" });\n\texpect(model.url()).toEqual(\"/api/tests/?foo=bar\");\n});\n\nit(\"should replace child model strings with the registered model\", () => {\n\tconst TestModel = G(BaseModel, \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: 1 });\n\texpect(model.test).toBeInstanceOf(TestModel);\n});\n\nit(\"should allow the model to be passed in\", () => {\n\tconst TestModel = G(BaseModel, \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: new TestModel({ id: 1 }) });\n\texpect(model.test.id).toEqual(1);\n\texpect(model.test).toBeInstanceOf(TestModel);\n});\n\nit(\"should reference parent model if foreign key exists\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: 1 });\n\texpect(model).toEqual(model.test.parent);\n});\n\nit(\"should throw an error if the child model doesn't exist\", () => {\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"DoesntExist\" },\n\t\t})\n\t);\n\n\texpect(() => new Model()).toThrow();\n});\n\nit(\"should convert a url into a model\", () => {\n\tG(BaseModel.extend({ modelName: \"tests\" }), \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: \"/api/tests/1/\" });\n\texpect(model.test.id).toEqual(1);\n});\n\nit(\"should convert an id into a model\", () => {\n\tconst TestModel = BaseModel.extend({ modelName: \"test\" });\n\tconst testModel = new TestModel(1);\n\texpect(testModel.id).toEqual(1);\n\texpect(testModel.url()).toEqual(\"/test/1/\");\n});\n\nit(\"should convert an object into a model\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tchildren: { test: \"TestModel\" },\n\t\t})\n\t);\n\tconst model = new Model({ test: { id: 1 } });\n\texpect(model.test.id).toEqual(1);\n});\n\nit(\"should replace collection strings with their registered state\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst TestCollection = G(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"TestModel\",\n\t\t}),\n\t\t\"TestCollection\"\n\t);\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst model = new Model({\n\t\ttests: [{ id: 1 }],\n\t});\n\texpect(model.tests).toBeInstanceOf(TestCollection);\n});\n\nit(\"should allow a list of models to be passed into a collection\", () => {\n\tconst TestModel = G(BaseModel, \"TestModel\");\n\tG(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"TestModel\",\n\t\t}),\n\t\t\"TestCollection\"\n\t);\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst test = new TestModel({ id: 1 });\n\tconst model = new Model({\n\t\ttests: [test],\n\t});\n\texpect(model.tests.first().id).toEqual(1);\n});\n\nit(\"should allow a collection to be passed in directly\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst TestCollection = G(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"TestModel\",\n\t\t}),\n\t\t\"TestCollection\"\n\t);\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst model = new Model({\n\t\ttests: new TestCollection([{ id: 1 }]),\n\t});\n\texpect(model.tests).toBeInstanceOf(TestCollection);\n});\n\nit(\"should throw an error if the child collection doesn't exist\", () => {\n\tconst Model = BaseModel.extend({\n\t\tcollections: { mustFail: \"DoesntExist\" },\n\t});\n\texpect(() => new Model()).toThrow();\n});\n\nit(\"should convert a url into a collection\", () => {\n\tG(BaseModel, \"TestModel\");\n\tconst TestCollection = G(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"TestModel\",\n\t\t}),\n\t\t\"TestCollection\"\n\t);\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst model = new Model({ tests: \"/api/tests/\" });\n\texpect(model.tests).toBeInstanceOf(TestCollection);\n});\n\nit(\"should convert an array of objects into a collection\", () => {\n\tG(BaseModel, \"TestModel\");\n\tG(BaseCollection.extend({ model: \"TestModel\" }), \"TestCollection\");\n\tconst Model = G(\n\t\tBaseModel.extend({\n\t\t\tcollections: { tests: \"TestCollection\" },\n\t\t})\n\t);\n\tconst model = new Model({\n\t\ttests: [{ id: 1 }, { id: 2 }],\n\t});\n\texpect(model.tests.at(0).id).toEqual(1);\n\texpect(model.tests.at(1).id).toEqual(2);\n});\n\nit(\"should correctly sanitize strings of multibyte characters (preserving spaces)\", () => {\n\tconst TestModel = BaseModel.extend({\n\t\tprops: {\n\t\t\tnormalString: \"string\",\n\t\t\tcontrol: \"stringSanitized\",\n\t\t\twithSpace: \"stringSanitized\",\n\t\t\twithoutSpace: \"stringSanitized\",\n\t\t\twithSpecialCharacters: \"stringSanitized\",\n\t\t},\n\t});\n\n\tconst model = new TestModel({\n\t\tnormalString: \"Aâ BâCç\",\n\t\tcontrol: \"ABC\",\n\t\twithSpace: \"Aâ BâCç\",\n\t\twithoutSpace: \"AãB®C\",\n\t\twithSpecialCharacters: \"!@#$%^&*()_+\",\n\t});\n\n\texpect(model.normalString).toEqual(\"Aâ BâCç\");\n\texpect(model.control).toEqual(\"ABC\");\n\texpect(model.withSpace).toEqual(\"A B C\");\n\texpect(model.withoutSpace).toEqual(\"ABC\");\n\texpect(model.withSpecialCharacters).toEqual(\"!@#$%^&*()_+\");\n});\n\nit(\"should allow passing in another model into a model\", () => {\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t\tprops: {\n\t\t\tfoo: \"string\",\n\t\t},\n\t});\n\n\tconst firstModel = new TestModel({ foo: \"bar\" });\n\tconst secondModel = new TestModel(firstModel);\n\n\texpect(secondModel.foo).toEqual(\"bar\");\n});\n\nit(\"should retrieve the ID when there is no resource URL\", () => {\n\tconst testURL = \"http://localhost:9980/api/test/34/\";\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t});\n\n\tconst testModel = new TestModel({ url: testURL });\n\n\texpect(testModel.getResourceURL()).toEqual(\"/test/\");\n\texpect(testModel.id).toEqual(34);\n});\n\nit(\"should retrieve the ID when the resource URL is the same as the hostname\", () => {\n\tconst testURL = \"http://localhost:9980/api/test/34/\";\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t});\n\n\tTestModel.prototype.getResourceURL = jest.fn(() => {\n\t\treturn \"http://localhost:9980/api/test/\";\n\t});\n\n\tconst testModel = new TestModel({ url: testURL });\n\n\texpect(testModel.id).toEqual(34);\n});\n\nit(\"should retrieve the ID when the resource hostname is different to the URL hostname\", () => {\n\tconst testURL = \"http://some-hostname/api/test/34/\";\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t});\n\n\tTestModel.prototype.getResourceURL = jest.fn(() => {\n\t\treturn \"http://localhost:9980/api/test/\";\n\t});\n\n\tconst testModel = new TestModel({ url: testURL });\n\n\texpect(testModel.id).toEqual(34);\n});\n\nit(\"should pass through values into a derived model\", () => {\n\tconst DerivedModel = BaseModel.extend({\n\t\tmodelName: \"derived\",\n\t\tprops: {\n\t\t\tname: \"string\",\n\t\t},\n\t});\n\tconst TestModel = BaseModel.extend({\n\t\tmodelName: \"test\",\n\t\tderived: {\n\t\t\tmyDerivedModel: {\n\t\t\t\tfn() {\n\t\t\t\t\treturn new DerivedModel();\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t});\n\n\tconst model = new TestModel({ myDerivedModel: { id: 1, name: \"foo\" } });\n\texpect(model.myDerivedModel.id).toEqual(1);\n\texpect(model.myDerivedModel.name).toEqual(\"foo\");\n});\n\nit(\"should pass through values into a derived collection\", () => {\n\tG(\n\t\tBaseModel.extend({\n\t\t\tmodelName: \"derived\",\n\t\t\tprops: {\n\t\t\t\tname: \"string\",\n\t\t\t},\n\t\t}),\n\t\t\"DerivedModel\"\n\t);\n\n\tconst DerivedCollection = G(\n\t\tBaseCollection.extend({\n\t\t\tmodel: \"DerivedModel\",\n\t\t})\n\t);\n\n\tconst TestModel = G(\n\t\tBaseModel.extend({\n\t\t\tmodelName: \"test\",\n\t\t\tderived: {\n\t\t\t\tmyDerivedCollection: {\n\t\t\t\t\tfn() {\n\t\t\t\t\t\treturn new DerivedCollection();\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\t\"TestModel\"\n\t);\n\n\tconst model = new TestModel({\n\t\tmyDerivedCollection: [{ id: 1, name: \"foo\" }],\n\t});\n\texpect(model.myDerivedCollection.first().id).toEqual(1);\n\texpect(model.myDerivedCollection.first().name).toEqual(\"foo\");\n});\n\ndescribe(\".matchesURL\", () => {\n\tit(\"should have a model match the right url\", () => {\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"foo\",\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/foo/1/\")).toEqual(true);\n\t});\n\n\tit(\"should have a model not match the wrong url\", () => {\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"foo\",\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/bar/1/\")).toEqual(false);\n\t});\n\n\tit(\"should not throw a nasty error when url isn't even close\", () => {\n\t\tconst errorFn = jest.spyOn(log, \"error\").mockImplementation(jest.fn());\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"bar\",\n\t\t\tgetResourceURL() {\n\t\t\t\treturn \"/api/bar/{foo}/\";\n\t\t\t},\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/foo/1/\")).toEqual(false);\n\t\texpect(errorFn).not.toBeCalled();\n\t});\n\n\tit(\"should throw an error if url matches, but it isn't set up right\", () => {\n\t\tconst errorFn = jest.spyOn(log, \"error\").mockImplementation(jest.fn());\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"bar\",\n\t\t\tgetResourceURL() {\n\t\t\t\treturn \"/api/bar/{foo}/\";\n\t\t\t},\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/bar/1/\")).toEqual(false);\n\t\texpect(errorFn).toBeCalled();\n\t});\n\n\tit(\"should expect values passed in through url match keys\", () => {\n\t\tconst TestModel = G(BaseModel, \"TestModel\").extend({\n\t\t\tmodelName: \"bar\",\n\t\t\turlMatchKeys: {\n\t\t\t\tfoo: \"string\",\n\t\t\t\tbar: \"number\",\n\t\t\t},\n\t\t\tgetResourceURL() {\n\t\t\t\treturn \"/api/bar/{bar}/{foo}/\";\n\t\t\t},\n\t\t});\n\t\texpect(TestModel.matchesURL(\"/api/bar/1/hello/1/\")).toEqual(true);\n\t});\n\n\tit(\"should match with the full server endpoint included\", () => {\n\t\tconst endpoint = \"http://localhost:8000/api/\";\n\t\ttd.replace(Api, \"getURL\", () => endpoint);\n\t\tconst url = \"http://localhost:8000/api/activities/2719/\";\n\t\tconst ActivityModel = G(\"ActivityItemModel\").extend({\n\t\t\tgetResourceURL() {\n\t\t\t\treturn `${endpoint}activities/`;\n\t\t\t},\n\t\t});\n\t\texpect(ActivityModel.matchesURL(url)).toEqual(true);\n\t});\n});\n"],"file":"base.spec.js"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.DeckVersionScreenshotModel = void 0;
|
|
9
|
+
|
|
10
|
+
require("./team.js");
|
|
11
|
+
|
|
12
|
+
var _base = require("./base.js");
|
|
13
|
+
|
|
14
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
15
|
+
|
|
16
|
+
var _stateRegister = require("../state-register.js");
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @constructor
|
|
20
|
+
* @alias models.DeckVersionScreenshotModel
|
|
21
|
+
* @extends models.BaseModel
|
|
22
|
+
*/
|
|
23
|
+
var DeckVersionScreenshotModel = _base.BaseModel.extend(
|
|
24
|
+
/** @lends models.DeckVersionScreenshotModel# */
|
|
25
|
+
{
|
|
26
|
+
modelName: "deckversion-screenshots",
|
|
27
|
+
urlMatchKeys: {
|
|
28
|
+
"deckversion.id": "number"
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @property {date} created_date
|
|
33
|
+
* @property {date} modified_date
|
|
34
|
+
* @property {string} image_128
|
|
35
|
+
* @property {string} image_256
|
|
36
|
+
* @property {string} image_512
|
|
37
|
+
* @property {string} subject - A url for a screenshotted model (section, slide, etc.)
|
|
38
|
+
*/
|
|
39
|
+
props: {
|
|
40
|
+
created_date: "date",
|
|
41
|
+
modified_date: "date",
|
|
42
|
+
image_128: "string",
|
|
43
|
+
image_256: "string",
|
|
44
|
+
image_512: "string",
|
|
45
|
+
subject: "string"
|
|
46
|
+
},
|
|
47
|
+
children: {
|
|
48
|
+
team: "TeamModel"
|
|
49
|
+
},
|
|
50
|
+
serialize: function serialize() {
|
|
51
|
+
var data = _base.BaseModel.prototype.serialize.call(this);
|
|
52
|
+
|
|
53
|
+
return _lodash.default.omit(data, ["url"]);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
exports.DeckVersionScreenshotModel = DeckVersionScreenshotModel;
|
|
58
|
+
(0, _stateRegister.register)("DeckVersionScreenshotModel", DeckVersionScreenshotModel);
|
|
59
|
+
//# sourceMappingURL=deck-version-screenshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/models/deck-version-screenshot.js"],"names":["DeckVersionScreenshotModel","BaseModel","extend","modelName","urlMatchKeys","props","created_date","modified_date","image_128","image_256","image_512","subject","children","team","serialize","data","prototype","call","_","omit"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,0BAA0B,GAAGC,gBAAUC,MAAV;AACzC;AAAiD;AAChDC,EAAAA,SAAS,EAAE,yBADqC;AAGhDC,EAAAA,YAAY,EAAE;AACb,sBAAkB;AADL,GAHkC;;AAOhD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,aAAa,EAAE,MAFT;AAGNC,IAAAA,SAAS,EAAE,QAHL;AAINC,IAAAA,SAAS,EAAE,QAJL;AAKNC,IAAAA,SAAS,EAAE,QALL;AAMNC,IAAAA,OAAO,EAAE;AANH,GAfyC;AAwBhDC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE;AADG,GAxBsC;AA4BhDC,EAAAA,SA5BgD,uBA4BpC;AACX,QAAMC,IAAI,GAAGd,gBAAUe,SAAV,CAAoBF,SAApB,CAA8BG,IAA9B,CAAmC,IAAnC,CAAb;;AACA,WAAOC,gBAAEC,IAAF,CAAOJ,IAAP,EAAa,CAAC,KAAD,CAAb,CAAP;AACA;AA/B+C,CADR,CAAnC;;;AAoCP,6BAAS,4BAAT,EAAuCf,0BAAvC","sourcesContent":["import \"./team.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport _ from \"lodash\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.DeckVersionScreenshotModel\n * @extends models.BaseModel\n */\nexport const DeckVersionScreenshotModel = BaseModel.extend(\n\t/** @lends models.DeckVersionScreenshotModel# */ {\n\t\tmodelName: \"deckversion-screenshots\",\n\n\t\turlMatchKeys: {\n\t\t\t\"deckversion.id\": \"number\",\n\t\t},\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\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} subject - A url for a screenshotted model (section, slide, etc.)\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\tsubject: \"string\",\n\t\t},\n\n\t\tchildren: {\n\t\t\tteam: \"TeamModel\",\n\t\t},\n\n\t\tserialize() {\n\t\t\tconst data = BaseModel.prototype.serialize.call(this);\n\t\t\treturn _.omit(data, [\"url\"]);\n\t\t},\n\t}\n);\n\nregister(\"DeckVersionScreenshotModel\", DeckVersionScreenshotModel);\n"],"file":"deck-version-screenshot.js"}
|
|
@@ -23,6 +23,8 @@ require("./manifest-json.js");
|
|
|
23
23
|
|
|
24
24
|
var _base = require("./base.js");
|
|
25
25
|
|
|
26
|
+
var _deckVersionScreenshots = require("../collections/deck-version-screenshots.js");
|
|
27
|
+
|
|
26
28
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
27
29
|
|
|
28
30
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
@@ -59,6 +61,7 @@ var DeckVersionModel = _base.BaseModel.extend(
|
|
|
59
61
|
* @property {boolean} has_editable_share_support
|
|
60
62
|
* @property {string} point_in_time_share_policy
|
|
61
63
|
* @property {string[]} tags
|
|
64
|
+
* @property {string[]} cmsvalkey_set
|
|
62
65
|
*/
|
|
63
66
|
props: {
|
|
64
67
|
image_128: "string",
|
|
@@ -78,7 +81,8 @@ var DeckVersionModel = _base.BaseModel.extend(
|
|
|
78
81
|
friendly_release_notes: "string",
|
|
79
82
|
has_editable_share_support: "boolean",
|
|
80
83
|
point_in_time_share_policy: "string",
|
|
81
|
-
tags: "array"
|
|
84
|
+
tags: "array",
|
|
85
|
+
cmsvalkey_set: "array"
|
|
82
86
|
},
|
|
83
87
|
|
|
84
88
|
/**
|
|
@@ -106,10 +110,20 @@ var DeckVersionModel = _base.BaseModel.extend(
|
|
|
106
110
|
},
|
|
107
111
|
|
|
108
112
|
/**
|
|
109
|
-
* @
|
|
110
|
-
* @returns {object}
|
|
113
|
+
* @property {collections.DeckVersionScreenshotCollection} screenshots
|
|
111
114
|
*/
|
|
112
|
-
|
|
115
|
+
derived: {
|
|
116
|
+
screenshots: {
|
|
117
|
+
deps: ["id"],
|
|
118
|
+
fn: function fn() {
|
|
119
|
+
var screenshots = new _deckVersionScreenshots.DeckVersionScreenshotCollection({}, {
|
|
120
|
+
deckversion: this
|
|
121
|
+
});
|
|
122
|
+
return screenshots;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
getHooksPath: function getHooksPath() {
|
|
113
127
|
var _this = this;
|
|
114
128
|
|
|
115
129
|
if (this.isNew()) {
|
|
@@ -135,7 +149,16 @@ var DeckVersionModel = _base.BaseModel.extend(
|
|
|
135
149
|
throw new Error("Manifest does not contain a hooks entry");
|
|
136
150
|
}
|
|
137
151
|
|
|
138
|
-
|
|
152
|
+
return "".concat(rootAssetUrl).concat(_this.manifest_json.hooks);
|
|
153
|
+
});
|
|
154
|
+
},
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* @todo This should eventually return a hooks interface
|
|
158
|
+
* @returns {object}
|
|
159
|
+
*/
|
|
160
|
+
getHooks: function getHooks() {
|
|
161
|
+
return this.getHooksPath().then(function (hooksPath) {
|
|
139
162
|
return SystemJS.import(hooksPath);
|
|
140
163
|
}).then(function (hooks) {
|
|
141
164
|
if (hooks.default) {
|
|
@@ -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","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"}
|
|
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","cmsvalkey_set","children","deck","index_asset","pack","manifest_json","collections","section_set","note_set","template_set","derived","screenshots","deps","fn","DeckVersionScreenshotCollection","deckversion","getHooksPath","isNew","Error","Promise","resolve","then","Object","keys","getSafeAttrs","length","fetch","rootAssetUrl","getRootAssetUrl","hooks","getHooks","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 { DeckVersionScreenshotCollection } from \"../collections/deck-version-screenshots.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 * @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_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\tcmsvalkey_set: \"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 * @property {collections.DeckVersionScreenshotCollection} screenshots\n\t\t */\n\t\tderived: {\n\t\t\tscreenshots: {\n\t\t\t\tdeps: [\"id\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\tconst screenshots = new DeckVersionScreenshotCollection(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdeckversion: this,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn screenshots;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tgetHooksPath() {\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\treturn `${rootAssetUrl}${this.manifest_json.hooks}`;\n\t\t\t\t});\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\treturn this.getHooksPath()\n\t\t\t\t.then((hooksPath) => {\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"}
|
package/cjs/models/feed-data.js
CHANGED
|
@@ -23,10 +23,15 @@ var FeedDataModel = _base.BaseModel.extend(
|
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* @property {object} feed_data
|
|
26
|
+
* @property {object} feed_debug
|
|
26
27
|
* @property {string} creation_status
|
|
27
28
|
*/
|
|
28
29
|
props: {
|
|
29
30
|
feed_data: "object",
|
|
31
|
+
feed_debug: {
|
|
32
|
+
type: "object",
|
|
33
|
+
default: function _default() {}
|
|
34
|
+
},
|
|
30
35
|
creation_status: "string"
|
|
31
36
|
},
|
|
32
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/feed-data.js"],"names":["FeedDataModel","BaseModel","extend","modelName","props","feed_data","creation_status","children","snapshot","toServer","data","JSON","stringify","_retrieveURL","id"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAoC;AACnCC,EAAAA,SAAS,EAAE,WADwB;;AAGnC;AACF;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,SAAS,EAAE,QADL;AAENC,IAAAA,eAAe,EAAE;
|
|
1
|
+
{"version":3,"sources":["../../src/models/feed-data.js"],"names":["FeedDataModel","BaseModel","extend","modelName","props","feed_data","feed_debug","type","default","creation_status","children","snapshot","toServer","data","JSON","stringify","_retrieveURL","id"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAoC;AACnCC,EAAAA,SAAS,EAAE,WADwB;;AAGnC;AACF;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,SAAS,EAAE,QADL;AAENC,IAAAA,UAAU,EAAE;AAACC,MAAAA,IAAI,EAAE,QAAP;AAAiBC,MAAAA,OAAO,EAAE,oBAAM,CAAE;AAAlC,KAFN;AAGNC,IAAAA,eAAe,EAAE;AAHX,GAR4B;;AAcnC;AACF;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,QAAQ,EAAE;AADD,GAjByB;AAqBnCC,EAAAA,QArBmC,sBAqBxB;AACV,QAAMC,IAAI,GAAG;AACZR,MAAAA,SAAS,EAAES,IAAI,CAACC,SAAL,CAAe,KAAKV,SAApB,CADC;AAEZM,MAAAA,QAAQ,EAAE,KAAKK,YAAL,CAAkB,KAAKL,QAAvB;AAFE,KAAb;;AAKA,QAAI,KAAKM,EAAT,EAAa;AACZJ,MAAAA,IAAI,CAACI,EAAL,GAAU,KAAKA,EAAf;AACA;;AAED,WAAOJ,IAAP;AACA;AAhCkC,CADR,CAAtB;;;AAqCP,6BAAS,eAAT,EAA0Bb,aAA1B","sourcesContent":["import \"./snapshot.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.FeedDataModel\n * @extends models.BaseModel\n */\nexport const FeedDataModel = BaseModel.extend(\n\t/** @lends models.FeedDataModel# */ {\n\t\tmodelName: \"feed-data\",\n\n\t\t/**\n\t\t * @property {object} feed_data\n\t\t * @property {object} feed_debug\n\t\t * @property {string} creation_status\n\t\t */\n\t\tprops: {\n\t\t\tfeed_data: \"object\",\n\t\t\tfeed_debug: {type: \"object\", default: () => {}},\n\t\t\tcreation_status: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.SnapshotModel} snapshot\n\t\t */\n\t\tchildren: {\n\t\t\tsnapshot: \"SnapshotModel\",\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst data = {\n\t\t\t\tfeed_data: JSON.stringify(this.feed_data),\n\t\t\t\tsnapshot: this._retrieveURL(this.snapshot),\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(\"FeedDataModel\", FeedDataModel);\n"],"file":"feed-data.js"}
|
package/cjs/models/image.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -7,8 +9,12 @@ exports.ImageModel = void 0;
|
|
|
7
9
|
|
|
8
10
|
require("./user.js");
|
|
9
11
|
|
|
12
|
+
var _auth = require("../auth.js");
|
|
13
|
+
|
|
10
14
|
var _base = require("./base.js");
|
|
11
15
|
|
|
16
|
+
var _superagentBluebirdPromise = _interopRequireDefault(require("superagent-bluebird-promise"));
|
|
17
|
+
|
|
12
18
|
var _stateRegister = require("../state-register.js");
|
|
13
19
|
|
|
14
20
|
/**
|
|
@@ -45,6 +51,34 @@ var ImageModel = _base.BaseModel.extend(
|
|
|
45
51
|
*/
|
|
46
52
|
children: {
|
|
47
53
|
event: "UserModel"
|
|
54
|
+
},
|
|
55
|
+
uploadBase64: function uploadBase64(data) {
|
|
56
|
+
var _this = this;
|
|
57
|
+
|
|
58
|
+
// mime will be in the format "image/png;base64"
|
|
59
|
+
var fileType = data.mime.split(";")[0];
|
|
60
|
+
var fileEnd = fileType.split("/")[1];
|
|
61
|
+
return fetch(data.value).then(function (res) {
|
|
62
|
+
return res.blob();
|
|
63
|
+
}).then(function (blob) {
|
|
64
|
+
var file = new File([blob], "image.".concat(fileEnd), {
|
|
65
|
+
type: fileType
|
|
66
|
+
});
|
|
67
|
+
var formData = new FormData();
|
|
68
|
+
formData.append("image_original", file);
|
|
69
|
+
return _this.uploadFile(file);
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
uploadFile: function uploadFile(file) {
|
|
73
|
+
var _this2 = this;
|
|
74
|
+
|
|
75
|
+
var formData = new FormData();
|
|
76
|
+
formData.append("image_original", file);
|
|
77
|
+
return _superagentBluebirdPromise.default.post(this.url()).send(formData).set(_auth.Auth.headers).then(function (response) {
|
|
78
|
+
Object.keys(response.body).forEach(function (key) {
|
|
79
|
+
_this2.set(key, response.body[key]);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
48
82
|
}
|
|
49
83
|
});
|
|
50
84
|
|
package/cjs/models/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/image.js"],"names":["ImageModel","BaseModel","extend","modelName","props","image_original","name","created_date","modified_date","image_128","image_256","image_512","children","event"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/models/image.js"],"names":["ImageModel","BaseModel","extend","modelName","props","image_original","name","created_date","modified_date","image_128","image_256","image_512","children","event","uploadBase64","data","fileType","mime","split","fileEnd","fetch","value","then","res","blob","file","File","type","formData","FormData","append","uploadFile","SuperAgentRequest","post","url","send","set","Auth","headers","response","Object","keys","body","forEach","key"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,UAAU,GAAGC,gBAAUC,MAAV;AACzB;AAAiC;AAChCC,EAAAA,SAAS,EAAE,QADqB;;AAGhC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,cAAc,EAAE,QADV;AAENC,IAAAA,IAAI,EAAE,QAFA;AAGNC,IAAAA,YAAY,EAAE,MAHR;AAINC,IAAAA,aAAa,EAAE,MAJT;AAKNC,IAAAA,SAAS,EAAE,QALL;AAMNC,IAAAA,SAAS,EAAE,QANL;AAONC,IAAAA,SAAS,EAAE;AAPL,GAZyB;;AAsBhC;AACF;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,KAAK,EAAE;AADE,GAzBsB;AA4BhCC,EAAAA,YA5BgC,wBA4BnBC,IA5BmB,EA4Bb;AAAA;;AAClB;AACA,QAAMC,QAAQ,GAAGD,IAAI,CAACE,IAAL,CAAUC,KAAV,CAAgB,GAAhB,EAAqB,CAArB,CAAjB;AACA,QAAMC,OAAO,GAAGH,QAAQ,CAACE,KAAT,CAAe,GAAf,EAAoB,CAApB,CAAhB;AAEA,WAAOE,KAAK,CAACL,IAAI,CAACM,KAAN,CAAL,CACLC,IADK,CACA,UAACC,GAAD,EAAS;AACd,aAAOA,GAAG,CAACC,IAAJ,EAAP;AACA,KAHK,EAILF,IAJK,CAIA,UAACE,IAAD,EAAU;AACf,UAAMC,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAACF,IAAD,CAAT,kBAA0BL,OAA1B,GAAqC;AAAEQ,QAAAA,IAAI,EAAEX;AAAR,OAArC,CAAb;AACA,UAAMY,QAAQ,GAAG,IAAIC,QAAJ,EAAjB;AACAD,MAAAA,QAAQ,CAACE,MAAT,CAAgB,gBAAhB,EAAkCL,IAAlC;AAEA,aAAO,KAAI,CAACM,UAAL,CAAgBN,IAAhB,CAAP;AACA,KAVK,CAAP;AAWA,GA5C+B;AA6ChCM,EAAAA,UA7CgC,sBA6CrBN,IA7CqB,EA6Cf;AAAA;;AAChB,QAAMG,QAAQ,GAAG,IAAIC,QAAJ,EAAjB;AACAD,IAAAA,QAAQ,CAACE,MAAT,CAAgB,gBAAhB,EAAkCL,IAAlC;AAEA,WAAOO,mCAAkBC,IAAlB,CAAuB,KAAKC,GAAL,EAAvB,EACLC,IADK,CACAP,QADA,EAELQ,GAFK,CAEDC,WAAKC,OAFJ,EAGLhB,IAHK,CAGA,UAACiB,QAAD,EAAc;AACnBC,MAAAA,MAAM,CAACC,IAAP,CAAYF,QAAQ,CAACG,IAArB,EAA2BC,OAA3B,CAAmC,UAACC,GAAD,EAAS;AAC3C,QAAA,MAAI,CAACR,GAAL,CAASQ,GAAT,EAAcL,QAAQ,CAACG,IAAT,CAAcE,GAAd,CAAd;AACA,OAFD;AAGA,KAPK,CAAP;AAQA;AAzD+B,CADR,CAAnB;;;AA8DP,6BAAS,YAAT,EAAuB5C,UAAvB","sourcesContent":["import \"./user.js\";\n\nimport { Auth } from \"../auth.js\";\nimport { BaseModel } from \"./base.js\";\nimport SuperAgentRequest from \"superagent-bluebird-promise\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.ImageModel\n * @extends models.BaseModel\n */\nexport const ImageModel = BaseModel.extend(\n\t/** @lends models.ImageModel# */ {\n\t\tmodelName: \"images\",\n\n\t\t/**\n\t\t * @property {string} image_original\n\t\t * @property {string} name\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} image_128\n\t\t * @property {string} image_256\n\t\t * @property {string} image_512\n\t\t */\n\t\tprops: {\n\t\t\timage_original: \"string\",\n\t\t\tname: \"string\",\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.UserModel} event\n\t\t */\n\t\tchildren: {\n\t\t\tevent: \"UserModel\",\n\t\t},\n\t\tuploadBase64(data) {\n\t\t\t// mime will be in the format \"image/png;base64\"\n\t\t\tconst fileType = data.mime.split(\";\")[0];\n\t\t\tconst fileEnd = fileType.split(\"/\")[1];\n\n\t\t\treturn fetch(data.value)\n\t\t\t\t.then((res) => {\n\t\t\t\t\treturn res.blob();\n\t\t\t\t})\n\t\t\t\t.then((blob) => {\n\t\t\t\t\tconst file = new File([blob], `image.${fileEnd}`, { type: fileType });\n\t\t\t\t\tconst formData = new FormData();\n\t\t\t\t\tformData.append(\"image_original\", file);\n\n\t\t\t\t\treturn this.uploadFile(file);\n\t\t\t\t});\n\t\t},\n\t\tuploadFile(file) {\n\t\t\tconst formData = new FormData();\n\t\t\tformData.append(\"image_original\", file);\n\n\t\t\treturn SuperAgentRequest.post(this.url())\n\t\t\t\t.send(formData)\n\t\t\t\t.set(Auth.headers)\n\t\t\t\t.then((response) => {\n\t\t\t\t\tObject.keys(response.body).forEach((key) => {\n\t\t\t\t\t\tthis.set(key, response.body[key]);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t},\n\t}\n);\n\nregister(\"ImageModel\", ImageModel);\n"],"file":"image.js"}
|
|
@@ -365,7 +365,7 @@ ManifestJSONModel.createFromProject = function (projectFile) {
|
|
|
365
365
|
// This just keeps backwards compatability.
|
|
366
366
|
|
|
367
367
|
|
|
368
|
-
manifest.app_settings.fieldsets.enforce_required =
|
|
368
|
+
manifest.app_settings.fieldsets.enforce_required = false;
|
|
369
369
|
return manifest;
|
|
370
370
|
};
|
|
371
371
|
|
|
@@ -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","point_in_time_share_policy","notify_salesperson_after_feeds_fetched","require_verification","companywide_editable","app_settings","appointment","show_visible_default","fieldsets","enforce_required","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\tfieldsets: {\n\t\t\t\t\t\t\tenforce_required: 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\t// For all new decks going forward, this should be set to true.\n\t// This means we validate that a fieldset field has a value. Before\n\t// this change, it was possible to save with a required field unfilled.\n\t// This just keeps backwards compatability.\n\tmanifest.app_settings.fieldsets.enforce_required = true;\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","fieldsets","enforce_required","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":";;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,iBAAiB,GAAGC,gBAAUC,MAAV;AAChC;AAAwC;AACvC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,GAAG,EAAE,QADC;AAENC,IAAAA,UAAU,EAAE,QAFN;AAGNC,IAAAA,MAAM,EAAE,QAHF;AAINC,IAAAA,KAAK,EAAE,QAJD;AAKNC,IAAAA,KAAK,EAAE,QALD;AAMNC,IAAAA,QAAQ,EAAE,QANJ;AAONC,IAAAA,MAAM,EAAE,QAPF;AAQNC,IAAAA,QAAQ,EAAE,QARJ;AASNC,IAAAA,IAAI,EAAE,QATA;AAUNC,IAAAA,MAAM,EAAE,QAVF;AAWNC,IAAAA,SAAS,EAAE,QAXL;AAYNC,IAAAA,eAAe,EAAE,QAZX;AAaNC,IAAAA,iBAAiB,EAAE;AAClBC,MAAAA,IAAI,EAAE,SADY;AAElBC,MAAAA,OAAO,EAAE;AAFS,KAbb;AAiBNC,IAAAA,qBAAqB,EAAE;AACtBF,MAAAA,IAAI,EAAE,QADgB;AAEtBC,MAAAA,OAAO,EAAE,oBAAY;AACpB,eAAO;AACNE,UAAAA,MAAM,EAAE;AADF,SAAP;AAGA;AANqB,KAjBjB;AAyBNC,IAAAA,UAAU,EAAE;AACXJ,MAAAA,IAAI,EAAE,QADK;AAEXC,MAAAA,OAAO,EAAE,oBAAY;AACpB,eAAO;AACNI,UAAAA,KAAK,EAAE,IADD;AAENC,UAAAA,MAAM,EAAE;AAFF,SAAP;AAIA;AAPU,KAzBN;AAkCNC,IAAAA,cAAc,EAAE;AACfP,MAAAA,IAAI,EAAE,QADS;AAEfC,MAAAA,OAAO,EAAE,oBAAY;AACpB,eAAO;AACNO,UAAAA,aAAa,EAAE;AADT,SAAP;AAGA;AANc,KAlCV;AA0CNC,IAAAA,0BAA0B,EAAE;AAC3BT,MAAAA,IAAI,EAAE,SADqB;AAE3BC,MAAAA,OAAO,EAAE;AAFkB,KA1CtB;AA8CNS,IAAAA,0BAA0B,EAAE;AAC3BV,MAAAA,IAAI,EAAE;AADqB,KA9CtB;AAiDNW,IAAAA,sCAAsC,EAAE;AACvCX,MAAAA,IAAI,EAAE,SADiC;AAEvCC,MAAAA,OAAO,EAAE;AAF8B,KAjDlC;AAqDNW,IAAAA,oBAAoB,EAAE;AACrBZ,MAAAA,IAAI,EAAE,SADe;AAErBC,MAAAA,OAAO,EAAE;AAFY,KArDhB;AAyDNY,IAAAA,oBAAoB,EAAE;AACrBb,MAAAA,IAAI,EAAE,SADe;AAErBC,MAAAA,OAAO,EAAE;AAFY,KAzDhB;AA6DNa,IAAAA,YAAY,EAAE;AACbd,MAAAA,IAAI,EAAE,QADO;AAEbC,MAAAA,OAAO,EAAE,oBAAY;AACpB,eAAO;AACNc,UAAAA,WAAW,EAAE;AACZC,YAAAA,oBAAoB,EAAE;AADV,WADP;AAINC,UAAAA,SAAS,EAAE;AACVC,YAAAA,gBAAgB,EAAE;AADR;AAJL,SAAP;AAQA;AAXY;AA7DR,GArBgC;;AAiGvC;AACF;AACA;AACA;AACA;AACEC,EAAAA,YAtGuC,0BAsGd;AAAA,QAAZhC,GAAY,uEAAN,IAAM;;AACxB,QAAIA,GAAJ,EAAS;AACR,uBAAsCA,GAAG,CAACiC,KAAJ,CAAU,GAAV,CAAtC;AAAA;AAAA,UAAOC,UAAP;AAAA;AAAA,UAAmBC,QAAnB,6BAA8B,IAA9B;;AACA,UAAMC,cAAc,GAAGC,aAAKC,OAAL,CACtB,KAAKC,GAAL,EADsB,qBAEVL,UAFU,OAAvB;;AAIA,UAAIC,QAAJ,EAAc;AACb,eAAOE,aAAKC,OAAL,CAAaF,cAAb,mBAAuCD,QAAvC,OAAP;AACA;;AACD,aAAOC,cAAP;AACA;;AAED,WAAO,KAAKG,GAAL,EAAP;AACA,GApHsC;;AAsHvC;AACF;AACA;AACA;AACA;AACEC,EAAAA,oBA3HuC,gCA2HlBxC,GA3HkB,EA2Hb;AACzB,WAAOqC,aAAKC,OAAL,CAAa,KAAKN,YAAL,EAAb,sBAA+ChC,GAA/C,OAAP;AACA,GA7HsC;AA+HvCuC,EAAAA,GA/HuC,iBA+HjC;AACL,QAAI,KAAKE,MAAL,IAAe,KAAKA,MAAL,CAAYC,SAAZ,KAA0B,cAA7C,EAA6D;AAC5D,uBAAU,KAAKD,MAAL,CAAYE,WAAZ,EAAV;AACA;;AAED,WAAO9C,gBAAU+C,SAAV,CAAoBL,GAApB,CAAwBM,IAAxB,CAA6B,IAA7B,CAAP;AACA;AArIsC,CADR,CAA1B;AA0IP;AACA;AACA;AACA;AACA;;;;;AACAjD,iBAAiB,CAACkD,iBAAlB,GAAsC,UAAUC,WAAV,EAAuB;AAC5D;AACA;AACA,MAAIA,WAAW,CAACC,QAAhB,EAA0B;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,QAAMC,gBAAgB,GAAGF,WAAW,CAACG,QAAZ,CAAqBC,MAArB,CAA4B,UAACC,GAAD,EAAMC,OAAN,EAAkB;AACtE,aAAOD,GAAG,IAAIC,OAAO,CAACJ,gBAAR,IAA4B,CAAhC,CAAV;AACA,KAFwB,EAEtB,CAFsB,CAAzB,CAPyB,CAWzB;AACA;AACA;;AACAF,IAAAA,WAAW,CAACG,QAAZ,GAAuB,CACtB;AACCD,MAAAA,gBAAgB,EAAhBA,gBADD;AAECjD,MAAAA,GAAG,EAAE+C,WAAW,CAAC/C,GAFlB;AAGCsD,MAAAA,KAAK,EAAEP,WAAW,CAACQ,IAHpB;AAICC,MAAAA,MAAM,EAAET,WAAW,CAACG,QAAZ,CAAqBC,MAArB,CAA4B,UAACD,QAAD,EAAWG,OAAX,EAAuB;AAC1D,YAAMI,UAAU,mCACZJ,OADY;AAEfG,UAAAA,MAAM,EAAE;AAFO,UAAhB;;AAIAC,QAAAA,UAAU,CAACjD,IAAX,GAAkB,CAAC,gBAAD,EAAmBkD,MAAnB,CAA0BD,UAAU,CAACjD,IAAX,IAAmB,EAA7C,CAAlB;AAEA0C,QAAAA,QAAQ,CAACS,IAAT,OAAAT,QAAQ,GAAMO,UAAN,0CAAsBJ,OAAO,CAACG,MAAR,IAAkB,EAAxC,GAAR;AACA,eAAON,QAAP;AACA,OATO,EASL,EATK;AAJT,KADsB,CAAvB;AAiBA;;AAED,MAAMzC,MAAM,GAAGsC,WAAW,CAACG,QAAZ,CAAqBC,MAArB,CAA4B,UAAC1C,MAAD,EAAS4C,OAAT,EAAqB;AAC/D5C,IAAAA,MAAM,CAAC4C,OAAO,CAACrD,GAAT,CAAN,GAAsBqD,OAAO,CAACC,KAA9B;;AAD+D,+CAE3CD,OAAO,CAACG,MAAR,IAAkB,EAFyB;AAAA;;AAAA;AAE/D,0DAA0C;AAAA,YAA/BI,KAA+B;AACzCnD,QAAAA,MAAM,WAAI4C,OAAO,CAACrD,GAAZ,cAAmB4D,KAAK,CAAC5D,GAAzB,EAAN,GAAwC4D,KAAK,CAACN,KAA9C;AACA;AAJ8D;AAAA;AAAA;AAAA;AAAA;;AAK/D,WAAO7C,MAAP;AACA,GANc,EAMZ,EANY,CAAf;AAQA,MAAMC,SAAS,GAAG,CAACqC,WAAW,CAACrC,SAAZ,IAAyB,EAA1B,EAA8ByC,MAA9B,CACjB,UAACzC,SAAD,EAAYmD,QAAZ,EAAsBC,KAAtB,EAAgC;AAC/BpD,IAAAA,SAAS,CAACmD,QAAQ,CAAC7D,GAAV,CAAT,GAA0B;AACzBsD,MAAAA,KAAK,EAAEO,QAAQ,CAACP,KADS;AAEzB/C,MAAAA,QAAQ,EAAEuD,KAAK,GAAG;AAFO,KAA1B;AAIA,WAAOpD,SAAP;AACA,GAPgB,EAQjB,EARiB,CAAlB;AAWA,MAAMJ,MAAM,GAAG;AACdyD,IAAAA,YAAY,EAAEhB,WAAW,CAACG,QAAZ,CAAqBC,MAArB,CAA4B,UAAC7C,MAAD,EAAS+C,OAAT,EAAqB;AAC9D,UAAI,OAAOA,OAAO,CAACJ,gBAAf,KAAoC,QAAxC,EAAkD;AACjD3C,QAAAA,MAAM,CAAC+C,OAAO,CAACrD,GAAT,CAAN,GAAsBqD,OAAO,CAACJ,gBAA9B;AACA;;AACD,aAAO3C,MAAP;AACA,KALa,EAKX,EALW;AADA,GAAf;AASA,MAAMC,QAAQ,GAAGwC,WAAW,CAACG,QAAZ,CAAqBC,MAArB,CAA4B,UAAC5C,QAAD,EAAW8C,OAAX,EAAoBS,KAApB,EAA8B;AAC1EvD,IAAAA,QAAQ,CAAC8C,OAAO,CAACrD,GAAT,CAAR,GAAwB8D,KAAK,GAAG,CAAhC;AACA,QAAIE,UAAU,GAAG,CAAjB;;AAF0E,gDAGtDX,OAAO,CAACG,MAAR,IAAkB,EAHoC;AAAA;;AAAA;AAG1E,6DAA0C;AAAA,YAA/BI,KAA+B;AACzCI,QAAAA,UAAU;AACVzD,QAAAA,QAAQ,WAAI8C,OAAO,CAACrD,GAAZ,cAAmB4D,KAAK,CAAC5D,GAAzB,EAAR,GAA0CgE,UAA1C;AACA;AANyE;AAAA;AAAA;AAAA;AAAA;;AAO1E,WAAOzD,QAAP;AACA,GARgB,EAQd,EARc,CAAjB;AAUA,MAAMC,IAAI,GAAGuC,WAAW,CAACG,QAAZ,CAAqBC,MAArB,CAA4B,UAAC3C,IAAD,EAAO6C,OAAP,EAAmB;AAC3D7C,IAAAA,IAAI,CAAC6C,OAAO,CAACrD,GAAT,CAAJ,GAAoBqD,OAAO,CAAC7C,IAAR,IAAgB,EAApC;;AAD2D,gDAEvC6C,OAAO,CAACG,MAAR,IAAkB,EAFqB;AAAA;;AAAA;AAE3D,6DAA0C;AAAA,YAA/BI,KAA+B;AACzCpD,QAAAA,IAAI,WAAI6C,OAAO,CAACrD,GAAZ,cAAmB4D,KAAK,CAAC5D,GAAzB,EAAJ,GAAsC4D,KAAK,CAACpD,IAAN,IAAc,EAApD;AACA;AAJ0D;AAAA;AAAA;AAAA;AAAA;;AAK3D,WAAOA,IAAP;AACA,GANY,EAMV,EANU,CAAb,CA1E4D,CAkF5D;AACA;;AACA,MAAIuC,WAAW,CAACkB,OAAhB,EAAyB;AACxB,QAAIlB,WAAW,CAACkB,OAAZ,CAAoBzD,IAAxB,EAA8B;AAC7B;AACA;AACAA,MAAAA,IAAI,CAAC,EAAD,CAAJ,GAAWuC,WAAW,CAACkB,OAAZ,CAAoBzD,IAApB,IAA4B,EAAvC;AACA;AACD;;AAED,MAAM0D,QAAQ,GAAG,IAAItE,iBAAJ,CAAsB;AACtCM,IAAAA,MAAM,EAAE6C,WAAW,CAAC7C,MADkB;AAEtCC,IAAAA,KAAK,EAAE4C,WAAW,CAAC5C,KAFmB;AAGtCC,IAAAA,KAAK,EAAE2C,WAAW,CAAC3C,KAHmB;AAItCC,IAAAA,QAAQ,EAAE0C,WAAW,CAAC1C,QAJgB;AAKtCI,IAAAA,MAAM,EAANA,MALsC;AAMtCC,IAAAA,SAAS,EAATA,SANsC;AAOtCH,IAAAA,QAAQ,EAARA,QAPsC;AAQtCD,IAAAA,MAAM,EAANA,MARsC;AAStCE,IAAAA,IAAI,EAAJA,IATsC;AAUtCR,IAAAA,GAAG,EAAE+C,WAAW,CAAC/C;AAVqB,GAAtB,CAAjB;;AAaA,MAAI+C,WAAW,CAACpC,eAAhB,EAAiC;AAChCuD,IAAAA,QAAQ,CAACvD,eAAT,GAA2BoC,WAAW,CAACpC,eAAvC;AACA;;AAED,MAAIoC,WAAW,CAAChC,qBAAhB,EAAuC;AACtCmD,IAAAA,QAAQ,CAACnD,qBAAT,GAAiCgC,WAAW,CAAChC,qBAA7C;AACA;;AAED,MAAIgC,WAAW,CAAC3B,cAAhB,EAAgC;AAC/B8C,IAAAA,QAAQ,CAAC9C,cAAT,GAA0B2B,WAAW,CAAC3B,cAAtC;AACA;;AAED,MAAI2B,WAAW,CAACnC,iBAAhB,EAAmC;AAClCsD,IAAAA,QAAQ,CAACtD,iBAAT,GAA6BmC,WAAW,CAACnC,iBAAzC;AACA;;AAED,MAAImC,WAAW,CAAC9C,UAAhB,EAA4B;AAC3BiE,IAAAA,QAAQ,CAACjE,UAAT,GAAsB8C,WAAW,CAAC9C,UAAlC;AACA;;AAED,MAAI8C,WAAW,CAAC9B,UAAhB,EAA4B;AAC3BiD,IAAAA,QAAQ,CAACjD,UAAT,GAAsB8B,WAAW,CAAC9B,UAAlC;AACA;;AAED,MAAI8B,WAAW,CAACzB,0BAAhB,EAA4C;AAC3C4C,IAAAA,QAAQ,CAAC5C,0BAAT,GACCyB,WAAW,CAACzB,0BADb;AAEA;;AAED,MAAIyB,WAAW,CAACxB,0BAAhB,EAA4C;AAC3C2C,IAAAA,QAAQ,CAAC3C,0BAAT,GACCwB,WAAW,CAACxB,0BADb;AAEA;;AAED,MAAIwB,WAAW,CAACvB,sCAAhB,EAAwD;AACvD0C,IAAAA,QAAQ,CAAC1C,sCAAT,GACCuB,WAAW,CAACvB,sCADb;AAEA;;AAED,MAAIuB,WAAW,CAACtB,oBAAhB,EAAsC;AACrCyC,IAAAA,QAAQ,CAACzC,oBAAT,GAAgCsB,WAAW,CAACtB,oBAA5C;AACA;;AAED,MAAIsB,WAAW,CAACpB,YAAhB,EAA8B;AAC7BuC,IAAAA,QAAQ,CAACvC,YAAT,mCACIuC,QAAQ,CAACvC,YADb,GAEIoB,WAAW,CAACpB,YAFhB;AAIA,GAzJ2D,CA2J5D;AACA;AACA;AACA;;;AACAuC,EAAAA,QAAQ,CAACvC,YAAT,CAAsBG,SAAtB,CAAgCC,gBAAhC,GAAmD,KAAnD;AAEA,SAAOmC,QAAP;AACA,CAlKD;;AAoKAtE,iBAAiB,CAACuE,UAAlB,GAA+B,IAA/B;AAEA,6BAAS,mBAAT,EAA8BvE,iBAA9B","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\tfieldsets: {\n\t\t\t\t\t\t\tenforce_required: 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\t// For all new decks going forward, this should be set to true.\n\t// This means we validate that a fieldset field has a value. Before\n\t// this change, it was possible to save with a required field unfilled.\n\t// This just keeps backwards compatability.\n\tmanifest.app_settings.fieldsets.enforce_required = false;\n\n\treturn manifest;\n};\n\nManifestJSONModel.canBeEmpty = true;\n\nregister(\"ManifestJSONModel\", ManifestJSONModel);\n"],"file":"manifest-json.js"}
|
package/cjs/models/section.js
CHANGED
|
@@ -45,6 +45,7 @@ var SectionModel = _base.BaseModel.extend(
|
|
|
45
45
|
* @property {string} title
|
|
46
46
|
* @property {boolean} uploaded
|
|
47
47
|
* @property {boolean} visible
|
|
48
|
+
* @property {string[]} cmsvalkey_set
|
|
48
49
|
*/
|
|
49
50
|
props: {
|
|
50
51
|
adjunctslide_limit: "number",
|
|
@@ -74,7 +75,8 @@ var SectionModel = _base.BaseModel.extend(
|
|
|
74
75
|
default: function _default() {
|
|
75
76
|
return [];
|
|
76
77
|
}
|
|
77
|
-
}
|
|
78
|
+
},
|
|
79
|
+
cmsvalkey_set: "array"
|
|
78
80
|
},
|
|
79
81
|
|
|
80
82
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/section.js"],"names":["SectionModel","BaseModel","extend","modelName","props","adjunctslide_limit","adjunct_id","custom","created_by_autoadjunct","created_date","description","enabled","image_128","image_256","image_512","image_1024","image_original","key","modified_date","sequence","namespaced_key","title","uploaded","visible","type","default","tags","children","deckversion","index_asset","collections","slide_set"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,YAAY,GAAGC,gBAAUC,MAAV;AAC3B;AAAmC;AAClCC,EAAAA,SAAS,EAAE,UADuB;;AAGlC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,kBAAkB,EAAE,QADd;AAENC,IAAAA,UAAU,EAAE,QAFN;AAGNC,IAAAA,MAAM,EAAE,SAHF;AAINC,IAAAA,sBAAsB,EAAE,SAJlB;AAKNC,IAAAA,YAAY,EAAE,MALR;AAMNC,IAAAA,WAAW,EAAE,QANP;AAONC,IAAAA,OAAO,EAAE,SAPH;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,SAAS,EAAE,QATL;AAUNC,IAAAA,SAAS,EAAE,QAVL;AAWNC,IAAAA,UAAU,EAAE,QAXN;AAYNC,IAAAA,cAAc,EAAE,QAZV;AAaNC,IAAAA,GAAG,EAAE,QAbC;AAcNC,IAAAA,aAAa,EAAE,MAdT;AAeNC,IAAAA,QAAQ,EAAE,QAfJ;AAgBNC,IAAAA,cAAc,EAAE,QAhBV;AAiBNC,IAAAA,KAAK,EAAE,QAjBD;AAkBNC,IAAAA,QAAQ,EAAE,SAlBJ;AAmBNC,IAAAA,OAAO,EAAE;AACRC,MAAAA,IAAI,EAAE,SADE;AAERC,MAAAA,OAAO,EAAE;AAFD,KAnBH;AAuBNC,IAAAA,IAAI,EAAE;AACLF,MAAAA,IAAI,EAAE,OADD;AAELC,MAAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFJ;
|
|
1
|
+
{"version":3,"sources":["../../src/models/section.js"],"names":["SectionModel","BaseModel","extend","modelName","props","adjunctslide_limit","adjunct_id","custom","created_by_autoadjunct","created_date","description","enabled","image_128","image_256","image_512","image_1024","image_original","key","modified_date","sequence","namespaced_key","title","uploaded","visible","type","default","tags","cmsvalkey_set","children","deckversion","index_asset","collections","slide_set"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,YAAY,GAAGC,gBAAUC,MAAV;AAC3B;AAAmC;AAClCC,EAAAA,SAAS,EAAE,UADuB;;AAGlC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,kBAAkB,EAAE,QADd;AAENC,IAAAA,UAAU,EAAE,QAFN;AAGNC,IAAAA,MAAM,EAAE,SAHF;AAINC,IAAAA,sBAAsB,EAAE,SAJlB;AAKNC,IAAAA,YAAY,EAAE,MALR;AAMNC,IAAAA,WAAW,EAAE,QANP;AAONC,IAAAA,OAAO,EAAE,SAPH;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,SAAS,EAAE,QATL;AAUNC,IAAAA,SAAS,EAAE,QAVL;AAWNC,IAAAA,UAAU,EAAE,QAXN;AAYNC,IAAAA,cAAc,EAAE,QAZV;AAaNC,IAAAA,GAAG,EAAE,QAbC;AAcNC,IAAAA,aAAa,EAAE,MAdT;AAeNC,IAAAA,QAAQ,EAAE,QAfJ;AAgBNC,IAAAA,cAAc,EAAE,QAhBV;AAiBNC,IAAAA,KAAK,EAAE,QAjBD;AAkBNC,IAAAA,QAAQ,EAAE,SAlBJ;AAmBNC,IAAAA,OAAO,EAAE;AACRC,MAAAA,IAAI,EAAE,SADE;AAERC,MAAAA,OAAO,EAAE;AAFD,KAnBH;AAuBNC,IAAAA,IAAI,EAAE;AACLF,MAAAA,IAAI,EAAE,OADD;AAELC,MAAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFJ,KAvBA;AA2BNE,IAAAA,aAAa,EAAE;AA3BT,GAzB2B;;AAuDlC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,WAAW,EAAE,kBADJ;AAETC,IAAAA,WAAW,EAAE;AAFJ,GA3DwB;;AAgElC;AACF;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,SAAS,EAAE;AADC;AAnEqB,CADR,CAArB;;;AA0EP,6BAAS,cAAT,EAAyBhC,YAAzB","sourcesContent":["import \"../collections/slides.js\";\nimport \"./deck-version.js\";\nimport \"./asset.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.SectionModel\n * @extends models.BaseModel\n */\nexport const SectionModel = BaseModel.extend(\n\t/** @lends models.SectionModel# */ {\n\t\tmodelName: \"sections\",\n\n\t\t/**\n\t\t * @property {number} adjunctslide_limit\n\t\t * @property {number} adjunct_id\n\t\t * @property {boolean} custom\n\t\t * @property {boolean} created_by_autoadjunct\n\t\t * @property {date} created_date\n\t\t * @property {string} description\n\t\t * @property {boolean} enabled\n\t\t * @property {string} image_128\n\t\t * @property {string} image_256\n\t\t * @property {string} image_512\n\t\t * @property {string} image_1024\n\t\t * @property {string} image_original\n\t\t * @property {string} key\n\t\t * @property {date} modified_date\n\t\t * @property {number} sequence\n\t\t * @property {string} namespaced_key\n\t\t * @property {string} title\n\t\t * @property {boolean} uploaded\n\t\t * @property {boolean} visible\n\t\t * @property {string[]} cmsvalkey_set\n\t\t */\n\t\tprops: {\n\t\t\tadjunctslide_limit: \"number\",\n\t\t\tadjunct_id: \"number\",\n\t\t\tcustom: \"boolean\",\n\t\t\tcreated_by_autoadjunct: \"boolean\",\n\t\t\tcreated_date: \"date\",\n\t\t\tdescription: \"string\",\n\t\t\tenabled: \"boolean\",\n\t\t\timage_128: \"string\",\n\t\t\timage_256: \"string\",\n\t\t\timage_512: \"string\",\n\t\t\timage_1024: \"string\",\n\t\t\timage_original: \"string\",\n\t\t\tkey: \"string\",\n\t\t\tmodified_date: \"date\",\n\t\t\tsequence: \"number\",\n\t\t\tnamespaced_key: \"string\",\n\t\t\ttitle: \"string\",\n\t\t\tuploaded: \"boolean\",\n\t\t\tvisible: {\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\ttags: {\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: () => [],\n\t\t\t},\n\t\t\tcmsvalkey_set: \"array\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.DeckVersionModel} deckversion\n\t\t * @property {models.AssetModel} index_asset\n\t\t */\n\t\tchildren: {\n\t\t\tdeckversion: \"DeckVersionModel\",\n\t\t\tindex_asset: \"AssetModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.SlideCollection} slide_set\n\t\t */\n\t\tcollections: {\n\t\t\tslide_set: \"SlideCollection\",\n\t\t},\n\t}\n);\n\nregister(\"SectionModel\", SectionModel);\n"],"file":"section.js"}
|
package/cjs/models/slide.js
CHANGED
|
@@ -46,6 +46,7 @@ var SlideModel = _base.BaseModel.extend(
|
|
|
46
46
|
* @property {boolean} uploaded
|
|
47
47
|
* @property {boolean} visible
|
|
48
48
|
* @property {array} tags
|
|
49
|
+
* @property {string[]} cmsvalkey_set
|
|
49
50
|
*/
|
|
50
51
|
props: {
|
|
51
52
|
adjunctslide_limit: "number",
|
|
@@ -75,7 +76,8 @@ var SlideModel = _base.BaseModel.extend(
|
|
|
75
76
|
default: function _default() {
|
|
76
77
|
return [];
|
|
77
78
|
}
|
|
78
|
-
}
|
|
79
|
+
},
|
|
80
|
+
cmsvalkey_set: "array"
|
|
79
81
|
},
|
|
80
82
|
|
|
81
83
|
/**
|