@sparkle-learning/core 0.0.16 → 0.0.20
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/dist/cjs/{PrivateRoute-946ab42c.js → PrivateRoute-cee9b061.js} +44 -45
- package/dist/cjs/{active-router-dca7573e.js → active-router-3bd7b540.js} +1 -1
- package/dist/cjs/{app-globals-bea78913.js → app-globals-98121d6d.js} +1 -1
- package/dist/cjs/{assets.service-5098e79c.js → assets.service-0c759d51.js} +2 -27
- package/dist/cjs/{httpService-6377985c.js → auth.store-aba3d22f.js} +31 -5
- package/dist/cjs/{button-active-1edcd24e.js → button-active-9456fb4d.js} +1 -1
- package/dist/cjs/compass-svg.cjs.entry.js +132 -0
- package/dist/cjs/context-consumer.cjs.entry.js +1 -1
- package/dist/cjs/course-select.cjs.entry.js +1 -1
- package/dist/cjs/environment-config.service-0e02b049.js +29 -0
- package/dist/cjs/facilitator.service-e1e2f719.js +94 -0
- package/dist/cjs/feed.service-518d18fd.js +5802 -0
- package/dist/cjs/header-mobile-collapse_60.cjs.entry.js +86 -0
- package/dist/cjs/{icons-fc80a947.js → icons-a0fef92b.js} +2 -8
- package/dist/cjs/{index-123ceda0.js → index-58b3ee93.js} +3 -3
- package/dist/cjs/{index-786a6369.js → index-7bcd36a0.js} +1 -1
- package/dist/cjs/{index-56cc404a.js → index-fbf4d3bf.js} +2 -0
- package/dist/cjs/index.cjs.js +9 -8
- package/dist/cjs/index.es-6a9d5ef8.js +13834 -0
- package/dist/cjs/ion-action-sheet.cjs.entry.js +4 -4
- package/dist/cjs/ion-alert.cjs.entry.js +4 -4
- package/dist/cjs/ion-app.cjs.entry.js +3 -3
- package/dist/cjs/ion-back-button.cjs.entry.js +89 -0
- package/dist/cjs/ion-backdrop.cjs.entry.js +2 -2
- package/dist/cjs/ion-badge.cjs.entry.js +2 -2
- package/dist/cjs/{ion-back-button_4.cjs.entry.js → ion-buttons_3.cjs.entry.js} +2 -83
- package/dist/cjs/ion-card-header.cjs.entry.js +2 -2
- package/dist/cjs/ion-card-subtitle.cjs.entry.js +2 -2
- package/dist/cjs/ion-card-title.cjs.entry.js +2 -2
- package/dist/cjs/ion-chip.cjs.entry.js +2 -2
- package/dist/cjs/{ion-content.cjs.entry.js → ion-content_2.cjs.entry.js} +259 -2
- package/dist/cjs/ion-datetime.cjs.entry.js +3 -3
- package/dist/cjs/ion-fab-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-fab-list.cjs.entry.js +2 -2
- package/dist/cjs/ion-fab.cjs.entry.js +2 -2
- package/dist/cjs/ion-footer.cjs.entry.js +2 -2
- package/dist/cjs/ion-img.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-infinite-scroll.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-divider.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-group.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-option.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-options.cjs.entry.js +2 -2
- package/dist/cjs/ion-item-sliding.cjs.entry.js +2 -2
- package/dist/cjs/ion-loading.cjs.entry.js +3 -3
- package/dist/cjs/ion-menu-button.cjs.entry.js +4 -4
- package/dist/cjs/ion-menu-toggle.cjs.entry.js +4 -4
- package/dist/cjs/ion-menu.cjs.entry.js +3 -3
- package/dist/cjs/ion-modal.cjs.entry.js +4 -4
- package/dist/cjs/ion-nav-link.cjs.entry.js +1 -1
- package/dist/cjs/ion-nav.cjs.entry.js +3 -3
- package/dist/cjs/ion-note.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
- package/dist/cjs/ion-picker.cjs.entry.js +3 -3
- package/dist/cjs/ion-popover.cjs.entry.js +4 -4
- package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-refresher-content.cjs.entry.js +2 -2
- package/dist/cjs/ion-refresher.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder-group.cjs.entry.js +2 -2
- package/dist/cjs/ion-reorder.cjs.entry.js +2 -2
- package/dist/cjs/ion-route-redirect.cjs.entry.js +1 -1
- package/dist/cjs/ion-route.cjs.entry.js +1 -1
- package/dist/cjs/ion-router-link.cjs.entry.js +2 -2
- package/dist/cjs/ion-router-outlet.cjs.entry.js +3 -3
- package/dist/cjs/ion-router.cjs.entry.js +1 -1
- package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-segment.cjs.entry.js +2 -2
- package/dist/cjs/ion-select-popover.cjs.entry.js +3 -3
- package/dist/cjs/ion-select_2.cjs.entry.js +3 -3
- package/dist/cjs/ion-skeleton-text.cjs.entry.js +2 -2
- package/dist/cjs/ion-slide.cjs.entry.js +2 -2
- package/dist/cjs/ion-slides.cjs.entry.js +2 -2
- package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-bar.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab-button.cjs.entry.js +2 -2
- package/dist/cjs/ion-tab.cjs.entry.js +1 -1
- package/dist/cjs/ion-tabs.cjs.entry.js +1 -1
- package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -2
- package/dist/cjs/ion-toast.cjs.entry.js +3 -3
- package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
- package/dist/cjs/ion-virtual-scroll.cjs.entry.js +1 -1
- package/dist/cjs/{ionic-global-57e21b7b.js → ionic-global-4930d319.js} +1 -1
- package/dist/cjs/{ios.transition-b6898b4e.js → ios.transition-6e1fd3d6.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{md.transition-dcccb17e.js → md.transition-3652ad78.js} +2 -2
- package/dist/cjs/{menu-toggle-util-36785376.js → menu-toggle-util-a8fb4c56.js} +1 -1
- package/dist/cjs/{overlays-09ece60d.js → overlays-08a817ea.js} +1 -1
- package/dist/cjs/purify-9804ff8d.js +1355 -0
- package/dist/cjs/sparkle-animation-player.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-code.cjs.entry.js +2 -2
- package/dist/cjs/sparkle-compass-post.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-compass.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-core.cjs.js +4 -4
- package/dist/cjs/sparkle-emoji.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-facilitator-notes-form.cjs.entry.js +118 -0
- package/dist/cjs/sparkle-feed-post.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-feedback.cjs.entry.js +19 -6
- package/dist/cjs/sparkle-goal-form.cjs.entry.js +75 -34
- package/dist/cjs/sparkle-gww-comment-list.cjs.entry.js +2 -2
- package/dist/cjs/sparkle-gww-graph.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-lower-content-nav.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +2 -2
- package/dist/cjs/sparkle-modal-image.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-notfound-page.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-overlay.cjs.entry.js +92 -0
- package/dist/cjs/sparkle-poll.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz-container.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-quiz.cjs.entry.js +4 -3
- package/dist/cjs/sparkle-select.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-sidebar.cjs.entry.js +43 -0
- package/dist/cjs/sparkle-tab.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-table-of-contents.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-tabs.cjs.entry.js +1 -1
- package/dist/cjs/sparkle-youtube.cjs.entry.js +1 -1
- package/dist/cjs/{status-tap-18630b4c.js → status-tap-466a7c6a.js} +1 -1
- package/dist/cjs/stencil-async-content.cjs.entry.js +1 -1
- package/dist/cjs/stencil-route-title.cjs.entry.js +2 -2
- package/dist/cjs/stencil-router-prompt.cjs.entry.js +2 -2
- package/dist/cjs/{student.service-93a3c3e1.js → student.service-41c7c78d.js} +17 -14
- package/dist/collection/PrivateRoute.js +1 -1
- package/dist/collection/{lib → assets/lib}/SignalRAspNetCoreHelper.js +2 -2
- package/dist/collection/{lib → assets/lib}/sparkleUtility.js +1 -1
- package/dist/collection/assets/svg/profile.svg +2 -0
- package/dist/collection/collection-manifest.json +8 -0
- package/dist/collection/components/compass-svg/compass-svg.css +15 -0
- package/dist/collection/components/compass-svg/compass-svg.js +156 -0
- package/dist/collection/components/layout/facilitator/export-lessons/export-lessons.css +7 -0
- package/dist/collection/components/layout/facilitator/export-lessons/export-lessons.js +110 -0
- package/dist/collection/components/layout/facilitator/facilitator-dashboard/facilitator-dashboard.css +3 -0
- package/dist/collection/components/layout/facilitator/facilitator-dashboard/facilitator-dashboard.js +214 -0
- package/dist/collection/components/layout/facilitator/facilitator-header/facilitator-header.js +22 -11
- package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes-form/facilitator-notes-form.css +3 -0
- package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes-form/facilitator-notes-form.js +144 -0
- package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes.css +14 -0
- package/dist/collection/components/layout/facilitator/facilitator-notes/facilitator-notes.js +64 -0
- package/dist/collection/components/layout/facilitator/facilitator-page.css +13 -3
- package/dist/collection/components/layout/facilitator/facilitator-page.js +147 -24
- package/dist/collection/components/layout/facilitator/online-students/online-students.js +59 -2
- package/dist/collection/components/layout/page/page.js +93 -4
- package/dist/collection/components/layout/page/templates/index.js +2 -0
- package/dist/collection/components/layout/page/templates/pdf.js +8 -0
- package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-form/sparkle-goal-form.css +3 -3
- package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-form/sparkle-goal-form.js +98 -64
- package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-item/sparkle-goal-item.css +12 -29
- package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-item/sparkle-goal-item.js +23 -6
- package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-progress/sparkle-goal-progress.css +33 -0
- package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goal-progress/sparkle-goal-progress.js +37 -0
- package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goals.css +8 -8
- package/dist/collection/components/mini-apps/sparkle-goals/sparkle-goals.js +15 -60
- package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-comment-list/sparkle-gww-comment-list.css +7 -7
- package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-comment-list/sparkle-gww-comment-list.js +5 -3
- package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-graph/sparkle-gww-graph.css +3 -3
- package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-item/sparkle-gww-item.css +30 -29
- package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww-item/sparkle-gww-item.js +113 -13
- package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww.css +3 -3
- package/dist/collection/components/mini-apps/sparkle-gww/sparkle-gww.js +30 -64
- package/dist/collection/components/mini-apps/sparkle-health/sparkle-health.css +10 -3
- package/dist/collection/components/mini-apps/sparkle-health/sparkle-health.js +51 -11
- package/dist/collection/components/mini-apps/sparkle-mood/sparkle-mood.css +11 -11
- package/dist/collection/components/mini-apps/sparkle-mood/sparkle-mood.js +38 -8
- package/dist/collection/components/sparkle-course-root/sparkle-course-root.css +3 -3
- package/dist/collection/components/sparkle-course-root/sparkle-course-root.js +30 -27
- package/dist/collection/components/sparkle-emoji/sparkle-emoji.css +16 -16
- package/dist/collection/components/sparkle-feed-post/sparkle-feed-post.css +3 -3
- package/dist/collection/components/sparkle-feedback/sparkle-feedback.css +3 -3
- package/dist/collection/components/sparkle-feedback/sparkle-feedback.js +14 -1
- package/dist/collection/components/sparkle-forgot-password/sparkle-forgot-password.js +40 -6
- package/dist/collection/components/sparkle-login/sparkle-login.js +5 -3
- package/dist/collection/components/sparkle-poll/sparkle-poll.css +3 -3
- package/dist/collection/components/sparkle-quiz/sparkle-quiz-feedback/sparkle-quiz-feedback.css +3 -3
- package/dist/collection/components/sparkle-quiz/sparkle-quiz-input/sparkle-quiz-input.css +3 -3
- package/dist/collection/components/sparkle-quiz/sparkle-quiz-poll/sparkle-quiz-poll.css +3 -3
- package/dist/collection/components/sparkle-quiz/sparkle-quiz-select/sparkle-quiz-select.css +3 -3
- package/dist/collection/components/sparkle-quiz-container/sparkle-quiz-container.css +3 -3
- package/dist/collection/components/sparkle-reset-password/sparkle-reset-password.css +3 -0
- package/dist/collection/components/sparkle-reset-password/sparkle-reset-password.js +126 -0
- package/dist/collection/components/sparkle-root/sparkle-root.css +16 -0
- package/dist/collection/components/sparkle-root/sparkle-root.js +24 -1
- package/dist/collection/components/sparkle-signup/sparkle-signup.js +18 -14
- package/dist/collection/components/sparkle-unauthorized/sparkle-unauthorized.css +13 -13
- package/dist/collection/components/sparkle-user-enrollment/sparkle-user-enrollment.css +3 -3
- package/dist/collection/components/sparkle-user-profile/sparkle-user-profile.css +54 -3
- package/dist/collection/components/sparkle-user-profile/sparkle-user-profile.js +35 -8
- package/dist/collection/components/sparkle-validation-error/sparkle-validation-error.css +11 -0
- package/dist/collection/components/sparkle-validation-error/sparkle-validation-error.js +44 -0
- package/dist/collection/icons.js +1 -0
- package/dist/collection/models/class.model.js +5 -1
- package/dist/collection/models/facilitator-dashboard.model.js +5 -0
- package/dist/collection/services/account.service.js +42 -4
- package/dist/collection/services/appdata.service.js +60 -0
- package/dist/collection/services/auth/auth.service.js +34 -25
- package/dist/collection/services/environment/environment-config.js +6 -2
- package/dist/collection/services/facilitator.service.js +76 -0
- package/dist/collection/services/feed.service.js +43 -0
- package/dist/collection/services/httpService.js +16 -3
- package/dist/collection/services/media.service.js +29 -0
- package/dist/collection/services/signalR.service.js +85 -0
- package/dist/collection/services/student.service.js +8 -7
- package/dist/collection/stores/auth.store.js +2 -1
- package/dist/collection/stores/facilitator.store.js +11 -2
- package/dist/collection/stores/feed.store.js +3 -1
- package/dist/collection/stores/goal.store.js +2 -0
- package/dist/collection/stores/media.store.js +5 -0
- package/dist/collection/stores/signalR.store.js +6 -0
- package/dist/collection/stores/user.store.js +3 -1
- package/dist/collection/util.js +23 -1
- package/dist/collection/utils.js +0 -1
- package/dist/esm/{PrivateRoute-b34b53e0.js → PrivateRoute-9f0973bb.js} +42 -42
- package/dist/esm/{active-router-866d742c.js → active-router-b3ae32c7.js} +1 -1
- package/dist/esm/{app-globals-a5620b62.js → app-globals-6451faf3.js} +1 -1
- package/dist/esm/{assets.service-da511a45.js → assets.service-66e848b8.js} +2 -26
- package/dist/esm/{httpService-ed44926c.js → auth.store-dd944bc2.js} +31 -6
- package/dist/esm/{button-active-fe7ddd19.js → button-active-97535443.js} +1 -1
- package/dist/esm/compass-svg.entry.js +128 -0
- package/dist/esm/context-consumer.entry.js +1 -1
- package/dist/esm/course-select.entry.js +1 -1
- package/dist/esm/environment-config.service-2b5d692b.js +27 -0
- package/dist/esm/facilitator.service-cddb2feb.js +91 -0
- package/dist/esm/feed.service-0fda1e36.js +5787 -0
- package/dist/esm/header-mobile-collapse_60.entry.js +19 -0
- package/dist/esm/{icons-375b5504.js → icons-33e5804c.js} +3 -7
- package/dist/esm/{index-181d9e06.js → index-55fc9f5e.js} +2 -1
- package/dist/esm/{index-db21c1c7.js → index-a94619f9.js} +3 -3
- package/dist/esm/{index-c6bfe5ca.js → index-dc09784f.js} +1 -1
- package/dist/esm/index.es-8ad3b6a1.js +13748 -0
- package/dist/esm/index.js +7 -6
- package/dist/esm/ion-action-sheet.entry.js +4 -4
- package/dist/esm/ion-alert.entry.js +4 -4
- package/dist/esm/ion-app.entry.js +3 -3
- package/dist/esm/ion-back-button.entry.js +85 -0
- package/dist/esm/ion-backdrop.entry.js +2 -2
- package/dist/esm/ion-badge.entry.js +2 -2
- package/dist/esm/{ion-back-button_4.entry.js → ion-buttons_3.entry.js} +4 -84
- package/dist/esm/ion-card-header.entry.js +2 -2
- package/dist/esm/ion-card-subtitle.entry.js +2 -2
- package/dist/esm/ion-card-title.entry.js +2 -2
- package/dist/esm/ion-chip.entry.js +2 -2
- package/dist/esm/{ion-content.entry.js → ion-content_2.entry.js} +259 -3
- package/dist/esm/ion-datetime.entry.js +3 -3
- package/dist/esm/ion-fab-button.entry.js +2 -2
- package/dist/esm/ion-fab-list.entry.js +2 -2
- package/dist/esm/ion-fab.entry.js +2 -2
- package/dist/esm/ion-footer.entry.js +2 -2
- package/dist/esm/ion-img.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
- package/dist/esm/ion-infinite-scroll.entry.js +2 -2
- package/dist/esm/ion-item-divider.entry.js +2 -2
- package/dist/esm/ion-item-group.entry.js +2 -2
- package/dist/esm/ion-item-option.entry.js +2 -2
- package/dist/esm/ion-item-options.entry.js +2 -2
- package/dist/esm/ion-item-sliding.entry.js +2 -2
- package/dist/esm/ion-loading.entry.js +3 -3
- package/dist/esm/ion-menu-button.entry.js +4 -4
- package/dist/esm/ion-menu-toggle.entry.js +4 -4
- package/dist/esm/ion-menu.entry.js +3 -3
- package/dist/esm/ion-modal.entry.js +4 -4
- package/dist/esm/ion-nav-link.entry.js +1 -1
- package/dist/esm/ion-nav.entry.js +3 -3
- package/dist/esm/ion-note.entry.js +2 -2
- package/dist/esm/ion-picker-column.entry.js +2 -2
- package/dist/esm/ion-picker.entry.js +3 -3
- package/dist/esm/ion-popover.entry.js +4 -4
- package/dist/esm/ion-progress-bar.entry.js +2 -2
- package/dist/esm/ion-refresher-content.entry.js +2 -2
- package/dist/esm/ion-refresher.entry.js +2 -2
- package/dist/esm/ion-reorder-group.entry.js +2 -2
- package/dist/esm/ion-reorder.entry.js +2 -2
- package/dist/esm/ion-route-redirect.entry.js +1 -1
- package/dist/esm/ion-route.entry.js +1 -1
- package/dist/esm/ion-router-link.entry.js +2 -2
- package/dist/esm/ion-router-outlet.entry.js +3 -3
- package/dist/esm/ion-router.entry.js +1 -1
- package/dist/esm/ion-searchbar.entry.js +2 -2
- package/dist/esm/ion-segment-button.entry.js +2 -2
- package/dist/esm/ion-segment.entry.js +2 -2
- package/dist/esm/ion-select-popover.entry.js +3 -3
- package/dist/esm/ion-select_2.entry.js +3 -3
- package/dist/esm/ion-skeleton-text.entry.js +2 -2
- package/dist/esm/ion-slide.entry.js +2 -2
- package/dist/esm/ion-slides.entry.js +2 -2
- package/dist/esm/ion-split-pane.entry.js +2 -2
- package/dist/esm/ion-tab-bar.entry.js +2 -2
- package/dist/esm/ion-tab-button.entry.js +2 -2
- package/dist/esm/ion-tab.entry.js +1 -1
- package/dist/esm/ion-tabs.entry.js +1 -1
- package/dist/esm/ion-textarea.entry.js +2 -2
- package/dist/esm/ion-thumbnail.entry.js +2 -2
- package/dist/esm/ion-toast.entry.js +3 -3
- package/dist/esm/ion-toggle.entry.js +2 -2
- package/dist/esm/ion-virtual-scroll.entry.js +1 -1
- package/dist/esm/{ionic-global-2d79c2f2.js → ionic-global-1f9287cc.js} +1 -1
- package/dist/esm/{ios.transition-e24a66ff.js → ios.transition-d01abefd.js} +2 -2
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{md.transition-a4f96d01.js → md.transition-245ffa55.js} +2 -2
- package/dist/esm/{menu-toggle-util-f9838cfb.js → menu-toggle-util-fe83fcf5.js} +1 -1
- package/dist/esm/{overlays-0222dd55.js → overlays-8363621c.js} +2 -2
- package/dist/esm/purify-76634fc8.js +1353 -0
- package/dist/esm/sparkle-animation-player.entry.js +1 -1
- package/dist/esm/sparkle-code.entry.js +2 -2
- package/dist/esm/sparkle-compass-post.entry.js +1 -1
- package/dist/esm/sparkle-compass.entry.js +1 -1
- package/dist/esm/sparkle-core.js +4 -4
- package/dist/esm/sparkle-emoji.entry.js +1 -1
- package/dist/esm/sparkle-facilitator-notes-form.entry.js +114 -0
- package/dist/esm/sparkle-feed-post.entry.js +1 -1
- package/dist/esm/sparkle-feedback.entry.js +19 -6
- package/dist/esm/sparkle-goal-form.entry.js +73 -32
- package/dist/esm/sparkle-gww-comment-list.entry.js +2 -2
- package/dist/esm/sparkle-gww-graph.entry.js +1 -1
- package/dist/esm/sparkle-lower-content-nav.entry.js +1 -1
- package/dist/esm/sparkle-menu-collapsible.entry.js +2 -2
- package/dist/esm/sparkle-modal-image.entry.js +1 -1
- package/dist/esm/sparkle-notfound-page.entry.js +1 -1
- package/dist/esm/sparkle-overlay.entry.js +88 -0
- package/dist/esm/sparkle-poll.entry.js +1 -1
- package/dist/esm/sparkle-quiz-container.entry.js +1 -1
- package/dist/esm/sparkle-quiz-feedback_5.entry.js +1 -1
- package/dist/esm/sparkle-quiz.entry.js +3 -2
- package/dist/esm/sparkle-select.entry.js +1 -1
- package/dist/esm/sparkle-sidebar.entry.js +39 -0
- package/dist/esm/sparkle-tab.entry.js +1 -1
- package/dist/esm/sparkle-table-of-contents.entry.js +1 -1
- package/dist/esm/sparkle-tabs.entry.js +1 -1
- package/dist/esm/sparkle-youtube.entry.js +1 -1
- package/dist/esm/{status-tap-dac23492.js → status-tap-9221cd79.js} +1 -1
- package/dist/esm/stencil-async-content.entry.js +1 -1
- package/dist/esm/stencil-route-title.entry.js +2 -2
- package/dist/esm/stencil-router-prompt.entry.js +2 -2
- package/dist/esm/{student.service-7c806a49.js → student.service-c36c5a75.js} +12 -9
- package/dist/sparkle-core/index.esm.js +1 -1
- package/dist/sparkle-core/{p-f4e2b82a.entry.js → p-016bf847.entry.js} +1 -1
- package/dist/sparkle-core/p-019d9d02.entry.js +1 -0
- package/dist/sparkle-core/p-03eb2164.js +1 -0
- package/dist/sparkle-core/{p-5cee001e.entry.js → p-03fd27d0.entry.js} +1 -1
- package/dist/sparkle-core/p-07018d29.js +1 -0
- package/dist/sparkle-core/p-083d57a6.entry.js +1 -0
- package/dist/sparkle-core/p-090f2624.js +1 -0
- package/dist/sparkle-core/{p-bc4e8c2a.entry.js → p-09d43bee.entry.js} +1 -1
- package/dist/sparkle-core/{p-b785a9ac.entry.js → p-0bd3e81f.entry.js} +1 -1
- package/dist/sparkle-core/{p-91889ff0.js → p-0e1c7c8c.js} +1 -1
- package/dist/sparkle-core/{p-1224fabd.entry.js → p-0efbc0b3.entry.js} +1 -1
- package/dist/sparkle-core/{p-7a898bda.entry.js → p-13b0cdfc.entry.js} +1 -1
- package/dist/sparkle-core/{p-586cb4d7.entry.js → p-13c9bf3a.entry.js} +1 -1
- package/dist/sparkle-core/{p-863b83d6.entry.js → p-151afa9e.entry.js} +1 -1
- package/dist/sparkle-core/{p-00adbab7.entry.js → p-15d68269.entry.js} +1 -1
- package/dist/sparkle-core/p-17507402.entry.js +1 -0
- package/dist/sparkle-core/{p-8bb44df7.entry.js → p-1bf8bed6.entry.js} +1 -1
- package/dist/sparkle-core/p-1ca4bf1d.entry.js +1 -0
- package/dist/sparkle-core/{p-5ca31915.entry.js → p-1e866c41.entry.js} +1 -1
- package/dist/sparkle-core/p-22926eed.entry.js +1 -0
- package/dist/sparkle-core/{p-517bb889.entry.js → p-2474bf60.entry.js} +1 -1
- package/dist/sparkle-core/{p-ffe93176.entry.js → p-25bbf9b4.entry.js} +1 -1
- package/dist/sparkle-core/p-2a45b732.js +1 -0
- package/dist/sparkle-core/{p-4572c448.entry.js → p-2abf4d37.entry.js} +1 -1
- package/dist/sparkle-core/{p-0c162ac4.entry.js → p-2c5edb9f.entry.js} +1 -1
- package/dist/sparkle-core/p-30b641a4.entry.js +1 -0
- package/dist/sparkle-core/{p-c05eb884.entry.js → p-359422b6.entry.js} +1 -1
- package/dist/sparkle-core/{p-62141bd4.entry.js → p-37bfb548.entry.js} +1 -1
- package/dist/sparkle-core/{p-80e128b9.entry.js → p-3a29a75b.entry.js} +1 -1
- package/dist/sparkle-core/{p-e5e40803.entry.js → p-3bb55510.entry.js} +1 -1
- package/dist/sparkle-core/p-3be0a218.js +1 -0
- package/dist/sparkle-core/{p-e5845154.entry.js → p-3cd28c60.entry.js} +1 -1
- package/dist/sparkle-core/{p-6f571ea1.entry.js → p-3f5d7a08.entry.js} +1 -1
- package/dist/sparkle-core/p-40db85ac.entry.js +1 -0
- package/dist/sparkle-core/{p-114fcfc1.entry.js → p-447163be.entry.js} +1 -1
- package/dist/sparkle-core/{p-bbb3b417.entry.js → p-49265a8e.entry.js} +1 -1
- package/dist/sparkle-core/{p-76c4e33b.entry.js → p-4950f841.entry.js} +1 -1
- package/dist/sparkle-core/{p-1cd371a7.entry.js → p-4d8cb365.entry.js} +1 -1
- package/dist/sparkle-core/p-4e28ca37.entry.js +1 -0
- package/dist/sparkle-core/{p-f985d69e.entry.js → p-5073899e.entry.js} +1 -1
- package/dist/sparkle-core/p-52355989.entry.js +1 -0
- package/dist/sparkle-core/{p-1898fe4c.entry.js → p-581ca370.entry.js} +1 -1
- package/dist/sparkle-core/{p-48d24341.entry.js → p-5b366c20.entry.js} +1 -1
- package/dist/sparkle-core/{p-ff092368.entry.js → p-5dce20b9.entry.js} +1 -1
- package/dist/sparkle-core/{p-c1a4ba92.entry.js → p-6006beec.entry.js} +1 -1
- package/dist/sparkle-core/{p-d4339e9c.entry.js → p-600d04fc.entry.js} +1 -1
- package/dist/sparkle-core/{p-257fd781.entry.js → p-60828739.entry.js} +1 -1
- package/dist/sparkle-core/{p-e48343fe.entry.js → p-6112b180.entry.js} +1 -1
- package/dist/sparkle-core/p-660fccf6.js +1 -0
- package/dist/sparkle-core/{p-0b04e1c4.entry.js → p-66e3bd1c.entry.js} +1 -1
- package/dist/sparkle-core/{p-9523cc6c.entry.js → p-66eb6b7a.entry.js} +1 -1
- package/dist/sparkle-core/p-67ddec3f.entry.js +1 -0
- package/dist/sparkle-core/p-68cb7d41.entry.js +1 -0
- package/dist/sparkle-core/{p-e7d32b53.entry.js → p-68f3c93d.entry.js} +1 -1
- package/dist/sparkle-core/p-69cd49de.js +1 -0
- package/dist/sparkle-core/{p-fb3ea85e.js → p-6d506f4e.js} +1 -1
- package/dist/sparkle-core/{p-7c39c5c0.entry.js → p-6edbdde5.entry.js} +1 -1
- package/dist/sparkle-core/p-6f0ecbe3.js +1 -0
- package/dist/sparkle-core/{p-7b7ebe04.entry.js → p-73a646fb.entry.js} +1 -1
- package/dist/sparkle-core/{p-0e1cdb86.js → p-765b8593.js} +1 -1
- package/dist/sparkle-core/{p-22836c22.js → p-770128c8.js} +1 -1
- package/dist/sparkle-core/{p-05bcee18.entry.js → p-7b37d523.entry.js} +1 -1
- package/dist/sparkle-core/{p-1d62b3ff.entry.js → p-7d83d006.entry.js} +1 -1
- package/dist/sparkle-core/p-7f3d5344.js +1 -0
- package/dist/sparkle-core/{p-99d08952.entry.js → p-81651f26.entry.js} +1 -1
- package/dist/sparkle-core/{p-d046110e.entry.js → p-85d31769.entry.js} +1 -1
- package/dist/sparkle-core/{p-42443d61.entry.js → p-86148067.entry.js} +1 -1
- package/dist/sparkle-core/{p-88ea26d4.entry.js → p-8b5bc1d6.entry.js} +1 -1
- package/dist/sparkle-core/{p-e0603c01.entry.js → p-8c3ee44c.entry.js} +1 -1
- package/dist/sparkle-core/{p-fce285b3.entry.js → p-9007a06b.entry.js} +1 -1
- package/dist/sparkle-core/{p-89aca87d.entry.js → p-90482861.entry.js} +1 -1
- package/dist/sparkle-core/{p-8dddaae1.entry.js → p-92d42c10.entry.js} +1 -1
- package/dist/sparkle-core/p-9a443f51.js +1 -0
- package/dist/sparkle-core/{p-aae8e3b8.entry.js → p-9ca56f5d.entry.js} +1 -1
- package/dist/sparkle-core/{p-c5cc6d79.entry.js → p-a061537e.entry.js} +1 -1
- package/dist/sparkle-core/{p-b0bb946d.entry.js → p-a250e2ae.entry.js} +1 -1
- package/dist/sparkle-core/{p-dc903858.entry.js → p-abe2676a.entry.js} +1 -1
- package/dist/sparkle-core/{p-64592d28.entry.js → p-ac5e5308.entry.js} +1 -1
- package/dist/sparkle-core/{p-6df23697.entry.js → p-afbaad64.entry.js} +1 -1
- package/dist/sparkle-core/p-b080c1e3.entry.js +1 -0
- package/dist/sparkle-core/p-b226f54d.js +1 -0
- package/dist/sparkle-core/p-b2d4840f.js +3 -0
- package/dist/sparkle-core/{p-9835f777.entry.js → p-bac45a26.entry.js} +1 -1
- package/dist/sparkle-core/p-bbe5977b.entry.js +1 -0
- package/dist/sparkle-core/p-bc568dcb.js +1 -0
- package/dist/sparkle-core/{p-60d25a7f.entry.js → p-bccd9036.entry.js} +1 -1
- package/dist/sparkle-core/{p-58a6d8ab.entry.js → p-c163c16d.entry.js} +1 -1
- package/dist/sparkle-core/{p-8626ebe6.entry.js → p-c3166584.entry.js} +1 -1
- package/dist/sparkle-core/{p-589d4664.entry.js → p-c34269ae.entry.js} +1 -1
- package/dist/sparkle-core/{p-3c3194fd.js → p-c466ee32.js} +1 -1
- package/dist/sparkle-core/p-c6710592.entry.js +1 -0
- package/dist/sparkle-core/{p-71f184d9.entry.js → p-c7022391.entry.js} +1 -1
- package/dist/sparkle-core/{p-1cd3c5d0.entry.js → p-c70b9765.entry.js} +1 -1
- package/dist/sparkle-core/{p-2e286dc5.entry.js → p-c82b05e0.entry.js} +1 -1
- package/dist/sparkle-core/{p-ebe7e674.entry.js → p-cf2332bb.entry.js} +1 -1
- package/dist/sparkle-core/{p-07d16606.entry.js → p-d069b834.entry.js} +1 -1
- package/dist/sparkle-core/{p-92fa1d62.js → p-d4ad796c.js} +1 -1
- package/dist/sparkle-core/{p-d9669c41.entry.js → p-d4d9aa4a.entry.js} +1 -1
- package/dist/sparkle-core/{p-f87fecb0.entry.js → p-d5023db0.entry.js} +1 -1
- package/dist/sparkle-core/p-d6152660.entry.js +1 -0
- package/dist/sparkle-core/{p-7e8645c2.js → p-d63406d8.js} +1 -1
- package/dist/sparkle-core/{p-3a75bd70.entry.js → p-dba672d5.entry.js} +1 -1
- package/dist/sparkle-core/{p-2fa5a8dd.entry.js → p-dd73d01a.entry.js} +1 -1
- package/dist/sparkle-core/p-de33872d.entry.js +1 -0
- package/dist/sparkle-core/p-dee2128a.entry.js +1 -0
- package/dist/sparkle-core/{p-7f4ae7be.entry.js → p-df07e132.entry.js} +1 -1
- package/dist/sparkle-core/p-e5d5aaa5.js +1 -0
- package/dist/sparkle-core/{p-0f83c1c3.entry.js → p-e72c6d87.entry.js} +1 -1
- package/dist/sparkle-core/{p-1a6ca540.entry.js → p-e818b11d.entry.js} +1 -1
- package/dist/sparkle-core/{p-e7d9176a.entry.js → p-e8df6ea6.entry.js} +1 -1
- package/dist/sparkle-core/{p-b9f544da.entry.js → p-e975924a.entry.js} +1 -1
- package/dist/sparkle-core/p-eb56aa20.entry.js +1 -0
- package/dist/sparkle-core/p-ec2e029e.js +483 -0
- package/dist/sparkle-core/{p-9a192334.js → p-ef2a2172.js} +1 -1
- package/dist/sparkle-core/p-f1a4ab33.entry.js +1 -0
- package/dist/sparkle-core/{p-cac9f43c.entry.js → p-f43ac631.entry.js} +1 -1
- package/dist/sparkle-core/{p-826aea5e.entry.js → p-f72a6e6d.entry.js} +1 -1
- package/dist/sparkle-core/{p-c557858e.entry.js → p-f9143c5d.entry.js} +1 -1
- package/dist/sparkle-core/{p-540238c1.entry.js → p-fd62283e.entry.js} +1 -1
- package/dist/sparkle-core/{p-6620c98e.entry.js → p-fef71e0e.entry.js} +1 -1
- package/dist/sparkle-core/sparkle-core.css +1 -1
- package/dist/sparkle-core/sparkle-core.esm.js +1 -1
- package/dist/types/{lib → assets/lib}/SignalRAspNetCoreHelper.d.ts +0 -0
- package/dist/types/{lib → assets/lib}/sparkleUtility.d.ts +0 -0
- package/dist/types/components/compass-svg/compass-svg.d.ts +34 -0
- package/dist/types/components/layout/facilitator/export-lessons/export-lessons.d.ts +16 -0
- package/dist/types/components/layout/facilitator/facilitator-dashboard/facilitator-dashboard.d.ts +22 -0
- package/dist/types/components/layout/facilitator/facilitator-header/facilitator-header.d.ts +1 -0
- package/dist/types/components/layout/facilitator/facilitator-notes/facilitator-notes-form/facilitator-notes-form.d.ts +24 -0
- package/dist/types/components/layout/facilitator/facilitator-notes/facilitator-notes.d.ts +9 -0
- package/dist/types/components/layout/facilitator/facilitator-page.d.ts +19 -2
- package/dist/types/components/layout/facilitator/online-students/online-students.d.ts +6 -0
- package/dist/types/components/layout/page/page.d.ts +8 -0
- package/dist/types/components/layout/page/templates/index.d.ts +1 -0
- package/dist/types/components/layout/page/templates/pdf.d.ts +2 -0
- package/dist/types/components/mini-apps/sparkle-goals/sparkle-goal-form/sparkle-goal-form.d.ts +6 -5
- package/dist/types/components/mini-apps/sparkle-goals/sparkle-goal-item/sparkle-goal-item.d.ts +1 -0
- package/dist/types/components/mini-apps/sparkle-goals/sparkle-goal-progress/sparkle-goal-progress.d.ts +4 -0
- package/dist/types/components/mini-apps/sparkle-goals/sparkle-goals.d.ts +3 -3
- package/dist/types/components/mini-apps/sparkle-gww/sparkle-gww-item/sparkle-gww-item.d.ts +9 -2
- package/dist/types/components/mini-apps/sparkle-gww/sparkle-gww.d.ts +4 -2
- package/dist/types/components/mini-apps/sparkle-health/sparkle-health.d.ts +4 -1
- package/dist/types/components/mini-apps/sparkle-mood/sparkle-mood.d.ts +3 -0
- package/dist/types/components/sparkle-course-root/sparkle-course-root.d.ts +6 -4
- package/dist/types/components/sparkle-forgot-password/sparkle-forgot-password.d.ts +3 -0
- package/dist/types/components/sparkle-reset-password/sparkle-reset-password.d.ts +22 -0
- package/dist/types/components/sparkle-root/sparkle-root.d.ts +4 -0
- package/dist/types/components/sparkle-signup/sparkle-signup.d.ts +1 -1
- package/dist/types/components/sparkle-user-profile/sparkle-user-profile.d.ts +4 -0
- package/dist/types/components/sparkle-validation-error/sparkle-validation-error.d.ts +7 -0
- package/dist/types/components.d.ts +143 -6
- package/dist/types/models/api.model.d.ts +8 -0
- package/dist/types/models/class.model.d.ts +59 -6
- package/dist/types/models/facilitator-dashboard.model.d.ts +61 -0
- package/dist/types/models/goal.model.d.ts +3 -2
- package/dist/types/services/account.service.d.ts +11 -2
- package/dist/types/services/appdata.service.d.ts +13 -0
- package/dist/types/services/facilitator.service.d.ts +22 -0
- package/dist/types/services/feed.service.d.ts +10 -0
- package/dist/types/services/httpService.d.ts +1 -0
- package/dist/types/services/media.service.d.ts +8 -0
- package/dist/types/services/signalR.service.d.ts +10 -0
- package/dist/types/services/student.service.d.ts +1 -1
- package/dist/types/stores/auth.store.d.ts +1 -0
- package/dist/types/stores/facilitator.store.d.ts +11 -2
- package/dist/types/stores/feed.store.d.ts +3 -1
- package/dist/types/stores/goal.store.d.ts +4 -1
- package/dist/types/stores/media.store.d.ts +8 -0
- package/dist/types/stores/signalR.store.d.ts +10 -0
- package/dist/types/stores/user.store.d.ts +3 -1
- package/dist/types/util.d.ts +11 -0
- package/package.json +7 -3
- package/dist/cjs/header-mobile-collapse_51.cjs.entry.js +0 -5285
- package/dist/cjs/ion-card-content.cjs.entry.js +0 -30
- package/dist/cjs/ion-card.cjs.entry.js +0 -70
- package/dist/cjs/ion-header.cjs.entry.js +0 -264
- package/dist/cjs/ion-spinner.cjs.entry.js +0 -64
- package/dist/cjs/sparkle-page-footer.cjs.entry.js +0 -27
- package/dist/cjs/sparkle-pagination.cjs.entry.js +0 -31
- package/dist/cjs/util-dd1e6ff1.js +0 -23
- package/dist/collection/lib/sparkle.js +0 -524
- package/dist/collection/lib/sparkle.signalr-client.js +0 -135
- package/dist/collection/pages/course/welcome-to-mind-body/introduction/animation/m4l1p1.js +0 -2884
- package/dist/esm/header-mobile-collapse_51.entry.js +0 -5231
- package/dist/esm/ion-card-content.entry.js +0 -26
- package/dist/esm/ion-card.entry.js +0 -66
- package/dist/esm/ion-header.entry.js +0 -260
- package/dist/esm/ion-spinner.entry.js +0 -60
- package/dist/esm/sparkle-page-footer.entry.js +0 -23
- package/dist/esm/sparkle-pagination.entry.js +0 -27
- package/dist/esm/util-0e88110d.js +0 -17
- package/dist/sparkle-core/p-0f511fed.entry.js +0 -1
- package/dist/sparkle-core/p-1227bbd6.entry.js +0 -1
- package/dist/sparkle-core/p-2d6fbde3.js +0 -1
- package/dist/sparkle-core/p-33b46e43.entry.js +0 -1
- package/dist/sparkle-core/p-3f769f4e.entry.js +0 -1
- package/dist/sparkle-core/p-51ffa746.entry.js +0 -1
- package/dist/sparkle-core/p-5336d922.js +0 -1
- package/dist/sparkle-core/p-58ede27f.js +0 -1
- package/dist/sparkle-core/p-5c51baac.js +0 -1
- package/dist/sparkle-core/p-5e8dc338.entry.js +0 -1
- package/dist/sparkle-core/p-6bf9263e.js +0 -1
- package/dist/sparkle-core/p-7d1b4002.entry.js +0 -1
- package/dist/sparkle-core/p-7d7a0a87.entry.js +0 -1
- package/dist/sparkle-core/p-7e8a6354.js +0 -1
- package/dist/sparkle-core/p-87e97bdd.entry.js +0 -1
- package/dist/sparkle-core/p-880c438c.entry.js +0 -1
- package/dist/sparkle-core/p-8fdccc4a.entry.js +0 -1
- package/dist/sparkle-core/p-9563bf6c.js +0 -1
- package/dist/sparkle-core/p-971b29c9.entry.js +0 -1
- package/dist/sparkle-core/p-972d5bd1.entry.js +0 -1
- package/dist/sparkle-core/p-a7754cd1.entry.js +0 -1
- package/dist/sparkle-core/p-b3dfac3e.js +0 -1
- package/dist/sparkle-core/p-c20861ac.entry.js +0 -1
- package/dist/sparkle-core/p-c396afb2.entry.js +0 -1
- package/dist/sparkle-core/p-c5de0b12.js +0 -1
- package/dist/sparkle-core/p-d3ea02b3.js +0 -1
- package/dist/sparkle-core/p-df5c60a1.entry.js +0 -1
- package/dist/sparkle-core/p-eeb7a650.entry.js +0 -1
- package/dist/sparkle-core/p-f0604500.entry.js +0 -1
- package/dist/sparkle-core/p-f2de03c5.entry.js +0 -1
@@ -1,5 +1,6 @@
|
|
1
|
-
import { Component, State, Prop, h } from '@stencil/core';
|
1
|
+
import { Component, State, Prop, getAssetPath, h } from '@stencil/core';
|
2
2
|
import { AccountService } from "../../services/account.service";
|
3
|
+
import { AuthStore } from '../../stores';
|
3
4
|
export class SparkleSignup {
|
4
5
|
constructor() {
|
5
6
|
this.formControls = {
|
@@ -93,30 +94,31 @@ export class SparkleSignup {
|
|
93
94
|
isFormValid = false;
|
94
95
|
}
|
95
96
|
}
|
96
|
-
console.log(this.formControls);
|
97
|
-
console.log("Form valid: ", isFormValid);
|
98
97
|
if (isFormValid) {
|
99
|
-
console.log('submit');
|
100
98
|
let result = await AccountService.getInstance().register({
|
101
99
|
Email: this.formControls.email.value,
|
102
|
-
UserName: this.formControls.
|
103
|
-
Password: this.formControls.password.value,
|
100
|
+
UserName: this.formControls.userName.value,
|
104
101
|
FirstName: this.formControls.firstName.value,
|
105
102
|
LastName: this.formControls.lastName.value,
|
103
|
+
Password: this.formControls.password.value,
|
106
104
|
ConfirmPassword: this.formControls.confirmPassword.value,
|
107
105
|
});
|
108
|
-
|
106
|
+
if (result.Succeeded) {
|
107
|
+
this.history.replace('/login', {});
|
108
|
+
}
|
109
|
+
else if (result.Failed) {
|
110
|
+
if (result.Errors.length > 0) {
|
111
|
+
this.validationErrors = result.Errors;
|
112
|
+
}
|
113
|
+
}
|
109
114
|
}
|
110
115
|
}
|
111
|
-
changePath() {
|
112
|
-
console.log(this.history);
|
113
|
-
this.history.push(`/login`, {});
|
114
|
-
}
|
115
116
|
render() {
|
116
117
|
return [
|
117
118
|
h("div", null,
|
118
119
|
h("div", { class: "signup-logo" },
|
119
|
-
h("img", { src: "/assets/img/G3-Girls.jpg", alt: "Girls Inc" })),
|
120
|
+
h("img", { src: getAssetPath("/assets/img/G3-Girls.jpg"), alt: "Girls Inc" })),
|
121
|
+
h("sparkle-validation-error", { errors: this.validationErrors }),
|
120
122
|
h("form", { onSubmit: e => this.handleSubmit(e), novalidate: true },
|
121
123
|
h("ion-list", { "no-lines": true },
|
122
124
|
h("ion-item", null,
|
@@ -150,8 +152,9 @@ export class SparkleSignup {
|
|
150
152
|
h("ion-text", { color: "danger" },
|
151
153
|
h("p", { hidden: this.formControls.confirmPassword.isValid || this.submitted === false, class: "ion-padding-start" }, "Confirm Password is required"))),
|
152
154
|
h("div", { class: "ion-padding" },
|
153
|
-
h("ion-button", { type: "submit", expand: "block" },
|
154
|
-
|
155
|
+
h("ion-button", { type: "submit", expand: "block", disabled: AuthStore.state.loading },
|
156
|
+
AuthStore.state.loading && h("ion-spinner", { name: "dots" }),
|
157
|
+
"Register")),
|
155
158
|
h("ion-item", { lines: "none" },
|
156
159
|
"Already have an account? \u00A0",
|
157
160
|
h("stencil-route-link", { url: "/login", exact: true }, "Log In"))))
|
@@ -187,6 +190,7 @@ export class SparkleSignup {
|
|
187
190
|
}
|
188
191
|
}; }
|
189
192
|
static get states() { return {
|
193
|
+
"validationErrors": {},
|
190
194
|
"formControls": {},
|
191
195
|
"submitted": {}
|
192
196
|
}; }
|
@@ -1,13 +1,13 @@
|
|
1
|
-
:host {
|
2
|
-
display: block;
|
3
|
-
}
|
4
|
-
.unauthorized {
|
5
|
-
display: block;
|
6
|
-
padding-left: var(--page-margin-left);
|
7
|
-
padding-top: var(--header-height);
|
8
|
-
}
|
9
|
-
.content{
|
10
|
-
text-align: center;
|
11
|
-
padding-top: 40px;
|
12
|
-
|
13
|
-
}
|
1
|
+
:host {
|
2
|
+
display: block;
|
3
|
+
}
|
4
|
+
.unauthorized {
|
5
|
+
display: block;
|
6
|
+
padding-left: var(--page-margin-left);
|
7
|
+
padding-top: var(--header-height);
|
8
|
+
}
|
9
|
+
.content{
|
10
|
+
text-align: center;
|
11
|
+
padding-top: 40px;
|
12
|
+
|
13
|
+
}
|
@@ -1,3 +1,3 @@
|
|
1
|
-
:host {
|
2
|
-
display: block;
|
3
|
-
}
|
1
|
+
:host {
|
2
|
+
display: block;
|
3
|
+
}
|
@@ -1,3 +1,54 @@
|
|
1
|
-
:host {
|
2
|
-
display: block;
|
3
|
-
}
|
1
|
+
:host {
|
2
|
+
display: block;
|
3
|
+
}
|
4
|
+
|
5
|
+
ion-card {
|
6
|
+
box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.2);
|
7
|
+
overflow: visible;
|
8
|
+
margin: 16px 0 24px;
|
9
|
+
position: relative;
|
10
|
+
padding-top: 60px;
|
11
|
+
}
|
12
|
+
ion-card .img-wrapper {
|
13
|
+
background-color: #f5f5f5;
|
14
|
+
border-radius: 10px;
|
15
|
+
position: absolute;
|
16
|
+
left: 50%;
|
17
|
+
top: -30px;
|
18
|
+
transform: translateX(-50%);
|
19
|
+
}
|
20
|
+
ion-card .img-wrapper img {
|
21
|
+
border-radius: 10px;
|
22
|
+
width: 80px;
|
23
|
+
height: 80px;
|
24
|
+
}
|
25
|
+
|
26
|
+
ion-card .img-wrapper ion-button {
|
27
|
+
--border-width: 1px;
|
28
|
+
--border-color: var(--ion-color-sparkle);
|
29
|
+
--border-style: solid;
|
30
|
+
--padding-start: 0;
|
31
|
+
--padding-end: 0;
|
32
|
+
--padding-bottom: 0;
|
33
|
+
--padding-top: 0;
|
34
|
+
|
35
|
+
--border-radius: 50%;
|
36
|
+
height: 26px;
|
37
|
+
width: 26px;
|
38
|
+
|
39
|
+
position: absolute;
|
40
|
+
right: -10px;
|
41
|
+
bottom: -10px;
|
42
|
+
}
|
43
|
+
ion-card .img-wrapper ion-button ion-icon {
|
44
|
+
width: 14px;
|
45
|
+
height: 14px;
|
46
|
+
}
|
47
|
+
ion-card .img-wrapper img.loading {
|
48
|
+
opacity: 0.1;
|
49
|
+
}
|
50
|
+
.image-upload-loading {
|
51
|
+
position: absolute;
|
52
|
+
top: 40%;
|
53
|
+
left: 35%;
|
54
|
+
}
|
@@ -1,6 +1,8 @@
|
|
1
|
-
import { Component, Host, h, State } from '@stencil/core';
|
1
|
+
import { Component, Host, h, Element, State, getAssetPath } from '@stencil/core';
|
2
2
|
import { StudentService } from "../../services/student.service";
|
3
3
|
import userStore from "../../stores/user.store";
|
4
|
+
import { MediaService } from '../../services/media.service';
|
5
|
+
import mediaStore from '../../stores/media.store';
|
4
6
|
export class SparkleUserProfile {
|
5
7
|
constructor() {
|
6
8
|
this.profileFormControls = {
|
@@ -64,9 +66,11 @@ export class SparkleUserProfile {
|
|
64
66
|
}
|
65
67
|
async handleProfileFormSubmit(e) {
|
66
68
|
e.preventDefault();
|
69
|
+
await this.updateUser();
|
70
|
+
}
|
71
|
+
async updateUser() {
|
67
72
|
this.profileFormSubmitted = true;
|
68
73
|
let isFormValid = true;
|
69
|
-
//Run all validation functions
|
70
74
|
for (let controlName in this.profileFormControls) {
|
71
75
|
let control = this.profileFormControls[controlName];
|
72
76
|
control.validate(control.value);
|
@@ -74,24 +78,44 @@ export class SparkleUserProfile {
|
|
74
78
|
isFormValid = false;
|
75
79
|
}
|
76
80
|
}
|
77
|
-
console.log(this.profileFormControls);
|
78
|
-
console.log("Form valid: ", isFormValid);
|
79
81
|
if (isFormValid) {
|
80
|
-
console.log('submit');
|
81
82
|
let result = await StudentService.getInstance().updateProfile({
|
82
83
|
FirstName: this.profileFormControls.FirstName.value,
|
83
84
|
LastName: this.profileFormControls.LastName.value,
|
84
85
|
ProfileImage: this.profileFormControls.ProfileImage.value,
|
85
86
|
ProfileText: this.profileFormControls.ProfileText.value
|
86
87
|
});
|
87
|
-
console.log(result);
|
88
88
|
}
|
89
89
|
}
|
90
|
+
async uploadProfileImage(event) {
|
91
|
+
if (event.target.files && event.target.files[0]) {
|
92
|
+
const result = await MediaService.getInstance().uploadImage(event.target.files);
|
93
|
+
if (result.Succeeded && result.Data && result.Data.length > 0) {
|
94
|
+
this.changeFormValue("ProfileImage", result.Data[0].FullImageUrl);
|
95
|
+
await this.updateUser();
|
96
|
+
}
|
97
|
+
}
|
98
|
+
}
|
99
|
+
selectFile() {
|
100
|
+
this.el.querySelector("#fileInput").click();
|
101
|
+
}
|
90
102
|
render() {
|
91
103
|
return (h(Host, null,
|
104
|
+
h("ion-card", { color: "sparkle" },
|
105
|
+
h("div", { class: "img-wrapper" },
|
106
|
+
h("img", { class: mediaStore.state.mediaUploading ? "loading" : '', src: this.profileFormControls.ProfileImage.value || getAssetPath(`../assets/svg/profile.svg`) }),
|
107
|
+
h("input", { type: "file", id: "fileInput", onChange: (ev) => this.uploadProfileImage(ev), style: { display: "none" }, accept: "image/*" }),
|
108
|
+
h("ion-button", { color: "sparkle", onClick: () => this.selectFile(), disabled: mediaStore.state.mediaUploading },
|
109
|
+
h("ion-icon", { slot: "icon-only", name: "camera-outline" })),
|
110
|
+
mediaStore.state.mediaUploading && h("ion-spinner", { class: "image-upload-loading", name: "dots" })),
|
111
|
+
h("ion-card-content", { class: "ion-text-center" },
|
112
|
+
h("h2", null,
|
113
|
+
this.profileFormControls.FirstName.value,
|
114
|
+
" ",
|
115
|
+
this.profileFormControls.LastName.value),
|
116
|
+
h("h3", null, this.profileFormControls.ProfileText.value))),
|
92
117
|
h("form", { onSubmit: e => this.handleProfileFormSubmit(e), novalidate: true },
|
93
118
|
h("ion-list", { "no-lines": true },
|
94
|
-
h("ion-list-header", null, "Profile"),
|
95
119
|
h("ion-item", null,
|
96
120
|
h("ion-label", { position: "stacked", color: "primary" }, "First Name"),
|
97
121
|
h("ion-input", { name: "firstName", type: "text", value: this.profileFormControls.FirstName.value, onInput: (ev) => this.changeFormValue("FirstName", ev.target.value) })),
|
@@ -108,7 +132,9 @@ export class SparkleUserProfile {
|
|
108
132
|
h("ion-text", { color: "danger" },
|
109
133
|
h("p", { hidden: this.profileFormControls.ProfileText.isValid || this.profileFormSubmitted === false, class: "ion-padding-start" }, "Profile Bio is required"))),
|
110
134
|
h("div", { class: "ion-padding" },
|
111
|
-
h("ion-button", { type: "submit", expand: "block" },
|
135
|
+
h("ion-button", { type: "submit", expand: "block", disabled: userStore.state.updateLoading },
|
136
|
+
userStore.state.updateLoading && h("ion-spinner", { name: "dots" }),
|
137
|
+
" Update")))));
|
112
138
|
}
|
113
139
|
static get is() { return "sparkle-user-profile"; }
|
114
140
|
static get originalStyleUrls() { return {
|
@@ -121,4 +147,5 @@ export class SparkleUserProfile {
|
|
121
147
|
"profileFormControls": {},
|
122
148
|
"profileFormSubmitted": {}
|
123
149
|
}; }
|
150
|
+
static get elementRef() { return "el"; }
|
124
151
|
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { Component, Host, Prop, h } from '@stencil/core';
|
2
|
+
export class SparkleValidationError {
|
3
|
+
constructor() {
|
4
|
+
this.errors = [];
|
5
|
+
}
|
6
|
+
render() {
|
7
|
+
return (h(Host, null, this.errors.length > 0 &&
|
8
|
+
h("div", { class: "alert alert-danger", role: "alert" },
|
9
|
+
h("ul", null, this.errors.map(error => h("li", null,
|
10
|
+
h("b", null,
|
11
|
+
error.Field,
|
12
|
+
": "),
|
13
|
+
error.Message))))));
|
14
|
+
}
|
15
|
+
static get is() { return "sparkle-validation-error"; }
|
16
|
+
static get originalStyleUrls() { return {
|
17
|
+
"$": ["sparkle-validation-error.css"]
|
18
|
+
}; }
|
19
|
+
static get styleUrls() { return {
|
20
|
+
"$": ["sparkle-validation-error.css"]
|
21
|
+
}; }
|
22
|
+
static get properties() { return {
|
23
|
+
"errors": {
|
24
|
+
"type": "unknown",
|
25
|
+
"mutable": false,
|
26
|
+
"complexType": {
|
27
|
+
"original": "Array<{ Field: string, Message: string }>",
|
28
|
+
"resolved": "{ Field: string; Message: string; }[]",
|
29
|
+
"references": {
|
30
|
+
"Array": {
|
31
|
+
"location": "global"
|
32
|
+
}
|
33
|
+
}
|
34
|
+
},
|
35
|
+
"required": false,
|
36
|
+
"optional": false,
|
37
|
+
"docs": {
|
38
|
+
"tags": [],
|
39
|
+
"text": ""
|
40
|
+
},
|
41
|
+
"defaultValue": "[]"
|
42
|
+
}
|
43
|
+
}; }
|
44
|
+
}
|
package/dist/collection/icons.js
CHANGED
@@ -33,3 +33,4 @@ export const Translation = (props) => (h("svg", Object.assign({ viewBox: "0 0 22
|
|
33
33
|
h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M8.75268 1.11609C8.75268 1.11609 8.75268 1.11712 9.89332 1.11712C11.034 1.11712 11.034 1.11822 11.034 1.11822L11.034 1.11939L11.034 1.12198L11.0339 1.12805L11.0337 1.14382C11.0335 1.15593 11.0332 1.17122 11.0325 1.1896C11.0313 1.22637 11.029 1.27554 11.0248 1.33642C11.0164 1.45817 11.0003 1.62689 10.9695 1.83709C10.9081 2.25748 10.7879 2.84428 10.5533 3.55314C10.083 4.97375 9.15623 6.87412 7.33744 8.89844L7.30893 8.93017L2.7154 13.3124L1.24023 11.7004L5.63338 7.45082C7.21765 5.67868 7.9949 4.05478 8.37789 2.89777C8.57098 2.31443 8.66471 1.84706 8.71016 1.53633C8.73288 1.38097 8.74352 1.2649 8.74847 1.19324C8.75095 1.15741 8.752 1.13272 8.75243 1.11981L8.75272 1.10938L8.7527 1.11094L8.75269 1.11345L8.75268 1.11609Z", fill: "#B2BECD" }),
|
34
34
|
h("rect", { x: "5.5166", width: "2.20704", height: "1.10937", fill: "#B2BECD" }),
|
35
35
|
h("path", { d: "M4.17075 7.9686C3.09555 6.69872 2.39593 5.48407 1.94141 4.4375H4.40026C4.76103 5.09472 5.24197 5.81584 5.88345 6.5682L5.93101 6.62398L5.96524 6.67692C5.96787 6.68067 5.97319 6.68816 5.98137 6.69921C6.0017 6.72667 6.03969 6.77615 6.09781 6.8448C6.21395 6.98199 6.41098 7.19635 6.70864 7.46479C7.19301 7.9016 8.18265 8.61127 9.29424 9.23901L8.50109 11.2671C6.94927 10.5044 5.9002 9.71638 5.23489 9.11639C4.86256 8.78062 4.5965 8.49477 4.41706 8.28281C4.32738 8.17688 4.25946 8.08955 4.21081 8.02383C4.19559 8.00327 4.18226 7.98483 4.17075 7.9686Z", fill: "#B2BECD" })));
|
36
|
+
export const LoadingSpinner = () => (h("div", { class: "spinner-border", role: "status" }));
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { AuthStore } from '../stores';
|
1
2
|
import { HttpService } from './httpService';
|
2
3
|
export class AccountService {
|
3
4
|
constructor() { }
|
@@ -11,13 +12,50 @@ export class AccountService {
|
|
11
12
|
const headers = {
|
12
13
|
'Content-Type': 'application/json',
|
13
14
|
};
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
AuthStore.state.loading = true;
|
16
|
+
let result;
|
17
|
+
try {
|
18
|
+
result = await HttpService.http.post('api/Account/Register', registerInput, {
|
19
|
+
headers: headers
|
20
|
+
});
|
21
|
+
if (result.Succeeded) {
|
22
|
+
AuthStore.state.loading = false;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
catch (e) {
|
26
|
+
AuthStore.state.loading = false;
|
27
|
+
return e;
|
28
|
+
}
|
17
29
|
return result;
|
18
30
|
}
|
19
31
|
async forgotPassword(forgotPasswordInput) {
|
20
|
-
|
32
|
+
AuthStore.state.loading = true;
|
33
|
+
let result;
|
34
|
+
try {
|
35
|
+
result = await HttpService.http.post('api/Account/Forgot-Password', forgotPasswordInput);
|
36
|
+
if (result.Succeeded) {
|
37
|
+
AuthStore.state.loading = false;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
catch (e) {
|
41
|
+
AuthStore.state.loading = false;
|
42
|
+
return e;
|
43
|
+
}
|
44
|
+
return result;
|
45
|
+
}
|
46
|
+
async resetPassword(resetPasswordInput) {
|
47
|
+
AuthStore.state.loading = true;
|
48
|
+
let result;
|
49
|
+
try {
|
50
|
+
result = await HttpService.http.post('api/Account/reset-password', resetPasswordInput);
|
51
|
+
if (result.Succeeded) {
|
52
|
+
AuthStore.state.loading = false;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
catch (e) {
|
56
|
+
AuthStore.state.loading = false;
|
57
|
+
return e;
|
58
|
+
}
|
21
59
|
return result;
|
22
60
|
}
|
23
61
|
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { HttpService } from './httpService';
|
2
|
+
import goalStore from '../stores/goal.store';
|
3
|
+
import { SparkleGlobal } from '../util';
|
4
|
+
export class AppDataService {
|
5
|
+
constructor() { }
|
6
|
+
static getInstance() {
|
7
|
+
if (!AppDataService.instance) {
|
8
|
+
AppDataService.instance = new AppDataService();
|
9
|
+
}
|
10
|
+
return AppDataService.instance;
|
11
|
+
}
|
12
|
+
async getAllAppData(appId) {
|
13
|
+
let result = await HttpService.http.get(`api/v1/AppData/${appId}`);
|
14
|
+
return result;
|
15
|
+
}
|
16
|
+
async createAppData(payload) {
|
17
|
+
let result = await HttpService.http.post(`api/v1/AppData/`, payload);
|
18
|
+
return result;
|
19
|
+
}
|
20
|
+
async updateAppData(payload) {
|
21
|
+
let result = await HttpService.http.put(`api/v1/AppData/${payload.Id}`, payload);
|
22
|
+
return result;
|
23
|
+
}
|
24
|
+
async getAllGoals() {
|
25
|
+
goalStore.state.goalsLoading = true;
|
26
|
+
let result = await this.getAllAppData(SparkleGlobal.MY_GOALS_APP_ID);
|
27
|
+
if (result) {
|
28
|
+
goalStore.state.goals = result.Data.map(item => {
|
29
|
+
return Object.assign(Object.assign({}, item), { AppData: JSON.parse(item.AppJsonData) });
|
30
|
+
});
|
31
|
+
goalStore.state.goalsLoading = false;
|
32
|
+
}
|
33
|
+
return result;
|
34
|
+
}
|
35
|
+
async createGoal(payload) {
|
36
|
+
goalStore.state.goalLoading = true;
|
37
|
+
let result = await this.createAppData(payload);
|
38
|
+
if (result) {
|
39
|
+
result.Data.AppData = JSON.parse(result.Data.AppJsonData);
|
40
|
+
goalStore.state.goals = [...goalStore.state.goals, result.Data];
|
41
|
+
goalStore.state.goalLoading = false;
|
42
|
+
}
|
43
|
+
return result;
|
44
|
+
}
|
45
|
+
async updateGoal(payload) {
|
46
|
+
goalStore.state.goalLoading = true;
|
47
|
+
let result = await this.updateAppData(payload);
|
48
|
+
if (result) {
|
49
|
+
result.Data.AppData = JSON.parse(result.Data.AppJsonData);
|
50
|
+
goalStore.state.goals = goalStore.state.goals.map(item => {
|
51
|
+
if (item.Id == result.Data.Id) {
|
52
|
+
return Object.assign(Object.assign({}, result.Data), { AppData: JSON.parse(result.Data.AppJsonData) });
|
53
|
+
}
|
54
|
+
return item;
|
55
|
+
});
|
56
|
+
goalStore.state.goalLoading = false;
|
57
|
+
}
|
58
|
+
return result;
|
59
|
+
}
|
60
|
+
}
|
@@ -14,31 +14,40 @@ export class AuthService {
|
|
14
14
|
const headers = {
|
15
15
|
'Content-Type': 'application/json',
|
16
16
|
};
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
17
|
+
AuthStore.state.loading = true;
|
18
|
+
let result;
|
19
|
+
try {
|
20
|
+
result = await HttpService.http.post('api/Account/Authenticate', authenticationInput, {
|
21
|
+
headers: headers
|
22
|
+
});
|
23
|
+
if (result) {
|
24
|
+
const authData = result.Data;
|
25
|
+
const authUser = {
|
26
|
+
Id: authData.Id,
|
27
|
+
UserName: authData.UserName,
|
28
|
+
Email: authData.Email,
|
29
|
+
Roles: authData.Roles,
|
30
|
+
IsVerified: authData.IsVerified,
|
31
|
+
JWToken: authData.JWToken,
|
32
|
+
IssuedOn: authData.IssuedOn,
|
33
|
+
ExpiresOn: authData.ExpiresOn,
|
34
|
+
RefreshToken: authData.RefreshToken,
|
35
|
+
PhotoUrl: "",
|
36
|
+
IsFacilitator: authData.Roles.indexOf("Facilitator") > 0
|
37
|
+
};
|
38
|
+
const expireDate = authenticationInput.RememberClient ? new Date(authUser.ExpiresOn) : undefined;
|
39
|
+
sparkle.auth.setToken(authUser.JWToken, expireDate);
|
40
|
+
//TODO: change authUser.JWToken to encrypted
|
41
|
+
sparkle.utils.setCookieValue(AppConsts.authorization.encrptedAuthTokenName, authUser.JWToken, expireDate, sparkle.appPath);
|
42
|
+
await set(AppConsts.AUTH_USER_LOCALSTORAGE, authUser);
|
43
|
+
AuthStore.state.authUser = Object.assign({}, authUser);
|
44
|
+
AuthStore.state.loading = false;
|
45
|
+
return authUser;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
catch (e) {
|
49
|
+
AuthStore.state.loading = false;
|
50
|
+
return e;
|
42
51
|
}
|
43
52
|
}
|
44
53
|
async signOut() {
|
@@ -1,4 +1,6 @@
|
|
1
1
|
import Util from '../../utils';
|
2
|
+
import { getAssetPath } from "@stencil/core";
|
3
|
+
//declare var sparkle: any;
|
2
4
|
export async function setupConfig(config) {
|
3
5
|
if (!window) {
|
4
6
|
return;
|
@@ -11,10 +13,12 @@ export async function setupConfig(config) {
|
|
11
13
|
}
|
12
14
|
win.Sparkle = win.Sparkle || {};
|
13
15
|
win.Sparkle.config = Object.assign(Object.assign({}, win.Sparkle.config), config);
|
14
|
-
sparkle.config =
|
16
|
+
// sparkle.config = {
|
17
|
+
// ...config.sparkle
|
18
|
+
// };
|
15
19
|
return win.Sparkle.config;
|
16
20
|
}
|
17
21
|
export async function initSetupConfig(config) {
|
18
|
-
await Util.loadScriptAsync(
|
22
|
+
await Util.loadScriptAsync(getAssetPath(`../assets/lib/sparkle.js`));
|
19
23
|
await setupConfig(config);
|
20
24
|
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
import { HttpService } from './httpService';
|
2
|
+
import facilitatorStore from '../stores/facilitator.store';
|
3
|
+
export class FacilitatorService {
|
4
|
+
constructor() { }
|
5
|
+
static getInstance() {
|
6
|
+
if (!FacilitatorService.instance) {
|
7
|
+
FacilitatorService.instance = new FacilitatorService();
|
8
|
+
}
|
9
|
+
return FacilitatorService.instance;
|
10
|
+
}
|
11
|
+
async fetchClasses() {
|
12
|
+
facilitatorStore.state.classesLoading = true;
|
13
|
+
let result = await HttpService.http.get(`api/v1/Teacher/Classes`);
|
14
|
+
if (result) {
|
15
|
+
facilitatorStore.state.classes = result.Data;
|
16
|
+
facilitatorStore.state.classesLoading = false;
|
17
|
+
}
|
18
|
+
return result;
|
19
|
+
}
|
20
|
+
async fetchDashboardData(payload) {
|
21
|
+
facilitatorStore.state.dashboardDataLoading = true;
|
22
|
+
let result = await HttpService.http.get(`api/v1/Teacher/Dashboard/${payload.ClassId}`);
|
23
|
+
if (result) {
|
24
|
+
facilitatorStore.state.dashboardData = result.Data;
|
25
|
+
facilitatorStore.state.dashboardDataLoading = false;
|
26
|
+
}
|
27
|
+
return result;
|
28
|
+
}
|
29
|
+
async fetchNotes(payload) {
|
30
|
+
facilitatorStore.state.notesLoading = true;
|
31
|
+
let result = await HttpService.http.get(`api/v1/Teacher/Notes/${payload.showAllNotes}`);
|
32
|
+
if (result) {
|
33
|
+
if (payload.showAllNotes) {
|
34
|
+
facilitatorStore.state.allPageNotes = result.Data;
|
35
|
+
}
|
36
|
+
else {
|
37
|
+
facilitatorStore.state.pageNotes = result.Data;
|
38
|
+
}
|
39
|
+
facilitatorStore.state.notesLoading = false;
|
40
|
+
}
|
41
|
+
return result;
|
42
|
+
}
|
43
|
+
async addFacilitatorNote(payload) {
|
44
|
+
facilitatorStore.state.notesLoading = true;
|
45
|
+
let result = await HttpService.http.post(`api/v1/Teacher/Notes`, payload);
|
46
|
+
if (result) {
|
47
|
+
facilitatorStore.state.pageNotes = [...facilitatorStore.state.pageNotes, result.Data];
|
48
|
+
}
|
49
|
+
facilitatorStore.state.notesLoading = false;
|
50
|
+
return result;
|
51
|
+
}
|
52
|
+
async updateFacilitatorNote(payload) {
|
53
|
+
facilitatorStore.state.notesLoading = true;
|
54
|
+
let result = await HttpService.http.put(`api/v1/Teacher/Notes/${payload.Id}`, payload);
|
55
|
+
if (result) {
|
56
|
+
facilitatorStore.state.pageNotes = facilitatorStore.state.pageNotes.map((item) => {
|
57
|
+
if (item.Id == result.Data.Id) {
|
58
|
+
return result.Data;
|
59
|
+
}
|
60
|
+
return item;
|
61
|
+
});
|
62
|
+
}
|
63
|
+
facilitatorStore.state.notesLoading = false;
|
64
|
+
return result;
|
65
|
+
}
|
66
|
+
async deleteFacilitatorNote(id) {
|
67
|
+
facilitatorStore.state.notesLoading = true;
|
68
|
+
let result = await HttpService.http.delete(`api/v1/Teacher/Notes/${id}`);
|
69
|
+
if (result) {
|
70
|
+
facilitatorStore.state.pageNotes = facilitatorStore.state.pageNotes.filter(x => x.Id != id);
|
71
|
+
}
|
72
|
+
;
|
73
|
+
facilitatorStore.state.notesLoading = false;
|
74
|
+
return result;
|
75
|
+
}
|
76
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { HttpService } from './httpService';
|
2
|
+
import feedStore from '../stores/feed.store';
|
3
|
+
export class FeedService {
|
4
|
+
constructor() { }
|
5
|
+
static getInstance() {
|
6
|
+
if (!FeedService.instance) {
|
7
|
+
FeedService.instance = new FeedService();
|
8
|
+
}
|
9
|
+
return FeedService.instance;
|
10
|
+
}
|
11
|
+
async getAllPosts() {
|
12
|
+
feedStore.state.postsLoading = true;
|
13
|
+
let result = await HttpService.http.get(`api/v1/Feed/GetAll`);
|
14
|
+
if (result) {
|
15
|
+
feedStore.state.posts = result.Data;
|
16
|
+
feedStore.state.postsLoading = false;
|
17
|
+
}
|
18
|
+
return result;
|
19
|
+
}
|
20
|
+
async createPost(payload) {
|
21
|
+
feedStore.state.createPostLoading = true;
|
22
|
+
let result = await HttpService.http.post(`api/v1/Feed/PostFeed`, payload);
|
23
|
+
if (result) {
|
24
|
+
feedStore.state.posts = [result.Data, ...feedStore.state.posts];
|
25
|
+
feedStore.state.createPostLoading = false;
|
26
|
+
}
|
27
|
+
return result;
|
28
|
+
}
|
29
|
+
async createPostComment(payload) {
|
30
|
+
feedStore.state.postIdLoading = payload.PostId;
|
31
|
+
let result = await HttpService.http.post(`api/v1/Feed/Comment`, payload);
|
32
|
+
if (result) {
|
33
|
+
feedStore.state.posts = feedStore.state.posts.map((item) => {
|
34
|
+
if (item.Id == result.Data.ClassFeedPostId) {
|
35
|
+
return Object.assign(Object.assign({}, item), { Comments: [...item.Comments, result.Data] });
|
36
|
+
}
|
37
|
+
return item;
|
38
|
+
});
|
39
|
+
feedStore.state.postIdLoading = null;
|
40
|
+
}
|
41
|
+
return result;
|
42
|
+
}
|
43
|
+
}
|