@livepreso/api 6.45.0 → 6.47.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/.rush/temp/1aebf46f78ad5c45f82f8147751890adb37bef9d.log +10 -0
- package/.rush/temp/3cdc82c352e8ed90607952873f3aa4c200490874.log +10 -0
- package/.rush/temp/5489ab737e406518983c16c57fc3e1edc07c0341.log +10 -0
- package/.rush/temp/924652444ab5a6063f328a2217123a2227058896.log +10 -0
- package/.rush/temp/9f2030f96d62f3e38052e35201819a216566f14f.log +10 -0
- package/.rush/temp/operation/test/all.log +19 -0
- package/.rush/temp/operation/test/state.json +3 -0
- package/.rush/temp/package-deps_build.json +156 -141
- package/.rush/temp/shrinkwrap-deps.json +281 -214
- package/CHANGELOG.json +29 -0
- package/CHANGELOG.md +15 -1
- package/README.md +4 -4
- package/api.build.log +6 -3
- package/api.test.cache.log +1 -0
- package/api.test.log +19 -0
- package/cjs/api.js +18 -2
- package/cjs/api.js.map +1 -1
- package/cjs/auth.js +3 -3
- package/cjs/auth.js.map +1 -1
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -1
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -1
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js.map +1 -1
- package/cjs/collections/appointment-slide-tags.js.map +1 -1
- package/cjs/collections/appointment-tags.js +9 -7
- package/cjs/collections/appointment-tags.js.map +1 -1
- package/cjs/collections/appointment-templates.js +36 -0
- package/cjs/collections/appointment-templates.js.map +1 -0
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +4 -0
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +5 -0
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contact-phones.js +28 -0
- package/cjs/collections/contact-phones.js.map +1 -0
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-version-screenshots.js.map +1 -1
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js.map +1 -1
- package/cjs/collections/sections.js.map +1 -1
- package/cjs/collections/signers.js +28 -0
- package/cjs/collections/signers.js.map +1 -0
- package/cjs/collections/signing-requests.js +28 -0
- package/cjs/collections/signing-requests.js.map +1 -0
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js.map +1 -1
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +52 -13
- package/cjs/collections.js.map +1 -1
- package/cjs/fixtures.js +232 -0
- package/cjs/fixtures.js.map +1 -0
- package/cjs/index.js +28 -4
- package/cjs/index.js.map +1 -1
- package/cjs/models/activity-item.js +10 -2
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +7 -2
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +7 -2
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +40 -0
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js.map +1 -1
- package/cjs/models/appointment-deckversion-tags.js.map +1 -1
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js.map +1 -1
- package/cjs/models/appointment-slide-tags.js.map +1 -1
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js.map +1 -1
- package/cjs/models/appointment-template.js +28 -0
- package/cjs/models/appointment-template.js.map +1 -0
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +108 -15
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +12 -0
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +2 -1
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +25 -5
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js +35 -1
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/cms-val.spec.js +32 -0
- package/cjs/models/cms-val.spec.js.map +1 -0
- package/cjs/models/contact-phone.js +66 -0
- package/cjs/models/contact-phone.js.map +1 -0
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +3 -1
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js.map +1 -1
- package/cjs/models/deck-version-screenshot.js.map +1 -1
- package/cjs/models/deck-version.js +31 -8
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +70 -2
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +4 -1
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +24 -0
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js.map +1 -1
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/signer.js +47 -0
- package/cjs/models/signer.js.map +1 -0
- package/cjs/models/signing-request.js +66 -0
- package/cjs/models/signing-request.js.map +1 -0
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +41 -2
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/snapshot.spec.js +51 -0
- package/cjs/models/snapshot.spec.js.map +1 -0
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js.map +1 -1
- package/cjs/models/team.js +15 -2
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +105 -3
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +3 -0
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/token.js.map +1 -1
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/user.js +7 -2
- package/cjs/models/user.js.map +1 -1
- package/cjs/models.js +52 -13
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js.map +1 -1
- package/cjs/presentation/base-presentation-collection.js.map +1 -1
- package/cjs/presentation/base-presentation-model.js +23 -14
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +5 -1
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +33 -8
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +13 -20
- package/cjs/presentation/presentation-section.spec.js.map +1 -1
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +43 -9
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +11 -18
- package/cjs/presentation/presentation-slide.spec.js.map +1 -1
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +8 -3
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/selections.js +106 -0
- package/cjs/selections.js.map +1 -0
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +43 -6
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js +1 -1
- package/cjs/utils.spec.js.map +1 -1
- package/jest.config.js +4 -3
- package/package.json +12 -9
- package/src/api.js +17 -2
- package/src/auth.js +3 -3
- package/src/collections/activity.js +4 -4
- package/src/collections/adjunct-sections.js +1 -1
- package/src/collections/adjunct-slides.js +1 -1
- package/src/collections/adjunct-sub-slides.js +1 -1
- package/src/collections/appointment-adjunct-tags.js +1 -1
- package/src/collections/appointment-deckversion-tags.js +2 -2
- package/src/collections/appointment-editors.js +1 -1
- package/src/collections/appointment-section-tags.js +1 -1
- package/src/collections/appointment-slide-tags.js +1 -1
- package/src/collections/appointment-tags.js +20 -18
- package/src/collections/appointment-templates.js +26 -0
- package/src/collections/appointments.js +9 -9
- package/src/collections/assets.js +1 -1
- package/src/collections/auto-adjuncts.js +1 -1
- package/src/collections/base.js +10 -6
- package/src/collections/base.spec.js +2 -2
- package/src/collections/cms-vals.js +5 -1
- package/src/collections/contact-phones.js +18 -0
- package/src/collections/contacts.js +1 -1
- package/src/collections/created-assets.js +1 -1
- package/src/collections/customers.js +1 -1
- package/src/collections/deck-notes.js +1 -1
- package/src/collections/deck-version-screenshots.js +1 -1
- package/src/collections/deck-versions.js +1 -1
- package/src/collections/decks.js +1 -1
- package/src/collections/deleted-assets.js +1 -1
- package/src/collections/dispatches.js +2 -2
- package/src/collections/event-objects.js +1 -1
- package/src/collections/events.js +1 -1
- package/src/collections/groups.js +1 -1
- package/src/collections/images.js +1 -1
- package/src/collections/locations.js +1 -1
- package/src/collections/opportunities.js +1 -1
- package/src/collections/pack-diffs.js +1 -1
- package/src/collections/packs.js +1 -1
- package/src/collections/presets.js +1 -1
- package/src/collections/section-selections.js +1 -1
- package/src/collections/sections.js +1 -1
- package/src/collections/signers.js +18 -0
- package/src/collections/signing-requests.js +18 -0
- package/src/collections/slide-selections.js +1 -1
- package/src/collections/slides.js +1 -1
- package/src/collections/snapshots.js +1 -1
- package/src/collections/sub-slides.js +1 -1
- package/src/collections/tags.js +1 -1
- package/src/collections/teams.js +1 -1
- package/src/collections/templates.js +1 -1
- package/src/collections/uploads.js +1 -1
- package/src/collections/users.js +1 -1
- package/src/collections.js +4 -1
- package/src/fixtures.js +195 -0
- package/src/index.js +2 -3
- package/src/models/activity-item.js +9 -1
- package/src/models/adjunct-section.js +7 -2
- package/src/models/adjunct-slide.js +7 -2
- package/src/models/adjunct-sub-slide.js +1 -1
- package/src/models/adjunct.js +39 -1
- package/src/models/appointment-adjunct-tags.js +1 -1
- package/src/models/appointment-deckversion-tags.js +1 -1
- package/src/models/appointment-editor.js +1 -1
- package/src/models/appointment-section-tags.js +1 -1
- package/src/models/appointment-slide-tags.js +1 -1
- package/src/models/appointment-stats.js +1 -1
- package/src/models/appointment-tags.js +1 -1
- package/src/models/appointment-template.js +19 -0
- package/src/models/appointment-viewing.js +1 -1
- package/src/models/appointment.js +104 -38
- package/src/models/asset.js +15 -1
- package/src/models/auto-adjunct-key-check.js +1 -1
- package/src/models/auto-adjunct.js +2 -1
- package/src/models/base.js +36 -21
- package/src/models/base.spec.js +18 -18
- package/src/models/choicelist.js +1 -1
- package/src/models/cms-val.js +24 -1
- package/src/models/cms-val.spec.js +14 -0
- package/src/models/contact-phone.js +57 -0
- package/src/models/contact.js +1 -1
- package/src/models/customer.js +3 -3
- package/src/models/deck-note.js +1 -1
- package/src/models/deck-tags.js +1 -1
- package/src/models/deck-version-screenshot.js +1 -1
- package/src/models/deck-version.js +32 -6
- package/src/models/deck.js +1 -1
- package/src/models/dispatch-preview.js +1 -1
- package/src/models/dispatch.js +1 -1
- package/src/models/event-object.js +1 -1
- package/src/models/event.js +1 -1
- package/src/models/feed-data.js +2 -2
- package/src/models/file.js +1 -1
- package/src/models/group.js +1 -1
- package/src/models/handover.js +1 -1
- package/src/models/hosted-preso.js +1 -1
- package/src/models/image.js +1 -1
- package/src/models/location.js +1 -1
- package/src/models/manifest-json.js +65 -5
- package/src/models/onshare.js +1 -1
- package/src/models/opportunity.js +1 -1
- package/src/models/pack-diff.js +1 -1
- package/src/models/pack.js +1 -1
- package/src/models/preset.js +4 -1
- package/src/models/refresh-request.js +16 -1
- package/src/models/room.js +1 -1
- package/src/models/salesforce-lookup.js +1 -1
- package/src/models/section-selection.js +1 -1
- package/src/models/section.js +1 -1
- package/src/models/signer.js +37 -0
- package/src/models/signing-request.js +56 -0
- package/src/models/slide-selection.js +1 -1
- package/src/models/slide.js +1 -1
- package/src/models/snapshot.js +30 -2
- package/src/models/snapshot.spec.js +31 -0
- package/src/models/sub-slide.js +1 -1
- package/src/models/support-ticket.js +1 -1
- package/src/models/tag.js +1 -1
- package/src/models/team.js +14 -3
- package/src/models/template.js +72 -2
- package/src/models/tenancy.js +4 -1
- package/src/models/timing-log.js +2 -2
- package/src/models/timing-log.spec.js +1 -1
- package/src/models/token.js +1 -1
- package/src/models/transcribe-socket.js +1 -1
- package/src/models/user.js +13 -2
- package/src/models.js +4 -1
- package/src/presentation/appointment-presentation.js +4 -4
- package/src/presentation/base-presentation-collection.js +1 -1
- package/src/presentation/base-presentation-model.js +25 -16
- package/src/presentation/base-presentation-model.spec.js +5 -5
- package/src/presentation/presentation-deck.js +28 -23
- package/src/presentation/presentation-deck.spec.js +4 -4
- package/src/presentation/presentation-decks.js +1 -1
- package/src/presentation/presentation-section.js +59 -31
- package/src/presentation/presentation-section.spec.js +31 -32
- package/src/presentation/presentation-sections.js +1 -1
- package/src/presentation/presentation-slide.js +51 -25
- package/src/presentation/presentation-slide.spec.js +21 -27
- package/src/presentation/presentation-slides.js +1 -1
- package/src/presentation/presentation-subslide.js +5 -5
- package/src/presentation/presentation-subslide.spec.js +3 -3
- package/src/presentation/presentation-subslides.js +1 -1
- package/src/presentation/presentation.js +5 -3
- package/src/selections.js +71 -0
- package/src/sync.js +1 -1
- package/src/utils.js +31 -8
- package/src/utils.spec.js +8 -8
- package/.rush/temp/package-deps_test.json +0 -172
- package/cjs/collections/appointment-duplicates.js +0 -29
- package/cjs/collections/appointment-duplicates.js.map +0 -1
- package/cjs/models/appointment-duplicate.js +0 -94
- package/cjs/models/appointment-duplicate.js.map +0 -1
- package/src/collections/appointment-duplicates.js +0 -19
- package/src/models/appointment-duplicate.js +0 -73
|
@@ -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","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"}
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/choicelist.js"],"names":["ChoicelistModel","BaseModel","extend","modelName","props","modified_date","created_date","choices"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,eAAe,GAAGC,gBAAUC,MAAV;AAC9B;AAAsC;AACrCC,EAAAA,SAAS,EAAE,aAD0B;AAGrCC,EAAAA,KAAK,EAAE;AACNC,IAAAA,aAAa,EAAE,MADT;AAENC,IAAAA,YAAY,EAAE,MAFR;AAGNC,IAAAA,OAAO,EAAE;AAHH;AAH8B,CADR,CAAxB;;;AAYP,6BAAS,iBAAT,EAA4BP,eAA5B","sourcesContent":["import { BaseModel } from \"../models/base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.ChoicelistModel\n * @extends models.BaseModel\n */\nexport const ChoicelistModel = BaseModel.extend(\n\t/** @lends models.ChoicelistModel# */ {\n\t\tmodelName: \"choicelists\",\n\n\t\tprops: {\n\t\t\tmodified_date: \"date\",\n\t\t\tcreated_date: \"date\",\n\t\t\tchoices: \"array\",\n\t\t},\n\t}
|
|
1
|
+
{"version":3,"sources":["../../src/models/choicelist.js"],"names":["ChoicelistModel","BaseModel","extend","modelName","props","modified_date","created_date","choices"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,eAAe,GAAGC,gBAAUC,MAAV;AAC9B;AAAsC;AACrCC,EAAAA,SAAS,EAAE,aAD0B;AAGrCC,EAAAA,KAAK,EAAE;AACNC,IAAAA,aAAa,EAAE,MADT;AAENC,IAAAA,YAAY,EAAE,MAFR;AAGNC,IAAAA,OAAO,EAAE;AAHH;AAH8B,CADR,CAAxB;;;AAYP,6BAAS,iBAAT,EAA4BP,eAA5B","sourcesContent":["import { BaseModel } from \"../models/base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.ChoicelistModel\n * @extends models.BaseModel\n */\nexport const ChoicelistModel = BaseModel.extend(\n\t/** @lends models.ChoicelistModel# */ {\n\t\tmodelName: \"choicelists\",\n\n\t\tprops: {\n\t\t\tmodified_date: \"date\",\n\t\t\tcreated_date: \"date\",\n\t\t\tchoices: \"array\",\n\t\t},\n\t},\n);\n\nregister(\"ChoicelistModel\", ChoicelistModel);\n"],"file":"choicelist.js"}
|
package/cjs/models/cms-val.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports.CMSValModel = void 0;
|
|
7
9
|
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
|
|
8
14
|
require("./user.js");
|
|
9
15
|
|
|
10
16
|
require("./team.js");
|
|
@@ -15,6 +21,12 @@ var _base = require("../models/base.js");
|
|
|
15
21
|
|
|
16
22
|
var _stateRegister = require("../state-register.js");
|
|
17
23
|
|
|
24
|
+
var _utils = require("../utils.js");
|
|
25
|
+
|
|
26
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
+
|
|
28
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
29
|
+
|
|
18
30
|
/**
|
|
19
31
|
* @constructor
|
|
20
32
|
* @alias models.CMSValModel
|
|
@@ -30,7 +42,8 @@ var CMSValModel = _base.BaseModel.extend(
|
|
|
30
42
|
key: "string",
|
|
31
43
|
scope: "string",
|
|
32
44
|
mime: "string",
|
|
33
|
-
value: "string"
|
|
45
|
+
value: "string",
|
|
46
|
+
_tenancy: "object"
|
|
34
47
|
},
|
|
35
48
|
|
|
36
49
|
/**
|
|
@@ -63,6 +76,27 @@ var CMSValModel = _base.BaseModel.extend(
|
|
|
63
76
|
|
|
64
77
|
data.user = this.user ? this.user.url() : undefined;
|
|
65
78
|
return data;
|
|
79
|
+
},
|
|
80
|
+
toServer: function toServer() {
|
|
81
|
+
var obj = _base.BaseModel.prototype.toServer.call(this);
|
|
82
|
+
|
|
83
|
+
return _objectSpread(_objectSpread({}, obj), {}, {
|
|
84
|
+
// We shouldn't allow any base64 to get in here, otherwise it can
|
|
85
|
+
// KO all users appointments.
|
|
86
|
+
value: (0, _utils.sanitizeBase64)(obj.value)
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
toCompactJSON: function toCompactJSON() {
|
|
90
|
+
var json = this.toJSON();
|
|
91
|
+
var wanted = ["key", "value", "mime", "scope"];
|
|
92
|
+
var compact = Object.fromEntries(Object.entries(json).filter(function (_ref) {
|
|
93
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
94
|
+
key = _ref2[0],
|
|
95
|
+
val = _ref2[1];
|
|
96
|
+
|
|
97
|
+
return wanted.includes(key);
|
|
98
|
+
}));
|
|
99
|
+
return compact;
|
|
66
100
|
}
|
|
67
101
|
});
|
|
68
102
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/cms-val.js"],"names":["CMSValModel","BaseModel","extend","modelName","props","modified_date","created_date","key","scope","mime","value","children","user","deck","team","url","_url","id","model","baseURL","prototype","apply","arguments","toJSON","data","undefined"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/models/cms-val.js"],"names":["CMSValModel","BaseModel","extend","modelName","props","modified_date","created_date","key","scope","mime","value","_tenancy","children","user","deck","team","url","_url","id","model","baseURL","prototype","apply","arguments","toJSON","data","undefined","toServer","obj","call","toCompactJSON","json","wanted","compact","Object","fromEntries","entries","filter","val","includes"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,WAAW,GAAGC,gBAAUC,MAAV;AAC1B;AAAkC;AACjCC,EAAAA,SAAS,EAAE,SADsB;AAGjCC,EAAAA,KAAK,EAAE;AACNC,IAAAA,aAAa,EAAE,MADT;AAENC,IAAAA,YAAY,EAAE,MAFR;AAGNC,IAAAA,GAAG,EAAE,QAHC;AAINC,IAAAA,KAAK,EAAE,QAJD;AAKNC,IAAAA,IAAI,EAAE,QALA;AAMNC,IAAAA,KAAK,EAAE,QAND;AAONC,IAAAA,QAAQ,EAAE;AAPJ,GAH0B;;AAajC;AACF;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,WADG;AAETC,IAAAA,IAAI,EAAE,WAFG;AAGTC,IAAAA,IAAI,EAAE;AAHG,GAlBuB;AAwBjCC,EAAAA,GAxBiC,iBAwB3B;AACL,QAAI,CAAC,KAAKC,IAAV,EAAgB;AACf,UAAI,KAAKC,EAAL,IAAW,KAAKX,GAApB,EAAyB;AACxB,YAAMY,KAAK,GAAG,IAAInB,WAAJ,CAAgB;AAAEO,UAAAA,GAAG,EAAE,KAAKA;AAAZ,SAAhB,CAAd;AACA,YAAMa,OAAO,GAAGD,KAAK,CAACH,GAAN,EAAhB;AACA,aAAKC,IAAL,aAAeG,OAAf,SAAyB,KAAKb,GAA9B;AACA,OAJD,MAIO;AACN,aAAKU,IAAL,GAAYhB,gBAAUoB,SAAV,CAAoBL,GAApB,CAAwBM,KAAxB,CAA8B,IAA9B,EAAoCC,SAApC,CAAZ;AACA;AACD;;AAED,WAAO,KAAKN,IAAZ;AACA,GApCgC;AAsCjCO,EAAAA,MAtCiC,oBAsCxB;AACR,QAAMC,IAAI,GAAGxB,gBAAUoB,SAAV,CAAoBG,MAApB,CAA2BF,KAA3B,CAAiC,IAAjC,EAAuCC,SAAvC,CAAb;;AAEAE,IAAAA,IAAI,CAACZ,IAAL,GAAY,KAAKA,IAAL,GAAY,KAAKA,IAAL,CAAUG,GAAV,EAAZ,GAA8BU,SAA1C;AAEA,WAAOD,IAAP;AACA,GA5CgC;AA8CjCE,EAAAA,QA9CiC,sBA8CtB;AACV,QAAMC,GAAG,GAAG3B,gBAAUoB,SAAV,CAAoBM,QAApB,CAA6BE,IAA7B,CAAkC,IAAlC,CAAZ;;AACA,2CACID,GADJ;AAEC;AACA;AACAlB,MAAAA,KAAK,EAAE,2BAAekB,GAAG,CAAClB,KAAnB;AAJR;AAMA,GAtDgC;AAwDjCoB,EAAAA,aAxDiC,2BAwDjB;AACf,QAAMC,IAAI,GAAG,KAAKP,MAAL,EAAb;AACA,QAAMQ,MAAM,GAAG,CAAC,KAAD,EAAQ,OAAR,EAAiB,MAAjB,EAAyB,OAAzB,CAAf;AAEA,QAAMC,OAAO,GAAGC,MAAM,CAACC,WAAP,CACfD,MAAM,CAACE,OAAP,CAAeL,IAAf,EAAqBM,MAArB,CAA4B;AAAA;AAAA,UAAE9B,GAAF;AAAA,UAAO+B,GAAP;;AAAA,aAAgBN,MAAM,CAACO,QAAP,CAAgBhC,GAAhB,CAAhB;AAAA,KAA5B,CADe,CAAhB;AAIA,WAAO0B,OAAP;AACA;AAjEgC,CADR,CAApB;;;AAsEP,6BAAS,aAAT,EAAwBjC,WAAxB","sourcesContent":["import \"./user.js\";\nimport \"./team.js\";\nimport \"./deck.js\";\n\nimport { BaseModel } from \"../models/base.js\";\nimport { register } from \"../state-register.js\";\nimport { sanitizeBase64 } from \"../utils.js\";\n\n/**\n * @constructor\n * @alias models.CMSValModel\n * @extends models.BaseModel\n */\nexport const CMSValModel = BaseModel.extend(\n\t/** @lends models.CMSValModel# */ {\n\t\tmodelName: \"cmsvals\",\n\n\t\tprops: {\n\t\t\tmodified_date: \"date\",\n\t\t\tcreated_date: \"date\",\n\t\t\tkey: \"string\",\n\t\t\tscope: \"string\",\n\t\t\tmime: \"string\",\n\t\t\tvalue: \"string\",\n\t\t\t_tenancy: \"object\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.UserModel} user\n\t\t * @property {models.DeckModel} deck\n\t\t * @property {models.TeamModel} team\n\t\t */\n\t\tchildren: {\n\t\t\tuser: \"UserModel\",\n\t\t\tdeck: \"DeckModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (!this._url) {\n\t\t\t\tif (this.id && this.key) {\n\t\t\t\t\tconst model = new CMSValModel({ key: this.key });\n\t\t\t\t\tconst baseURL = model.url();\n\t\t\t\t\tthis._url = `${baseURL}${this.key}/`;\n\t\t\t\t} else {\n\t\t\t\t\tthis._url = BaseModel.prototype.url.apply(this, arguments);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this._url;\n\t\t},\n\n\t\ttoJSON() {\n\t\t\tconst data = BaseModel.prototype.toJSON.apply(this, arguments);\n\n\t\t\tdata.user = this.user ? this.user.url() : undefined;\n\n\t\t\treturn data;\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst obj = BaseModel.prototype.toServer.call(this);\n\t\t\treturn {\n\t\t\t\t...obj,\n\t\t\t\t// We shouldn't allow any base64 to get in here, otherwise it can\n\t\t\t\t// KO all users appointments.\n\t\t\t\tvalue: sanitizeBase64(obj.value),\n\t\t\t};\n\t\t},\n\n\t\ttoCompactJSON() {\n\t\t\tconst json = this.toJSON();\n\t\t\tconst wanted = [\"key\", \"value\", \"mime\", \"scope\"];\n\n\t\t\tconst compact = Object.fromEntries(\n\t\t\t\tObject.entries(json).filter(([key, val]) => wanted.includes(key)),\n\t\t\t);\n\n\t\t\treturn compact;\n\t\t},\n\t},\n);\n\nregister(\"CMSValModel\", CMSValModel);\n"],"file":"cms-val.js"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
6
|
+
|
|
7
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
8
|
+
|
|
9
|
+
var _api = require("sp-test/api");
|
|
10
|
+
|
|
11
|
+
it("should remove large base64 strings from value when saving", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
12
|
+
var CMSValModel, largeBase64, cmsVal;
|
|
13
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
14
|
+
while (1) {
|
|
15
|
+
switch (_context.prev = _context.next) {
|
|
16
|
+
case 0:
|
|
17
|
+
CMSValModel = (0, _api.G)("CMSValModel");
|
|
18
|
+
largeBase64 = "data:image/gif;base64," + new Array(50000).fill("a").join("");
|
|
19
|
+
cmsVal = new CMSValModel({
|
|
20
|
+
mime: "image",
|
|
21
|
+
value: largeBase64
|
|
22
|
+
});
|
|
23
|
+
expect(cmsVal.toServer().value).toEqual("");
|
|
24
|
+
|
|
25
|
+
case 4:
|
|
26
|
+
case "end":
|
|
27
|
+
return _context.stop();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}, _callee);
|
|
31
|
+
})));
|
|
32
|
+
//# sourceMappingURL=cms-val.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/models/cms-val.spec.js"],"names":["it","CMSValModel","largeBase64","Array","fill","join","cmsVal","mime","value","expect","toServer","toEqual"],"mappings":";;;;;;;;AAAA;;AAEAA,EAAE,CAAC,2DAAD,uFAA8D;AAAA;AAAA;AAAA;AAAA;AAAA;AACzDC,UAAAA,WADyD,GAC3C,YAAE,aAAF,CAD2C;AAEzDC,UAAAA,WAFyD,GAG9D,2BAA2B,IAAIC,KAAJ,CAAU,KAAV,EAAkBC,IAAlB,CAAuB,GAAvB,EAA4BC,IAA5B,CAAiC,EAAjC,CAHmC;AAKzDC,UAAAA,MALyD,GAKhD,IAAIL,WAAJ,CAAgB;AAC9BM,YAAAA,IAAI,EAAE,OADwB;AAE9BC,YAAAA,KAAK,EAAEN;AAFuB,WAAhB,CALgD;AAU/DO,UAAAA,MAAM,CAACH,MAAM,CAACI,QAAP,GAAkBF,KAAnB,CAAN,CAAgCG,OAAhC,CAAwC,EAAxC;;AAV+D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAA9D,GAAF","sourcesContent":["import { G } from \"sp-test/api\";\n\nit(\"should remove large base64 strings from value when saving\", async () => {\n\tconst CMSValModel = G(\"CMSValModel\");\n\tconst largeBase64 =\n\t\t\"data:image/gif;base64,\" + new Array(50_000).fill(\"a\").join(\"\");\n\n\tconst cmsVal = new CMSValModel({\n\t\tmime: \"image\",\n\t\tvalue: largeBase64,\n\t});\n\n\texpect(cmsVal.toServer().value).toEqual(\"\");\n});\n"],"file":"cms-val.spec.js"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ContactPhoneModel = void 0;
|
|
7
|
+
|
|
8
|
+
require("./customer.js");
|
|
9
|
+
|
|
10
|
+
var _base = require("./base.js");
|
|
11
|
+
|
|
12
|
+
var _stateRegister = require("../state-register.js");
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @constructor
|
|
16
|
+
* @alias models.ContactModel
|
|
17
|
+
* @extends models.BaseModel
|
|
18
|
+
*/
|
|
19
|
+
var ContactPhoneModel = _base.BaseModel.extend(
|
|
20
|
+
/** @lends models.ContactPhoneModel# */
|
|
21
|
+
{
|
|
22
|
+
modelName: "contact-phones",
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @property {date} created_date
|
|
26
|
+
* @property {date} modified_date
|
|
27
|
+
* @property {boolean} is_valid
|
|
28
|
+
* @property {string} raw
|
|
29
|
+
* @property {string} e164_format
|
|
30
|
+
* @property {string} national_format
|
|
31
|
+
* @property {string} number_type
|
|
32
|
+
*/
|
|
33
|
+
props: {
|
|
34
|
+
created_date: "date",
|
|
35
|
+
modified_date: "date",
|
|
36
|
+
is_valid: "boolean",
|
|
37
|
+
raw: "string",
|
|
38
|
+
e164_format: "string",
|
|
39
|
+
national_format: "string",
|
|
40
|
+
number_type: "string"
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @property {models.ContactModel} contact
|
|
45
|
+
*/
|
|
46
|
+
children: {
|
|
47
|
+
contact: "ContactModel"
|
|
48
|
+
},
|
|
49
|
+
toServer: function toServer() {
|
|
50
|
+
/* Only write to `raw` field. The others are derived on the server */
|
|
51
|
+
var data = {
|
|
52
|
+
raw: this.raw,
|
|
53
|
+
contact: this._retrieveURL(this.contact)
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
if (this.id) {
|
|
57
|
+
data.id = this.id;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return data;
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
exports.ContactPhoneModel = ContactPhoneModel;
|
|
65
|
+
(0, _stateRegister.register)("ContactPhoneModel", ContactPhoneModel);
|
|
66
|
+
//# sourceMappingURL=contact-phone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/models/contact-phone.js"],"names":["ContactPhoneModel","BaseModel","extend","modelName","props","created_date","modified_date","is_valid","raw","e164_format","national_format","number_type","children","contact","toServer","data","_retrieveURL","id"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,iBAAiB,GAAGC,gBAAUC,MAAV;AAChC;AAAwC;AACvCC,EAAAA,SAAS,EAAE,gBAD4B;;AAGvC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,aAAa,EAAE,MAFT;AAGNC,IAAAA,QAAQ,EAAE,SAHJ;AAINC,IAAAA,GAAG,EAAE,QAJC;AAKNC,IAAAA,WAAW,EAAE,QALP;AAMNC,IAAAA,eAAe,EAAE,QANX;AAONC,IAAAA,WAAW,EAAE;AAPP,GAZgC;;AAsBvC;AACF;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,OAAO,EAAE;AADA,GAzB6B;AA6BvCC,EAAAA,QA7BuC,sBA6B5B;AACV;AACA,QAAMC,IAAI,GAAG;AACZP,MAAAA,GAAG,EAAE,KAAKA,GADE;AAEZK,MAAAA,OAAO,EAAE,KAAKG,YAAL,CAAkB,KAAKH,OAAvB;AAFG,KAAb;;AAKA,QAAI,KAAKI,EAAT,EAAa;AACZF,MAAAA,IAAI,CAACE,EAAL,GAAU,KAAKA,EAAf;AACA;;AAED,WAAOF,IAAP;AACA;AAzCsC,CADR,CAA1B;;;AA8CP,6BAAS,mBAAT,EAA8Bf,iBAA9B","sourcesContent":["import \"./customer.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.ContactModel\n * @extends models.BaseModel\n */\nexport const ContactPhoneModel = BaseModel.extend(\n\t/** @lends models.ContactPhoneModel# */ {\n\t\tmodelName: \"contact-phones\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {boolean} is_valid\n\t\t * @property {string} raw\n\t\t * @property {string} e164_format\n\t\t * @property {string} national_format\n\t\t * @property {string} number_type\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tis_valid: \"boolean\",\n\t\t\traw: \"string\",\n\t\t\te164_format: \"string\",\n\t\t\tnational_format: \"string\",\n\t\t\tnumber_type: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.ContactModel} contact\n\t\t */\n\t\tchildren: {\n\t\t\tcontact: \"ContactModel\",\n\t\t},\n\n\t\ttoServer() {\n\t\t\t/* Only write to `raw` field. The others are derived on the server */\n\t\t\tconst data = {\n\t\t\t\traw: this.raw,\n\t\t\t\tcontact: this._retrieveURL(this.contact),\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(\"ContactPhoneModel\", ContactPhoneModel);\n"],"file":"contact-phone.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/contact.js"],"names":["ContactModel","BaseModel","extend","modelName","props","created_date","email","modified_date","name_first","name_last","notes","phone","photo_128","photo_256","photo_512","position","profile","fixture_key","collections","opportunity_set","children","location","customer","user","derived","fullName","deps","fn","toServer","data","_retrieveURL","id"],"mappings":";;;;;;;AAAA;;AACA;;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;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,KAAK,EAAE,QAFD;AAGNC,IAAAA,aAAa,EAAE,MAHT;AAINC,IAAAA,UAAU,EAAE,iBAJN;AAKNC,IAAAA,SAAS,EAAE,iBALL;AAMNC,IAAAA,KAAK,EAAE,iBAND;AAONC,IAAAA,KAAK,EAAE,iBAPD;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,SAAS,EAAE,QATL;AAUNC,IAAAA,SAAS,EAAE,QAVL;AAWNC,IAAAA,QAAQ,EAAE,QAXJ;AAYNC,IAAAA,OAAO,EAAE,QAZH;AAaNC,IAAAA,WAAW,EAAE;AAbP,GAjB2B;;AAiClC;AACF;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,eAAe,EAAE;AADL,GApCqB;;AAwClC;AACF;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,QAAQ,EAAE,eADD;AAETC,IAAAA,QAAQ,EAAE,eAFD;AAGTC,IAAAA,IAAI,EAAE;AAHG,GA7CwB;;AAmDlC;AACF;AACA;AACEC,EAAAA,OAAO,EAAE;AACR;AACH;AACA;AACA;AACA;AACGC,IAAAA,QAAQ,EAAE;AACTC,MAAAA,IAAI,EAAE,CAAC,YAAD,EAAe,WAAf,CADG;AAETC,MAAAA,EAAE,EAAE,cAAY;AACf,yBAAU,KAAKnB,UAAf,cAA6B,KAAKC,SAAlC;AACA;AAJQ;AANF,GAtDyB;AAoElCmB,EAAAA,QApEkC,sBAoEvB;AACV,QAAMC,IAAI,GAAG;AACZvB,MAAAA,KAAK,EAAE,KAAKA,KADA;AAEZE,MAAAA,UAAU,EAAE,KAAKA,UAFL;AAGZC,MAAAA,SAAS,EAAE,KAAKA,SAHJ;AAIZC,MAAAA,KAAK,EAAE,KAAKA,KAJA;AAKZC,MAAAA,KAAK,EAAE,KAAKA,KALA;AAMZI,MAAAA,QAAQ,EAAE,KAAKA,QANH;AAOZI,MAAAA,eAAe,EAAE,KAAKW,YAAL,CAAkB,KAAKX,eAAvB,CAPL;AAQZG,MAAAA,QAAQ,EAAE,KAAKQ,YAAL,CAAkB,KAAKR,QAAvB,CARE;AASZD,MAAAA,QAAQ,EAAE,KAAKS,YAAL,CAAkB,KAAKT,QAAvB,CATE;AAUZE,MAAAA,IAAI,EAAE,KAAKO,YAAL,CAAkB,KAAKP,IAAvB;AAVM,KAAb;;AAaA,QAAI,KAAKQ,EAAT,EAAa;AACZF,MAAAA,IAAI,CAACE,EAAL,GAAU,KAAKA,EAAf;AACA;;AAED,WAAOF,IAAP;AACA;AAvFiC,CADR,CAArB;;;AA4FP,6BAAS,cAAT,EAAyB7B,YAAzB","sourcesContent":["import \"./user.js\";\nimport \"./customer.js\";\nimport \"./location.js\";\nimport \"../collections/opportunities.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.ContactModel\n * @extends models.BaseModel\n */\nexport const ContactModel = BaseModel.extend(\n\t/** @lends models.ContactModel# */ {\n\t\tmodelName: \"contacts\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {string} email\n\t\t * @property {date} modified_date\n\t\t * @property {string} name_first\n\t\t * @property {string} name_last\n\t\t * @property {string} notes\n\t\t * @property {string} phone\n\t\t * @property {string} photo_128\n\t\t * @property {string} photo_256\n\t\t * @property {string} photo_512\n\t\t * @property {string} position\n\t\t * @property {object} profile\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\temail: \"string\",\n\t\t\tmodified_date: \"date\",\n\t\t\tname_first: \"stringSanitized\",\n\t\t\tname_last: \"stringSanitized\",\n\t\t\tnotes: \"stringSanitized\",\n\t\t\tphone: \"stringSanitized\",\n\t\t\tphoto_128: \"string\",\n\t\t\tphoto_256: \"string\",\n\t\t\tphoto_512: \"string\",\n\t\t\tposition: \"string\",\n\t\t\tprofile: \"object\",\n\t\t\tfixture_key: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.OpportunityCollection} opportunity_set\n\t\t */\n\t\tcollections: {\n\t\t\topportunity_set: \"OpportunityCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.LocationModel} location\n\t\t * @property {models.CustomerModel} customer\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tlocation: \"LocationModel\",\n\t\t\tcustomer: \"CustomerModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string} fullName\n\t\t */\n\t\tderived: {\n\t\t\t/**\n\t\t\t * The full name of the contact\n\t\t\t * @property fullName\n\t\t\t * @type String\n\t\t\t */\n\t\t\tfullName: {\n\t\t\t\tdeps: [\"name_first\", \"name_last\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn `${this.name_first} ${this.name_last}`;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst data = {\n\t\t\t\temail: this.email,\n\t\t\t\tname_first: this.name_first,\n\t\t\t\tname_last: this.name_last,\n\t\t\t\tnotes: this.notes,\n\t\t\t\tphone: this.phone,\n\t\t\t\tposition: this.position,\n\t\t\t\topportunity_set: this._retrieveURL(this.opportunity_set),\n\t\t\t\tcustomer: this._retrieveURL(this.customer),\n\t\t\t\tlocation: this._retrieveURL(this.location),\n\t\t\t\tuser: this._retrieveURL(this.user),\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}
|
|
1
|
+
{"version":3,"sources":["../../src/models/contact.js"],"names":["ContactModel","BaseModel","extend","modelName","props","created_date","email","modified_date","name_first","name_last","notes","phone","photo_128","photo_256","photo_512","position","profile","fixture_key","collections","opportunity_set","children","location","customer","user","derived","fullName","deps","fn","toServer","data","_retrieveURL","id"],"mappings":";;;;;;;AAAA;;AACA;;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;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,KAAK,EAAE,QAFD;AAGNC,IAAAA,aAAa,EAAE,MAHT;AAINC,IAAAA,UAAU,EAAE,iBAJN;AAKNC,IAAAA,SAAS,EAAE,iBALL;AAMNC,IAAAA,KAAK,EAAE,iBAND;AAONC,IAAAA,KAAK,EAAE,iBAPD;AAQNC,IAAAA,SAAS,EAAE,QARL;AASNC,IAAAA,SAAS,EAAE,QATL;AAUNC,IAAAA,SAAS,EAAE,QAVL;AAWNC,IAAAA,QAAQ,EAAE,QAXJ;AAYNC,IAAAA,OAAO,EAAE,QAZH;AAaNC,IAAAA,WAAW,EAAE;AAbP,GAjB2B;;AAiClC;AACF;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,eAAe,EAAE;AADL,GApCqB;;AAwClC;AACF;AACA;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,QAAQ,EAAE,eADD;AAETC,IAAAA,QAAQ,EAAE,eAFD;AAGTC,IAAAA,IAAI,EAAE;AAHG,GA7CwB;;AAmDlC;AACF;AACA;AACEC,EAAAA,OAAO,EAAE;AACR;AACH;AACA;AACA;AACA;AACGC,IAAAA,QAAQ,EAAE;AACTC,MAAAA,IAAI,EAAE,CAAC,YAAD,EAAe,WAAf,CADG;AAETC,MAAAA,EAAE,EAAE,cAAY;AACf,yBAAU,KAAKnB,UAAf,cAA6B,KAAKC,SAAlC;AACA;AAJQ;AANF,GAtDyB;AAoElCmB,EAAAA,QApEkC,sBAoEvB;AACV,QAAMC,IAAI,GAAG;AACZvB,MAAAA,KAAK,EAAE,KAAKA,KADA;AAEZE,MAAAA,UAAU,EAAE,KAAKA,UAFL;AAGZC,MAAAA,SAAS,EAAE,KAAKA,SAHJ;AAIZC,MAAAA,KAAK,EAAE,KAAKA,KAJA;AAKZC,MAAAA,KAAK,EAAE,KAAKA,KALA;AAMZI,MAAAA,QAAQ,EAAE,KAAKA,QANH;AAOZI,MAAAA,eAAe,EAAE,KAAKW,YAAL,CAAkB,KAAKX,eAAvB,CAPL;AAQZG,MAAAA,QAAQ,EAAE,KAAKQ,YAAL,CAAkB,KAAKR,QAAvB,CARE;AASZD,MAAAA,QAAQ,EAAE,KAAKS,YAAL,CAAkB,KAAKT,QAAvB,CATE;AAUZE,MAAAA,IAAI,EAAE,KAAKO,YAAL,CAAkB,KAAKP,IAAvB;AAVM,KAAb;;AAaA,QAAI,KAAKQ,EAAT,EAAa;AACZF,MAAAA,IAAI,CAACE,EAAL,GAAU,KAAKA,EAAf;AACA;;AAED,WAAOF,IAAP;AACA;AAvFiC,CADR,CAArB;;;AA4FP,6BAAS,cAAT,EAAyB7B,YAAzB","sourcesContent":["import \"./user.js\";\nimport \"./customer.js\";\nimport \"./location.js\";\nimport \"../collections/opportunities.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.ContactModel\n * @extends models.BaseModel\n */\nexport const ContactModel = BaseModel.extend(\n\t/** @lends models.ContactModel# */ {\n\t\tmodelName: \"contacts\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {string} email\n\t\t * @property {date} modified_date\n\t\t * @property {string} name_first\n\t\t * @property {string} name_last\n\t\t * @property {string} notes\n\t\t * @property {string} phone\n\t\t * @property {string} photo_128\n\t\t * @property {string} photo_256\n\t\t * @property {string} photo_512\n\t\t * @property {string} position\n\t\t * @property {object} profile\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\temail: \"string\",\n\t\t\tmodified_date: \"date\",\n\t\t\tname_first: \"stringSanitized\",\n\t\t\tname_last: \"stringSanitized\",\n\t\t\tnotes: \"stringSanitized\",\n\t\t\tphone: \"stringSanitized\",\n\t\t\tphoto_128: \"string\",\n\t\t\tphoto_256: \"string\",\n\t\t\tphoto_512: \"string\",\n\t\t\tposition: \"string\",\n\t\t\tprofile: \"object\",\n\t\t\tfixture_key: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.OpportunityCollection} opportunity_set\n\t\t */\n\t\tcollections: {\n\t\t\topportunity_set: \"OpportunityCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.LocationModel} location\n\t\t * @property {models.CustomerModel} customer\n\t\t * @property {models.UserModel} user\n\t\t */\n\t\tchildren: {\n\t\t\tlocation: \"LocationModel\",\n\t\t\tcustomer: \"CustomerModel\",\n\t\t\tuser: \"UserModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string} fullName\n\t\t */\n\t\tderived: {\n\t\t\t/**\n\t\t\t * The full name of the contact\n\t\t\t * @property fullName\n\t\t\t * @type String\n\t\t\t */\n\t\t\tfullName: {\n\t\t\t\tdeps: [\"name_first\", \"name_last\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\treturn `${this.name_first} ${this.name_last}`;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst data = {\n\t\t\t\temail: this.email,\n\t\t\t\tname_first: this.name_first,\n\t\t\t\tname_last: this.name_last,\n\t\t\t\tnotes: this.notes,\n\t\t\t\tphone: this.phone,\n\t\t\t\tposition: this.position,\n\t\t\t\topportunity_set: this._retrieveURL(this.opportunity_set),\n\t\t\t\tcustomer: this._retrieveURL(this.customer),\n\t\t\t\tlocation: this._retrieveURL(this.location),\n\t\t\t\tuser: this._retrieveURL(this.user),\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(\"ContactModel\", ContactModel);\n"],"file":"contact.js"}
|
package/cjs/models/customer.js
CHANGED
|
@@ -87,8 +87,10 @@ var CustomerModel = _base.BaseModel.extend(
|
|
|
87
87
|
logo: {
|
|
88
88
|
deps: ["logo_512", "profile"],
|
|
89
89
|
fn: function fn() {
|
|
90
|
+
var _this$profile;
|
|
91
|
+
|
|
90
92
|
// HACK: Check for the REA usecase where it gets images from profile
|
|
91
|
-
if (this.profile &&
|
|
93
|
+
if ((_this$profile = this.profile) !== null && _this$profile !== void 0 && _this$profile.rea_image_large) {
|
|
92
94
|
return this.profile.rea_image_large;
|
|
93
95
|
}
|
|
94
96
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/customer.js"],"names":["CustomerModel","BaseModel","extend","modelName","props","created_date","logo_128","logo_256","logo_512","logo_original","modified_date","notes","primary_colour","profile","soft_deleted","title","website","children","default_location","default_opportunity","collections","contact_set","opportunity_set","location_set","team_set","derived","logo","deps","fn","rea_image_large","primaryColour","fetch","baseFetch","prototype","apply","arguments","then","topParent","curParent","parent","name","contactUrls","map","contact","_retrieveUrl","filteredContacts","filter","indexOf","set","toServer","data","_retrieveURL","id"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAoC;AACnCC,EAAAA,SAAS,EAAE,WADwB;;AAGnC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,QAAQ,EAAE,QAFJ;AAGNC,IAAAA,QAAQ,EAAE,QAHJ;AAINC,IAAAA,QAAQ,EAAE,QAJJ;AAKNC,IAAAA,aAAa,EAAE,QALT;AAMNC,IAAAA,aAAa,EAAE,MANT;AAONC,IAAAA,KAAK,EAAE,iBAPD;AAQNC,IAAAA,cAAc,EAAE,QARV;AASNC,IAAAA,OAAO,EAAE,QATH;AAUNC,IAAAA,YAAY,EAAE,SAVR;AAWNC,IAAAA,KAAK,EAAE,iBAXD;AAYNC,IAAAA,OAAO,EAAE;AAZH,GAjB4B;;AAgCnC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,gBAAgB,EAAE,eADT;AAETC,IAAAA,mBAAmB,EAAE;AAFZ,GApCyB;;AAyCnC;AACF;AACA;AACA;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,WAAW,EAAE,mBADD;AAEZC,IAAAA,eAAe,EAAE,uBAFL;AAGZC,IAAAA,YAAY,EAAE,oBAHF;AAIZC,IAAAA,QAAQ,EAAE;AAJE,GA9CsB;;AAqDnC;AACF;AACA;AACA;AACEC,EAAAA,OAAO,EAAE;AACRC,IAAAA,IAAI,EAAE;AACLC,MAAAA,IAAI,EAAE,CAAC,UAAD,EAAa,SAAb,CADD;AAELC,MAAAA,EAAE,EAAE,cAAY;AACf;AACA,
|
|
1
|
+
{"version":3,"sources":["../../src/models/customer.js"],"names":["CustomerModel","BaseModel","extend","modelName","props","created_date","logo_128","logo_256","logo_512","logo_original","modified_date","notes","primary_colour","profile","soft_deleted","title","website","children","default_location","default_opportunity","collections","contact_set","opportunity_set","location_set","team_set","derived","logo","deps","fn","rea_image_large","primaryColour","fetch","baseFetch","prototype","apply","arguments","then","topParent","curParent","parent","name","contactUrls","map","contact","_retrieveUrl","filteredContacts","filter","indexOf","set","toServer","data","_retrieveURL","id"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAoC;AACnCC,EAAAA,SAAS,EAAE,WADwB;;AAGnC;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,QAAQ,EAAE,QAFJ;AAGNC,IAAAA,QAAQ,EAAE,QAHJ;AAINC,IAAAA,QAAQ,EAAE,QAJJ;AAKNC,IAAAA,aAAa,EAAE,QALT;AAMNC,IAAAA,aAAa,EAAE,MANT;AAONC,IAAAA,KAAK,EAAE,iBAPD;AAQNC,IAAAA,cAAc,EAAE,QARV;AASNC,IAAAA,OAAO,EAAE,QATH;AAUNC,IAAAA,YAAY,EAAE,SAVR;AAWNC,IAAAA,KAAK,EAAE,iBAXD;AAYNC,IAAAA,OAAO,EAAE;AAZH,GAjB4B;;AAgCnC;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,gBAAgB,EAAE,eADT;AAETC,IAAAA,mBAAmB,EAAE;AAFZ,GApCyB;;AAyCnC;AACF;AACA;AACA;AACA;AACEC,EAAAA,WAAW,EAAE;AACZC,IAAAA,WAAW,EAAE,mBADD;AAEZC,IAAAA,eAAe,EAAE,uBAFL;AAGZC,IAAAA,YAAY,EAAE,oBAHF;AAIZC,IAAAA,QAAQ,EAAE;AAJE,GA9CsB;;AAqDnC;AACF;AACA;AACA;AACEC,EAAAA,OAAO,EAAE;AACRC,IAAAA,IAAI,EAAE;AACLC,MAAAA,IAAI,EAAE,CAAC,UAAD,EAAa,SAAb,CADD;AAELC,MAAAA,EAAE,EAAE,cAAY;AAAA;;AACf;AACA,6BAAI,KAAKf,OAAT,0CAAI,cAAcgB,eAAlB,EAAmC;AAClC,iBAAO,KAAKhB,OAAL,CAAagB,eAApB;AACA;;AAED,eAAO,KAAKrB,QAAZ;AACA;AATI,KADE;AAYRsB,IAAAA,aAAa,EAAE;AACdH,MAAAA,IAAI,EAAE,CAAC,gBAAD,EAAmB,SAAnB,CADQ;AAEdC,MAAAA,EAAE,EAAE,cAAY;AACf;AACA,YAAI,KAAKf,OAAL,IAAgB,KAAKA,OAAL,CAAaD,cAAjC,EAAiD;AAChD,iBAAO,KAAKC,OAAL,CAAaD,cAApB;AACA;;AAED,eAAO,KAAKA,cAAZ;AACA;AATa;AAZP,GAzD0B;AAkFnCmB,EAAAA,KAlFmC,mBAkF3B;AAAA;;AACP,QAAMC,SAAS,GAAG/B,gBAAUgC,SAAV,CAAoBF,KAApB,CAA0BG,KAA1B,CAAgC,IAAhC,EAAsCC,SAAtC,CAAlB;;AAEA,WAAOH,SAAS,CAACI,IAAV,CAAe,YAAM;AAC3B,UAAIC,SAAJ;AACA,UAAIC,SAAS,GAAG,KAAI,CAACC,MAArB;;AAEA,aAAO,OAAOD,SAAP,KAAqB,WAA5B,EAAyC;AACxCA,QAAAA,SAAS,GAAGA,SAAS,CAACC,MAAtB;;AACA,YAAID,SAAJ,EAAe;AACdD,UAAAA,SAAS,GAAGC,SAAZ;AACA;AACD,OAT0B,CAW3B;;;AACA,UAAID,SAAS,IAAIA,SAAS,CAACG,IAAV,KAAmB,cAApC,EAAoD;AACnD,YAAMC,WAAW,GAAG,KAAI,CAACpB,WAAL,CAAiBqB,GAAjB,CAAqB,UAACC,OAAD;AAAA,iBACxC,KAAI,CAACC,YAAL,CAAkBD,OAAlB,CADwC;AAAA,SAArB,CAApB;;AAIA,YAAME,gBAAgB,GAAGR,SAAS,CAAChB,WAAV,CAAsByB,MAAtB,CAA6B,UAACH,OAAD,EAAa;AAClE,iBAAOF,WAAW,CAACM,OAAZ,CAAoB,KAAI,CAACH,YAAL,CAAkBD,OAAlB,CAApB,IAAkD,CAAC,CAA1D;AACA,SAFwB,CAAzB;;AAIA,QAAA,KAAI,CAACtB,WAAL,CAAiB2B,GAAjB,CAAqBH,gBAArB;AACA;AACD,KAvBM,CAAP;AAwBA,GA7GkC;AA+GnCI,EAAAA,QA/GmC,sBA+GxB;AACV,QAAMC,IAAI,GAAG;AACZvC,MAAAA,KAAK,EAAE,KAAKA,KADA;AAEZC,MAAAA,cAAc,EAAE,KAAKA,cAFT;AAGZG,MAAAA,KAAK,EAAE,KAAKA,KAHA;AAIZC,MAAAA,OAAO,EAAE,KAAKA,OAJF;AAKZQ,MAAAA,QAAQ,EAAE,KAAK2B,YAAL,CAAkB,KAAK3B,QAAvB;AALE,KAAb;;AAQA,QAAI,KAAK4B,EAAT,EAAa;AACZF,MAAAA,IAAI,CAACE,EAAL,GAAU,KAAKA,EAAf;AACA;;AAED,WAAOF,IAAP;AACA;AA7HkC,CADR,CAAtB;;;AAkIP,6BAAS,eAAT,EAA0BlD,aAA1B","sourcesContent":["import \"../models/opportunity.js\";\nimport \"../collections/locations.js\";\nimport \"../collections/contacts.js\";\nimport \"../collections/locations.js\";\nimport \"../collections/opportunities.js\";\nimport \"../collections/teams.js\";\n\nimport { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.CustomerModel\n * @extends models.BaseModel\n */\nexport const CustomerModel = BaseModel.extend(\n\t/** @lends models.CustomerModel# */ {\n\t\tmodelName: \"customers\",\n\n\t\t/**\n\t\t * @property {date} created_date\n\t\t * @property {string} logo_128\n\t\t * @property {string} logo_256\n\t\t * @property {string} logo_512\n\t\t * @property {string} logo_original\n\t\t * @property {date} modified_date\n\t\t * @property {string} notes\n\t\t * @property {string} primary_colour\n\t\t * @property {object} profile\n\t\t * @property {boolean} soft_deleted\n\t\t * @property {string} title\n\t\t * @property {string} website\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tlogo_128: \"string\",\n\t\t\tlogo_256: \"string\",\n\t\t\tlogo_512: \"string\",\n\t\t\tlogo_original: \"string\",\n\t\t\tmodified_date: \"date\",\n\t\t\tnotes: \"stringSanitized\",\n\t\t\tprimary_colour: \"string\",\n\t\t\tprofile: \"object\",\n\t\t\tsoft_deleted: \"boolean\",\n\t\t\ttitle: \"stringSanitized\",\n\t\t\twebsite: \"string\",\n\t\t},\n\n\t\t/**\n\t\t * @property {models.LocationModel} default_location\n\t\t * @property {models.OpportunityModel} default_opportunity\n\t\t */\n\t\tchildren: {\n\t\t\tdefault_location: \"LocationModel\",\n\t\t\tdefault_opportunity: \"OpportunityModel\",\n\t\t},\n\n\t\t/**\n\t\t * @property {collections.ContactCollection} contact_set\n\t\t * @property {collections.OpportunityCollection} opportunity_set\n\t\t * @property {collections.LocationCollection} location_set\n\t\t */\n\t\tcollections: {\n\t\t\tcontact_set: \"ContactCollection\",\n\t\t\topportunity_set: \"OpportunityCollection\",\n\t\t\tlocation_set: \"LocationCollection\",\n\t\t\tteam_set: \"TeamCollection\",\n\t\t},\n\n\t\t/**\n\t\t * @property {string} logo\n\t\t * @property {string} primaryColour\n\t\t */\n\t\tderived: {\n\t\t\tlogo: {\n\t\t\t\tdeps: [\"logo_512\", \"profile\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\t// HACK: Check for the REA usecase where it gets images from profile\n\t\t\t\t\tif (this.profile?.rea_image_large) {\n\t\t\t\t\t\treturn this.profile.rea_image_large;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.logo_512;\n\t\t\t\t},\n\t\t\t},\n\t\t\tprimaryColour: {\n\t\t\t\tdeps: [\"primary_colour\", \"profile\"],\n\t\t\t\tfn: function () {\n\t\t\t\t\t// HACK: Check for the REA usecase where it gets primary colour from profile\n\t\t\t\t\tif (this.profile && this.profile.primary_colour) {\n\t\t\t\t\t\treturn this.profile.primary_colour;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.primary_colour;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tfetch() {\n\t\t\tconst baseFetch = BaseModel.prototype.fetch.apply(this, arguments);\n\n\t\t\treturn baseFetch.then(() => {\n\t\t\t\tlet topParent;\n\t\t\t\tlet curParent = this.parent;\n\n\t\t\t\twhile (typeof curParent !== \"undefined\") {\n\t\t\t\t\tcurParent = curParent.parent;\n\t\t\t\t\tif (curParent) {\n\t\t\t\t\t\ttopParent = curParent;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Filter contacts if this is fetched from an appointment\n\t\t\t\tif (topParent && topParent.name === \"appointments\") {\n\t\t\t\t\tconst contactUrls = this.contact_set.map((contact) =>\n\t\t\t\t\t\tthis._retrieveUrl(contact),\n\t\t\t\t\t);\n\n\t\t\t\t\tconst filteredContacts = topParent.contact_set.filter((contact) => {\n\t\t\t\t\t\treturn contactUrls.indexOf(this._retrieveUrl(contact)) > -1;\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.contact_set.set(filteredContacts);\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\n\t\ttoServer() {\n\t\t\tconst data = {\n\t\t\t\tnotes: this.notes,\n\t\t\t\tprimary_colour: this.primary_colour,\n\t\t\t\ttitle: this.title,\n\t\t\t\twebsite: this.website,\n\t\t\t\tteam_set: this._retrieveURL(this.team_set),\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(\"CustomerModel\", CustomerModel);\n"],"file":"customer.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/deck-note.js"],"names":["DeckNoteModel","BaseModel","extend","modelName","props","created_date","modified_date","note","mime","parent_key","children","deck","user","team","canBeEmpty"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAgC;AAC/BC,EAAAA,SAAS,EAAE,WADoB;;AAG/B;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,aAAa,EAAE,MAFT;AAGNC,IAAAA,IAAI,EAAE,QAHA;AAINC,IAAAA,IAAI,EAAE,QAJA;AAKNC,IAAAA,UAAU,EAAE;AALN,GAVwB;AAkB/BC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,WADG;AAETC,IAAAA,IAAI,EAAE,WAFG;AAGTC,IAAAA,IAAI,EAAE;AAHG;AAlBqB,CADJ,CAAtB;;;AA2BPb,aAAa,CAACc,UAAd,GAA2B,IAA3B;AAEA,6BAAS,eAAT,EAA0Bd,aAA1B","sourcesContent":["import { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.DeckModel\n * @extends models.BaseModel\n */\nexport const DeckNoteModel = BaseModel.extend(\n\t/** @lends models.NoteModel# */ {\n\t\tmodelName: \"decknotes\",\n\n\t\t/**\n\t\t * @property {string} attached_to_key\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} note\n\t\t * @property {string} mime\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tnote: \"string\",\n\t\t\tmime: \"string\",\n\t\t\tparent_key: \"string\",\n\t\t},\n\n\t\tchildren: {\n\t\t\tdeck: \"DeckModel\",\n\t\t\tuser: \"UserModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t},\n\t}
|
|
1
|
+
{"version":3,"sources":["../../src/models/deck-note.js"],"names":["DeckNoteModel","BaseModel","extend","modelName","props","created_date","modified_date","note","mime","parent_key","children","deck","user","team","canBeEmpty"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAgC;AAC/BC,EAAAA,SAAS,EAAE,WADoB;;AAG/B;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,YAAY,EAAE,MADR;AAENC,IAAAA,aAAa,EAAE,MAFT;AAGNC,IAAAA,IAAI,EAAE,QAHA;AAINC,IAAAA,IAAI,EAAE,QAJA;AAKNC,IAAAA,UAAU,EAAE;AALN,GAVwB;AAkB/BC,EAAAA,QAAQ,EAAE;AACTC,IAAAA,IAAI,EAAE,WADG;AAETC,IAAAA,IAAI,EAAE,WAFG;AAGTC,IAAAA,IAAI,EAAE;AAHG;AAlBqB,CADJ,CAAtB;;;AA2BPb,aAAa,CAACc,UAAd,GAA2B,IAA3B;AAEA,6BAAS,eAAT,EAA0Bd,aAA1B","sourcesContent":["import { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.DeckModel\n * @extends models.BaseModel\n */\nexport const DeckNoteModel = BaseModel.extend(\n\t/** @lends models.NoteModel# */ {\n\t\tmodelName: \"decknotes\",\n\n\t\t/**\n\t\t * @property {string} attached_to_key\n\t\t * @property {date} created_date\n\t\t * @property {date} modified_date\n\t\t * @property {string} note\n\t\t * @property {string} mime\n\t\t */\n\t\tprops: {\n\t\t\tcreated_date: \"date\",\n\t\t\tmodified_date: \"date\",\n\t\t\tnote: \"string\",\n\t\t\tmime: \"string\",\n\t\t\tparent_key: \"string\",\n\t\t},\n\n\t\tchildren: {\n\t\t\tdeck: \"DeckModel\",\n\t\t\tuser: \"UserModel\",\n\t\t\tteam: \"TeamModel\",\n\t\t},\n\t},\n);\n\nDeckNoteModel.canBeEmpty = true;\n\nregister(\"DeckNoteModel\", DeckNoteModel);\n"],"file":"deck-note.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/models/deck-tags.js"],"names":["DeckTagsModel","BaseModel","extend","modelName","props","items","url","parent","getFullURLPath","getPlainURL","prototype","call","fetch","opts","tap","tags","isNew","toServer","save","canBeEmpty"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAoC;AACnCC,EAAAA,SAAS,EAAE,WADwB;;AAGnC;AACF;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,KAAK,EAAE;AADD,GAN4B;AAUnCC,EAAAA,GAVmC,iBAU7B;AACL,QAAI,KAAKC,MAAL,IAAe,KAAKA,MAAL,CAAYJ,SAAZ,KAA0B,OAA7C,EAAsD;AACrD,aAAO,KAAKK,cAAL,WAAuB,KAAKD,MAAL,CAAYE,WAAZ,EAAvB,WAAP;AACA;;AACD,WAAOR,gBAAUS,SAAV,CAAoBJ,GAApB,CAAwBK,IAAxB,CAA6B,IAA7B,CAAP;AACA,GAfkC;AAiBnCC,EAAAA,KAjBmC,iBAiB7BC,IAjB6B,EAiBvB;AAAA;;AACX,WAAOZ,gBAAUS,SAAV,CAAoBE,KAApB,CAA0BD,IAA1B,CAA+B,IAA/B,EAAqCE,IAArC,EAA2CC,GAA3C,CAA+C,UAACC,IAAD,EAAU;AAC/D,MAAA,KAAI,CAACV,KAAL,GAAaU,IAAb;AACA,KAFM,CAAP;AAGA,GArBkC;AAuBnCC,EAAAA,KAvBmC,mBAuB3B;AACP;AACA,WAAO,KAAP;AACA,GA1BkC;AA4BnCC,EAAAA,QA5BmC,sBA4BxB;AACV,WAAO,KAAKZ,KAAZ;AACA,GA9BkC;AAgCnCa,EAAAA,IAhCmC,kBAgC5B;AAAA;;AACN,WAAOjB,gBAAUS,SAAV,CAAoBQ,IAApB,CAAyBP,IAAzB,CAA8B,IAA9B,EAAoCG,GAApC,CAAwC,UAACC,IAAD,EAAU;AACxD,MAAA,MAAI,CAACV,KAAL,GAAaU,IAAb;AACA,KAFM,CAAP;AAGA;AApCkC,CADR,CAAtB;;;AAyCPf,aAAa,CAACmB,UAAd,GAA2B,IAA3B;AAEA,6BAAS,eAAT,EAA0BnB,aAA1B","sourcesContent":["import { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.DeckTagsModel\n * @extends models.BaseModel\n */\nexport const DeckTagsModel = BaseModel.extend(\n\t/** @lends models.DeckTagsModel# */ {\n\t\tmodelName: \"deck-tags\",\n\n\t\t/**\n\t\t * @property {object} items\n\t\t */\n\t\tprops: {\n\t\t\titems: \"object\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.parent && this.parent.modelName === \"decks\") {\n\t\t\t\treturn this.getFullURLPath(`${this.parent.getPlainURL()}tags/`);\n\t\t\t}\n\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t},\n\n\t\tfetch(opts) {\n\t\t\treturn BaseModel.prototype.fetch.call(this, opts).tap((tags) => {\n\t\t\t\tthis.items = tags;\n\t\t\t});\n\t\t},\n\n\t\tisNew() {\n\t\t\t// Force deck-tags to always use PUT.\n\t\t\treturn false;\n\t\t},\n\n\t\ttoServer() {\n\t\t\treturn this.items;\n\t\t},\n\n\t\tsave() {\n\t\t\treturn BaseModel.prototype.save.call(this).tap((tags) => {\n\t\t\t\tthis.items = tags;\n\t\t\t});\n\t\t},\n\t}
|
|
1
|
+
{"version":3,"sources":["../../src/models/deck-tags.js"],"names":["DeckTagsModel","BaseModel","extend","modelName","props","items","url","parent","getFullURLPath","getPlainURL","prototype","call","fetch","opts","tap","tags","isNew","toServer","save","canBeEmpty"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,aAAa,GAAGC,gBAAUC,MAAV;AAC5B;AAAoC;AACnCC,EAAAA,SAAS,EAAE,WADwB;;AAGnC;AACF;AACA;AACEC,EAAAA,KAAK,EAAE;AACNC,IAAAA,KAAK,EAAE;AADD,GAN4B;AAUnCC,EAAAA,GAVmC,iBAU7B;AACL,QAAI,KAAKC,MAAL,IAAe,KAAKA,MAAL,CAAYJ,SAAZ,KAA0B,OAA7C,EAAsD;AACrD,aAAO,KAAKK,cAAL,WAAuB,KAAKD,MAAL,CAAYE,WAAZ,EAAvB,WAAP;AACA;;AACD,WAAOR,gBAAUS,SAAV,CAAoBJ,GAApB,CAAwBK,IAAxB,CAA6B,IAA7B,CAAP;AACA,GAfkC;AAiBnCC,EAAAA,KAjBmC,iBAiB7BC,IAjB6B,EAiBvB;AAAA;;AACX,WAAOZ,gBAAUS,SAAV,CAAoBE,KAApB,CAA0BD,IAA1B,CAA+B,IAA/B,EAAqCE,IAArC,EAA2CC,GAA3C,CAA+C,UAACC,IAAD,EAAU;AAC/D,MAAA,KAAI,CAACV,KAAL,GAAaU,IAAb;AACA,KAFM,CAAP;AAGA,GArBkC;AAuBnCC,EAAAA,KAvBmC,mBAuB3B;AACP;AACA,WAAO,KAAP;AACA,GA1BkC;AA4BnCC,EAAAA,QA5BmC,sBA4BxB;AACV,WAAO,KAAKZ,KAAZ;AACA,GA9BkC;AAgCnCa,EAAAA,IAhCmC,kBAgC5B;AAAA;;AACN,WAAOjB,gBAAUS,SAAV,CAAoBQ,IAApB,CAAyBP,IAAzB,CAA8B,IAA9B,EAAoCG,GAApC,CAAwC,UAACC,IAAD,EAAU;AACxD,MAAA,MAAI,CAACV,KAAL,GAAaU,IAAb;AACA,KAFM,CAAP;AAGA;AApCkC,CADR,CAAtB;;;AAyCPf,aAAa,CAACmB,UAAd,GAA2B,IAA3B;AAEA,6BAAS,eAAT,EAA0BnB,aAA1B","sourcesContent":["import { BaseModel } from \"./base.js\";\nimport { register } from \"../state-register.js\";\n\n/**\n * @constructor\n * @alias models.DeckTagsModel\n * @extends models.BaseModel\n */\nexport const DeckTagsModel = BaseModel.extend(\n\t/** @lends models.DeckTagsModel# */ {\n\t\tmodelName: \"deck-tags\",\n\n\t\t/**\n\t\t * @property {object} items\n\t\t */\n\t\tprops: {\n\t\t\titems: \"object\",\n\t\t},\n\n\t\turl() {\n\t\t\tif (this.parent && this.parent.modelName === \"decks\") {\n\t\t\t\treturn this.getFullURLPath(`${this.parent.getPlainURL()}tags/`);\n\t\t\t}\n\t\t\treturn BaseModel.prototype.url.call(this);\n\t\t},\n\n\t\tfetch(opts) {\n\t\t\treturn BaseModel.prototype.fetch.call(this, opts).tap((tags) => {\n\t\t\t\tthis.items = tags;\n\t\t\t});\n\t\t},\n\n\t\tisNew() {\n\t\t\t// Force deck-tags to always use PUT.\n\t\t\treturn false;\n\t\t},\n\n\t\ttoServer() {\n\t\t\treturn this.items;\n\t\t},\n\n\t\tsave() {\n\t\t\treturn BaseModel.prototype.save.call(this).tap((tags) => {\n\t\t\t\tthis.items = tags;\n\t\t\t});\n\t\t},\n\t},\n);\n\nDeckTagsModel.canBeEmpty = true;\n\nregister(\"DeckTagsModel\", DeckTagsModel);\n"],"file":"deck-tags.js"}
|
|
@@ -1 +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}
|
|
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"}
|
|
@@ -11,8 +11,6 @@ require("../collections/sections.js");
|
|
|
11
11
|
|
|
12
12
|
require("../collections/deck-notes.js");
|
|
13
13
|
|
|
14
|
-
require("../collections/templates.js");
|
|
15
|
-
|
|
16
14
|
require("./pack.js");
|
|
17
15
|
|
|
18
16
|
require("./deck.js");
|
|
@@ -27,6 +25,8 @@ var _deckVersionScreenshots = require("../collections/deck-version-screenshots.j
|
|
|
27
25
|
|
|
28
26
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
29
27
|
|
|
28
|
+
var _collections = require("../collections.js");
|
|
29
|
+
|
|
30
30
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
31
31
|
|
|
32
32
|
var _stateRegister = require("../state-register.js");
|
|
@@ -80,6 +80,7 @@ var DeckVersionModel = _base.BaseModel.extend(
|
|
|
80
80
|
upgrade_description: "string",
|
|
81
81
|
friendly_release_notes: "string",
|
|
82
82
|
has_editable_share_support: "boolean",
|
|
83
|
+
has_signing_support: "boolean",
|
|
83
84
|
point_in_time_share_policy: "string",
|
|
84
85
|
tags: "array",
|
|
85
86
|
cmsvalkey_set: "array"
|
|
@@ -101,12 +102,10 @@ var DeckVersionModel = _base.BaseModel.extend(
|
|
|
101
102
|
/**
|
|
102
103
|
* @property {collections.SectionCollection} section_set
|
|
103
104
|
* @property {models.DeckNoteCollection} note_set
|
|
104
|
-
* @property {models.TemplateCollection} template_set
|
|
105
105
|
*/
|
|
106
106
|
collections: {
|
|
107
107
|
section_set: "SectionCollection",
|
|
108
|
-
note_set: "DeckNoteCollection"
|
|
109
|
-
template_set: "TemplateCollection"
|
|
108
|
+
note_set: "DeckNoteCollection"
|
|
110
109
|
},
|
|
111
110
|
|
|
112
111
|
/**
|
|
@@ -121,6 +120,18 @@ var DeckVersionModel = _base.BaseModel.extend(
|
|
|
121
120
|
});
|
|
122
121
|
return screenshots;
|
|
123
122
|
}
|
|
123
|
+
},
|
|
124
|
+
template_set: {
|
|
125
|
+
deps: ["id"],
|
|
126
|
+
fn: function fn() {
|
|
127
|
+
var templates = new _collections.TemplateCollection({}, {
|
|
128
|
+
data: {
|
|
129
|
+
deckversion: this.id,
|
|
130
|
+
scope: "global"
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
return templates;
|
|
134
|
+
}
|
|
124
135
|
}
|
|
125
136
|
},
|
|
126
137
|
getHooksPath: function getHooksPath() {
|
|
@@ -188,16 +199,28 @@ var DeckVersionModel = _base.BaseModel.extend(
|
|
|
188
199
|
|
|
189
200
|
return _bluebird.default.all(imports);
|
|
190
201
|
},
|
|
191
|
-
|
|
202
|
+
fetch: function fetch() {
|
|
192
203
|
var _this2 = this;
|
|
193
204
|
|
|
205
|
+
var fetch = _base.BaseModel.prototype.fetch.apply(this, arguments);
|
|
206
|
+
|
|
207
|
+
return _bluebird.default.resolve(fetch).tap(function () {
|
|
208
|
+
// `template_set` used to come on the deckversion response, but we have since
|
|
209
|
+
// decided to request it separately (this helps with caching). To keep the app
|
|
210
|
+
// working with minimal changes, we're making the extra request here.
|
|
211
|
+
return _this2.template_set.fetch();
|
|
212
|
+
});
|
|
213
|
+
},
|
|
214
|
+
waitForReady: function waitForReady() {
|
|
215
|
+
var _this3 = this;
|
|
216
|
+
|
|
194
217
|
return this.fetch().then(function () {
|
|
195
|
-
if (["created", "failed"].indexOf(
|
|
218
|
+
if (["created", "failed"].indexOf(_this3.creation_status) > -1) {
|
|
196
219
|
return _bluebird.default.resolve();
|
|
197
220
|
}
|
|
198
221
|
|
|
199
222
|
return _bluebird.default.delay(1000).then(function () {
|
|
200
|
-
return
|
|
223
|
+
return _this3.waitForReady();
|
|
201
224
|
});
|
|
202
225
|
});
|
|
203
226
|
},
|