@livepreso/api 6.40.0 → 6.43.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.js +5 -0
- package/.rush/temp/build-cache-tar.log +7 -0
- package/.rush/temp/package-deps_build.json +170 -0
- package/.rush/temp/shrinkwrap-deps.json +846 -0
- package/CHANGELOG.json +41 -0
- package/CHANGELOG.md +25 -0
- package/api.build.log +15 -0
- package/babel.config.js +9 -18
- package/cjs/api.js +1 -1
- package/cjs/api.js.map +1 -1
- package/cjs/api.spec.js +2 -2
- package/cjs/api.spec.js.map +1 -1
- package/cjs/auth.js +6 -5
- package/cjs/auth.js.map +1 -1
- package/cjs/auth.spec.js +25 -23
- package/cjs/auth.spec.js.map +1 -1
- package/cjs/caching.js +3 -3
- package/cjs/collections/activity.js +22 -27
- package/cjs/collections/activity.js.map +1 -1
- package/cjs/collections/adjunct-sections.js +2 -2
- package/cjs/collections/adjunct-sections.js.map +1 -1
- package/cjs/collections/adjunct-slides.js +2 -2
- package/cjs/collections/adjunct-slides.js.map +1 -1
- package/cjs/collections/adjunct-sub-slides.js +2 -2
- package/cjs/collections/adjunct-sub-slides.js.map +1 -1
- package/cjs/collections/appointment-adjunct-tags.js +28 -0
- package/cjs/collections/appointment-adjunct-tags.js.map +1 -0
- package/cjs/collections/appointment-deckversion-tags.js +28 -0
- package/cjs/collections/appointment-deckversion-tags.js.map +1 -0
- package/cjs/collections/appointment-duplicates.js +2 -2
- package/cjs/collections/appointment-duplicates.js.map +1 -1
- package/cjs/collections/appointment-editors.js +2 -2
- package/cjs/collections/appointment-editors.js.map +1 -1
- package/cjs/collections/appointment-section-tags.js +28 -0
- package/cjs/collections/appointment-section-tags.js.map +1 -0
- package/cjs/collections/appointment-slide-tags.js +28 -0
- package/cjs/collections/appointment-slide-tags.js.map +1 -0
- package/cjs/collections/appointment-tags.js +208 -0
- package/cjs/collections/appointment-tags.js.map +1 -0
- package/cjs/collections/appointments.js +10 -6
- package/cjs/collections/appointments.js.map +1 -1
- package/cjs/collections/assets.js +2 -2
- package/cjs/collections/assets.js.map +1 -1
- package/cjs/collections/auto-adjuncts.js +7 -3
- package/cjs/collections/auto-adjuncts.js.map +1 -1
- package/cjs/collections/base.js +30 -25
- package/cjs/collections/base.js.map +1 -1
- package/cjs/collections/base.spec.js +71 -123
- package/cjs/collections/base.spec.js.map +1 -1
- package/cjs/collections/cms-vals.js +2 -2
- package/cjs/collections/cms-vals.js.map +1 -1
- package/cjs/collections/contacts.js +2 -2
- package/cjs/collections/contacts.js.map +1 -1
- package/cjs/collections/created-assets.js +2 -2
- package/cjs/collections/created-assets.js.map +1 -1
- package/cjs/collections/customers.js +2 -2
- package/cjs/collections/customers.js.map +1 -1
- package/cjs/collections/deck-notes.js +2 -2
- package/cjs/collections/deck-notes.js.map +1 -1
- package/cjs/collections/deck-versions.js +20 -8
- package/cjs/collections/deck-versions.js.map +1 -1
- package/cjs/collections/decks.js +2 -2
- package/cjs/collections/decks.js.map +1 -1
- package/cjs/collections/deleted-assets.js +2 -2
- package/cjs/collections/deleted-assets.js.map +1 -1
- package/cjs/collections/dispatches.js +4 -4
- package/cjs/collections/dispatches.js.map +1 -1
- package/cjs/collections/event-objects.js +2 -2
- package/cjs/collections/event-objects.js.map +1 -1
- package/cjs/collections/events.js +2 -2
- package/cjs/collections/events.js.map +1 -1
- package/cjs/collections/groups.js +2 -2
- package/cjs/collections/groups.js.map +1 -1
- package/cjs/collections/images.js +2 -2
- package/cjs/collections/images.js.map +1 -1
- package/cjs/collections/locations.js +2 -2
- package/cjs/collections/locations.js.map +1 -1
- package/cjs/collections/opportunities.js +2 -2
- package/cjs/collections/opportunities.js.map +1 -1
- package/cjs/collections/pack-diffs.js +2 -2
- package/cjs/collections/pack-diffs.js.map +1 -1
- package/cjs/collections/packs.js +2 -2
- package/cjs/collections/packs.js.map +1 -1
- package/cjs/collections/presets.js +2 -2
- package/cjs/collections/presets.js.map +1 -1
- package/cjs/collections/section-selections.js +2 -2
- package/cjs/collections/section-selections.js.map +1 -1
- package/cjs/collections/sections.js +2 -2
- package/cjs/collections/sections.js.map +1 -1
- package/cjs/collections/slide-selections.js +2 -2
- package/cjs/collections/slide-selections.js.map +1 -1
- package/cjs/collections/slides.js +2 -2
- package/cjs/collections/slides.js.map +1 -1
- package/cjs/collections/snapshots.js +2 -2
- package/cjs/collections/snapshots.js.map +1 -1
- package/cjs/collections/sub-slides.js +2 -2
- package/cjs/collections/sub-slides.js.map +1 -1
- package/cjs/collections/tags.js +28 -0
- package/cjs/collections/tags.js.map +1 -0
- package/cjs/collections/teams.js +2 -2
- package/cjs/collections/teams.js.map +1 -1
- package/cjs/collections/templates.js +2 -2
- package/cjs/collections/templates.js.map +1 -1
- package/cjs/collections/uploads.js +2 -2
- package/cjs/collections/uploads.js.map +1 -1
- package/cjs/collections/users.js +2 -2
- package/cjs/collections/users.js.map +1 -1
- package/cjs/collections.js +115 -0
- package/cjs/collections.js.map +1 -1
- package/cjs/index.js +3 -0
- package/cjs/index.js.map +1 -1
- package/cjs/middleware.js.map +1 -1
- package/cjs/middlewares/auth.js +10 -6
- package/cjs/middlewares/auth.js.map +1 -1
- package/cjs/middlewares/base.js +1 -3
- package/cjs/middlewares/base.js.map +1 -1
- package/cjs/middlewares/json.js +10 -6
- package/cjs/middlewares/json.js.map +1 -1
- package/cjs/middlewares/redirect.js +10 -6
- package/cjs/middlewares/redirect.js.map +1 -1
- package/cjs/models/activity-item.js +6 -2
- package/cjs/models/activity-item.js.map +1 -1
- package/cjs/models/adjunct-section.js +2 -2
- package/cjs/models/adjunct-section.js.map +1 -1
- package/cjs/models/adjunct-slide.js +2 -2
- package/cjs/models/adjunct-slide.js.map +1 -1
- package/cjs/models/adjunct-sub-slide.js +2 -2
- package/cjs/models/adjunct-sub-slide.js.map +1 -1
- package/cjs/models/adjunct.js +2 -2
- package/cjs/models/adjunct.js.map +1 -1
- package/cjs/models/api.js.map +1 -1
- package/cjs/models/appointment-adjunct-tags.js +52 -0
- package/cjs/models/appointment-adjunct-tags.js.map +1 -0
- package/cjs/models/appointment-deckversion-tags.js +52 -0
- package/cjs/models/appointment-deckversion-tags.js.map +1 -0
- package/cjs/models/appointment-duplicate.js +8 -3
- package/cjs/models/appointment-duplicate.js.map +1 -1
- package/cjs/models/appointment-editor.js +2 -2
- package/cjs/models/appointment-editor.js.map +1 -1
- package/cjs/models/appointment-section-tags.js +52 -0
- package/cjs/models/appointment-section-tags.js.map +1 -0
- package/cjs/models/appointment-slide-tags.js +52 -0
- package/cjs/models/appointment-slide-tags.js.map +1 -0
- package/cjs/models/appointment-stats.js +2 -2
- package/cjs/models/appointment-stats.js.map +1 -1
- package/cjs/models/appointment-tags.js +48 -0
- package/cjs/models/appointment-tags.js.map +1 -0
- package/cjs/models/appointment-viewing.js +2 -2
- package/cjs/models/appointment-viewing.js.map +1 -1
- package/cjs/models/appointment.js +16 -7
- package/cjs/models/appointment.js.map +1 -1
- package/cjs/models/asset.js +2 -2
- package/cjs/models/asset.js.map +1 -1
- package/cjs/models/auto-adjunct-key-check.js +2 -2
- package/cjs/models/auto-adjunct-key-check.js.map +1 -1
- package/cjs/models/auto-adjunct.js +2 -2
- package/cjs/models/auto-adjunct.js.map +1 -1
- package/cjs/models/base.js +25 -36
- package/cjs/models/base.js.map +1 -1
- package/cjs/models/base.spec.js +45 -45
- package/cjs/models/base.spec.js.map +1 -1
- package/cjs/models/choicelist.js.map +1 -1
- package/cjs/models/cms-val.js.map +1 -1
- package/cjs/models/contact.js +2 -2
- package/cjs/models/contact.js.map +1 -1
- package/cjs/models/customer.js +2 -2
- package/cjs/models/customer.js.map +1 -1
- package/cjs/models/deck-note.js +2 -2
- package/cjs/models/deck-note.js.map +1 -1
- package/cjs/models/deck-tags.js +61 -0
- package/cjs/models/deck-tags.js.map +1 -0
- package/cjs/models/deck-version.js +5 -3
- package/cjs/models/deck-version.js.map +1 -1
- package/cjs/models/deck.js +6 -3
- package/cjs/models/deck.js.map +1 -1
- package/cjs/models/dispatch-preview.js +3 -3
- package/cjs/models/dispatch-preview.js.map +1 -1
- package/cjs/models/dispatch.js +2 -2
- package/cjs/models/dispatch.js.map +1 -1
- package/cjs/models/envs.js.map +1 -1
- package/cjs/models/event-object.js +2 -2
- package/cjs/models/event-object.js.map +1 -1
- package/cjs/models/event.js +2 -2
- package/cjs/models/event.js.map +1 -1
- package/cjs/models/feed-data.js +2 -2
- package/cjs/models/feed-data.js.map +1 -1
- package/cjs/models/file.js +2 -2
- package/cjs/models/file.js.map +1 -1
- package/cjs/models/group.js +2 -2
- package/cjs/models/group.js.map +1 -1
- package/cjs/models/handover.js +2 -2
- package/cjs/models/handover.js.map +1 -1
- package/cjs/models/hosted-preso.js +2 -2
- package/cjs/models/hosted-preso.js.map +1 -1
- package/cjs/models/image.js +2 -2
- package/cjs/models/image.js.map +1 -1
- package/cjs/models/location.js +2 -2
- package/cjs/models/location.js.map +1 -1
- package/cjs/models/manifest-json.js +74 -57
- package/cjs/models/manifest-json.js.map +1 -1
- package/cjs/models/onshare.js +2 -2
- package/cjs/models/onshare.js.map +1 -1
- package/cjs/models/opportunity.js +2 -2
- package/cjs/models/opportunity.js.map +1 -1
- package/cjs/models/pack-diff.js +2 -2
- package/cjs/models/pack-diff.js.map +1 -1
- package/cjs/models/pack.js +2 -2
- package/cjs/models/pack.js.map +1 -1
- package/cjs/models/preset.js +22 -2
- package/cjs/models/preset.js.map +1 -1
- package/cjs/models/refresh-request.js +2 -2
- package/cjs/models/refresh-request.js.map +1 -1
- package/cjs/models/room.js +2 -2
- package/cjs/models/room.js.map +1 -1
- package/cjs/models/salesforce-lookup.js +2 -2
- package/cjs/models/salesforce-lookup.js.map +1 -1
- package/cjs/models/section-selection.js +2 -2
- package/cjs/models/section-selection.js.map +1 -1
- package/cjs/models/section.js +2 -2
- package/cjs/models/section.js.map +1 -1
- package/cjs/models/slide-selection.js +2 -2
- package/cjs/models/slide-selection.js.map +1 -1
- package/cjs/models/slide.js +2 -2
- package/cjs/models/slide.js.map +1 -1
- package/cjs/models/snapshot.js +2 -2
- package/cjs/models/snapshot.js.map +1 -1
- package/cjs/models/sub-slide.js +2 -2
- package/cjs/models/sub-slide.js.map +1 -1
- package/cjs/models/support-ticket.js +2 -2
- package/cjs/models/support-ticket.js.map +1 -1
- package/cjs/models/tag.js +54 -0
- package/cjs/models/tag.js.map +1 -0
- package/cjs/models/team.js +2 -2
- package/cjs/models/team.js.map +1 -1
- package/cjs/models/template.js +2 -2
- package/cjs/models/template.js.map +1 -1
- package/cjs/models/tenancy.js +2 -2
- package/cjs/models/tenancy.js.map +1 -1
- package/cjs/models/timing-log.js +20 -41
- package/cjs/models/timing-log.js.map +1 -1
- package/cjs/models/timing-log.spec.js +18 -86
- package/cjs/models/timing-log.spec.js.map +1 -1
- package/cjs/models/transcribe-socket.js +2 -2
- package/cjs/models/transcribe-socket.js.map +1 -1
- package/cjs/models/upload.js +2 -2
- package/cjs/models/upload.js.map +1 -1
- package/cjs/models/user.js +6 -4
- package/cjs/models/user.js.map +1 -1
- package/cjs/models/user.spec.js +10 -8
- package/cjs/models/user.spec.js.map +1 -1
- package/cjs/models.js +148 -0
- package/cjs/models.js.map +1 -1
- package/cjs/presentation/appointment-presentation.js +13 -5
- 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 +65 -0
- package/cjs/presentation/base-presentation-model.js.map +1 -1
- package/cjs/presentation/base-presentation-model.spec.js +87 -0
- package/cjs/presentation/base-presentation-model.spec.js.map +1 -1
- package/cjs/presentation/presentation-deck.js +31 -20
- package/cjs/presentation/presentation-deck.js.map +1 -1
- package/cjs/presentation/presentation-deck.spec.js +15 -13
- package/cjs/presentation/presentation-deck.spec.js.map +1 -1
- package/cjs/presentation/presentation-decks.js +2 -2
- package/cjs/presentation/presentation-decks.js.map +1 -1
- package/cjs/presentation/presentation-section.js +36 -17
- package/cjs/presentation/presentation-section.js.map +1 -1
- package/cjs/presentation/presentation-section.spec.js +418 -0
- package/cjs/presentation/presentation-section.spec.js.map +1 -0
- package/cjs/presentation/presentation-sections.js +2 -2
- package/cjs/presentation/presentation-sections.js.map +1 -1
- package/cjs/presentation/presentation-slide.js +35 -18
- package/cjs/presentation/presentation-slide.js.map +1 -1
- package/cjs/presentation/presentation-slide.spec.js +294 -0
- package/cjs/presentation/presentation-slide.spec.js.map +1 -0
- package/cjs/presentation/presentation-slides.js +2 -2
- package/cjs/presentation/presentation-slides.js.map +1 -1
- package/cjs/presentation/presentation-subslide.js +11 -7
- package/cjs/presentation/presentation-subslide.js.map +1 -1
- package/cjs/presentation/presentation-subslide.spec.js +68 -20
- package/cjs/presentation/presentation-subslide.spec.js.map +1 -1
- package/cjs/presentation/presentation-subslides.js +2 -2
- package/cjs/presentation/presentation-subslides.js.map +1 -1
- package/cjs/presentation/presentation.js +19 -9
- package/cjs/presentation/presentation.js.map +1 -1
- package/cjs/presentation.js +10 -0
- package/cjs/presentation.js.map +1 -1
- package/cjs/state-register.js +11 -1
- package/cjs/state-register.js.map +1 -1
- package/cjs/sync.js +7 -7
- package/cjs/sync.js.map +1 -1
- package/cjs/utils.js +7 -7
- package/cjs/utils.js.map +1 -1
- package/cjs/utils.spec.js.map +1 -1
- package/config/rush-project.json +53 -0
- package/index.js +0 -1
- package/jest.config.js +4 -4
- package/package.json +17 -59
- package/setup-tests.js +2 -1
- package/src/api.js +3 -3
- package/src/api.spec.js +3 -4
- package/src/auth.js +6 -7
- package/src/auth.spec.js +3 -4
- package/src/collections/activity.js +5 -6
- package/src/collections/adjunct-sections.js +4 -4
- package/src/collections/adjunct-slides.js +4 -4
- package/src/collections/adjunct-sub-slides.js +2 -2
- package/src/collections/appointment-adjunct-tags.js +18 -0
- package/src/collections/appointment-deckversion-tags.js +21 -0
- package/src/collections/appointment-duplicates.js +2 -2
- package/src/collections/appointment-editors.js +2 -2
- package/src/collections/appointment-section-tags.js +18 -0
- package/src/collections/appointment-slide-tags.js +18 -0
- package/src/collections/appointment-tags.js +136 -0
- package/src/collections/appointments.js +18 -23
- package/src/collections/assets.js +2 -2
- package/src/collections/auto-adjuncts.js +5 -5
- package/src/collections/base.js +17 -18
- package/src/collections/base.spec.js +7 -8
- package/src/collections/cms-vals.js +3 -3
- package/src/collections/contacts.js +2 -2
- package/src/collections/created-assets.js +2 -2
- package/src/collections/customers.js +2 -2
- package/src/collections/deck-notes.js +2 -2
- package/src/collections/deck-versions.js +18 -15
- package/src/collections/decks.js +2 -2
- package/src/collections/deleted-assets.js +2 -2
- package/src/collections/dispatches.js +8 -13
- package/src/collections/event-objects.js +2 -2
- package/src/collections/events.js +2 -2
- package/src/collections/groups.js +2 -2
- package/src/collections/images.js +2 -2
- package/src/collections/locations.js +2 -2
- package/src/collections/opportunities.js +2 -2
- package/src/collections/pack-diffs.js +2 -2
- package/src/collections/packs.js +2 -2
- package/src/collections/presets.js +2 -2
- package/src/collections/section-selections.js +4 -4
- package/src/collections/sections.js +2 -2
- package/src/collections/slide-selections.js +4 -4
- package/src/collections/slides.js +2 -2
- package/src/collections/snapshots.js +2 -2
- package/src/collections/sub-slides.js +2 -2
- package/src/collections/tags.js +18 -0
- package/src/collections/teams.js +2 -2
- package/src/collections/templates.js +2 -2
- package/src/collections/uploads.js +2 -2
- package/src/collections/users.js +2 -2
- package/src/collections.js +6 -0
- package/src/index.js +1 -4
- package/src/middleware.js +1 -1
- package/src/middlewares/json.js +2 -2
- package/src/middlewares/redirect.js +1 -2
- package/src/models/activity-item.js +6 -6
- package/src/models/adjunct-section.js +5 -5
- package/src/models/adjunct-slide.js +5 -5
- package/src/models/adjunct-sub-slide.js +5 -5
- package/src/models/adjunct.js +4 -4
- package/src/models/api.js +1 -1
- package/src/models/appointment-adjunct-tags.js +41 -0
- package/src/models/appointment-deckversion-tags.js +41 -0
- package/src/models/appointment-duplicate.js +7 -7
- package/src/models/appointment-editor.js +6 -6
- package/src/models/appointment-section-tags.js +41 -0
- package/src/models/appointment-slide-tags.js +41 -0
- package/src/models/appointment-stats.js +5 -5
- package/src/models/appointment-tags.js +39 -0
- package/src/models/appointment-viewing.js +3 -3
- package/src/models/appointment.js +35 -29
- package/src/models/asset.js +5 -5
- package/src/models/auto-adjunct-key-check.js +5 -5
- package/src/models/auto-adjunct.js +4 -4
- package/src/models/base.js +36 -37
- package/src/models/base.spec.js +61 -62
- package/src/models/choicelist.js +2 -2
- package/src/models/cms-val.js +3 -3
- package/src/models/contact.js +9 -9
- package/src/models/customer.js +13 -13
- package/src/models/deck-note.js +4 -4
- package/src/models/deck-tags.js +52 -0
- package/src/models/deck-version.js +9 -8
- package/src/models/deck.js +8 -6
- package/src/models/dispatch-preview.js +6 -7
- package/src/models/dispatch.js +6 -7
- package/src/models/envs.js +1 -1
- package/src/models/event-object.js +6 -6
- package/src/models/event.js +7 -7
- package/src/models/feed-data.js +5 -5
- package/src/models/file.js +4 -4
- package/src/models/group.js +3 -3
- package/src/models/handover.js +5 -5
- package/src/models/hosted-preso.js +5 -5
- package/src/models/image.js +4 -4
- package/src/models/location.js +5 -5
- package/src/models/manifest-json.js +68 -30
- package/src/models/onshare.js +5 -5
- package/src/models/opportunity.js +5 -5
- package/src/models/pack-diff.js +5 -5
- package/src/models/pack.js +4 -4
- package/src/models/preset.js +24 -5
- package/src/models/refresh-request.js +6 -6
- package/src/models/room.js +3 -3
- package/src/models/salesforce-lookup.js +3 -3
- package/src/models/section-selection.js +6 -6
- package/src/models/section.js +7 -7
- package/src/models/slide-selection.js +6 -6
- package/src/models/slide.js +7 -7
- package/src/models/snapshot.js +5 -5
- package/src/models/sub-slide.js +5 -5
- package/src/models/support-ticket.js +4 -4
- package/src/models/tag.js +42 -0
- package/src/models/team.js +4 -4
- package/src/models/template.js +4 -4
- package/src/models/tenancy.js +5 -5
- package/src/models/timing-log.js +18 -18
- package/src/models/timing-log.spec.js +28 -29
- package/src/models/transcribe-socket.js +3 -3
- package/src/models/upload.js +3 -3
- package/src/models/user.js +24 -20
- package/src/models/user.spec.js +2 -2
- package/src/models.js +7 -0
- package/src/presentation/appointment-presentation.js +14 -10
- package/src/presentation/base-presentation-model.js +67 -5
- package/src/presentation/base-presentation-model.spec.js +114 -22
- package/src/presentation/presentation-deck.js +54 -52
- package/src/presentation/presentation-deck.spec.js +26 -27
- package/src/presentation/presentation-decks.js +2 -2
- package/src/presentation/presentation-section.js +62 -48
- package/src/presentation/presentation-section.spec.js +363 -0
- package/src/presentation/presentation-sections.js +2 -2
- package/src/presentation/presentation-slide.js +51 -36
- package/src/presentation/presentation-slide.spec.js +250 -0
- package/src/presentation/presentation-slides.js +2 -2
- package/src/presentation/presentation-subslide.js +24 -17
- package/src/presentation/presentation-subslide.spec.js +40 -12
- package/src/presentation/presentation-subslides.js +2 -2
- package/src/presentation/presentation.js +27 -15
- package/src/state-register.js +7 -0
- package/src/sync.js +21 -23
- package/src/utils.js +8 -7
- package/src/utils.spec.js +15 -15
- package/.editorconfig +0 -9
- package/.eslintrc +0 -25
- package/.prettierrc.js +0 -3
- package/jsdoc.json +0 -12
- package/yarn.lock +0 -8099
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { getState, register } from "../state-register.js";
|
|
2
|
+
|
|
3
|
+
import { BaseCollection } from "./base.js";
|
|
4
|
+
import _ from "lodash";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @constructor
|
|
8
|
+
* @alias collections.AppointmentTagsCollection
|
|
9
|
+
* @extends collections.BaseCollection
|
|
10
|
+
* @see models.AppointmentTagsModel
|
|
11
|
+
*/
|
|
12
|
+
export const AppointmentTagsCollection = BaseCollection.extend(
|
|
13
|
+
/** @lends collections.AppointmentTagsCollection# */ {
|
|
14
|
+
model: "AppointmentTagsModel",
|
|
15
|
+
|
|
16
|
+
tagNameCollectionMapping: {
|
|
17
|
+
deckversion: "AppointmentDeckVersionTagsCollection",
|
|
18
|
+
section: "AppointmentSectionTagsCollection",
|
|
19
|
+
slide: "AppointmentSlideTagsCollection",
|
|
20
|
+
adjunct: "AppointmentAdjunctTagsCollection",
|
|
21
|
+
},
|
|
22
|
+
|
|
23
|
+
_mapResultsToModel(result) {
|
|
24
|
+
// Maps a model from a content specific tag to a more generic one.
|
|
25
|
+
// It's generally the same thing, except instead of something like:
|
|
26
|
+
//
|
|
27
|
+
// slide: "/api/slides/1/"
|
|
28
|
+
//
|
|
29
|
+
// It becomes:
|
|
30
|
+
//
|
|
31
|
+
// content_type: "slide",
|
|
32
|
+
// content_url: "/api/slides/1/"
|
|
33
|
+
//
|
|
34
|
+
// So that we can return the list side by side.
|
|
35
|
+
const AppointmentTagsModel = getState("AppointmentTagsModel");
|
|
36
|
+
const resultType = Object.keys(result).find((key) => {
|
|
37
|
+
return Object.keys(this.tagNameCollectionMapping).includes(key);
|
|
38
|
+
});
|
|
39
|
+
if (!resultType) {
|
|
40
|
+
throw new Error("Unknown type of result found");
|
|
41
|
+
}
|
|
42
|
+
return new AppointmentTagsModel({
|
|
43
|
+
tags: result.tags,
|
|
44
|
+
content_type: resultType,
|
|
45
|
+
content_url: result[resultType],
|
|
46
|
+
appointment: result.appointment,
|
|
47
|
+
user: result.user,
|
|
48
|
+
url: result.url,
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
// These methods don't quite make sense right now, disable it for development.
|
|
53
|
+
async fetchSet() {
|
|
54
|
+
throw new Error("Not implemented");
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
async fetchModels() {
|
|
58
|
+
throw new Error("Not implemented");
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
async delete() {
|
|
62
|
+
throw new Error("Cannot delete using this collection");
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
async save() {
|
|
66
|
+
throw new Error("Not implemented");
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
async fetch(options) {
|
|
70
|
+
const AppointmentModel = getState("AppointmentModel");
|
|
71
|
+
|
|
72
|
+
let hasAppointment =
|
|
73
|
+
this._options?.appointment instanceof AppointmentModel ||
|
|
74
|
+
options?.appointment instanceof AppointmentModel;
|
|
75
|
+
|
|
76
|
+
if (!hasAppointment && this.parent instanceof AppointmentModel) {
|
|
77
|
+
options.appointment = this.parent;
|
|
78
|
+
hasAppointment = true;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (!hasAppointment) {
|
|
82
|
+
throw new Error(
|
|
83
|
+
"Requires an appointment model in collection options to fetch."
|
|
84
|
+
);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const tagModels = Object.values(this.tagNameCollectionMapping);
|
|
88
|
+
// Fetch all the separate tag models and combine them into a single collection
|
|
89
|
+
const results = (
|
|
90
|
+
await Promise.all(
|
|
91
|
+
tagModels.map((tagModel) => {
|
|
92
|
+
const Collection = getState(tagModel);
|
|
93
|
+
const tags = new Collection({}, this._options);
|
|
94
|
+
return tags.fetch(options);
|
|
95
|
+
})
|
|
96
|
+
)
|
|
97
|
+
)
|
|
98
|
+
.flatMap((collection) => collection.results)
|
|
99
|
+
.map(this._mapResultsToModel.bind(this));
|
|
100
|
+
|
|
101
|
+
this.add(results);
|
|
102
|
+
|
|
103
|
+
return {
|
|
104
|
+
count: results.length,
|
|
105
|
+
next: null,
|
|
106
|
+
previous: null,
|
|
107
|
+
results: this.toJSON(),
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
|
|
111
|
+
// Used by Telepresenter to add the tags in the hostedpreso bundle to
|
|
112
|
+
// the appointment tags collection
|
|
113
|
+
addFromAppointment(appointment) {
|
|
114
|
+
const tagCollectionNames = [
|
|
115
|
+
"appointmentdeckversiontags_set",
|
|
116
|
+
"appointmentsectiontags_set",
|
|
117
|
+
"appointmentslidetags_set",
|
|
118
|
+
"appointmentadjuncttags_set",
|
|
119
|
+
];
|
|
120
|
+
|
|
121
|
+
// flatMap currently doesn't work in TelePresenter
|
|
122
|
+
const results = _.flatten(
|
|
123
|
+
tagCollectionNames.map((collectionName) => {
|
|
124
|
+
const collection = appointment[collectionName];
|
|
125
|
+
return collection?._data || [];
|
|
126
|
+
})
|
|
127
|
+
).map(this._mapResultsToModel.bind(this));
|
|
128
|
+
|
|
129
|
+
this.add(results);
|
|
130
|
+
},
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
|
|
134
|
+
AppointmentTagsCollection.canBeEmpty = true;
|
|
135
|
+
|
|
136
|
+
register("AppointmentTagsCollection", AppointmentTagsCollection);
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import "../models/appointment.js";
|
|
2
2
|
|
|
3
|
-
import moment from "moment";
|
|
4
|
-
|
|
5
3
|
import { Auth } from "../auth.js";
|
|
4
|
+
import { BaseCollection } from "./base.js";
|
|
6
5
|
import log from "../log.js";
|
|
6
|
+
import moment from "moment";
|
|
7
7
|
import { register } from "../state-register.js";
|
|
8
|
-
import { BaseCollection } from "./base.js";
|
|
9
8
|
|
|
10
9
|
/**
|
|
11
10
|
* @constructor
|
|
@@ -47,7 +46,11 @@ export const AppointmentCollection = BaseCollection.extend(
|
|
|
47
46
|
) {
|
|
48
47
|
return this.fetch({
|
|
49
48
|
...options,
|
|
50
|
-
data: AppointmentCollection.monthParametersForUser(
|
|
49
|
+
data: AppointmentCollection.monthParametersForUser(
|
|
50
|
+
date,
|
|
51
|
+
userID,
|
|
52
|
+
"sort"
|
|
53
|
+
),
|
|
51
54
|
});
|
|
52
55
|
},
|
|
53
56
|
|
|
@@ -62,7 +65,7 @@ export const AppointmentCollection = BaseCollection.extend(
|
|
|
62
65
|
date,
|
|
63
66
|
userID,
|
|
64
67
|
"sort"
|
|
65
|
-
)
|
|
68
|
+
),
|
|
66
69
|
});
|
|
67
70
|
},
|
|
68
71
|
|
|
@@ -78,9 +81,9 @@ export const AppointmentCollection = BaseCollection.extend(
|
|
|
78
81
|
date,
|
|
79
82
|
userID,
|
|
80
83
|
"created"
|
|
81
|
-
)
|
|
84
|
+
),
|
|
82
85
|
});
|
|
83
|
-
}
|
|
86
|
+
},
|
|
84
87
|
}
|
|
85
88
|
);
|
|
86
89
|
|
|
@@ -93,22 +96,18 @@ export const AppointmentCollection = BaseCollection.extend(
|
|
|
93
96
|
* @param {string} [parameter="sort"]
|
|
94
97
|
* @returns {object}
|
|
95
98
|
*/
|
|
96
|
-
AppointmentCollection.fortnightParametersForUser = function(
|
|
99
|
+
AppointmentCollection.fortnightParametersForUser = function (
|
|
97
100
|
date,
|
|
98
101
|
userID = Auth.user.id,
|
|
99
102
|
parameter = "sort"
|
|
100
103
|
) {
|
|
101
|
-
const dateFrom = moment(date)
|
|
102
|
-
|
|
103
|
-
.format();
|
|
104
|
-
const dateTo = moment(date)
|
|
105
|
-
.add(1, "week")
|
|
106
|
-
.format();
|
|
104
|
+
const dateFrom = moment(date).subtract(1, "week").format();
|
|
105
|
+
const dateTo = moment(date).add(1, "week").format();
|
|
107
106
|
|
|
108
107
|
// The server only returns apts with 'ready' creation status by default
|
|
109
108
|
const data = {
|
|
110
109
|
user: userID,
|
|
111
|
-
creation_status: ["processing", "ready"]
|
|
110
|
+
creation_status: ["processing", "ready"],
|
|
112
111
|
};
|
|
113
112
|
|
|
114
113
|
data[`${parameter}_date__gte`] = dateFrom;
|
|
@@ -126,22 +125,18 @@ AppointmentCollection.fortnightParametersForUser = function(
|
|
|
126
125
|
* @param {string} [parameter="sort"]
|
|
127
126
|
* @returns {object}
|
|
128
127
|
*/
|
|
129
|
-
AppointmentCollection.monthParametersForUser = function(
|
|
128
|
+
AppointmentCollection.monthParametersForUser = function (
|
|
130
129
|
date,
|
|
131
130
|
userID = Auth.user.id,
|
|
132
131
|
parameter = "sort"
|
|
133
132
|
) {
|
|
134
|
-
const dateFrom = moment(date)
|
|
135
|
-
|
|
136
|
-
.format();
|
|
137
|
-
const dateTo = moment(date)
|
|
138
|
-
.endOf("month")
|
|
139
|
-
.format();
|
|
133
|
+
const dateFrom = moment(date).startOf("month").format();
|
|
134
|
+
const dateTo = moment(date).endOf("month").format();
|
|
140
135
|
|
|
141
136
|
// The server only returns apts with 'ready' creation status by default
|
|
142
137
|
const data = {
|
|
143
138
|
user: userID,
|
|
144
|
-
creation_status: ["processing", "ready"]
|
|
139
|
+
creation_status: ["processing", "ready"],
|
|
145
140
|
};
|
|
146
141
|
|
|
147
142
|
data[`${parameter}_date__gte`] = dateFrom;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../models/asset.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BaseCollection } from "./base.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -11,7 +11,7 @@ import { BaseCollection } from "./base.js";
|
|
|
11
11
|
*/
|
|
12
12
|
export const AssetCollection = BaseCollection.extend(
|
|
13
13
|
/** @lends collections.AssetCollection# */ {
|
|
14
|
-
model: "AssetModel"
|
|
14
|
+
model: "AssetModel",
|
|
15
15
|
}
|
|
16
16
|
);
|
|
17
17
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "../models/auto-adjunct.js";
|
|
2
2
|
|
|
3
3
|
import Auth from "../auth.js";
|
|
4
|
-
import { register } from "../state-register.js";
|
|
5
4
|
import { BaseCollection } from "./base.js";
|
|
5
|
+
import { register } from "../state-register.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @constructor
|
|
@@ -19,8 +19,8 @@ export const AutoAdjunctCollection = BaseCollection.extend(
|
|
|
19
19
|
return this.fetch({
|
|
20
20
|
...options,
|
|
21
21
|
data: {
|
|
22
|
-
deck: deckID
|
|
23
|
-
}
|
|
22
|
+
deck: deckID,
|
|
23
|
+
},
|
|
24
24
|
});
|
|
25
25
|
},
|
|
26
26
|
|
|
@@ -39,11 +39,11 @@ export const AutoAdjunctCollection = BaseCollection.extend(
|
|
|
39
39
|
// the authorized user is a part of. This is mostly for the case where
|
|
40
40
|
// a 'global' temp slide admin could end up seeing autoadjuncts for
|
|
41
41
|
// many teams - which would be increadibly confusing.
|
|
42
|
-
opts.data.team = [null].concat(user.team_set.map(team => team.id));
|
|
42
|
+
opts.data.team = [null].concat(user.team_set.map((team) => team.id));
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
return BaseCollection.prototype.fetch.call(this, opts);
|
|
46
|
-
}
|
|
46
|
+
},
|
|
47
47
|
}
|
|
48
48
|
);
|
|
49
49
|
|
package/src/collections/base.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
import { Api } from "../api.js";
|
|
2
|
+
import { BaseModel } from "../models/base.js";
|
|
1
3
|
import Collection from "ampersand-rest-collection";
|
|
2
4
|
import Promise from "bluebird";
|
|
3
5
|
import _ from "lodash";
|
|
4
|
-
import qs from "qs";
|
|
5
|
-
|
|
6
|
-
import { Api } from "../api.js";
|
|
7
6
|
import log from "../log.js";
|
|
8
|
-
import
|
|
7
|
+
import qs from "qs";
|
|
9
8
|
import { registeredStates } from "../state-register.js";
|
|
10
9
|
import { sync } from "../sync.js";
|
|
11
10
|
|
|
@@ -32,12 +31,12 @@ export const BaseCollection = Collection.extend(
|
|
|
32
31
|
urlMatchKeys: {},
|
|
33
32
|
|
|
34
33
|
defaultFetchData: {
|
|
35
|
-
per_page: 1000
|
|
34
|
+
per_page: 1000,
|
|
36
35
|
},
|
|
37
36
|
|
|
38
37
|
constructor(data = {}, opts = {}) {
|
|
39
38
|
const options = _.defaults(opts, {
|
|
40
|
-
data: {}
|
|
39
|
+
data: {},
|
|
41
40
|
});
|
|
42
41
|
|
|
43
42
|
// We ensure that we pass an array because we don't want the collection constructor to
|
|
@@ -175,11 +174,11 @@ export const BaseCollection = Collection.extend(
|
|
|
175
174
|
},
|
|
176
175
|
|
|
177
176
|
fetchModels(options = {}) {
|
|
178
|
-
return Promise.all(this.models.map(model => model.fetch(options)));
|
|
177
|
+
return Promise.all(this.models.map((model) => model.fetch(options)));
|
|
179
178
|
},
|
|
180
179
|
|
|
181
180
|
fetchSet(opts = {}) {
|
|
182
|
-
const idSet = this.models.map(model => model.id);
|
|
181
|
+
const idSet = this.models.map((model) => model.id);
|
|
183
182
|
|
|
184
183
|
if (!idSet.length) {
|
|
185
184
|
log.warn(`Tried to fetch ${this.modelName} set with no models`);
|
|
@@ -191,14 +190,14 @@ export const BaseCollection = Collection.extend(
|
|
|
191
190
|
const options = {
|
|
192
191
|
data: {
|
|
193
192
|
...data,
|
|
194
|
-
id: idSet
|
|
193
|
+
id: idSet,
|
|
195
194
|
},
|
|
196
|
-
...otherOpts
|
|
195
|
+
...otherOpts,
|
|
197
196
|
};
|
|
198
197
|
|
|
199
198
|
// Necessary because these models were already initialised before the fetch,
|
|
200
199
|
// and the children weren't updated correctly with the new data.
|
|
201
|
-
return this.fetch(options).tap(data => {
|
|
200
|
+
return this.fetch(options).tap((data) => {
|
|
202
201
|
this.reset();
|
|
203
202
|
this.add(data.results);
|
|
204
203
|
});
|
|
@@ -216,13 +215,13 @@ export const BaseCollection = Collection.extend(
|
|
|
216
215
|
this._url = options.url;
|
|
217
216
|
}
|
|
218
217
|
|
|
219
|
-
return Collection.prototype.fetch.call(this, options).tap(response => {
|
|
218
|
+
return Collection.prototype.fetch.call(this, options).tap((response) => {
|
|
220
219
|
this._data = response;
|
|
221
220
|
});
|
|
222
221
|
},
|
|
223
222
|
|
|
224
223
|
toServer() {
|
|
225
|
-
return this.map(function(model) {
|
|
224
|
+
return this.map(function (model) {
|
|
226
225
|
if (model.toServer) {
|
|
227
226
|
return model.toServer();
|
|
228
227
|
} else if (model.serialize) {
|
|
@@ -261,7 +260,7 @@ export const BaseCollection = Collection.extend(
|
|
|
261
260
|
}
|
|
262
261
|
|
|
263
262
|
return Promise.all(
|
|
264
|
-
this.map(model => {
|
|
263
|
+
this.map((model) => {
|
|
265
264
|
return model.save(model.toServer(), options);
|
|
266
265
|
})
|
|
267
266
|
);
|
|
@@ -275,7 +274,7 @@ export const BaseCollection = Collection.extend(
|
|
|
275
274
|
}
|
|
276
275
|
|
|
277
276
|
return Promise.all(
|
|
278
|
-
this.map(model => {
|
|
277
|
+
this.map((model) => {
|
|
279
278
|
return model.delete(model.toServer(), options);
|
|
280
279
|
})
|
|
281
280
|
);
|
|
@@ -293,17 +292,17 @@ export const BaseCollection = Collection.extend(
|
|
|
293
292
|
// can be passed to the model.
|
|
294
293
|
//
|
|
295
294
|
// TODO: Regex match for URLs
|
|
296
|
-
return results.map(function(attr) {
|
|
295
|
+
return results.map(function (attr) {
|
|
297
296
|
return { url: attr };
|
|
298
297
|
});
|
|
299
298
|
}
|
|
300
299
|
|
|
301
300
|
return results;
|
|
302
|
-
}
|
|
301
|
+
},
|
|
303
302
|
}
|
|
304
303
|
);
|
|
305
304
|
|
|
306
305
|
// Make matchesURL available as a static method
|
|
307
|
-
BaseCollection.matchesURL = function(url) {
|
|
306
|
+
BaseCollection.matchesURL = function (url) {
|
|
308
307
|
return this.prototype.matchesURL(url);
|
|
309
308
|
};
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
+
import { BaseCollection } from "./base.js";
|
|
2
|
+
import { BaseModel } from "../models/base.js";
|
|
1
3
|
import { G } from "sp-test/api";
|
|
2
4
|
import td from "testdouble";
|
|
3
5
|
|
|
4
|
-
import { BaseModel } from "../models/base.js";
|
|
5
|
-
import { BaseCollection } from "./base.js";
|
|
6
|
-
|
|
7
6
|
it("should parse an array of urls into models", () => {
|
|
8
7
|
G(BaseModel, "TestModel").extend({ modelName: "tests" });
|
|
9
8
|
const Collection = G(BaseCollection).extend({
|
|
10
|
-
model: "TestModel"
|
|
9
|
+
model: "TestModel",
|
|
11
10
|
});
|
|
12
11
|
const collection = new Collection(["/api/tests/1/", "/api/tests/2/"]);
|
|
13
12
|
expect(collection.models).toHaveLength(2);
|
|
14
13
|
});
|
|
15
14
|
|
|
16
|
-
it("should fetch the individual models in the collection", async function() {
|
|
15
|
+
it("should fetch the individual models in the collection", async function () {
|
|
17
16
|
G(BaseModel, "TestModel");
|
|
18
17
|
const Collection = G(BaseCollection).extend({ model: "TestModel" });
|
|
19
18
|
const collection = new Collection([{ id: 1 }, { id: 2 }]);
|
|
@@ -86,12 +85,12 @@ it("should query multiple values if using an array", () => {
|
|
|
86
85
|
const Collection = G(BaseCollection);
|
|
87
86
|
const collection = new Collection(
|
|
88
87
|
{
|
|
89
|
-
url: "/api/appointments/"
|
|
88
|
+
url: "/api/appointments/",
|
|
90
89
|
},
|
|
91
90
|
{
|
|
92
91
|
data: {
|
|
93
|
-
foo: [1, 2, null]
|
|
94
|
-
}
|
|
92
|
+
foo: [1, 2, null],
|
|
93
|
+
},
|
|
95
94
|
}
|
|
96
95
|
);
|
|
97
96
|
expect(collection.url()).toEqual(
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "../models/cms-val.js";
|
|
2
2
|
|
|
3
3
|
import Auth from "../auth.js";
|
|
4
|
-
import { register } from "../state-register.js";
|
|
5
4
|
import { BaseCollection } from "./base.js";
|
|
5
|
+
import { register } from "../state-register.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @constructor
|
|
@@ -29,11 +29,11 @@ export const CMSValCollection = BaseCollection.extend(
|
|
|
29
29
|
// the authorized user is a part of. This is mostly for the case where
|
|
30
30
|
// a 'global' temp slide admin could end up seeing autoadjuncts for
|
|
31
31
|
// many teams - which would be increadibly confusing.
|
|
32
|
-
opts.data.team = [null].concat(user.team_set.map(team => team.id));
|
|
32
|
+
opts.data.team = [null].concat(user.team_set.map((team) => team.id));
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
return BaseCollection.prototype.fetch.call(this, opts);
|
|
36
|
-
}
|
|
36
|
+
},
|
|
37
37
|
}
|
|
38
38
|
);
|
|
39
39
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../models/contact.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BaseCollection } from "./base.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -11,7 +11,7 @@ import { BaseCollection } from "./base.js";
|
|
|
11
11
|
*/
|
|
12
12
|
export const ContactCollection = BaseCollection.extend(
|
|
13
13
|
/** @lends collections.ContactCollection# */ {
|
|
14
|
-
model: "ContactModel"
|
|
14
|
+
model: "ContactModel",
|
|
15
15
|
}
|
|
16
16
|
);
|
|
17
17
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../models/asset.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BaseCollection } from "./base.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -19,7 +19,7 @@ export const CreatedAssetCollection = BaseCollection.extend(
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
return BaseCollection.prototype.url.call(this);
|
|
22
|
-
}
|
|
22
|
+
},
|
|
23
23
|
}
|
|
24
24
|
);
|
|
25
25
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../models/customer.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BaseCollection } from "./base.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -11,7 +11,7 @@ import { BaseCollection } from "./base.js";
|
|
|
11
11
|
*/
|
|
12
12
|
export const CustomerCollection = BaseCollection.extend(
|
|
13
13
|
/** @lends collections.CustomerCollection# */ {
|
|
14
|
-
model: "CustomerModel"
|
|
14
|
+
model: "CustomerModel",
|
|
15
15
|
}
|
|
16
16
|
);
|
|
17
17
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../models/deck-note.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BaseCollection } from "./base.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -18,7 +18,7 @@ export const DeckNoteCollection = BaseCollection.extend(
|
|
|
18
18
|
return this.getFullURLPath(`${this.parent.getPlainURL()}notes/`);
|
|
19
19
|
}
|
|
20
20
|
return BaseCollection.prototype.url.call(this);
|
|
21
|
-
}
|
|
21
|
+
},
|
|
22
22
|
}
|
|
23
23
|
);
|
|
24
24
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import "../models/deck-version.js";
|
|
2
2
|
|
|
3
|
+
import { Auth } from "../auth.js";
|
|
4
|
+
import { BaseCollection } from "./base.js";
|
|
3
5
|
import moment from "moment";
|
|
4
|
-
|
|
5
6
|
import { register } from "../state-register.js";
|
|
6
|
-
import { BaseCollection } from "./base.js";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* @constructor
|
|
@@ -29,24 +29,27 @@ export const DeckVersionCollection = BaseCollection.extend(
|
|
|
29
29
|
*/
|
|
30
30
|
fetchForUser(userID, dateFrom, dateTo, options = {}) {
|
|
31
31
|
const FORMAT = "YYYY-MM-DDTHH:mm:ssZ";
|
|
32
|
-
const dateFromMoment = moment(dateFrom)
|
|
33
|
-
|
|
34
|
-
.format(FORMAT);
|
|
35
|
-
const dateToMoment = moment(dateTo)
|
|
36
|
-
.endOf("day")
|
|
37
|
-
.format(FORMAT);
|
|
32
|
+
const dateFromMoment = moment(dateFrom).startOf("day").format(FORMAT);
|
|
33
|
+
const dateToMoment = moment(dateTo).endOf("day").format(FORMAT);
|
|
38
34
|
const url = `${this.urlRoot()}scheduled/`;
|
|
39
35
|
|
|
36
|
+
const data = {
|
|
37
|
+
user: userID,
|
|
38
|
+
begin__gte: dateFromMoment,
|
|
39
|
+
begin__lte: dateToMoment,
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// Allow content creators to immediately sync imaging deckversions
|
|
43
|
+
if (Auth.user.permissions.appointments.isContentCreator) {
|
|
44
|
+
data.creation_status = ["imaging", "created"];
|
|
45
|
+
}
|
|
46
|
+
|
|
40
47
|
return this.fetch({
|
|
41
48
|
url,
|
|
42
|
-
data
|
|
43
|
-
|
|
44
|
-
begin__gte: dateFromMoment,
|
|
45
|
-
begin__lte: dateToMoment
|
|
46
|
-
},
|
|
47
|
-
...options
|
|
49
|
+
data,
|
|
50
|
+
...options,
|
|
48
51
|
});
|
|
49
|
-
}
|
|
52
|
+
},
|
|
50
53
|
}
|
|
51
54
|
);
|
|
52
55
|
|
package/src/collections/decks.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../models/deck.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BaseCollection } from "./base.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -11,7 +11,7 @@ import { BaseCollection } from "./base.js";
|
|
|
11
11
|
*/
|
|
12
12
|
export const DeckCollection = BaseCollection.extend(
|
|
13
13
|
/** @lends collections.DeckCollection# */ {
|
|
14
|
-
model: "DeckModel"
|
|
14
|
+
model: "DeckModel",
|
|
15
15
|
}
|
|
16
16
|
);
|
|
17
17
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "../models/asset.js";
|
|
2
2
|
|
|
3
|
-
import { register } from "../state-register.js";
|
|
4
3
|
import { BaseCollection } from "./base.js";
|
|
4
|
+
import { register } from "../state-register.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* @constructor
|
|
@@ -19,7 +19,7 @@ export const DeletedAssetCollection = BaseCollection.extend(
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
return BaseCollection.prototype.url.call(this);
|
|
22
|
-
}
|
|
22
|
+
},
|
|
23
23
|
}
|
|
24
24
|
);
|
|
25
25
|
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import "../models/dispatch.js";
|
|
2
2
|
|
|
3
|
-
import moment from "moment";
|
|
4
|
-
|
|
5
3
|
import { Auth } from "../auth.js";
|
|
6
|
-
import { register } from "../state-register.js";
|
|
7
4
|
import { BaseCollection } from "./base.js";
|
|
5
|
+
import moment from "moment";
|
|
6
|
+
import { register } from "../state-register.js";
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* @constructor
|
|
@@ -17,24 +16,20 @@ export const DispatchCollection = BaseCollection.extend(
|
|
|
17
16
|
model: "DispatchModel",
|
|
18
17
|
|
|
19
18
|
fetchCreatedMonthForUser(date, userID = Auth.user.id) {
|
|
20
|
-
const dateFrom = moment(date)
|
|
21
|
-
|
|
22
|
-
.format();
|
|
23
|
-
const dateTo = moment(date)
|
|
24
|
-
.endOf("month")
|
|
25
|
-
.format();
|
|
19
|
+
const dateFrom = moment(date).startOf("month").format();
|
|
20
|
+
const dateTo = moment(date).endOf("month").format();
|
|
26
21
|
|
|
27
22
|
return this.fetch({
|
|
28
23
|
data: {
|
|
29
24
|
user: userID,
|
|
30
25
|
created_date__gte: dateFrom,
|
|
31
|
-
created_date__lte: dateTo
|
|
32
|
-
}
|
|
26
|
+
created_date__lte: dateTo,
|
|
27
|
+
},
|
|
33
28
|
});
|
|
34
29
|
},
|
|
35
30
|
|
|
36
31
|
serialize() {
|
|
37
|
-
return this.models.map(model => model.serialize());
|
|
32
|
+
return this.models.map((model) => model.serialize());
|
|
38
33
|
},
|
|
39
34
|
|
|
40
35
|
url() {
|
|
@@ -45,7 +40,7 @@ export const DispatchCollection = BaseCollection.extend(
|
|
|
45
40
|
}
|
|
46
41
|
|
|
47
42
|
return BaseCollection.prototype.url.call(this);
|
|
48
|
-
}
|
|
43
|
+
},
|
|
49
44
|
}
|
|
50
45
|
);
|
|
51
46
|
|