@clickview/lite 0.75.0-rc.3 → 0.75.0-rc.4
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/bundles.json +1 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/104-0c03791b45-lite.chunk.js +2 -0
- package/dist/scripts/104-0c03791b45-lite.chunk.js.map +1 -0
- package/dist/scripts/1074-4f6b136f9a-lite.chunk.js +2 -0
- package/dist/scripts/1074-4f6b136f9a-lite.chunk.js.map +1 -0
- package/dist/scripts/1192-d409863a3c-lite.chunk.js +2 -0
- package/dist/scripts/1192-d409863a3c-lite.chunk.js.map +1 -0
- package/dist/scripts/{1199-6522b1d291-lite.chunk.js → 1199-d2fcbb547e-lite.chunk.js} +1 -1
- package/dist/scripts/1199-d2fcbb547e-lite.chunk.js.map +1 -0
- package/dist/scripts/{1221-894d8474d5-lite.chunk.js → 1221-1109d5379d-lite.chunk.js} +2 -2
- package/dist/scripts/1221-1109d5379d-lite.chunk.js.map +1 -0
- package/dist/scripts/1491-ab92a040e5-lite.chunk.js +2 -0
- package/dist/scripts/1491-ab92a040e5-lite.chunk.js.map +1 -0
- package/dist/scripts/{1610-bf848cce4d-lite.chunk.js → 1610-bb6eff2ff1-lite.chunk.js} +2 -2
- package/dist/scripts/1610-bb6eff2ff1-lite.chunk.js.map +1 -0
- package/dist/scripts/{218-297de74688-lite.chunk.js → 218-f6cc4a3b6a-lite.chunk.js} +2 -2
- package/dist/scripts/218-f6cc4a3b6a-lite.chunk.js.map +1 -0
- package/dist/scripts/{2968-c4c0114915-lite.chunk.js → 2968-13e56eeff8-lite.chunk.js} +1 -1
- package/dist/scripts/2968-13e56eeff8-lite.chunk.js.map +1 -0
- package/dist/scripts/3597-eaae787997-lite.chunk.js +3 -0
- package/dist/scripts/3597-eaae787997-lite.chunk.js.map +1 -0
- package/dist/scripts/4185-7178e5a716-lite.chunk.js +2 -0
- package/dist/scripts/4185-7178e5a716-lite.chunk.js.map +1 -0
- package/dist/scripts/{4722-d96da2a258-lite.chunk.js → 4722-9eb591621a-lite.chunk.js} +3 -3
- package/dist/scripts/4722-9eb591621a-lite.chunk.js.map +1 -0
- package/dist/scripts/{5153-acc6c13153-lite.chunk.js → 5153-cf62a95421-lite.chunk.js} +2 -2
- package/dist/scripts/5153-cf62a95421-lite.chunk.js.map +1 -0
- package/dist/scripts/6756-cfd00009e4-lite.chunk.js +3 -0
- package/dist/scripts/6756-cfd00009e4-lite.chunk.js.map +1 -0
- package/dist/scripts/{6790-c8a9efba50-lite.chunk.js → 6790-36ce6dda04-lite.chunk.js} +1 -1
- package/dist/scripts/6790-36ce6dda04-lite.chunk.js.map +1 -0
- package/dist/scripts/7148-d966512e45-lite.chunk.js +2 -0
- package/dist/scripts/7148-d966512e45-lite.chunk.js.map +1 -0
- package/dist/scripts/{7438-88d11bb89a-lite.chunk.js → 7438-38f60d3e8e-lite.chunk.js} +1 -1
- package/dist/scripts/7438-38f60d3e8e-lite.chunk.js.map +1 -0
- package/dist/scripts/{8856-02dd2e486c-lite.chunk.js → 8856-4da691f96f-lite.chunk.js} +1 -1
- package/dist/scripts/8856-4da691f96f-lite.chunk.js.map +1 -0
- package/dist/scripts/9003-fc8e674468-lite.chunk.js +2 -0
- package/dist/scripts/9003-fc8e674468-lite.chunk.js.map +1 -0
- package/dist/scripts/9042-add0f1c2e2-lite.chunk.js +2 -0
- package/dist/scripts/9042-add0f1c2e2-lite.chunk.js.map +1 -0
- package/dist/scripts/{9134-19912ca3ee-lite.chunk.js → 9134-a6a5fc92cf-lite.chunk.js} +1 -1
- package/dist/scripts/9134-a6a5fc92cf-lite.chunk.js.map +1 -0
- package/dist/scripts/9620-3746c84350-lite.chunk.js +3 -0
- package/dist/scripts/9620-3746c84350-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-828ca65de8.min.js → bundle-fc60888464.min.js} +3 -3
- package/dist/scripts/{bundle-828ca65de8.min.js.map → bundle-fc60888464.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/104-7abe2b09dd-lite.chunk.js +0 -2
- package/dist/scripts/104-7abe2b09dd-lite.chunk.js.map +0 -1
- package/dist/scripts/1074-2ab8b03e30-lite.chunk.js +0 -2
- package/dist/scripts/1074-2ab8b03e30-lite.chunk.js.map +0 -1
- package/dist/scripts/1199-6522b1d291-lite.chunk.js.map +0 -1
- package/dist/scripts/1221-894d8474d5-lite.chunk.js.map +0 -1
- package/dist/scripts/1400-43b37bfa8d-lite.chunk.js +0 -2
- package/dist/scripts/1400-43b37bfa8d-lite.chunk.js.map +0 -1
- package/dist/scripts/1610-bf848cce4d-lite.chunk.js.map +0 -1
- package/dist/scripts/218-297de74688-lite.chunk.js.map +0 -1
- package/dist/scripts/2968-c4c0114915-lite.chunk.js.map +0 -1
- package/dist/scripts/4185-1f65c7adc9-lite.chunk.js +0 -2
- package/dist/scripts/4185-1f65c7adc9-lite.chunk.js.map +0 -1
- package/dist/scripts/4722-d96da2a258-lite.chunk.js.map +0 -1
- package/dist/scripts/5153-acc6c13153-lite.chunk.js.map +0 -1
- package/dist/scripts/6756-e90680dfcd-lite.chunk.js +0 -3
- package/dist/scripts/6756-e90680dfcd-lite.chunk.js.map +0 -1
- package/dist/scripts/6790-c8a9efba50-lite.chunk.js.map +0 -1
- package/dist/scripts/7148-432ab72091-lite.chunk.js +0 -2
- package/dist/scripts/7148-432ab72091-lite.chunk.js.map +0 -1
- package/dist/scripts/7438-88d11bb89a-lite.chunk.js.map +0 -1
- package/dist/scripts/8687-549a2d9278-lite.chunk.js +0 -3
- package/dist/scripts/8687-549a2d9278-lite.chunk.js.map +0 -1
- package/dist/scripts/8856-02dd2e486c-lite.chunk.js.map +0 -1
- package/dist/scripts/9003-1db925f5ec-lite.chunk.js +0 -2
- package/dist/scripts/9003-1db925f5ec-lite.chunk.js.map +0 -1
- package/dist/scripts/9042-1a42fcbba2-lite.chunk.js +0 -2
- package/dist/scripts/9042-1a42fcbba2-lite.chunk.js.map +0 -1
- package/dist/scripts/9134-19912ca3ee-lite.chunk.js.map +0 -1
- package/dist/scripts/9528-2b478f4ca8-lite.chunk.js +0 -3
- package/dist/scripts/9528-2b478f4ca8-lite.chunk.js.map +0 -1
- /package/dist/css/{8687-lite-6787cc731a.chunk.css → 3597-lite-6787cc731a.chunk.css} +0 -0
- /package/dist/css/{9528-lite-6787cc731a.chunk.css → 9620-lite-6787cc731a.chunk.css} +0 -0
- /package/dist/scripts/{1221-894d8474d5-lite.chunk.js.LICENSE.txt → 1221-1109d5379d-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{4722-d96da2a258-lite.chunk.js.LICENSE.txt → 3597-eaae787997-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5153-acc6c13153-lite.chunk.js.LICENSE.txt → 4722-9eb591621a-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6756-e90680dfcd-lite.chunk.js.LICENSE.txt → 5153-cf62a95421-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8687-549a2d9278-lite.chunk.js.LICENSE.txt → 6756-cfd00009e4-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9528-2b478f4ca8-lite.chunk.js.LICENSE.txt → 9620-3746c84350-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-828ca65de8.min.js.LICENSE.txt → bundle-fc60888464.min.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/1610-bb6eff2ff1-lite.chunk.js","mappings":"mHAAA,IAAYA,E,iBAAZ,SAAYA,GACV,kBACA,oBACA,wCACA,8DACA,oEACA,wBACA,8BACA,iBACD,CATD,CAAYA,IAAAA,EAAY,I,mCCEjB,IAAMC,EAAuB,CAClCC,YAAW,WACT,MAAO,CACLC,IAAK,mCACLC,IAAK,mBACLC,WAAW,EAEf,EAEAC,oBAAmB,WACjB,MAAO,CACLH,IAAK,4CACLC,IAAK,4BACLC,WAAW,EAEf,EAEAE,mBAAkB,WAChB,MAAO,CACLJ,IAAK,2CACLC,IAAK,2BACLC,WAAW,EAEf,EAEAG,WAAU,WACR,MAAO,CACLL,IAAK,mCACLC,IAAK,mBACLC,WAAW,EAEf,EAEAI,MAAK,WACH,MAAO,CACLN,IAAK,6BACLC,IAAK,aACLC,WAAW,EAEf,EAEAK,kBAAiB,WACf,MAAO,CACLP,IAAK,0CACLC,IAAK,0BACLC,WAAW,EAEf,EAEAM,iBAAgB,WACd,MAAO,CACLR,IAAK,yCACLC,IAAK,yBACLC,WAAW,EAEf,E,8OC3CF,IAAMO,EAAY,0BASZ,SAAUC,EAAmBC,GACjC,I,IAIC,G,GAJyB,OACxB,0BACA,EACA,CAAEC,QAAS,oB,EACZ,E,o4BAJOC,EAAI,KAAEC,EAAO,KA2BrB,OAAKH,EAAMI,cAAiBF,EAI1B,uBAAKG,KAAK,QAAQC,UAAU,oFAC1B,2BACE,gBAAC,IAAI,CAACR,UAAWA,EAAWS,OAAO,eACnC,qBAAGD,UAAU,YAAYE,KAxB/B,WACE,IAAKR,EAAMS,MAAO,OAAOT,EAAMU,aAE/B,IAAIC,EAAa,GAWjB,OATIX,EAAMS,MAAMG,SAAW,kBACzBD,EAAa,iBAAH,OAAoBX,EAAMS,MAAMI,GAAE,WAE1Cb,EAAMS,MAAMG,SAAW,YACzBD,EAAa,WAAH,OAAcX,EAAMS,MAAMI,GAAE,WAEpCb,EAAMS,MAAMG,SAAW,WACzBD,EAAa,UAAH,OAAaX,EAAMS,MAAMI,GAAE,WAEhC,kBAAwBb,EAAMU,aAAcC,EACrD,CASqCG,GAAmBC,OAAO,UACvD,gBAAC,IAAI,CAACjB,UAAWA,EAAWS,OAAO,eACjC,KAEN,gBAAC,IAAU,CAACS,QAAS,WAAoBV,UAAU,YAAYW,QAhCnE,WACEd,GAAQ,EACV,KAoBS,gCAaX,C,2CCjEO,IAAMe,EAA8B,SAC9BC,EAA2B,Q,6ICgBlCC,EAAY,qBADA,yBAKLC,EAA6B,CACxCC,KAAM,SACNC,QAAS,iBACTC,SAAU,IACVC,aAAc,gBACdC,UAAW,GACXC,YAAa,GACbC,aAAa,IAAIC,MAAOC,cACxBC,WAAY,KACZC,KAAM,CACJC,kBAAmB,GACnBC,aAAc,IAEhBC,QAAS,IACTC,gBAAiB,EACjBC,QAAS,EACTC,WAAY,GACZC,QAAS,CACPC,kBAAkB,EAClBC,mBAAmB,IAIVC,EAAoD,CAC/DC,MAAOtB,EACPuB,aAAc,KACdC,gBAAiB,KACjBC,WAAY,aAAoB,IAAIjB,KA7BR,EA6BuC,QAAQC,eAGvEiB,EAAsC,CAC1CC,YAAa,cACbC,OAAQ,wCAGGC,EAAsC,CACjDlC,QAAS,eACTmC,MAAO/B,EAAU,gBACjBgC,QAASL,EACTM,MAAO,WACP/C,UAAW,uB,oVC5Db,SAAgB,WAAa,SCa7B,IAAMR,EAAY,wBACZsB,EAAYkC,EAAA,mBAAiCxD,GAU7C,SAAUyD,EAAoBvD,GAClC,IAAMwD,EAAYxD,EAAMyD,QAAQC,SAAS,WAEnCC,EAAW3D,EAAM4D,YAAYC,IAAM7D,EAAM4D,YAAYE,GAkB3D,OACE,2BACE,gBAAC,IAAoB,CAACC,QAAS3C,EAAU,eAAgB4C,SAAS,IAElE,uBAAK1D,UAAS,UAAK,aAAiB,8CAClC,gBAAC2D,EAAA,EAAgB,CACfC,UAAS,+BAAO,MAA8B,CAAEtB,aArB/C,OAAP,wBACK5C,EAAMmE,iBAAe,CACxBtD,GAAI2C,EAAY,IAA8B,QAoB1CY,iBAhBR,WACE,MAAO,CAAC,OAAD,wBAEA,MAAoB,CACvBC,QAASV,IAGf,EAUQW,YAAatE,EAAMsE,YACnBC,WAAYvE,EAAMuE,WAClBX,YAAa5D,EAAM4D,aAEnB,uBAAKtD,UAAU,8EACb,gBAACkE,EAAA,EAAI,CAAC1E,UAAWA,EAAWS,OAAO,uBAM/C,C,qECpDM,EAAY,8BACZ,EAAY+C,EAAA,mBAAiC,GAE7C,SAAUmB,IACd,OACE,gBAACC,EAAA,EAAU,KACT,gBAACA,EAAA,QAAgB,CAACC,IAAKC,EAAA,+BAAwCC,QAAS,EAAU,aAClF,gBAACH,EAAA,UAAkB,KAAC,gBAACF,EAAA,EAAI,CAAC1E,UAAW,EAAWS,OAAO,aACvD,gBAACmE,EAAA,OAAe,KAAC,gBAACF,EAAA,EAAI,CAAC1E,UAAW,EAAWS,OAAO,UACpD,gBAACmE,EAAA,MAAc,CACbI,KAAMxB,EAAA,YAA0B,EAAW,OAC3CF,QAAS,CACPJ,YAAa,YACbC,OAAQ,oBAEV8B,cAAe,CAAC,EAChBC,iBAAkB,CAChBC,WAAY,WACZC,SAAU,qBACVC,OAAQ,aACRC,cAAe,WACfC,WAAY,KAAAC,UAKtB,C,eCJM,EAAY,oBACZ,EAAYhC,EAAA,mBAAiC,GAM7C,SAAUiC,EAAavF,G,aAE3B,EAAAwF,EAAA,GAAmB,CAAEC,MAAO,EAAU,cACtC,OAAgD,EAAAC,EAAA,KAAxCC,EAAc,EAAdA,eAAgBC,EAAmB,EAAnBA,oBACxB,GAA0C,EAAAC,EAAA,GAAY,MAA9CC,EAAc,EAAdA,eAAgBC,EAAa,EAAbA,cAChBC,GAAa,EAAAC,EAAA,KAAbD,SACFpC,GAAc,EAAAsC,EAAA,KACZC,GAAiB,EAAAC,EAAA,KAAjBD,aAEFE,GAAe,QAAgBrG,EAAMY,QAGrC0F,GAAeV,EAAoB,0BACvCD,EAAeY,EAAA,iBAAgCT,EAC3CU,EAAwBV,GAAkBH,EAAeY,EAAA,gBACzDE,EAAwC,QAAtB,EAAAN,aAAY,EAAZA,EAAcO,gBAAQ,eAAEC,gBAG1CC,EAAS,kBAA6BC,EAAA,YACtCC,EAAc,kBAAkCC,EAAA,iBAChDxC,EAAa,mBACD,QAAhB,EAAAuC,EAAYE,YAAI,eAAEC,kBAAmBC,EAAA,aAA4BJ,EAAYE,KAAKG,aAE9EhD,EAAkB,kBAA0CsC,GAChEtH,EAAA,yBAEI+E,GAAY,EAAAkD,EAAA,GAAe,CAC/BC,qBAAqB,EACrBf,YAAAA,EACAgB,OAAQ,CACNhG,KAAM,CAAEiG,EAAA,OAAgBA,EAAA,mBAS5B,OALA,aAAgB,WACR5B,EAAeY,EAAA,iBAAgCT,GACnD,gBAA4B,IAChC,GAAG,CAACQ,IAECA,EAIH,uBAAKhG,UAAU,QACb,gBAACP,EAAA,EAAkB,CACjBW,aAAyB,QAAX,EAAAkG,EAAOI,YAAI,eAAEQ,gBAC3BpH,aAAcuF,EAAeY,EAAA,2BAG/B,uBAAKjG,UAAU,2BACb,sBAAIA,UAAU,QAAO,gBAACkE,EAAA,EAAI,CAAC1E,UAAW,EAAWS,OAAO,cACvDwF,GACC,qBAAGzF,UAAU,QACX,gBAACkE,EAAA,EAAI,CAAC1E,UAAW,EAAWS,OAAO,mBAAkB,IAErD,gBAACkH,EAAA,EAAO,CACNrE,QAAS,CAAEJ,YAAa,eAAwBC,OAAQ,qBACxD3C,UAAU,aAEV,gBAACkE,EAAA,EAAI,CAAC1E,UAAW,EAAWS,OAAO,qBAM1CkG,GAAmBtC,EAAgB6C,MAClC,gBAACzD,EAAmB,CAClBY,gBAAiBA,EAAgB6C,KACjCvD,QAAoB,QAAX,EAAAmD,EAAOI,YAAI,eAAEvD,QACtBG,YAAaA,EACbU,YAAaJ,EAAUI,YACvBC,WAAYA,EAAWyC,OAIzB,W,MACA,OAAI9C,EAAUwD,mBACL,gBAACC,EAAA,EAAoB,MAEzBzD,EAAU0D,WAAWC,OAMxB,gCACE,gBAACC,EAAA,EAAa,CACZF,WAAY1D,EAAU0D,WACtBG,cAAe7D,EAAU6D,cAAcC,MACvCnF,gBAAiBqB,EAAUrB,gBAAgBmF,MAC3CC,0BAA2B/D,EAAU+D,0BAA0BC,SAC/D9D,iBAAkB,SAAA+D,GAAG,OAAI,QAAsB,CAC7CxF,MAAOwF,EAAIxF,MACXC,aAAcuF,EAAIvF,aAClBwF,eAAgB/B,EAAagC,sBAC7BC,YAAa9B,EACbR,SAAAA,EACApC,YAAAA,GACA,EACF2E,mBAAiB,EACjB3E,YAAaA,EACb+C,gBAAiBF,EACjBnC,YAAwB,QAAX,EAAAsC,EAAOI,YAAI,eAAE1C,YAC1BC,WAAYA,EAAWyC,QAEvB9C,EAAUsE,SAAWtE,EAAUuE,aAC/B,gBAACC,EAAA,EAAoB,CACnBD,WAAYvE,EAAUuE,WACtBE,UAAWzE,EAAUyE,UACrBC,WAAY1E,EAAU0E,cA5B1B,gBAACC,EAAA,EAAuB,KAiC9B,CAvCE,IAnCG,gBAACpE,EAAkB,KA6E9B,C","sources":["file:///app/packages/libs/shared/src/apps/share-v2/enums/SharePrivacy.ts","file:///app/packages/libs/shared/src/flight-requests/InsightsDemoRequests.ts","file:///app/packages/projects/lite/src/apps/my-shares/components/insights-admin-alert/InsightsAdminAlert.tsx","file:///app/packages/projects/lite/src/apps/my-shares/constants/DemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/constants/MySharesDemoInsights.ts","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-demo-insight/my-shares-demo-insights.scss","file:///app/packages/projects/lite/src/apps/my-shares/components/my-shares-demo-insight/MySharesDemoInsight.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/my-shares/empty-state/MySharesEmptyState.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/my-shares/MySharesView.tsx"],"sourcesContent":["export enum SharePrivacy {\n Public = 'Public',\n PinCode = 'PinCode',\n PasswordProtected = 'PasswordProtected',\n ProtectedOverrideRestriction = 'ProtectedOverrideRestriction',\n JustMySchoolOverrideRestriction = 'JustMySchoolOverrideRestriction',\n Protected = 'Protected',\n JustMySchool = 'JustMySchool',\n Direct = 'Direct'\n}","import { Flight } from 'libs/common/react/index';\n\nexport const InsightsDemoRequests = {\n interactive(): Flight.Request {\n return {\n url: `/mocks/insights/interactive.json`,\n key: `demo:interactive`,\n normalize: false\n };\n },\n\n interactiveMetadata(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-metadata.json`,\n key: `demo:interactive:metadata`,\n normalize: false\n };\n },\n\n interactiveResults(): Flight.Request {\n return {\n url: `/mocks/insights/interactive-results.json`,\n key: `demo:interactive:results`,\n normalize: false\n };\n },\n\n videoViews(): Flight.Request {\n return {\n url: `/mocks/insights/video-views.json`,\n key: `demo:video:views`,\n normalize: false\n };\n },\n\n users(): Flight.Request {\n return {\n url: `/mocks/insights/users.json`,\n key: `demo:users`,\n normalize: false\n };\n },\n\n individualHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/individual-heatmap.json`,\n key: `demo:individual:heatmap`,\n normalize: false\n };\n },\n\n aggregateHeatmap(): Flight.Request {\n return {\n url: `/mocks/insights/aggregate-heatmap.json`,\n key: `demo:aggregate:heatmap`,\n normalize: false\n };\n }\n};","import React from 'react';\n\nimport { StorageType } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ViewModelKeys } from 'shared/constants/LiteViewModels';\n\nconst namespace = 'lite.insightsAdminAlert';\n\ninterface InsightsAdminAlertProps {\n hasAnalytics: boolean;\n analyticsUrl: string;\n video?: VideoTypes;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function InsightsAdminAlert(props: InsightsAdminAlertProps) {\n const [ show, setShow ] = useViewModel(\n ViewModelKeys.INSIGHTS_ADMIN_ALERT,\n true,\n { storage: StorageType.LocalStorage }\n );\n\n function onDismiss() {\n setShow(false);\n }\n\n function getAnalyticsUrl() {\n if (!props.video) return props.analyticsUrl;\n\n let videoRoute = '';\n\n if (props.video.typeId === MasterType.Interactive)\n videoRoute = `/interactives/${props.video.id}/views`;\n\n if (props.video.typeId === MasterType.Video)\n videoRoute = `/videos/${props.video.id}/views`;\n\n if (props.video.typeId === MasterType.Clip)\n videoRoute = `/clips/${props.video.id}/views`;\n\n return UrlHelper.safeUrlConcat(props.analyticsUrl, videoRoute);\n }\n\n if (!props.hasAnalytics || !show)\n return <></>;\n\n return (\n <div role='alert' className='d-flex justify-content-between align-items-center bg-light-blue rounded p-2 mb-4'>\n <div>\n <Text namespace={namespace} phrase='adminAlert' />\n <a className='text-info' href={getAnalyticsUrl()} target='_blank'>\n <Text namespace={namespace} phrase='analytics' />\n </a>.\n </div>\n <IconButton svgName={cvSvgLibrary.Close} className='text-blue' onClick={onDismiss} />\n </div>\n );\n}","export const DEMO_INTERACTIVE_STAGING_ID = 'D8qRe7';\nexport const DEMO_INTERACTIVE_PROD_ID = 'GRWx6w';","import { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { MySharesTableData } from 'apps/my-shares/components/my-shares-table/MySharesTableUtils';\n\nconst namespace = 'myShares.demoInsights';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst DEMO_INSIGHT_DAYS_AGO = 7;\n\nexport const DEMO_INSIGHTS_SHARE: Share = {\n type: ShareType.Link,\n privacy: SharePrivacy.JustMySchool,\n objectId: '0',\n objectTypeId: MasterType.Interactive,\n viewCount: 28,\n accessCount: 15,\n dateCreated: new Date().toISOString(),\n expireDate: null,\n link: {\n shortenedEmbedUrl: '',\n shortenedUrl: ''\n },\n shareId: '0',\n ownerCustomerId: 0,\n ownerId: 0,\n recipients: [],\n options: {\n preventScrubbing: false,\n immediateFeedback: false\n }\n};\n\nexport const DEMO_INSIGHTS_SHARE_TABLE_DATA: MySharesTableData = {\n share: DEMO_INSIGHTS_SHARE,\n sharedObject: null,\n shareRecipients: null,\n dateShared: DateHelper.subtract(new Date(), DEMO_INSIGHT_DAYS_AGO, 'days').toISOString()\n};\n\nconst DEMO_INSIGHTS_APPLINK: Core.AppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_OVERVIEW_DEMO\n};\n\nexport const DEMO_INSIGHTS_ACTION: ActionOptions = {\n svgName: cvSvgLibrary.Analytics,\n label: getPhrase('demoInsights'),\n appLink: DEMO_INSIGHTS_APPLINK,\n group: 'insights',\n className: 'btn btn-outline-dark'\n};\n","// extracted by mini-css-extract-plugin\nexport default {\"background\":\"HAuP3\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { MySharesTableHeading, MySharesTableRow } from 'apps/my-shares/components/my-shares-table-row/MySharesTableRow';\nimport { DEMO_INTERACTIVE_PROD_ID, DEMO_INTERACTIVE_STAGING_ID } from 'apps/my-shares/constants/DemoInsights';\nimport { DEMO_INSIGHTS_ACTION, DEMO_INSIGHTS_SHARE_TABLE_DATA } from 'apps/my-shares/constants/MySharesDemoInsights';\n\nimport styles from './my-shares-demo-insights.scss';\n\nconst namespace = 'myShares.demoInsights';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface MySharesDemoInsightProps {\n demoInteractive: InteractiveMetadata;\n liteUrl: string;\n imageCdnUrl: string;\n yearGroups: YearGroup[];\n breakpoints: Breakpoints;\n}\n\nexport function MySharesDemoInsight(props: MySharesDemoInsightProps) {\n const isStaging = props.liteUrl.includes('staging');\n\n const isMobile = props.breakpoints.xs || props.breakpoints.sm;\n\n function getDemoInteractive() {\n return {\n ...props.demoInteractive,\n id: isStaging ? DEMO_INTERACTIVE_STAGING_ID : DEMO_INTERACTIVE_PROD_ID\n };\n }\n\n function getObjectActions() {\n return [\n {\n ...DEMO_INSIGHTS_ACTION,\n button: !isMobile\n }\n ];\n }\n\n return (\n <div>\n <MySharesTableHeading heading={getPhrase('demoHeading')} isFirst={true} />\n\n <div className={`${styles.background} rounded-3 border-md bg-light-orange mb-4`}>\n <MySharesTableRow\n shareData={{ ...DEMO_INSIGHTS_SHARE_TABLE_DATA, sharedObject: getDemoInteractive() }}\n getObjectActions={getObjectActions}\n imageCdnUrl={props.imageCdnUrl}\n yearGroups={props.yearGroups}\n breakpoints={props.breakpoints}\n >\n <div className='d-inline-block rounded-pill bg-light-blue text-info font-size-sm mt-1 px-2'>\n <Text namespace={namespace} phrase='demoInsightPill' />\n </div>\n </MySharesTableRow>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext, SignUpDescriptors, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myShares.mySharesEmptyState';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function MySharesEmptyState() {\n return (\n <EmptyState>\n <EmptyState.Image src={ImageUrls.EmptyStates.MY_VIDEOS_PUBLIC} altText={getPhrase('heading')} />\n <EmptyState.Heading><Text namespace={namespace} phrase='heading' /></EmptyState.Heading>\n <EmptyState.Info><Text namespace={namespace} phrase='info' /></EmptyState.Info>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, 'cta')}\n appLink={{\n application: AppChannels.SIGN_UP,\n action: Actions.SignUp.SIGN_UP\n }}\n analyticsData={{}}\n analyticsOptions={{\n actionType: UserAction.Click,\n location: LocationContext.MySharesLanding,\n entity: EntityType.AppLink,\n workflowPhase: WorkflowPhase.Start,\n descriptor: SignUpDescriptors.SignUp\n }}\n />\n </EmptyState>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { InsightsDemoRequests } from 'libs/shared/flight-requests/InsightsDemoRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAccessPolicy } from 'libs/shared/hooks/useAccessPolicy';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, InteractiveMetadata, YearGroup } from 'libs/shared/interfaces';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useSharesTable } from 'shared/hooks/useSharesTable';\n\nimport { InsightsAdminAlert } from 'apps/my-shares/components/insights-admin-alert/InsightsAdminAlert';\nimport { MySharesDemoInsight } from 'apps/my-shares/components/my-shares-demo-insight/MySharesDemoInsight';\nimport { MySharesTableEmptyState } from 'apps/my-shares/components/my-shares-table/empty-state/MySharesTableEmptyState';\nimport { MySharesTable } from 'apps/my-shares/components/my-shares-table/MySharesTable';\nimport { PartialMySharesTable } from 'apps/my-shares/components/my-shares-table/partial-loading/PartialMySharesTable';\nimport { MySharesEmptyState } from 'apps/my-shares/views/my-shares/empty-state/MySharesEmptyState';\nimport { getShareObjectActions, getSharesParams } from 'apps/my-shares/views/my-shares/MySharesViewUtils';\n\nconst namespace = 'myShares.myShares';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface MySharesViewProps {\n typeId: string | string[];\n}\n\nexport function MySharesView(props: MySharesViewProps) {\n // Shared hooks\n useSetPageMetadata({ title: getPhrase('myShares') });\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { hasShareFlowV2, hasClassrooms } = useSettings(null);\n const { isPlugin } = usePluginHelper();\n const breakpoints = useBreakpoints();\n const { accessPolicy } = useAccessPolicy();\n\n const sharesParams = getSharesParams(props.typeId);\n\n // Local variables\n const shouldFetch = !hasLocalPermissions(LocalPermissionName.ViewMySharesLanding) ||\n hasPermissions(PermissionName.ViewMyShares) && hasShareFlowV2;\n const hasInsightsPermission = hasShareFlowV2 && hasPermissions(PermissionName.ViewInsights);\n const showDemoInsight = accessPolicy?.metadata?.hasDemoInsights;\n\n // Flight fetching\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const demoInteractive = Flight.useBasicFetch<InteractiveMetadata>(showDemoInsight &&\n InsightsDemoRequests.interactiveMetadata());\n\n const shareData = useSharesTable({\n interactiveInsights: true,\n shouldFetch,\n params: {\n type: [ ShareType.Link, ShareType.LegacyDirect ]\n }\n });\n\n React.useEffect(() => {\n if (!(hasPermissions(PermissionName.ViewMyShares) && hasShareFlowV2))\n Core.LocationUtils.PageLoad('/');\n }, [shouldFetch]);\n\n if (!shouldFetch)\n return <MySharesEmptyState />;\n\n return (\n <div className='px-3'>\n <InsightsAdminAlert\n analyticsUrl={config.data?.analyticsWebUrl}\n hasAnalytics={hasPermissions(PermissionName.ViewCustomerAnalytics)}\n />\n\n <div className='border-bottom pb-2 mb-4'>\n <h1 className='mb-2'><Text namespace={namespace} phrase='myShares' /></h1>\n {hasClassrooms && (\n <p className='mb-0'>\n <Text namespace={namespace} phrase='classroomsHint'/>\n \n <AppLink\n appLink={{ application: AppChannels.CLASSROOMS, action: Actions.Classrooms.HOME }}\n className='info-link'\n >\n <Text namespace={namespace} phrase='classroomsCta'/>\n </AppLink>\n </p>\n )}\n </div>\n\n {showDemoInsight && demoInteractive.data &&\n <MySharesDemoInsight\n demoInteractive={demoInteractive.data}\n liteUrl={config.data?.liteUrl}\n breakpoints={breakpoints}\n imageCdnUrl={shareData.imageCdnUrl}\n yearGroups={yearGroups.data}\n />\n }\n\n {(() => {\n if (shareData.showPartialLoading)\n return <PartialMySharesTable />;\n\n if (!shareData.sentShares.length)\n return (\n <MySharesTableEmptyState />\n );\n\n return (\n <>\n <MySharesTable\n sentShares={shareData.sentShares}\n sharedObjects={shareData.sharedObjects.items}\n shareRecipients={shareData.shareRecipients.items}\n interactivesPendingReview={shareData.interactivesPendingReview.itemsArr}\n getObjectActions={row => getShareObjectActions({\n share: row.share,\n sharedObject: row.sharedObject,\n audienceParams: sharesParams.audienceAppLinkParams,\n hasInsights: hasInsightsPermission,\n isPlugin,\n breakpoints\n })}\n groupByDateShared\n breakpoints={breakpoints}\n hasDemoInsights={showDemoInsight}\n imageCdnUrl={config.data?.imageCdnUrl}\n yearGroups={yearGroups.data}\n />\n {(shareData.hasMore || shareData.isFetching) &&\n <InfiniteScrollFooter\n isFetching={shareData.isFetching}\n fetchNext={shareData.fetchNext}\n nextCursor={shareData.nextCursor}\n />\n }\n </>\n );\n })()}\n </div>\n );\n}\n"],"names":["SharePrivacy","InsightsDemoRequests","interactive","url","key","normalize","interactiveMetadata","interactiveResults","videoViews","users","individualHeatmap","aggregateHeatmap","namespace","InsightsAdminAlert","props","storage","show","setShow","hasAnalytics","role","className","phrase","href","video","analyticsUrl","videoRoute","typeId","id","getAnalyticsUrl","target","svgName","onClick","DEMO_INTERACTIVE_STAGING_ID","DEMO_INTERACTIVE_PROD_ID","getPhrase","DEMO_INSIGHTS_SHARE","type","privacy","objectId","objectTypeId","viewCount","accessCount","dateCreated","Date","toISOString","expireDate","link","shortenedEmbedUrl","shortenedUrl","shareId","ownerCustomerId","ownerId","recipients","options","preventScrubbing","immediateFeedback","DEMO_INSIGHTS_SHARE_TABLE_DATA","share","sharedObject","shareRecipients","dateShared","DEMO_INSIGHTS_APPLINK","application","action","DEMO_INSIGHTS_ACTION","label","appLink","group","LanguageService","MySharesDemoInsight","isStaging","liteUrl","includes","isMobile","breakpoints","xs","sm","heading","isFirst","MySharesTableRow","shareData","demoInteractive","getObjectActions","button","imageCdnUrl","yearGroups","Text","MySharesEmptyState","EmptyState","src","ImageUrls","altText","text","analyticsData","analyticsOptions","actionType","location","entity","workflowPhase","descriptor","SignUp","MySharesView","useSetPageMetadata","title","usePermissions","hasPermissions","hasLocalPermissions","useSettings","hasShareFlowV2","hasClassrooms","isPlugin","usePluginHelper","useBreakpoints","accessPolicy","useAccessPolicy","sharesParams","shouldFetch","PermissionName","hasInsightsPermission","showDemoInsight","metadata","hasDemoInsights","config","ConfigRequests","currentUser","UserRequests","data","isAuthenticated","CustomerRequests","customerId","useSharesTable","interactiveInsights","params","ShareType","analyticsWebUrl","AppLink","showPartialLoading","PartialMySharesTable","sentShares","length","MySharesTable","sharedObjects","items","interactivesPendingReview","itemsArr","row","audienceParams","audienceAppLinkParams","hasInsights","groupByDateShared","hasMore","isFetching","InfiniteScrollFooter","fetchNext","nextCursor","MySharesTableEmptyState"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[218],{38502:(e,t,a)=>{a.d(t,{r:()=>m});var n=a(32735),s=a(49985),r=a(15611),c=a(18559),i=a(11607),o=a(83914),l=a(22771);function u(e){return n.createElement(n.Fragment,null,!!e.tab.svgName&&n.createElement("div",{className:e.tab.name?"pe-1":""},n.createElement(o.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&n.createElement("div",{className:"ps-2"},n.createElement(c.C,{type:c.g.Count,data:e.tab.count})))}function m(e){var t;return n.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},n.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(l.Z.pillTabSelector,"\n ").concat(e.borderRadius?l.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return n.createElement("li",{className:"\n p-0 ".concat(l.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?l.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?n.createElement(r.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n ")},n.createElement(u,{tab:e})):n.createElement(i.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&s.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},n.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},28469:(e,t,a)=>{a.d(t,{P:()=>r});var n=a(32735),s=a(23481).T.encloseNamespace("rostering.alert");function r(e){var t="classroom"===e.type?s("classroom"):s("hasRostering");return n.createElement("div",{className:"alert text-info bg-light-blue px-2 rounded-3 fw-semibold py-2 d-flex flex-wrap"},t," ")}},58739:(e,t,a)=>{var n;a.d(t,{K:()=>n}),function(e){e[e.Submitted=0]="Submitted",e[e.Queued=1]="Queued",e[e.Pending=2]="Pending",e[e.InProgress=3]="InProgress",e[e.Completed=4]="Completed",e[e.CompletedWithError=5]="CompletedWithError",e[e.Failed=6]="Failed"}(n||(n={}))},44538:(e,t,a)=>{a.d(t,{K:()=>i});var n=a(99940),s=a(97395),r=a(58739),c=a(38389),i={getRostering:function(){return{url:"{gateway}/v1/users/me/rostering",key:"rostering"}},getSyncList:function(e){var t={};if(e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.jobStatus){var a=[];e.jobStatus.includes("completed")&&a.push.apply(a,[r.K.Completed,r.K.CompletedWithError]),e.jobStatus.includes("failed")&&a.push(r.K.Failed),e.jobStatus.includes("inProgress")&&a.push.apply(a,[r.K.Submitted,r.K.Queued,r.K.Pending,r.K.InProgress]),t.status=a}return t.type=c.m.Rostering,{url:s._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"rostering:sync:".concat(e.cursor,":").concat(e.sort,":").concat(e.jobStatus)}},createJob:function(e,t,a){return{url:"{gateway}/v1/batch/jobs",key:"rostering:sync",type:n.k.POST,invalidationKeys:["rostering:sync"],data:e,success:t,error:a}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}},getSyncScheduleSettings:function(e){return{url:"{gateway}/v1/rostering/".concat(e,"/schedule"),key:"sync-settings:".concat(e)}},updateScheduleSetting:function(e,t,a,s,r){return{type:n.k.PUT,url:"{gateway}/v1/rostering/".concat(t,"/schedule"),key:"update:sync-settings:".concat(e.customerId,":").concat(t),invalidationKeys:["sync-settings:".concat(t)],data:e,success:a,error:s,always:r}}}},59278:(e,t,a)=>{a.d(t,{d:()=>g});var n=a(32735),s=a(23481),r=a(83657),c=a(38502),i=a(28469),o=a(83345),l=a(79967),u=a(14070),m=a(97291);const d={searchContainer:"rwTB7"};var p="classrooms.classroomsHeader",h=s.T.encloseNamespace(p);function g(e){var t,a=(0,l.k)(),s=a.xs||a.sm,g=[{name:h("classroomsTab"),appLink:{application:m.O.CLASSROOMS,action:u.e.Classrooms.HOME},active:"classrooms"===e.activeTab}];return e.hasShareFlowV2&&g.push({name:h("openClassroomsTab"),appLink:{application:m.O.CLASSROOMS,action:u.e.Classrooms.OPEN_CLASSROOMS},active:"open-classrooms"===e.activeTab}),n.createElement("div",null,!!e.hasRostering&&n.createElement("div",{className:"my-3"},n.createElement(i.P,{type:"general"})),n.createElement("div",{className:"d-flex align-items-center mb-3"},n.createElement("h1",{className:"flex-fill h2 me-3 my-1"},n.createElement(o.x,{namespace:p,phrase:"heading"})),e.searchBar&&n.createElement("div",{className:"d-flex"},!s&&n.createElement("div",{className:"".concat(d.searchContainer," d-flex mb-2 mb-sm-0 me-2")},e.searchBar),n.createElement(r.e,{actions:null!==(t=e.actions)&&void 0!==t?t:[],actionsDropdownClassName:"btn btn-outline-dark"}))),g.length>1&&n.createElement("div",{className:"mb-3"},n.createElement(c.r,{tabs:g})),s&&e.searchBar?n.createElement("div",{className:"mb-3"},e.searchBar):null)}},22534:(e,t,a)=>{a.r(t),a.d(t,{OpenClassroomsView:()=>x});var n=a(32735),s=a(23481),r=a(20354),c=a(2510),i=a(87801),o=a(16714),l=a(39151),u=a(1666),m=a(44538),d=a(31949),p=a(79967),h=a(22902),g=a(79612),b=a(37802),v=a(46390),y=a(98623),f=a(59278),S=a(67467),E=a(5056),k=a(28001),N=a(69003),C=s.T.encloseNamespace("classrooms.openClassrooms");function x(){var e,t,a=(0,p.k)(),s=(0,h.T)().hasPermissions,x=(0,b.r)(null).hasShareFlowV2,w=(0,v.G)().isPlugin,O=r.a.useBasicFetch(d.N.currentUser()),P=r.a.useBasicFetch(l.L.config()),F=r.a.useBasicFetch(m.K.getRostering()),R=(null===(e=F.data)||void 0===e?void 0:e.status)&&"None"!==F.data.status,L=r.a.useBasicFetch((null===(t=O.data)||void 0===t?void 0:t.isAuthenticated)&&u.h.yearGroups(O.data.customerId)),j=(0,y.a)({interactiveInsights:!0,shouldFetch:x,params:{type:c.y.Open}});return(0,g.M)({title:C("pageTitle")}),n.createElement("div",{className:"px-3"},n.createElement(f.d,{actions:[],activeTab:"open-classrooms",hasRostering:R,hasShareFlowV2:x}),function(){var e,t=x&&s(o.C.ViewInsights),r=(0,N.cl)([]);return j.showPartialLoading?n.createElement(k.L,null):j.sentShares.length?n.createElement(n.Fragment,null,n.createElement(E.R,{sentShares:j.sentShares,sharedObjects:j.sharedObjects.items,shareRecipients:j.shareRecipients.items,interactivesPendingReview:j.interactivesPendingReview.itemsArr,getObjectActions:function(e){return(0,N.sD)({share:e.share,sharedObject:e.sharedObject,audienceParams:r.audienceAppLinkParams,hasInsights:t,isPlugin:w,breakpoints:a})},groupByDateShared:!0,breakpoints:a,imageCdnUrl:null===(e=P.data)||void 0===e?void 0:e.imageCdnUrl,yearGroups:L.data}),(j.hasMore||j.isFetching)&&n.createElement(i._,{isFetching:j.isFetching,fetchNext:j.fetchNext,nextCursor:j.nextCursor})):n.createElement(S.o,null)}())}},22771:(e,t,a)=>{a.d(t,{Z:()=>n});const n={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
|
|
2
|
-
//# sourceMappingURL=218-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[218],{38502:(e,t,a)=>{a.d(t,{r:()=>m});var n=a(32735),s=a(49985),r=a(15611),c=a(18559),i=a(11607),o=a(83914),l=a(22771);function u(e){return n.createElement(n.Fragment,null,!!e.tab.svgName&&n.createElement("div",{className:e.tab.name?"pe-1":""},n.createElement(o.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&n.createElement("div",{className:"ps-2"},n.createElement(c.C,{type:c.g.Count,data:e.tab.count})))}function m(e){var t;return n.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},n.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(l.Z.pillTabSelector,"\n ").concat(e.borderRadius?l.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return n.createElement("li",{className:"\n p-0 ".concat(l.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?l.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?n.createElement(r.F,{appLink:e.appLink,analyticsData:e.analyticsData,analyticsOptions:e.analyticsOptions,className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n ")},n.createElement(u,{tab:e})):n.createElement(i.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ".concat(l.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&s.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},n.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},28469:(e,t,a)=>{a.d(t,{P:()=>r});var n=a(32735),s=a(23481).T.encloseNamespace("rostering.alert");function r(e){var t="classroom"===e.type?s("classroom"):s("hasRostering");return n.createElement("div",{className:"alert text-info bg-light-blue px-2 rounded-3 fw-semibold py-2 d-flex flex-wrap"},t," ")}},58739:(e,t,a)=>{var n;a.d(t,{K:()=>n}),function(e){e[e.Submitted=0]="Submitted",e[e.Queued=1]="Queued",e[e.Pending=2]="Pending",e[e.InProgress=3]="InProgress",e[e.Completed=4]="Completed",e[e.CompletedWithError=5]="CompletedWithError",e[e.Failed=6]="Failed"}(n||(n={}))},44538:(e,t,a)=>{a.d(t,{K:()=>i});var n=a(99940),s=a(97395),r=a(58739),c=a(38389),i={getRostering:function(){return{url:"{gateway}/v1/users/me/rostering",key:"rostering"}},getSyncList:function(e){var t={};if(e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.jobStatus){var a=[];e.jobStatus.includes("completed")&&a.push.apply(a,[r.K.Completed,r.K.CompletedWithError]),e.jobStatus.includes("failed")&&a.push(r.K.Failed),e.jobStatus.includes("inProgress")&&a.push.apply(a,[r.K.Submitted,r.K.Queued,r.K.Pending,r.K.InProgress]),t.status=a}return t.type=c.m.Rostering,{url:s._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"rostering:sync:".concat(e.cursor,":").concat(e.sort,":").concat(e.jobStatus)}},createJob:function(e,t,a){return{url:"{gateway}/v1/batch/jobs",key:"rostering:sync",type:n.k.POST,invalidationKeys:["rostering:sync"],data:e,success:t,error:a}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}},getSyncScheduleSettings:function(e){return{url:"{gateway}/v1/rostering/".concat(e,"/schedule"),key:"sync-settings:".concat(e)}},updateScheduleSetting:function(e,t,a,s,r){return{type:n.k.PUT,url:"{gateway}/v1/rostering/".concat(t,"/schedule"),key:"update:sync-settings:".concat(e.customerId,":").concat(t),invalidationKeys:["sync-settings:".concat(t)],data:e,success:a,error:s,always:r}}}},59278:(e,t,a)=>{a.d(t,{d:()=>g});var n=a(32735),s=a(23481),r=a(83657),c=a(38502),i=a(28469),o=a(83345),l=a(79967),u=a(14070),m=a(97291);const d={searchContainer:"rwTB7"};var p="classrooms.classroomsHeader",h=s.T.encloseNamespace(p);function g(e){var t,a=(0,l.k)(),s=a.xs||a.sm,g=[{name:h("classroomsTab"),appLink:{application:m.O.CLASSROOMS,action:u.e.Classrooms.HOME},active:"classrooms"===e.activeTab}];return e.hasShareFlowV2&&g.push({name:h("openClassroomsTab"),appLink:{application:m.O.CLASSROOMS,action:u.e.Classrooms.OPEN_CLASSROOMS},active:"open-classrooms"===e.activeTab}),n.createElement("div",null,!!e.hasRostering&&n.createElement("div",{className:"my-3"},n.createElement(i.P,{type:"general"})),n.createElement("div",{className:"d-flex align-items-center mb-3"},n.createElement("h1",{className:"flex-fill h2 me-3 my-1"},n.createElement(o.x,{namespace:p,phrase:"heading"})),e.searchBar&&n.createElement("div",{className:"d-flex"},!s&&n.createElement("div",{className:"".concat(d.searchContainer," d-flex mb-2 mb-sm-0 me-2")},e.searchBar),n.createElement(r.e,{actions:null!==(t=e.actions)&&void 0!==t?t:[],actionsDropdownClassName:"btn btn-outline-dark"}))),g.length>1&&n.createElement("div",{className:"mb-3"},n.createElement(c.r,{tabs:g})),s&&e.searchBar?n.createElement("div",{className:"mb-3"},e.searchBar):null)}},22534:(e,t,a)=>{a.r(t),a.d(t,{OpenClassroomsView:()=>x});var n=a(32735),s=a(23481),r=a(20354),c=a(2510),i=a(87801),o=a(16714),l=a(39151),u=a(1666),m=a(44538),d=a(31949),p=a(79967),h=a(22902),g=a(79612),b=a(37802),v=a(46390),y=a(98623),f=a(59278),S=a(67467),E=a(5056),k=a(28001),N=a(69003),C=s.T.encloseNamespace("classrooms.openClassrooms");function x(){var e,t,a=(0,p.k)(),s=(0,h.T)().hasPermissions,x=(0,b.r)(null).hasShareFlowV2,w=(0,v.G)().isPlugin,O=r.a.useBasicFetch(d.N.currentUser()),P=r.a.useBasicFetch(l.L.config()),F=r.a.useBasicFetch(m.K.getRostering()),R=(null===(e=F.data)||void 0===e?void 0:e.status)&&"None"!==F.data.status,L=r.a.useBasicFetch((null===(t=O.data)||void 0===t?void 0:t.isAuthenticated)&&u.h.yearGroups(O.data.customerId)),j=(0,y.a)({interactiveInsights:!0,shouldFetch:x,params:{type:[c.y.Open]}});return(0,g.M)({title:C("pageTitle")}),n.createElement("div",{className:"px-3"},n.createElement(f.d,{actions:[],activeTab:"open-classrooms",hasRostering:R,hasShareFlowV2:x}),function(){var e,t=x&&s(o.C.ViewInsights),r=(0,N.cl)([]);return j.showPartialLoading?n.createElement(k.L,null):j.sentShares.length?n.createElement(n.Fragment,null,n.createElement(E.R,{sentShares:j.sentShares,sharedObjects:j.sharedObjects.items,shareRecipients:j.shareRecipients.items,interactivesPendingReview:j.interactivesPendingReview.itemsArr,getObjectActions:function(e){return(0,N.sD)({share:e.share,sharedObject:e.sharedObject,audienceParams:r.audienceAppLinkParams,hasInsights:t,isPlugin:w,breakpoints:a})},groupByDateShared:!0,breakpoints:a,imageCdnUrl:null===(e=P.data)||void 0===e?void 0:e.imageCdnUrl,yearGroups:L.data}),(j.hasMore||j.isFetching)&&n.createElement(i._,{isFetching:j.isFetching,fetchNext:j.fetchNext,nextCursor:j.nextCursor})):n.createElement(S.o,null)}())}},22771:(e,t,a)=>{a.d(t,{Z:()=>n});const n={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
|
|
2
|
+
//# sourceMappingURL=218-f6cc4a3b6a-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/218-f6cc4a3b6a-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/pill-tab-selector/PillTabSelector.tsx","file:///app/packages/libs/shared/src/components/rostering/rostering-alert/RosteringAlert.tsx","file:///app/packages/libs/shared/src/enums/BatchJobStatus.ts","file:///app/packages/libs/shared/src/flight-requests/RosteringRequests.ts","file:///app/packages/projects/lite/src/apps/classrooms/components/classrooms-header/classrooms-header.scss","file:///app/packages/projects/lite/src/apps/classrooms/components/classrooms-header/ClassroomsHeader.tsx","file:///app/packages/projects/lite/src/apps/classrooms/views/open-classrooms/OpenClassroomsView.tsx","file:///app/packages/libs/shared/src/components/pill-tab-selector/pill-tab-selector.scss"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Badge, BadgeType } from 'libs/shared/components/badges/Badge';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\n\nimport { SvgContainer } from '../svg-container/SvgContainer';\n\nimport styles from './pill-tab-selector.scss';\n\ninterface TabContentsProps {\n tab: PillTab;\n}\n\nfunction TabContents(props: TabContentsProps): JSX.Element {\n return (\n <>\n {!!props.tab.svgName && (\n <div className={props.tab.name ? 'pe-1' : ''}>\n <SvgContainer svgName={props.tab.svgName} />\n </div>\n )}\n\n {props.tab.name}\n\n {typeof (props.tab.count) === 'number' && (\n <div className='ps-2'>\n <Badge type={BadgeType.Count} data={props.tab.count} />\n </div>\n )}\n </>\n );\n}\n\nexport interface PillTab {\n name: string;\n active: boolean;\n svgName?: string;\n\n className?: string;\n\n appLink?: Core.AppLink;\n onSelect?: () => void;\n\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n\n count?: number;\n}\n\ninterface PillTabSelectorProps {\n tabs: PillTab[];\n containerRef?: (el: HTMLElement) => void;\n listClassName?: string;\n className?: string;\n borderRadius?: 'sm' | 'lg'\n}\n\nPillTabSelector.defaultProps = {\n borderRadius: 'lg'\n};\n\nexport function PillTabSelector(props: PillTabSelectorProps): JSX.Element {\n function onSelectTab(tab: PillTab): void {\n if (tab.active || !tab.onSelect)\n return;\n\n tab.onSelect();\n\n if (tab.analyticsData && tab.analyticsOptions)\n AnalyticsHelper.logUserAction(tab.analyticsData, tab.analyticsOptions);\n }\n\n return (\n <nav className={props.className ?? ''} ref={props.containerRef}>\n <ul className={`\n list-unstyled d-inline-block m-0 ${styles.pillTabSelector}\n ${props.borderRadius ? styles.radiusSmall : ''}\n ${props.listClassName}\n `}>\n {props.tabs.map((tab, index) => {\n return (\n <li\n className={`\n p-0 ${styles.tab} ${tab.active ? 'btn btn-dark' : 'btn btn-outline-dark'}\n ${tab.name ? styles.minWidth : ''} ${tab.className}\n `}\n key={index}\n >\n {tab.appLink ? (\n <AppLink\n appLink={tab.appLink}\n analyticsData={tab.analyticsData}\n analyticsOptions={tab.analyticsOptions}\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n >\n <TabContents tab={tab} />\n </AppLink>\n ) : (\n <DivButton\n className={`\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset px-2 text-nowrap ${styles.tabLink}\n `}\n onClick={() => onSelectTab(tab)}\n >\n <TabContents tab={tab} />\n </DivButton>\n )}\n </li>\n );\n })}\n </ul>\n </nav>\n );\n}\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nconst namespace = 'rostering.alert';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface RosteringAlertProps {\n type?: 'classroom' | 'general';\n}\n\nexport function RosteringAlert(props: RosteringAlertProps) {\n const text = props.type === 'classroom' ? getPhrase('classroom') : getPhrase('hasRostering');\n\n return (\n <div className='alert text-info bg-light-blue px-2 rounded-3 fw-semibold py-2 d-flex flex-wrap'>\n {text} \n {/* todo add it back when KB article link is ready */}\n {/* <ExternalLink\n className='text-info text-underline'\n href={''}\n newTab\n >\n {LanguageService.getPhrase(namespace, 'learnMore')}\n </ExternalLink> */}\n </div>\n );\n}","export enum BatchJobStatus {\n Submitted = 0,\n Queued = 1,\n Pending = 2,\n InProgress = 3,\n Completed = 4,\n CompletedWithError = 5,\n Failed = 6\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { BulkJobsQueryParams } from 'libs/shared/components/bulk-jobs-filters/BulkJobsFilters';\nimport { BatchJobStatus } from 'libs/shared/enums/BatchJobStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { BatchJob, ScheduleSettingRequest } from 'libs/shared/interfaces';\nimport { CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const RosteringRequests = {\n getRostering(): Flight.Request {\n return {\n url: `{gateway}/v1/users/me/rostering`,\n key: `rostering`\n };\n },\n\n getSyncList(queryParams: BulkJobsQueryParams): Flight.Request {\n const params: HashObject = {};\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.jobStatus) {\n const statuses = [];\n if (queryParams.jobStatus.includes('completed')) {\n statuses.push(...[ BatchJobStatus.Completed, BatchJobStatus.CompletedWithError ]);\n }\n if (queryParams.jobStatus.includes('failed')) {\n statuses.push(BatchJobStatus.Failed);\n }\n if (queryParams.jobStatus.includes('inProgress')) {\n statuses.push(...[\n BatchJobStatus.Submitted,\n BatchJobStatus.Queued,\n BatchJobStatus.Pending,\n BatchJobStatus.InProgress ]);\n }\n params.status = statuses;\n }\n\n params.type = BatchJobType.Rostering;\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `rostering:sync:${queryParams.cursor}:${queryParams.sort}:${queryParams.jobStatus}`\n };\n },\n\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'rostering:sync',\n type: HttpVerbs.POST,\n invalidationKeys: ['rostering:sync'],\n data,\n success,\n error\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n },\n\n getSyncScheduleSettings(integrationId: string): Flight.SimulatedRequest {\n return {\n url: `{gateway}/v1/rostering/${integrationId}/schedule`,\n key: `sync-settings:${integrationId}`\n };\n },\n\n updateScheduleSetting(\n data: ScheduleSettingRequest,\n integrationId: string,\n success?: () => void,\n error?: () => void,\n always?: () => void\n ): Flight.Request {\n return {\n type: HttpVerbs.PUT,\n url: `{gateway}/v1/rostering/${integrationId}/schedule`,\n key: `update:sync-settings:${data.customerId}:${integrationId}`,\n invalidationKeys: [`sync-settings:${integrationId}`],\n data,\n success,\n error,\n always\n };\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"searchContainer\":\"rwTB7\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ActionOptions, Actions as ActionButton } from 'libs/shared/components/actions/Actions';\nimport { PillTab, PillTabSelector } from 'libs/shared/components/pill-tab-selector/PillTabSelector';\nimport { RosteringAlert } from 'libs/shared/components/rostering/rostering-alert/RosteringAlert';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport styles from './classrooms-header.scss';\n\nconst namespace = 'classrooms.classroomsHeader';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface ClassroomsHeaderProps {\n activeTab: 'classrooms' | 'open-classrooms';\n actions?: ActionOptions[];\n searchBar?: React.ReactNode;\n hasRostering: boolean;\n hasShareFlowV2: boolean;\n}\n\nexport function ClassroomsHeader(props: ClassroomsHeaderProps): JSX.Element {\n const breakpoints = useBreakpoints();\n const isMobile = breakpoints.xs || breakpoints.sm;\n \n const tabs: PillTab[] = [{\n name: getPhrase('classroomsTab'),\n appLink: {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.HOME\n },\n active: props.activeTab === 'classrooms'\n }];\n\n if (props.hasShareFlowV2) {\n tabs.push({\n name: getPhrase('openClassroomsTab'),\n appLink: {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.OPEN_CLASSROOMS\n },\n active: props.activeTab === 'open-classrooms'\n });\n }\n\n return (\n <div>\n {!!props.hasRostering && (\n <div className='my-3'>\n <RosteringAlert type='general' />\n </div>\n )}\n\n <div className='d-flex align-items-center mb-3'>\n <h1 className='flex-fill h2 me-3 my-1'><Text namespace={namespace} phrase='heading' /></h1>\n\n {props.searchBar && (\n <div className='d-flex'>\n {!isMobile && (\n <div className={`${styles.searchContainer} d-flex mb-2 mb-sm-0 me-2`}>\n {props.searchBar}\n </div>\n )}\n\n <ActionButton\n actions={props.actions ?? []}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n </div>\n )}\n </div>\n\n {tabs.length > 1 && (\n <div className='mb-3'>\n <PillTabSelector tabs={tabs} />\n </div>\n )}\n\n {isMobile && props.searchBar ? (\n <div className='mb-3'>\n {props.searchBar}\n </div>\n ) : null}\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { RosteringRequests } from 'libs/shared/flight-requests/RosteringRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, RosteringResponse, YearGroup } from 'libs/shared/interfaces';\n\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useSharesTable } from 'shared/hooks/useSharesTable';\n\nimport { ClassroomsHeader } from 'apps/classrooms/components/classrooms-header/ClassroomsHeader';\nimport { MySharesTableEmptyState } from 'apps/my-shares/components/my-shares-table/empty-state/MySharesTableEmptyState';\nimport { MySharesTable } from 'apps/my-shares/components/my-shares-table/MySharesTable';\nimport { PartialMySharesTable } from 'apps/my-shares/components/my-shares-table/partial-loading/PartialMySharesTable';\nimport { getShareObjectActions, getSharesParams } from 'apps/my-shares/views/my-shares/MySharesViewUtils';\n\nconst namespace = 'classrooms.openClassrooms';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function OpenClassroomsView(): JSX.Element {\n const breakpoints = useBreakpoints();\n const { hasPermissions } = usePermissions();\n const { hasShareFlowV2 } = useSettings(null);\n const { isPlugin } = usePluginHelper();\n \n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const rostering = Flight.useBasicFetch<RosteringResponse>(RosteringRequests.getRostering());\n const hasRostering = rostering.data?.status && rostering.data.status !== 'None';\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n const shareData = useSharesTable({\n interactiveInsights: true,\n shouldFetch: hasShareFlowV2,\n params: {\n type: [ShareType.Open]\n }\n });\n\n useSetPageMetadata({ title: getPhrase('pageTitle') });\n\n function renderTable() {\n const hasInsightsPermission = hasShareFlowV2 && hasPermissions(PermissionName.ViewInsights);\n const sharesParams = getSharesParams([]);\n\n if (shareData.showPartialLoading)\n return <PartialMySharesTable />;\n \n if (!shareData.sentShares.length)\n return (<MySharesTableEmptyState />);\n \n return (\n <>\n <MySharesTable\n sentShares={shareData.sentShares}\n sharedObjects={shareData.sharedObjects.items}\n shareRecipients={shareData.shareRecipients.items}\n interactivesPendingReview={shareData.interactivesPendingReview.itemsArr}\n getObjectActions={row => getShareObjectActions({\n share: row.share,\n sharedObject: row.sharedObject,\n audienceParams: sharesParams.audienceAppLinkParams,\n hasInsights: hasInsightsPermission,\n isPlugin,\n breakpoints\n })}\n groupByDateShared\n breakpoints={breakpoints}\n imageCdnUrl={config.data?.imageCdnUrl}\n yearGroups={yearGroups.data}\n />\n {(shareData.hasMore || shareData.isFetching) &&\n <InfiniteScrollFooter\n isFetching={shareData.isFetching}\n fetchNext={shareData.fetchNext}\n nextCursor={shareData.nextCursor}\n />\n }\n </>\n );\n }\n\n return (\n <div className='px-3'>\n <ClassroomsHeader\n actions={[]}\n activeTab='open-classrooms'\n hasRostering={hasRostering}\n hasShareFlowV2={hasShareFlowV2}\n />\n\n {renderTable()}\n \n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"pillTabSelector\":\"Hdi6o\",\"tab\":\"RvNxr\",\"minWidth\":\"GHSz9\",\"radiusSmall\":\"VhJJa\",\"tabLink\":\"WFyvo\"};"],"names":["TabContents","props","tab","svgName","className","name","count","type","data","PillTabSelector","ref","containerRef","borderRadius","listClassName","tabs","map","index","active","key","appLink","analyticsData","analyticsOptions","onClick","onSelect","onSelectTab","defaultProps","getPhrase","RosteringAlert","text","BatchJobStatus","RosteringRequests","getRostering","url","getSyncList","queryParams","params","cursor","sort","order","jobStatus","statuses","includes","push","status","createJob","success","error","invalidationKeys","getJobSummary","id","getSyncScheduleSettings","integrationId","updateScheduleSetting","always","customerId","namespace","LanguageService","ClassroomsHeader","breakpoints","useBreakpoints","isMobile","xs","sm","application","action","activeTab","hasShareFlowV2","hasRostering","Text","phrase","searchBar","actions","actionsDropdownClassName","length","OpenClassroomsView","hasPermissions","isPlugin","currentUser","config","rostering","yearGroups","isAuthenticated","shareData","interactiveInsights","shouldFetch","title","hasInsightsPermission","sharesParams","showPartialLoading","sentShares","sharedObjects","items","shareRecipients","interactivesPendingReview","itemsArr","getObjectActions","row","share","sharedObject","audienceParams","audienceAppLinkParams","hasInsights","groupByDateShared","imageCdnUrl","hasMore","isFetching","fetchNext","nextCursor","renderTable"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[2968],{18488:(e,t,r)=>{r.d(t,{o:()=>a});var n=r(99940),o=r(97395),i={namespace:"share-v2"},a={createShare:function(e){return{url:"{gateway}/v2/shares",key:"create:share-v2",type:n.k.POST,data:e,normalizeOptions:i,invalidationKeys:["sent:share-v2","get:share-v2:shares:object:".concat(e.objectId)]}},updateShare:function(e,t){return{url:"{gateway}/v2/shares/".concat(e),key:"update:share-v2",type:n.k.PUT,data:t,normalizeOptions:i,invalidationKeys:["share-v2:permanent-link:object","share-v2:".concat(e)]}},deleteShare:function(e){return{type:n.k.DELETE,url:"{gateway}/v2/shares/".concat(e),key:"delete:share-v2",normalizeOptions:i,invalidationKeys:["share-v2:permanent-link:object","sent:share-v2","share-v2:".concat(e)]}},getShare:function(e){return{url:"{gateway}/v2/shares/".concat(e),key:"share-v2:".concat(e),bootstrapName:"share-v2:".concat(e),type:n.k.GET,normalizeOptions:i}},getSentShares:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.values(e).sort().join(":");return{url:o._.urlBuilder("{gateway}/v2/shares/sent",e),key:"sent:share-v2:".concat(t),type:n.k.GET,normalize:!1}},getShareLink:function(e){return{url:o._.urlBuilder("{gateway}/v2/shares/permanent-link",{objectId:e}),key:"share-v2:permanent-link:object:".concat(e),normalizeOptions:i}},createShareLink:function(e){return{type:n.k.POST,url:o._.urlBuilder("{gateway}/v2/shares/permanent-link",Object.assign({},e)),key:"create:share-v2:permanent-link:object:".concat(e.objectId),invalidationKeys:["share-v2:permanent-link:object:".concat(e.objectId),"sent:share-v2"],normalizeOptions:i}},getPrivacy:function(e){return{url:"{gateway}/v1/objects/".concat(e,"/access"),key:"privacy:".concat(e),normalize:!1}},getSharesByObjectId:function(e){return{url:"{gateway}/v2/shares/objects/".concat(e),key:"get:share-v2:shares:object:".concat(e),type:n.k.GET,normalizeOptions:i}},createSharePincode:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"create:share-v2:".concat(e,":pincode"),type:n.k.POST}},getPincodeByShareId:function(e){return{url:"{gateway}/v2/shares/".concat(e,"/pincode"),key:"get:share-v2:".concat(e,":pincode")}},getPincodeByCode:function(e){return{url:"{gateway}/v2/shares/pincode?code=".concat(e),key:"get:share-v2:pincode:".concat(e)}}}},79517:(e,t,r)=>{r.d(t,{b:()=>s});var n=r(20354),o=r(18488),i=r(4594),a=r(1575),u=r(39902),c=r(60115),l=r(70074);function s(e){var t,r=n.a.useGetFetch(),s=function(t){return e.shouldFetch&&o.o.getSentShares({cursor:t})},f=function(e){return r(s(e))},d=(0,c.K)(s,f),v=null===(t=d.items)||void 0===t?void 0:t.filter((function(e){return[i.E.Video,i.E.Clip,i.E.Interactive].includes(e.objectTypeId)})).map((function(e){return e.objectId.toString()})),h=(0,u.FN)(v,a.R.videos);return{items:(0,l.B)({source:d.items,target:h.itemsArr,sourceKey:"objectId"}),hasMore:d.hasMore,isFetching:h.isFetching,nextCursor:d.nextCursor,hasFirstPageCompleted:h.hasFirstRequestCompleted,fetchNext:f}}},39902:(e,t,r)=>{r.d(t,{FN:()=>h,SW:()=>p,fh:()=>v});var n=r(32735),o=r(20354),i=r(75896);function a(e){return function(e){if(Array.isArray(e))return c(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||u(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function l(e){return l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l(e)}function s(e,t,r){return(t=function(e){var t=function(e){if("object"!=l(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=l(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==l(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},d=50;function v(e,t){var r=i.m.chunk(e,d).map((function(e){return t(i.m.uniq(e))})),n=o.a.useBasicFetchAll(r),a=i.m.flatten(n.data),u=n.data.length?a.reduce((function(e,t){return Object.assign(Object.assign({},e),s({},t.id,t))}),{}):null;return{itemsArr:a,items:u,isFetching:n.isFetching,hasCompleted:n.hasCompleted}}function h(e,t,r){var o=null!=r?r:function(e){return"object"===l(e)?e.id:e},i=p({getRequest:t,_getKey:r}),a=i.fetchItems,u=f(i,["fetchItems"]);return n.useEffect((function(){(null==e?void 0:e.length)&&a(e)}),[null==e?void 0:e.map(o).join(",")]),u}function p(e){var t,r,c,f,v,h=null!==(t=e._getKey)&&void 0!==t?t:function(e){return"object"===l(e)?e.id:e},p=n.useRef(new Set),y=(f=n.useState([]),v=2,function(e){if(Array.isArray(e))return e}(f)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(f,v)||u(f,v)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=y[0],g=y[1],b=o.a.useBasicFetchAll(m),S=i.m.flatten(b.data),j=b.data.length?S.reduce((function(e,t){return Object.assign(Object.assign({},e),s({},h(t),t))}),{}):null;return{hasFirstRequestCompleted:!!(null===(c=null===(r=b.responses)||void 0===r?void 0:r[0])||void 0===c?void 0:c.hasCompleted),itemsArr:S,items:j,isFetching:b.isFetching,fetchItems:function(t){if(null==t?void 0:t.length){var r=[];t.forEach((function(e){var t=h(e);p.current.has(t)||(r.push(e),p.current.add(t))})),r.length&&g((function(t){return[].concat(a(t),a(i.m.chunk(r,d).map(e.getRequest)))}))}}}}},60115:(e,t,r)=>{r.d(t,{K:()=>l});var n=r(32735),o=r(50242),i=r(91967),a=400,u=r(45719);function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function l(e,t,r,l,s,f){var d,v,h,p,y=(d=(0,n.useState)(0),v=2,function(e){if(Array.isArray(e))return e}(d)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],c=!0,l=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);c=!0);}catch(e){l=!0,o=e}finally{try{if(!c&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return u}}(d,v)||function(e,t){if(e){if("string"==typeof e)return c(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?c(e,t):void 0}}(d,v)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),m=y[0],g=y[1],b=t,S=(0,u.P)((function(t){if(!e)return null;var r=e(t);return r?r.key:null}),l,s);return h={fetchNextPage:function(){if(t&&e&&S)return g((function(e){return e+1})),b(S.nextCursor)},hasMore:!!(null==S?void 0:S.nextCursor),isFetching:null==S?void 0:S.isFetching,scrollContainer:f},p=function(){if(!h.isFetching){if(h.scrollContainer){var e=h.scrollContainer;if(e.getBoundingClientRect().height+e.scrollTop<e.scrollHeight-a)return}else if(window.innerHeight+document.documentElement.scrollTop<document.documentElement.scrollHeight-a)return;h.fetchNextPage()}},(0,n.useEffect)((function(){var e=i.q.throttle(p,200),t=h.scrollContainer||window;return h.hasMore&&t.addEventListener("scroll",e),function(){return t.removeEventListener("scroll",e)}}),[h.hasMore,h.fetchNextPage,h.scrollContainer]),(0,n.useEffect)((function(){S&&S.shouldInitialFetch&&t&&(b(),g((function(e){return e+1})))}),[null==S?void 0:S.shouldInitialFetch,t]),(0,n.useEffect)((function(){var e,t;if((null==S?void 0:S.statusCode)&&i.q.isFunction(r)){var n=+(null===(t=null===(e=S.statusCode)||void 0===e?void 0:e.toString())||void 0===t?void 0:t.substr(0,1));n!==o.k.ClientError&&n!==o.k.ServerError||r(m,S.statusCode)}}),[null==S?void 0:S.statusCode]),{items:null==S?void 0:S.items,hasMore:!!(null==S?void 0:S.nextCursor),nextCursor:null==S?void 0:S.nextCursor,isFetching:null==S?void 0:S.isFetching,totalItems:null==S?void 0:S.totalItems,hasFirstPageCompleted:null==S?void 0:S.hasFirstPageCompleted}}},70074:(e,t,r)=>{r.d(t,{B:()=>c});var n=r(32735);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function i(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return a(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?a(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var u="id";function c(e){return n.useMemo((function(){if(!e.target.length||!e.source.length)return[];var t=new Map,r=e.target.reduce((function(t,r){var n,i,a,c=r[e.targetKey||u].toString();return t[c]?t:Object.assign(Object.assign({},t),(n={},a=r,(i=function(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(i=c))in n?Object.defineProperty(n,i,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[i]=a,n))}),{});return e.source.forEach((function(n){var o=n[e.sourceKey||u].toString();if(!t.has(o)){var i=r[o];i&&t.set(o,i)}})),i(t.values())}),[e.source,e.target].concat(i(e.deps||[])))}},58321:(e,t,r)=>{r.d(t,{U:()=>h});var n=r(20354),o=r(16714),i=r(39151),a=r(1666),u=r(31949),c=r(22902),l=r(37802),s=r(22490),f=r(82431),d=r(46390),v=r(27638);function h(e){var t,r,h,p=e||{},y=p.locationContext,m=p.mtv,g=p.flightNamespace,b=p.sharedPlaylist,S=(0,d.G)(),j=S.isPlugin,k=S.params,C=(0,v.u)(y,g),w=C.setFavourite,A=C.canFavourite,O=(0,l.r)(null),F=O.hasTopicDirectories,I=O.isLoadingSettings,P=(0,c.T)(),E=P.hasPermissions,x=P.isLoaded,T=E(o.C.StudentExperience),L=n.a.useBasicFetch(i.L.config()),M=n.a.useBasicFetch(u.N.currentUser()),B=n.a.useBasicFetch((null===(t=M.data)||void 0===t?void 0:t.isAuthenticated)&&a.h.yearGroups(M.data.customerId));return{hasCommonVideoPropsCompleted:!I&&x&&L.hasCompleted&&M.hasCompleted&&(!(null===(r=M.data)||void 0===r?void 0:r.isAuthenticated)||B.hasCompleted),commonVideoProps:{subTextType:"series",getSubTextAppLink:function(e){var t;return"series"in e?b&&!(null===(t=M.data)||void 0===t?void 0:t.isAuthenticated)?null:f.j.getSeriesAppLink(e.series,{mtv:m}):null},isPlugin:j,isPluginPopup:!!(null==k?void 0:k.popup),canFavourite:A,setFavourite:w,imageCdnUrl:null===(h=L.data)||void 0===h?void 0:h.imageCdnUrl,yearGroups:B.data,getClassroomGuideAppLink:s.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:s.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:s.W.getResourceGuidanceAppLink,showNewVideoIndicator:F,companyLogoFallbackUrl:null,hasStudentExperience:T}}}},97816:(e,t,r)=>{r.d(t,{V:()=>u,l:()=>c});var n=r(1575),o=r(39902),i=r(31908);function a(e){return e?Array.isArray(e)?e.filter((function(e){return!!e&&(i.M.isVideo(e)||i.M.isClip(e))})):"data"in e?e.data.filter((function(e){return!!e&&(i.M.isVideo(e)||i.M.isClip(e))})):[]:[]}function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=a(e).map((function(e){return e.id}));(0,o.FN)(r,(function(e){return n.R.videoMixinAssocs(e,t.flightNamespace)}),null)}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=(0,o.SW)({getRequest:function(t){return n.R.videoMixinAssocs(t,e.flightNamespace)}}).fetchItems;return{fetchObjects:function(e){return t(a(e).map((function(e){return e.id})))}}}}}]);
|
|
2
|
-
//# sourceMappingURL=2968-
|
|
2
|
+
//# sourceMappingURL=2968-13e56eeff8-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/2968-13e56eeff8-lite.chunk.js","mappings":"8JASMA,EAA4C,CAChDC,UAAW,YAUAC,EAAgB,CAC3BC,YAAW,SACTC,GAEA,MAAO,CACLC,IAAK,sBACLC,IAAK,kBACLC,KAAM,SACNH,KAAAA,EACAJ,iBAAAA,EACAQ,iBAAkB,CAAE,gBAAiB,8BAAF,OAAgCJ,EAAKK,WAE5E,EAEAC,YAAW,SACTC,EACAP,GAEA,MAAO,CACLC,IAAK,uBAAF,OAAyBM,GAC5BL,IAAK,kBACLC,KAAM,QACNH,KAAAA,EACAJ,iBAAAA,EACAQ,iBAAkB,CAAE,iCAAkC,YAAF,OAAcG,IAEtE,EAEAC,YAAW,SACTD,GAEA,MAAO,CACLJ,KAAM,WACNF,IAAK,uBAAF,OAAyBM,GAC5BL,IAAK,kBACLN,iBAAAA,EACAQ,iBAAkB,CAAE,iCAAkC,gBAAiB,YAAF,OAAcG,IAEvF,EAEAE,SAAQ,SACNF,GAEA,MAAO,CACLN,IAAK,uBAAF,OAAyBM,GAC5BL,IAAK,YAAF,OAAcK,GACjBG,cAAe,YAAF,OAAcH,GAC3BJ,KAAM,QACNP,iBAAAA,EAEJ,EAEAe,cAAa,WACqB,IAAhCC,EAAA,uDAA8B,CAAC,EAEzBV,EAAMW,OAAOC,OAAOF,GAAQG,OAAOC,KAAK,KAE9C,MAAO,CACLf,IAAM,eAAqB,2BAA4BW,GACvDV,IAAK,iBAAF,OAAmBA,GACtBC,KAAM,QACNc,WAAW,EAEf,EAEAC,aAAY,SACVC,GAEA,MAAO,CACLlB,IAAK,eAAqB,qCAAsC,CAAEI,SAAUc,IAC5EjB,IAAK,kCAAF,OAAoCiB,GACvCvB,iBAAAA,EAEJ,EAEAwB,gBAAe,SACbpB,GAEA,MAAO,CACLG,KAAM,SACNF,IAAK,eAAqB,qCAAsC,OAAF,UAAOD,IACrEE,IAAK,yCAAF,OAA2CF,EAAKK,UACnDD,iBAAkB,CAAC,kCAAD,OAAoCJ,EAAKK,UAAY,iBACvET,iBAAAA,EAEJ,EAEAyB,WAAU,SAACF,GACT,MAAO,CACLlB,IAAK,wBAAF,OAA0BkB,EAAE,WAC/BjB,IAAK,WAAF,OAAaiB,GAChBF,WAAW,EAEf,EAEAK,oBAAmB,SACjBjB,GAEA,MAAO,CACLJ,IAAK,+BAAF,OAAiCI,GACpCH,IAAK,8BAAF,OAAgCG,GACnCF,KAAM,QACNP,iBAAAA,EAEJ,EAEA2B,mBAAkB,SAAChB,GACjB,MAAO,CACLN,IAAK,uBAAF,OAAyBM,EAAO,YACnCL,IAAK,mBAAF,OAAqBK,EAAO,YAC/BJ,KAAM,SAEV,EAEAqB,oBAAmB,SAACjB,GAClB,MAAO,CACLN,IAAK,uBAAF,OAAyBM,EAAO,YACnCL,IAAK,gBAAF,OAAkBK,EAAO,YAEhC,EAEAkB,iBAAgB,SAACC,GACf,MAAO,CACLzB,IAAK,oCAAF,OAAsCyB,GACzCxB,IAAK,wBAAF,OAA0BwB,GAEjC,E,kHCnII,SAAUC,EAAyBC,G,MACjCC,EAAQ,kBAERC,EAAa,SAACC,GAAe,OAAKH,EAAQI,aAAe,kBAA4B,CAAED,OAAAA,GAAS,EAChGE,EAAY,SAACF,GAAe,OAAKF,EAAMC,EAAWC,GAAQ,EAC1DG,GAAS,OAAuBJ,EAAYG,GAE5CE,EAAwB,QAAZ,EAAAD,EAAOE,aAAK,eAC1BC,QAAO,SAAAC,GAAC,MAAI,CAAE,UAAkB,SAAiB,iBAAyBC,SAASD,EAAEE,aAAa,IACnGC,KAAI,SAAAH,GAAC,OAAIA,EAAEjC,SAASqC,UAAU,IAE3BC,GAAS,QAAyCR,EAAW,YAQnE,MAAO,CACLC,OAPY,OAAiB,CAC7BQ,OAAQV,EAAOE,MACfS,OAAQF,EAAOG,SACfC,UAAW,aAKXC,QAASd,EAAOc,QAChBC,WAAYN,EAAOM,WACnBC,WAAYhB,EAAOgB,WACnBC,sBAAuBR,EAAOS,yBAC9BnB,UAAAA,EAEJ,C,+vDCnCMoB,EAAa,GAkBb,SAAUC,EACdC,EACAzB,GAEA,IAEM0B,EAFS,UAA0BD,EAASF,GAE1BZ,KAAI,SAAAgB,GAAK,OAAI3B,EAAW,SAAiB2B,GAAO,IAElEC,EAAY,qBAA6BF,GAEzCV,EAAW,YAAoBY,EAAU1D,MACzCoC,EAAQsB,EAAU1D,KAAK2D,OACzBb,EAASc,QAAO,SAACC,EAAKC,GAAI,OAAK,+BAAMD,GAAG,KAAGC,EAAK3C,GAAK2C,GAAI,GAAK,CAAC,GAC/D,KAEJ,MAAO,CACLhB,SAAAA,EACAV,MAAAA,EACAa,WAAYS,EAAUT,WACtBc,aAAcL,EAAUK,aAE5B,CAQM,SAAUC,EACdC,EACAnC,EACAoC,GAEA,IAAMC,EAASD,QAAAA,EAAY,SAACE,GAC1B,MAAmB,WAAf,EAAOA,GACFA,EAAIjD,GAENiD,CACT,EAEM,EAA0BC,EAA8C,CAAEvC,WAAAA,EAAYoC,QAAAA,IAApFI,EAAU,EAAVA,WAAetE,EAAI,IAArB,gBASN,OAPA,aAAgB,YACTiE,aAAI,EAAJA,EAAMN,SAGXW,EAAWL,EACb,GAAG,CAACA,aAAI,EAAJA,EAAMxB,IAAI0B,GAAQnD,KAAK,OAEpBhB,CACT,CAWM,SAAUqE,EACdzC,G,cAEMuC,EAAwB,QAAf,EAAAvC,EAAQsC,eAAO,QAAK,SAACE,GAClC,MAAmB,WAAf,EAAOA,GACFA,EAAIjD,GAENiD,CACT,EAEMG,EAAe,SAA0B,IAAIC,KACmB,G,EAApC,WAAiC,I,EAAG,E,unBAA9DhB,EAAQ,KAAEiB,EAAW,KAwBvBf,EAAY,qBAAqCF,GACjDV,EAAW,YAAoBY,EAAU1D,MACzCoC,EAAQsB,EAAU1D,KAAK2D,OACzBb,EAASc,QAAkC,SAACC,EAAKC,GAAI,OAAK,+BAAMD,GAAG,KAAGM,EAAOL,GAAQA,GAAI,GAAK,CAAC,GAC/F,KAEJ,MAAO,CACLV,4BAAoD,QAAxB,EAAmB,QAAnB,EAAAM,EAAUA,iBAAS,eAAG,UAAE,eAAEK,cACtDjB,SAAAA,EACAV,MAAAA,EACAa,WAAYS,EAAUT,WACtBqB,WAjCF,SAAoBL,GAClB,GAAKA,aAAI,EAAJA,EAAMN,OAAX,CAGA,IAAMe,EAA6B,GAEnCT,EAAKU,SAAQ,SAAAP,GACX,IAAMlE,EAAMiE,EAAOC,GAEfG,EAAaK,QAAQC,IAAI3E,KAG7BwE,EAAeI,KAAKV,GACpBG,EAAaK,QAAQG,IAAI7E,GAC3B,IAEKwE,EAAef,QAGpBc,GAAY,SAAAO,GAAC,kBAAUA,GAAC,EAAK,UAA4BN,EAAgBrB,GAAYZ,IAAIb,EAAQE,aAAW,GAjBpG,CAkBV,EAeF,C,wECnIMmD,EAAmB,I,iHC2BnB,SAAUC,EACdpD,EACAG,EACAkD,EACAC,EACAC,EACAC,GAEA,I,ID1BgC1D,EAC1B2D,ECyB+C,G,GAAX,IAAAC,UAAS,G,EAAE,E,o4BAA7CC,EAAY,KAAEC,EAAe,KAE/BC,EAAc1D,EAcd2D,GAAW,QAZjB,SAAgB7D,GACd,IAAKD,EACH,OAAO,KAET,IAAM+D,EAAU/D,EAAWC,GAE3B,OAAK8D,EAGEA,EAAQ3F,IAFN,IAGX,GAIEkF,EACAC,GAwCF,ODrFgCzD,ECwDd,CAChBkE,cATF,WACE,GAAK7D,GAAcH,GAAe8D,EAIlC,OADAF,GAAgB,SAAAK,GAAU,OAAIA,EAAa,CAAC,IACrCJ,EAAYC,EAAS1C,WAC9B,EAIEF,WAAW4C,aAAQ,EAARA,EAAU1C,YACrBD,WAAY2C,aAAQ,EAARA,EAAU3C,WACtBqC,gBAAAA,GD3DIC,EAAe,WACnB,IAAI3D,EAAQqB,WAAZ,CAGA,GAAKrB,EAAQ0D,gBAON,CACL,IAAQA,EAAoB1D,EAApB0D,gBAKR,GAJ4BA,EAAgBU,wBAAwBC,OAASX,EAAgBY,UAEzEZ,EAAgBa,aAAelB,EAGjD,MACH,MAVC,GAJ4BmB,OAAOC,YAAcC,SAASC,gBAAgBL,UAEtDI,SAASC,gBAAgBJ,aAAelB,EAG1D,OAWJrD,EAAQkE,eAnBA,CAoBV,GAEA,IAAAU,YAAU,WACR,IAAMC,EAAWC,EAAA,WAAwBnB,EAAc,KAEjDD,EAAkB1D,EAAQ0D,iBAAmBc,OAKnD,OAHIxE,EAAQoB,SACVsC,EAAgBqB,iBAAiB,SAAUF,GAEtC,kBAAMnB,EAAgBsB,oBAAoB,SAAUH,EAAS,CACtE,GAAG,CAAE7E,EAAQoB,QAASpB,EAAQkE,cAAelE,EAAQ0D,mBC6BrD,IAAAkB,YAAU,WACHZ,GAGDA,EAASiB,oBAAsB5E,IACjC0D,IACAD,GAAgB,SAAAK,GAAU,OAAIA,EAAa,CAAC,IAEhD,GAAG,CAAEH,aAAQ,EAARA,EAAUiB,mBAAoB5E,KAEnC,IAAAuE,YAAU,W,QACR,IAAKZ,aAAQ,EAARA,EAAUkB,aAAeJ,EAAA,aAA0BvB,GAAxD,CAGA,IAAM4B,IAAoE,QAA/B,EAAmB,QAAnB,EAAAnB,EAASkB,kBAAU,eAAEpE,kBAAU,eAAEsE,OAAO,EAAG,IAElFD,IAAoBE,EAAA,eAA+BF,IAAoBE,EAAA,eAG3E9B,EAAQM,EAAcG,EAASkB,WAPvB,CAQV,GAAG,CAAClB,aAAQ,EAARA,EAAUkB,aAEP,CACL1E,MAAOwD,aAAQ,EAARA,EAAUxD,MACjBY,WAAW4C,aAAQ,EAARA,EAAU1C,YACrBA,WAAY0C,aAAQ,EAARA,EAAU1C,WACtBD,WAAY2C,aAAQ,EAARA,EAAU3C,WACtBiE,WAAYtB,aAAQ,EAARA,EAAUsB,WACtB/D,sBAAuByC,aAAQ,EAARA,EAAUzC,sBAErC,C,s/BC/EA,IAAMgE,EAAgC,KAKhC,SAAUC,EAGdxF,GAiCA,OAhCc,WAAc,WAC1B,IAAKA,EAAQiB,OAAOc,SAAW/B,EAAQgB,OAAOe,OAC5C,MAAO,GAET,IAAM0D,EAAc,IAAIC,IAGlBC,EAAwC3F,EAAQiB,OAAOe,QAAgC,SAAC4D,EAAMC,GAClG,I,MAAMvH,EAAMuH,EAAK7F,EAAQ8F,WAAaP,GAAazE,WAEnD,OAAI8E,EAAKtH,GACAsH,EAEF,OAAP,wBAAYA,I,EAAI,G,EAASC,G,sRAANvH,M,2FACrB,GAAG,CAAC,GAcJ,OAZA0B,EAAQgB,OAAO+B,SAAQ,SAAA/B,GACrB,IAAMG,EAAYH,EAAOhB,EAAQmB,WAAaoE,GAAazE,WAE3D,IAAI2E,EAAYxC,IAAI9B,GAApB,CAGA,IAAM4E,EAAeJ,EAAaxE,GAE9B4E,GACFN,EAAYO,IAAI7E,EAAW4E,EALrB,CAMV,IAEO,EAAIN,EAAYvG,SACzB,GAAG,CAAEc,EAAQgB,OAAQhB,EAAQiB,QAAM,SAAMjB,EAAQiG,MAAQ,KAI3D,C,+JCpCM,SAAUC,EAAoBlG,G,UAClC,EAAkEA,GAAW,CAAC,EAAtEmG,EAAe,EAAfA,gBAAiBC,EAAG,EAAHA,IAAKC,EAAe,EAAfA,gBAAiBC,EAAc,EAAdA,eAE/C,GAA6B,SAArBC,EAAQ,EAARA,SAAUvH,EAAM,EAANA,OAClB,GAAuC,IAAAwH,GAAkBL,EAAiBE,GAAlEI,EAAY,EAAZA,aAAcC,EAAY,EAAZA,aACtB,GAAmD,OAAY,MAAvDC,EAAmB,EAAnBA,oBAAqBC,EAAiB,EAAjBA,kBAC7B,GAA2D,SAAnDC,EAAc,EAAdA,eAA0BC,EAAoB,EAA9BC,SAClBC,EAAuBH,EAAe,uBAEtCI,EAAS,kBAA6B,cACtCC,EAAc,kBAAkC,mBAChDC,EAAa,mBACD,QAAhB,EAAAD,EAAY9I,YAAI,eAAEgJ,kBAAmB,eAA4BF,EAAY9I,KAAKiJ,aA4BpF,MAAO,CACLC,8BARCV,GACDE,GACAG,EAAO9E,cACP+E,EAAY/E,iBACM,QAAhB,EAAA+E,EAAY9I,YAAI,eAAEgJ,kBAAmBD,EAAWhF,cAKlDoF,iBAAkB,CAChBC,YAAa,SACbC,kBA7BJ,SAA2BC,G,MACzB,MAAM,WAAYA,EAUdpB,KAAmC,QAAhB,EAAAY,EAAY9I,YAAI,eAAEgJ,iBAChC,KAEF,qBAAqCM,EAAMC,OAAQ,CAAEvB,IAAAA,IAZnD,IAaX,EAeIG,SAAAA,EACAqB,iBAAiB5I,aAAM,EAANA,EAAQ6I,OACzBnB,aAAAA,EACAD,aAAAA,EACAqB,YAAwB,QAAX,EAAAb,EAAO7I,YAAI,eAAE0J,YAC1BX,WAAYA,EAAW/I,KACvB2J,yBAA0B,6BAC1BC,8BAA+B,kCAC/BC,2BAA4B,+BAC5BC,sBAAuBvB,EACvBwB,uBAAwB,KACxBnB,qBAAAA,GAGN,C,+ECnFA,SAASoB,EAAgBC,GACvB,OAAKA,EAGDC,MAAMC,QAAQF,GACTA,EAAQ5H,QAAO,SAAA+H,GAAC,QAAMA,IAAM,YAAoBA,IAAM,WAAmBA,GAAG,IAEjF,SAAUH,EACLA,EAAQjK,KAAKqC,QAAO,SAAA+H,GAAC,QAAMA,IAAM,YAAoBA,IAAM,WAAmBA,GAAG,IAEnF,GARE,EASX,CAUM,SAAUC,EAAcJ,GAA+C,IAA/BrI,EAAA,uDAA6B,CAAC,EACpE0I,EAAWN,EAAgBC,GAASxH,KAAI,SAAA8H,GAAC,OAAIA,EAAEpJ,EAAE,KAEvD,QACEmJ,GACA,SAAAE,GAAG,OAAI,qBAA+BA,EAAK5I,EAAQqG,gBAAgB,GACnE,KAEJ,CAEM,SAAUwC,IAAiD,IAA/B7I,EAAA,uDAA6B,CAAC,EAStD0C,GAAe,QAAyB,CAAExC,WARlD,SAAoB0I,GAClB,OAAO,qBAA+BA,EAAK5I,EAAQqG,gBACrD,IAMQ3D,WAER,MAAO,CAAEoG,aANT,SAAsBtI,GACpB,OAAOkC,EAAW0F,EAAgB5H,GAAOK,KAAI,SAAA8H,GAAC,OAAIA,EAAEpJ,EAAE,IACxD,EAKF,C","sources":["file:///app/packages/libs/shared/src/apps/share-v2/flight-requests/ShareRequests.ts","file:///app/packages/libs/shared/src/apps/share-v2/hooks/useGetRecentSharedVideos.ts","file:///app/packages/libs/shared/src/hooks/UseBatchFetch.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteScroll.ts","file:///app/packages/libs/shared/src/hooks/UseInfiniteList.ts","file:///app/packages/libs/shared/src/hooks/usePreserveOrder.ts","file:///app/packages/projects/lite/src/shared/hooks/useCommonVideoProps.ts","file:///app/packages/projects/lite/src/shared/hooks/useVideoMixin.ts"],"sourcesContent":["import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { CreateShareLinkRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareLinkRequest';\nimport { CreateShareRequest } from 'libs/shared/apps/share-v2/interfaces/CreateShareRequest';\nimport { UpdateShareRequest } from 'libs/shared/apps/share-v2/interfaces/UpdateShareRequest';\n\nconst normalizeOptions: Flight.NormalizeOptions = {\n namespace: 'share-v2'\n};\n\nexport interface GetSentSharesParams {\n cursor?: string;\n scopeId?: string;\n objectTypeId?: number;\n type?: ShareType[];\n}\n\nexport const ShareRequests = {\n createShare(\n data: CreateShareRequest\n ): Flight.Request {\n return {\n url: '{gateway}/v2/shares',\n key: 'create:share-v2',\n type: HttpVerbs.POST,\n data,\n normalizeOptions,\n invalidationKeys: [ 'sent:share-v2', `get:share-v2:shares:object:${data.objectId}` ]\n };\n },\n\n updateShare(\n shareId: string,\n data: UpdateShareRequest\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `update:share-v2`,\n type: HttpVerbs.PUT,\n data,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', `share-v2:${shareId}` ]\n };\n },\n \n deleteShare(\n shareId: string\n ): Flight.Request {\n return {\n type: HttpVerbs.DELETE,\n url: `{gateway}/v2/shares/${shareId}`,\n key: `delete:share-v2`,\n normalizeOptions,\n invalidationKeys: [ 'share-v2:permanent-link:object', 'sent:share-v2', `share-v2:${shareId}` ]\n };\n },\n\n getShare(\n shareId: string\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}`,\n key: `share-v2:${shareId}`,\n bootstrapName: `share-v2:${shareId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n getSentShares(\n params: GetSentSharesParams = {}\n ): Flight.Request {\n const key = Object.values(params).sort().join(':');\n\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/sent', params),\n key: `sent:share-v2:${key}`,\n type: HttpVerbs.GET,\n normalize: false\n };\n },\n\n getShareLink(\n id: string\n ): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { objectId: id }),\n key: `share-v2:permanent-link:object:${id}`,\n normalizeOptions\n };\n },\n\n createShareLink(\n data: CreateShareLinkRequest\n ): Flight.Request {\n return {\n type: HttpVerbs.POST,\n url: UrlHelper.urlBuilder('{gateway}/v2/shares/permanent-link', { ...data }),\n key: `create:share-v2:permanent-link:object:${data.objectId}`,\n invalidationKeys: [ `share-v2:permanent-link:object:${data.objectId}`, 'sent:share-v2' ],\n normalizeOptions\n };\n },\n\n getPrivacy(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/objects/${id}/access`,\n key: `privacy:${id}`,\n normalize: false\n };\n },\n \n getSharesByObjectId(\n objectId: string | number\n ): Flight.Request {\n return {\n url: `{gateway}/v2/shares/objects/${objectId}`,\n key: `get:share-v2:shares:object:${objectId}`,\n type: HttpVerbs.GET,\n normalizeOptions\n };\n },\n\n createSharePincode(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `create:share-v2:${shareId}:pincode`,\n type: HttpVerbs.POST\n };\n },\n\n getPincodeByShareId(shareId: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/${shareId}/pincode`,\n key: `get:share-v2:${shareId}:pincode`\n };\n },\n\n getPincodeByCode(code: string): Flight.Request {\n return {\n url: `{gateway}/v2/shares/pincode?code=${code}`,\n key: `get:share-v2:pincode:${code}`\n };\n }\n};\n","import { Flight } from 'libs/common/react/index';\n\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useGrowingBatchFetch } from 'libs/shared/hooks/UseBatchFetch';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePreserveOrder } from 'libs/shared/hooks/usePreserveOrder';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\ninterface UseGetRecentSharedVideosOptions {\n shouldFetch: boolean;\n}\n\nexport function useGetRecentSharedVideos(options: UseGetRecentSharedVideosOptions) {\n const fetch = Flight.useGetFetch();\n \n const getRequest = (cursor?: string) => options.shouldFetch && ShareRequests.getSentShares({ cursor });\n const fetchNext = (cursor?: string) => fetch(getRequest(cursor));\n const shares = useInfiniteList<Share>(getRequest, fetchNext);\n\n const videosIds = shares.items\n ?.filter(s => [ MasterType.Video, MasterType.Clip, MasterType.Interactive ].includes(s.objectTypeId))\n .map(s => s.objectId.toString());\n\n const videos = useGrowingBatchFetch<VideoTypes, string>(videosIds, VideoRequests.videos);\n\n const items = usePreserveOrder({\n source: shares.items,\n target: videos.itemsArr,\n sourceKey: 'objectId'\n });\n\n return {\n items,\n hasMore: shares.hasMore,\n isFetching: videos.isFetching,\n nextCursor: shares.nextCursor,\n hasFirstPageCompleted: videos.hasFirstRequestCompleted,\n fetchNext\n };\n}","import React from 'react';\n\nimport { Flight } from 'libs/common/flight';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { BaseObject } from 'libs/shared/interfaces';\n\nconst CHUNK_SIZE = 50;\n\nexport interface UseBatchFetchResult<T extends BaseObject> {\n itemsArr: T[];\n items: { [key: string]: T} | null;\n isFetching: boolean;\n hasCompleted: boolean;\n}\n\n/**\n * Used to fetch multiple items by id with Flight. Will fetch 25 items at a time firing off multiple\n * requests if there are more than 25 items.\n * This will return items as null until we have all our items. Items will be returned as an object with\n * their ids as they key for easy mapping\n * \n * @param itemIds \n * @param getRequest \n */\nexport function useBatchFetch<T extends BaseObject>(\n itemIds: string[],\n getRequest: (ids: string[]) => Flight.Request\n): UseBatchFetchResult<T> {\n const chunks = ArrayHelper.chunk<string>(itemIds, CHUNK_SIZE);\n\n const requests = chunks.map(chunk => getRequest(ArrayHelper.uniq(chunk)));\n\n const responses = Flight.useBasicFetchAll<T[]>(requests);\n\n const itemsArr = ArrayHelper.flatten(responses.data);\n const items = responses.data.length\n ? itemsArr.reduce((acc, item) => ({ ...acc, [item.id]: item }), {})\n : null;\n\n return {\n itemsArr,\n items,\n isFetching: responses.isFetching,\n hasCompleted: responses.hasCompleted\n };\n}\n\n/**\n * When you need the useBatchFetch() behavior, but your list of objects to hydrate\n * will grow, such as on a scrolling page. useGrowingBatchFetch() will use local state\n * to determine what we've already built a request for and what items are new\n * as to not re-fetch items - Sha\n */\nexport function useGrowingBatchFetch<TResponse, TObjects = string>(\n objs: TObjects[],\n getRequest: (items: TObjects[]) => Flight.Request,\n _getKey?: (obj: TObjects) => string\n) {\n const getKey = _getKey ?? ((obj: any) => {\n if (typeof obj === 'object')\n return obj.id;\n\n return obj;\n });\n\n const { fetchItems, ...data } = useGrowingBatchFetchFunc<TResponse, TObjects>({ getRequest, _getKey });\n\n React.useEffect(() => {\n if (!objs?.length)\n return;\n\n fetchItems(objs);\n }, [objs?.map(getKey).join(',')]);\n\n return data;\n}\n\ninterface UseGrowingBatchFetchFuncOptions<TObjects> {\n getRequest: (items: TObjects[]) => Flight.Request;\n _getKey?: (obj: TObjects) => string;\n}\n\n/**\n * When you need the useGrowingBatchFetch() behaviour, but need to trigger the\n * fetch manually and update the objects - Nish \n */\nexport function useGrowingBatchFetchFunc<TResponse, TObjects = string>(\n options: UseGrowingBatchFetchFuncOptions<TObjects>\n) {\n const getKey = options._getKey ?? ((obj: any) => {\n if (typeof obj === 'object')\n return obj.id;\n\n return obj;\n });\n\n const fetchedItems = React.useRef<Set<string>>(new Set<string>());\n const [ requests, setRequests ] = React.useState<Flight.Request[]>([]);\n\n function fetchItems(objs: TObjects[]) {\n if (!objs?.length)\n return;\n\n const unfetchedItems: TObjects[] = [];\n \n objs.forEach(obj => {\n const key = getKey(obj);\n\n if (fetchedItems.current.has(key))\n return;\n\n unfetchedItems.push(obj);\n fetchedItems.current.add(key);\n });\n \n if (!unfetchedItems.length)\n return;\n \n setRequests(r => ([ ...r, ...ArrayHelper.chunk<TObjects>(unfetchedItems, CHUNK_SIZE).map(options.getRequest) ]));\n }\n\n const responses = Flight.useBasicFetchAll<TResponse[]>(requests);\n const itemsArr = ArrayHelper.flatten(responses.data);\n const items = responses.data.length\n ? itemsArr.reduce<Record<string, TResponse>>((acc, item) => ({ ...acc, [getKey(item)]: item }), {})\n : null;\n\n return {\n hasFirstRequestCompleted: !!responses.responses?.[0]?.hasCompleted,\n itemsArr,\n items,\n isFetching: responses.isFetching,\n fetchItems\n };\n}\n","import { useEffect } from 'react';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\n\nconst SCROLL_TOLERANCE = 400; // value in px\n\ninterface UseInfiniteScrollOptions {\n fetchNextPage: () => void;\n hasMore: boolean;\n isFetching: boolean;\n scrollContainer?: HTMLElement;\n}\n\nexport function useInfiniteScroll(options: UseInfiniteScrollOptions): void {\n const handleScroll = (): void => {\n if (options.isFetching)\n return;\n\n if (!options.scrollContainer) {\n const currentScrollHeight = window.innerHeight + document.documentElement.scrollTop;\n \n const totalHeight = document.documentElement.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n } else {\n const { scrollContainer } = options;\n const currentScrollHeight = scrollContainer.getBoundingClientRect().height + scrollContainer.scrollTop;\n \n const totalHeight = scrollContainer.scrollHeight - SCROLL_TOLERANCE;\n \n if (currentScrollHeight < totalHeight)\n return;\n }\n\n options.fetchNextPage();\n };\n\n useEffect(() => {\n const onScroll = FunctionHelper.throttle(handleScroll, 200);\n\n const scrollContainer = options.scrollContainer || window;\n\n if (options.hasMore)\n scrollContainer.addEventListener('scroll', onScroll);\n\n return () => scrollContainer.removeEventListener('scroll', onScroll);\n }, [ options.hasMore, options.fetchNextPage, options.scrollContainer ]);\n}","import { useEffect, useState } from 'react';\n\nimport { HttpStatus, HttpStatusClass } from 'libs/common/backbone/enums/HttpStatus';\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { BaseObject, BasePaginatedCollection } from 'libs/shared/interfaces';\n\nimport { useInfiniteScroll } from './UseInfiniteScroll';\nimport { useSelectAllPages } from './UseSelectAllPages';\n\nexport interface UseInfiniteListResult<T extends BaseObject> {\n items: T[];\n hasMore: boolean;\n isFetching: boolean;\n nextCursor: string;\n totalItems?: number;\n hasFirstPageCompleted: boolean;\n}\n\n/**\n * Hook to extract an infinite list from the application state,\n * save it locally in state and only update when new data\n * is fetched.\n * \n * @param getRequest - callback function to get the request for each page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n * \n * @param fetchNext - callback function to fetch a page.\n * Can be false if the request requires data that hasn't yet been fetched - e.g. user id.\n */\nexport function useInfiniteList<TObject = BaseObject, TResponse = BasePaginatedCollection<TObject>>(\n getRequest: ((cursor?: string) => Flight.Request) | false,\n fetchNext: ((cursor?: string) => void) | false,\n onError?: (pageNumber: number, statusCode: HttpStatus) => void,\n getItems?: (responseData: TResponse) => TObject[],\n getCursor?: (responseData: TResponse) => string,\n scrollContainer?: HTMLElement\n): UseInfiniteListResult<TObject> {\n const [ pagesFetched, setPagesFetched ] = useState(0);\n\n const fetchNextFn = fetchNext as (cursor?: string) => void;\n\n function getKey(cursor?: string): string {\n if (!getRequest)\n return null;\n\n const request = getRequest(cursor);\n\n if (!request)\n return null;\n\n return request.key;\n }\n\n const response = useSelectAllPages<TObject, TResponse>(\n getKey,\n getItems,\n getCursor\n );\n\n function fetchNextPage(): void {\n if (!fetchNext || !getRequest || !response)\n return;\n\n setPagesFetched(currentVal => currentVal + 1);\n return fetchNextFn(response.nextCursor);\n }\n\n useInfiniteScroll({\n fetchNextPage,\n hasMore: !!response?.nextCursor,\n isFetching: response?.isFetching,\n scrollContainer\n });\n\n useEffect(() => {\n if (!response)\n return;\n\n if (response.shouldInitialFetch && fetchNext) {\n fetchNextFn();\n setPagesFetched(currentVal => currentVal + 1);\n }\n }, [ response?.shouldInitialFetch, fetchNext ]);\n\n useEffect(() => {\n if (!response?.statusCode || !FunctionHelper.isFunction(onError))\n return;\n\n const httpStatusClass: HttpStatusClass = +(response.statusCode?.toString()?.substr(0, 1));\n\n if (httpStatusClass !== HttpStatusClass.ClientError && httpStatusClass !== HttpStatusClass.ServerError)\n return;\n\n onError(pagesFetched, response.statusCode);\n }, [response?.statusCode]);\n\n return {\n items: response?.items,\n hasMore: !!response?.nextCursor,\n nextCursor: response?.nextCursor,\n isFetching: response?.isFetching,\n totalItems: response?.totalItems,\n hasFirstPageCompleted: response?.hasFirstPageCompleted\n };\n}","import React, { DependencyList } from 'react';\n\nimport { BaseObject } from '../interfaces';\n\ninterface UsePreserveOrderOptions<TFrom extends BaseObject, TTarget extends BaseObject> {\n /**\n * We preserve order from the source\n */\n source: TFrom[];\n /**\n * We align target objects to source objects order\n */\n target: TTarget[];\n /**\n * Source comparison key if it other than default `id`\n */\n // getSourceKey?: (obj: TFrom) => string;\n sourceKey?: keyof TFrom;\n /**\n * Target comparion key if its other than default `id`\n */\n // getTargetKey?: (obj: TTarget) => string;\n targetKey?: keyof TTarget;\n\n deps?: DependencyList | undefined;\n}\n\nconst DEFAULT_KEY: keyof BaseObject = 'id';\n\n/**\n * Hook to align order of objects in `target` to `source`\n */\nexport function usePreserveOrder<\n TFrom extends BaseObject = BaseObject,\n TTarget extends BaseObject = BaseObject\n>(options: UsePreserveOrderOptions<TFrom, TTarget>) {\n const items = React.useMemo(() => {\n if (!options.target.length || !options.source.length)\n return [];\n \n const preserveMap = new Map<string, TTarget>();\n\n // Create a lookup table so finding target with certain key is O(n) rather than O(n * n)\n const targetRecord: Record<string, TTarget> = options.target.reduce<Record<string, TTarget>>((prev, curr) => {\n const key = curr[options.targetKey || DEFAULT_KEY].toString();\n\n if (prev[key])\n return prev;\n\n return { ...prev, [key]: curr };\n }, {});\n\n options.source.forEach(source => {\n const sourceKey = source[options.sourceKey || DEFAULT_KEY].toString();\n \n if (preserveMap.has(sourceKey))\n return;\n\n const targetObject = targetRecord[sourceKey];\n\n if (targetObject)\n preserveMap.set(sourceKey, targetObject);\n });\n\n return [...preserveMap.values()];\n }, [ options.source, options.target, ...(options.deps || []) ]);\n\n\n return items;\n}","import { Core } from 'libs/common/backbone/index';\nimport { Flight } from 'libs/common/react/index';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { CommonVideoProps } from 'libs/shared/interfaces/CommonVideoProps';\n\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nimport { usePluginHelper } from './use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from './useLiteFavourites';\n\ninterface UseCommonVideoPropsResult {\n hasCommonVideoPropsCompleted: boolean;\n commonVideoProps: CommonVideoProps;\n}\n\ninterface UseCommonVideoPropsOptions {\n locationContext: LocationContext,\n mtv?: boolean;\n flightNamespace?: string;\n sharedPlaylist?: boolean;\n}\n\nexport function useCommonVideoProps(options: UseCommonVideoPropsOptions): UseCommonVideoPropsResult {\n const { locationContext, mtv, flightNamespace, sharedPlaylist } = options || {};\n\n const { isPlugin, params } = usePluginHelper();\n const { setFavourite, canFavourite } = useLiteFavourites(locationContext, flightNamespace);\n const { hasTopicDirectories, isLoadingSettings } = useSettings(null);\n const { hasPermissions, isLoaded: hasLoadedPermissions } = usePermissions();\n const hasStudentExperience = hasPermissions(PermissionName.StudentExperience);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n function getSubTextAppLink(video: VideoTypes): Core.AppLink {\n if (!('series' in video))\n return null;\n\n /**\n * We do not allow navigating to series on shared playlists when the user is not signed in\n * because most series are customer created and will be empty for public users\n * \n * We do not have to do this for shared series, because all the series links are self referencing\n * - Sha\n */\n if (sharedPlaylist && !currentUser.data?.isAuthenticated)\n return null;\n \n return SeriesAppLinkHelper.getSeriesAppLink(video.series, { mtv });\n }\n\n const hasCommonVideoPropsCompleted = (\n !isLoadingSettings &&\n hasLoadedPermissions &&\n config.hasCompleted &&\n currentUser.hasCompleted &&\n (!currentUser.data?.isAuthenticated || yearGroups.hasCompleted)\n );\n\n return {\n hasCommonVideoPropsCompleted,\n commonVideoProps: {\n subTextType: 'series',\n getSubTextAppLink,\n isPlugin,\n isPluginPopup: !!params?.popup,\n canFavourite,\n setFavourite,\n imageCdnUrl: config.data?.imageCdnUrl,\n yearGroups: yearGroups.data,\n getClassroomGuideAppLink: VideoAppLinkHelper.getClassroomGuideAppLink,\n getInteractiveGuidanceAppLink: VideoAppLinkHelper.getInteractiveGuidanceAppLink,\n getResourceGuidanceAppLink: VideoAppLinkHelper.getResourceGuidanceAppLink,\n showNewVideoIndicator: hasTopicDirectories,\n companyLogoFallbackUrl: null,\n hasStudentExperience\n }\n };\n}","import { Flight } from 'libs/common/react/index';\n\nimport { VideoRequests } from 'libs/shared/flight-requests/VideoRequests';\nimport { useGrowingBatchFetch, useGrowingBatchFetchFunc } from 'libs/shared/hooks/UseBatchFetch';\nimport { Clip, ClipCollection, Video, VideoCollection } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\ntype Types = Video[] | VideoCollection | Clip[] | ClipCollection;\n\nfunction getValidObjects(objects: Types): (Video | Clip)[] {\n if (!objects)\n return [];\n\n if (Array.isArray(objects))\n return objects.filter(o => !!o && (VideoHelper.isVideo(o) || VideoHelper.isClip(o)));\n\n if ('data' in objects)\n return objects.data.filter(o => !!o && (VideoHelper.isVideo(o) || VideoHelper.isClip(o)));\n\n return [];\n}\n\ninterface VideoMixinOptions {\n /**\n * If the videos that are having new data mixed into are sitting on an explicit Flight namespace,\n * providing that namespace here is required\n */\n flightNamespace?: string;\n}\n\nexport function useVideoMixin(objects: Types, options: VideoMixinOptions = {}) {\n const videoIds = getValidObjects(objects).map(v => v.id);\n\n useGrowingBatchFetch(\n videoIds,\n ids => VideoRequests.videoMixinAssocs(ids, options.flightNamespace),\n null\n );\n}\n\nexport function useVideoMixinFunc(options: VideoMixinOptions = {}) {\n function getRequest(ids: string[]): Flight.Request {\n return VideoRequests.videoMixinAssocs(ids, options.flightNamespace);\n }\n \n function fetchObjects(items: Types) {\n return fetchItems(getValidObjects(items).map(v => v.id));\n }\n\n const { fetchItems } = useGrowingBatchFetchFunc({ getRequest });\n\n return { fetchObjects };\n}"],"names":["normalizeOptions","namespace","ShareRequests","createShare","data","url","key","type","invalidationKeys","objectId","updateShare","shareId","deleteShare","getShare","bootstrapName","getSentShares","params","Object","values","sort","join","normalize","getShareLink","id","createShareLink","getPrivacy","getSharesByObjectId","createSharePincode","getPincodeByShareId","getPincodeByCode","code","useGetRecentSharedVideos","options","fetch","getRequest","cursor","shouldFetch","fetchNext","shares","videosIds","items","filter","s","includes","objectTypeId","map","toString","videos","source","target","itemsArr","sourceKey","hasMore","isFetching","nextCursor","hasFirstPageCompleted","hasFirstRequestCompleted","CHUNK_SIZE","useBatchFetch","itemIds","requests","chunk","responses","length","reduce","acc","item","hasCompleted","useGrowingBatchFetch","objs","_getKey","getKey","obj","useGrowingBatchFetchFunc","fetchItems","fetchedItems","Set","setRequests","unfetchedItems","forEach","current","has","push","add","r","SCROLL_TOLERANCE","useInfiniteList","onError","getItems","getCursor","scrollContainer","handleScroll","useState","pagesFetched","setPagesFetched","fetchNextFn","response","request","fetchNextPage","currentVal","getBoundingClientRect","height","scrollTop","scrollHeight","window","innerHeight","document","documentElement","useEffect","onScroll","FunctionHelper","addEventListener","removeEventListener","shouldInitialFetch","statusCode","httpStatusClass","substr","HttpStatus","totalItems","DEFAULT_KEY","usePreserveOrder","preserveMap","Map","targetRecord","prev","curr","targetKey","targetObject","set","deps","useCommonVideoProps","locationContext","mtv","flightNamespace","sharedPlaylist","isPlugin","u","setFavourite","canFavourite","hasTopicDirectories","isLoadingSettings","hasPermissions","hasLoadedPermissions","isLoaded","hasStudentExperience","config","currentUser","yearGroups","isAuthenticated","customerId","hasCommonVideoPropsCompleted","commonVideoProps","subTextType","getSubTextAppLink","video","series","isPluginPopup","popup","imageCdnUrl","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","showNewVideoIndicator","companyLogoFallbackUrl","getValidObjects","objects","Array","isArray","o","useVideoMixin","videoIds","v","ids","useVideoMixinFunc","fetchObjects"],"sourceRoot":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! For license information please see 3597-eaae787997-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3597],{61357:(t,e,r)=>{r.r(e),r.d(e,{RequestingAccessView:()=>N});var n=r(32735),o=r(98269),i=r(92802),a=r(23481),c=r(20354),s=r(14617),u=r(24833);function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function f(t){return n.createElement(s._,{view:u.C.RequestingAccess,options:["none","allowed","any"],errors:t.errors,appLinks:t.appLinks,classname:t.classname,onSelectValue:function(e){return t.formikProps.setFieldValue("requestingAccess.selectedOption",e)},addDomainField:function(){return t.formikProps.setFieldValue("requestingAccess.domains",[].concat(function(t){if(Array.isArray(t))return l(t)}(e=t.formikProps.values.requestingAccess.domains)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(e)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(t,e):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[{domain:""}]));var e},onChangeDomain:function(e,r){return t.formikProps.setFieldValue("requestingAccess.domains[".concat(r,"]"),e)},removeDomainField:function(e){var r=t.formikProps.values.requestingAccess.domains;r.length>1?(t.formikProps.setFieldValue("requestingAccess.domains",r.filter((function(t,r){return r!==e}))),t.formikProps.setFieldError("requestingAccess.domains",void 0)):(t.formikProps.setFieldValue("requestingAccess.domains[0]",{domain:""}),t.formikProps.setFieldError("requestingAccess.domains[0]",void 0))},setFieldError:function(e,r){return t.formikProps.setFieldError(e,r)},selectedOption:t.formikProps.values.requestingAccess.selectedOption,domains:t.formikProps.values.requestingAccess.domains})}var h=r(61807),p=r(15611),m=r(82644),d=r(83345),y=r(23371),v=r(31949),g=r(69883),b=r(79612),w=r(93802),E=r(5458),A=r(14070),k=r(97291),L=r(81803),x=r(68598),S=r(71966),O=r(96268);function F(t){return F="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F(t)}function P(){P=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof v?e:v,a=Object.create(i.prototype),c=new j(n||[]);return o(a,"_invoke",{value:S(t,r,c)}),a}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var h="suspendedStart",p="suspendedYield",m="executing",d="completed",y={};function v(){}function g(){}function b(){}var w={};u(w,a,(function(){return this}));var E=Object.getPrototypeOf,A=E&&E(E(I([])));A&&A!==r&&n.call(A,a)&&(w=A);var k=b.prototype=v.prototype=Object.create(w);function L(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){function r(o,i,a,c){var s=f(t[o],t,i);if("throw"!==s.type){var u=s.arg,l=u.value;return l&&"object"==F(l)&&n.call(l,"__await")?e.resolve(l.__await).then((function(t){r("next",t,a,c)}),(function(t){r("throw",t,a,c)})):e.resolve(l).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,c)}))}c(s.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function S(e,r,n){var o=h;return function(i,a){if(o===m)throw Error("Generator is already running");if(o===d){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var s=O(c,n);if(s){if(s===y)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=m;var u=f(e,r,n);if("normal"===u.type){if(o=n.done?d:p,u.arg===y)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=d,n.method="throw",n.arg=u.arg)}}}function O(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=f(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function q(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function j(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function I(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(F(e)+" is not iterable")}return g.prototype=b,o(k,"constructor",{value:b,configurable:!0}),o(b,"constructor",{value:g,configurable:!0}),g.displayName=u(b,s,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,u(t,s,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},L(x.prototype),u(x.prototype,c,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new x(l(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},L(k),u(k,s,"Generator"),u(k,a,(function(){return this})),u(k,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=I,j.prototype={constructor:j,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(q),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),q(r),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;q(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:I(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y}},e}function _(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var q=function(t,e,r,n){return new(r||(r=Promise))((function(o,i){function a(t){try{s(n.next(t))}catch(t){i(t)}}function c(t){try{s(n.throw(t))}catch(t){i(t)}}function s(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(a,c)}s((n=n.apply(t,e||[])).next())}))},j="settings.requestingAccess",I=a.T.encloseNamespace(j);function N(){(0,O.W)(),(0,b.M)({title:I("pageTitle")});var t,e,r=c.a.useBasicFetch(v.N.currentUser()),a=r.data.customerId,s=c.a.useBasicFetch(r.data.customerId&&S.B.domains(a)),u=c.a.useGetFetchAsync(),l=(0,g.Z)(),F=(t=n.useState([]),e=2,function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],s=!0,u=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){u=!0,o=t}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return _(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),N=F[0],T=F[1];if(!s.hasCompleted)return n.createElement(n.Fragment,null);var C={requestingAccess:w.y.getInitialJoinRequests(s.data),teacherInvites:!1,automaticAccess:w.y.getInitialAccessBehaviour(s.data)};return n.createElement(L.d,{heading:I("heading"),breadcrumbs:[I("breadcrumb")]},n.createElement(h.L,{active:"requesting-access",appLinks:x.W}),n.createElement("p",null,n.createElement(d.x,{namespace:j,phrase:"description"})," ",n.createElement(p.F,{appLink:{application:k.O.USER_MANAGER,action:A.e.UserManager.ACCESS_REQUESTS},className:"text-info"},n.createElement(d.x,{namespace:j,phrase:"manageRequests"}))),n.createElement(m.n,{initialValues:C,onSubmit:function(t,e){var r;return q(this,void 0,void 0,P().mark((function n(){var o;return P().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=w.y.formatRequestData(s.data,t.requestingAccess,y.W.Request),n.prev=1,n.next=4,u(S.B.updateDomains(a,o));case 4:l.success(I("success")),n.next=11;break;case 7:n.prev=7,n.t0=n.catch(1),(null===(r=n.t0.responseJSON)||void 0===r?void 0:r.problems)&&T(n.t0.responseJSON.problems),l.error(I("error"));case 11:return n.prev=11,e(),n.finish(11);case 14:case"end":return n.stop()}}),n,null,[[1,7,11,14]])})))},validate:function(t){return(0,E.T)({values:t,alerts:l,setShowPopup:function(){}})},validateOnChange:!1,validateOnBlur:!1},(function(t){return n.createElement(i.l0,null,n.createElement(f,{formikProps:t,errors:N,appLinks:x.W}),n.createElement(o.Z,{variant:"dark",disabled:!t.dirty,onClick:function(){return t.submitForm()}},"Save changes"))})))}}}]);
|
|
3
|
+
//# sourceMappingURL=3597-eaae787997-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/3597-eaae787997-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/domain-settings/domain-forms/RequestingAccessForm.tsx","file:///app/packages/projects/lite/src/apps/settings/views/requesting-access/RequestingAccessView.tsx"],"sourcesContent":["import React from 'react';\nimport { FormikProps } from 'formik';\n\nimport { DomainSettingsForm } from 'libs/shared/apps/domain-settings/domain-settings-form/DomainSettingsForm';\nimport { AccessSettingsGroup } from 'libs/shared/enums/AccessSettingsGroup';\nimport { AccessSettingAppLinks } from 'libs/shared/interfaces/domains/AccessSettingAppLinks';\nimport { DomainSettingsModelV2 } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\n\ntype RequestingAccessFormProps = {\n formikProps: FormikProps<DomainSettingsModelV2>;\n errors: ApprovedDomainErrorResponse[];\n appLinks?: AccessSettingAppLinks;\n classname?: string;\n};\n\nexport function RequestingAccessForm(props: RequestingAccessFormProps) {\n return (\n <DomainSettingsForm\n view={AccessSettingsGroup.RequestingAccess}\n options={[ 'none', 'allowed', 'any' ]}\n errors={props.errors}\n appLinks={props.appLinks}\n classname={props.classname}\n onSelectValue={value =>\n props.formikProps.setFieldValue('requestingAccess.selectedOption', value)\n }\n addDomainField={() =>\n props.formikProps.setFieldValue('requestingAccess.domains', [\n ...props.formikProps.values.requestingAccess.domains,\n { domain: '' }\n ])\n }\n onChangeDomain={(domain, index) =>\n props.formikProps.setFieldValue(\n `requestingAccess.domains[${index}]`,\n domain\n )\n }\n removeDomainField={index => {\n const domains = props.formikProps.values.requestingAccess.domains;\n if (domains.length > 1) {\n props.formikProps.setFieldValue(\n 'requestingAccess.domains',\n domains.filter((_, i) => i !== index)\n );\n props.formikProps.setFieldError('requestingAccess.domains', undefined);\n } else {\n props.formikProps.setFieldValue(\n `requestingAccess.domains[0]`,\n { domain: '' }\n );\n props.formikProps.setFieldError(`requestingAccess.domains[0]`, undefined);\n }\n }}\n setFieldError={(error, code) =>\n props.formikProps.setFieldError(error, code)\n }\n selectedOption={props.formikProps.values.requestingAccess.selectedOption}\n domains={props.formikProps.values.requestingAccess.domains}\n />\n );\n}","import React from 'react';\nimport { Button } from 'react-bootstrap';\nimport { Form } from 'formik';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\n\nimport { RequestingAccessForm } from 'libs/shared/apps/domain-settings/domain-forms/RequestingAccessForm';\nimport { DomainSettingsTabs } from 'libs/shared/apps/domain-settings/domain-settings-tabs/DomainSettingsTabs';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { FormSubmissionOptions, FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { AccessType } from 'libs/shared/enums/AccessType';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { CurrentUser } from 'libs/shared/interfaces';\nimport { ApprovedDomain, DomainSettingsModelV2 } from 'libs/shared/interfaces/domains/ApprovedDomain';\nimport { ApprovedDomainErrorResponse } from 'libs/shared/interfaces/domains/ApprovedDomainErrorResponse';\nimport { DomainSettingsFormHelper } from 'libs/shared/utils/DomainSettingsFormHelper';\nimport { DomainValidation } from 'libs/shared/utils/validation/DomainSettingsValidationSchema';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\nimport { AccessSettingsAppLinks } from 'apps/settings/constants/AccessSettingsAppLinks';\nimport { DomainRequests } from 'apps/settings/flight-requests/DomainRequests';\nimport { useDomainSettingsSwitch } from 'apps/settings/hooks/useDomainSettingsSwitch';\n\nconst namespace = 'settings.requestingAccess';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function RequestingAccessView() {\n useDomainSettingsSwitch();\n\n useSetPageMetadata({ title: getPhrase('pageTitle') });\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { customerId } = currentUser.data;\n const domains = Flight.useBasicFetch<ApprovedDomain[]>(\n currentUser.data.customerId && DomainRequests.domains(customerId)\n );\n const fetchAsync = Flight.useGetFetchAsync();\n const alerts = useAlerts();\n const [ errors, setErrors ] = React.useState<ApprovedDomainErrorResponse[]>([]);\n\n async function onSaveChanges(\n values: DomainSettingsModelV2,\n onDone: (options?: FormSubmissionOptions<DomainSettingsModelV2>) => void\n ) {\n const formattedRequestData = DomainSettingsFormHelper.formatRequestData(\n domains.data,\n values.requestingAccess,\n AccessType.Request\n );\n \n try {\n await fetchAsync<any[]>(DomainRequests.updateDomains(customerId, formattedRequestData));\n alerts.success(getPhrase('success'));\n } catch (error) {\n if (error.responseJSON?.problems) {\n setErrors(error.responseJSON.problems);\n }\n alerts.error(getPhrase('error'));\n } finally {\n onDone();\n }\n }\n\n if (!domains.hasCompleted) {\n return <></>;\n }\n\n const initialValues = {\n requestingAccess: DomainSettingsFormHelper.getInitialJoinRequests(domains.data),\n teacherInvites: false,\n automaticAccess: DomainSettingsFormHelper.getInitialAccessBehaviour(domains.data)\n };\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('breadcrumb')]}\n >\n <DomainSettingsTabs active='requesting-access' appLinks={AccessSettingsAppLinks}/>\n <p>\n <Text namespace={namespace} phrase='description' />\n \n <AppLink\n appLink={{\n application: AppChannels.USER_MANAGER,\n action: Actions.UserManager.ACCESS_REQUESTS\n }}\n className='text-info'\n >\n <Text namespace={namespace} phrase='manageRequests' />\n </AppLink>\n </p>\n <FormWrapper\n initialValues={initialValues}\n onSubmit={onSaveChanges}\n validate={values => DomainValidation({ values, alerts, setShowPopup: () => {} })}\n validateOnChange={false}\n validateOnBlur={false}\n >\n {formikProps => (\n <Form>\n <RequestingAccessForm\n formikProps={formikProps}\n errors={errors}\n appLinks={AccessSettingsAppLinks}\n />\n <Button\n variant='dark'\n disabled={!formikProps.dirty}\n onClick={() => formikProps.submitForm()}\n >\n Save changes\n </Button>\n </Form>\n )}\n </FormWrapper>\n </SettingsLayout>\n );\n}\n"],"names":["RequestingAccessForm","props","DomainSettingsForm","view","AccessSettingsGroup","options","errors","appLinks","classname","onSelectValue","value","formikProps","setFieldValue","addDomainField","values","requestingAccess","domains","domain","onChangeDomain","index","removeDomainField","length","filter","_","i","setFieldError","undefined","error","code","selectedOption","namespace","getPhrase","LanguageService","RequestingAccessView","useDomainSettingsSwitch","useSetPageMetadata","title","currentUser","UserRequests","customerId","data","DomainRequests","fetchAsync","alerts","setErrors","hasCompleted","initialValues","DomainSettingsFormHelper","teacherInvites","automaticAccess","SettingsLayout","heading","breadcrumbs","DomainSettingsTabs","active","AccessSettingsAppLinks","Text","phrase","AppLink","appLink","application","action","className","FormWrapper","onSubmit","onDone","formattedRequestData","AccessType","success","responseJSON","problems","validate","setShowPopup","validateOnChange","validateOnBlur","Button","variant","disabled","dirty","onClick","submitForm"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4185],{1619:(e,t,n)=>{n.d(t,{e:()=>h});var a=n(32735),r=n(23481),s=n(12528),l=n(83914),o=n(35223),i=n(33518),c=n(2510);function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function u(e,t,n){return(t=function(e){var t=function(e){if("object"!=m(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==m(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var p=r.T.encloseNamespace("sharev2.shareAvatar"),d=u(u(u(u(u({},c.y.Open,o.vn.Classrooms),c.y.Link,o.vn.Link),c.y.Classroom,o.vn.Classrooms),c.y.Live,o.vn.Play),c.y.LegacyDirect,o.vn.Share),v=u(u(u(u(u({},c.y.Open,"blue"),c.y.Link,"black"),c.y.Classroom,"teal"),c.y.Live,"purple"),c.y.LegacyDirect,"indigo"),y=u(u(u(u(u({},c.y.Open,"openShareType"),c.y.Link,"linkShareType"),c.y.Classroom,"classroomShareType"),c.y.Live,"liveShareType"),c.y.LegacyDirect,"legacyDirectShareType");function h(e){var t,n;return a.createElement("div",{className:"d-flex align-items-center gap-2"},a.createElement("div",null,a.createElement(s.f,{svgName:d[e.type],variant:v[e.type],textVariant:"white",svgWrapperClassName:"p-1",svgSize:null!==(t=e.svgSize)&&void 0!==t?t:l.S.Standard})),a.createElement("div",{className:"d-flex flex-column"},a.createElement("p",{className:"m-0"},function(e){var t=e.type,n=e.classroomName,a=e.additionalTitleText;if(t===c.y.Classroom&&n)return n;var r=p(y[t]);return a&&(r+=" "+a),r}(e)),!e.hideSubtitle&&a.createElement("span",{className:"text-secondary"},null!==(n=e.subtitleText)&&void 0!==n?n:function(e){var t=e.type,n=e.privacy,a=e.studentCount,r=void 0===a?0:a,s=e.classroomGroupCount,l=void 0===s?0:s;switch(t){case c.y.Classroom:return function(e,t){return e&&t?"".concat(p("classroomGroupCount",{smartCount:e}),", ").concat(p("studentSubTitle",{smartCount:t})):e?p("groupSubTitle",{smartCount:e}):t?p("studentSubTitle",{smartCount:t}):p("allStudentsSubTitle")}(l,r);case c.y.Open:return p("openShareTypeSubTitle");case c.y.Link:return function(e){return[i.e.JustMySchool,i.e.Protected].includes(e)?p("respectRatingsSubTitle"):e===i.e.JustMySchoolOverrideRestriction?p("anyoneInSchoolSubTitle"):e===i.e.ProtectedOverrideRestriction?p("anyoneSignedInSubTitle"):e===i.e.Public?p("anyoneWithLinkSubTitle"):e===i.e.PinCode?p("anyoneWithPinSubTitle"):void 0}(n);case c.y.Live:return p("liveShareTypeSubTitle");case c.y.LegacyDirect:return p("legacyDirectTypeSubTitle");default:return p("publicShareTypeSubTitle")}}(e))))}},41661:(e,t,n)=>{var a;n.d(t,{D:()=>a}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(a||(a={}))},40841:(e,t,n)=>{n.d(t,{_:()=>o});var a=n(23481),r=n(41661),s=n(65728),l=a.T.encloseNamespace("shared.shared-utils"),o={getShareIntegrations:function(e,t){return[{id:r.D.GoogleClassroom,name:l("googleClassroom"),enabled:e,settingName:s.E.ShareToGoogleClassroom},{id:r.D.MicrosoftTeams,name:l("msftTeams"),enabled:t,settingName:s.E.ShareToMicrosoftTeams}]}}},5655:(e,t,n)=>{n.d(t,{QD:()=>C,Qv:()=>T,__:()=>S});var a=n(32735),r=n(68050),s=n(69111),l=n(42648),o=n(82602),i=n(31453),c=n(1619),m=n(83914),u=n(35223),p=n(2510);function d(e){return a.createElement("span",{className:"d-inline-flex flex-row gap-2 align-items-center"},a.createElement(m.x,{svgName:u.vn.User}),a.createElement("span",null,function(){var t=e.share.accessCount||0;if(e.share.type===p.y.Open)return"".concat(t);if(e.share.type===p.y.Classroom){var n=e.share.recipients.length;return"".concat(t,"/").concat(n)}return"-"}()))}var v=n(21789),y=n(15611),h=n(91693),g=n(83345);const f={shareListItem:"vLROV",visibleOnHover:"o2KJH"};var b="assign.previousAssignments";function E(e){return a.createElement("div",{className:(0,i.A)("d-flex align-items-center justify-content-between",e.show&&"mb-3")},a.createElement("h3",{className:"h6 m-0 p-0"},a.createElement(g.x,{namespace:b,phrase:"heading",options:{count:e.count}})),a.createElement(h.h,{svgName:e.show?u.vn.ChevronUp:u.vn.ChevronDown,onClick:e.onToggle}))}function S(){var e="d-flex align-items-end justify-content-start fw-medium";return a.createElement(g.D.Provider,{value:b},a.createElement(r.Z,{className:"gx-2 px-3 mb-2"},a.createElement(s.Z,{xs:4,className:e},a.createElement(g.x,{phrase:"assignedTo"})),a.createElement(s.Z,{xs:2,className:e},a.createElement(g.x,{phrase:"views"})),a.createElement(s.Z,{xs:2,className:e},a.createElement(g.x,{phrase:"viewedBy"})),a.createElement(s.Z,{xs:4,className:e},a.createElement(g.x,{phrase:"dateCreated"}))))}function x(e){var t,n=v.x.getClassroomForShare(e.share,e.classrooms),l=null===(t=e.getItemAnalytics)||void 0===t?void 0:t.call(e,e.share);return a.createElement(y.F,{key:e.share.shareId,appLink:e.getItemAppLink(e.share),analyticsData:null==l?void 0:l.data,analyticsOptions:null==l?void 0:l.options,className:(0,i.A)("d-block p-3 hover-bg-light-blue border border-top-0 no-hover-text-underline",f.shareListItem,e.className)},a.createElement(r.Z,{className:"gx-2"},a.createElement(s.Z,{xs:4,className:"d-flex align-items-center"},a.createElement(c.e,{type:e.share.type,privacy:e.share.privacy,classroomName:null==n?void 0:n.name,svgSize:m.S.Small,hideSubtitle:!0})),a.createElement(s.Z,{xs:2,className:"d-flex align-items-center justify-content-start"},a.createElement(g.x,{namespace:b,phrase:"viewCount",options:{smartCount:e.share.viewCount||0}})),a.createElement(s.Z,{xs:2,className:"d-flex align-items-center justify-content-start"},a.createElement(d,{share:e.share})),a.createElement(s.Z,{xs:4,lg:3,className:"d-flex align-items-center justify-content-start"},a.createElement("span",null,(0,o.WU)(e.share.dateCreated))),a.createElement(s.Z,{lg:1,className:"align-items-center justify-content-end d-none d-lg-flex"},a.createElement("span",{className:(0,i.A)("cursor-pointer text-info hover-text-underline",f.visibleOnHover)},a.createElement(g.x,{namespace:b,phrase:"view"})))))}function T(e){var t;return a.createElement("div",{className:(0,i.A)("d-flex flex-column border-top rounded-top overflow-hidden")},a.createElement(l.ZP,{autoHeight:!0,autoHeightMin:0,autoHeightMax:null!==(t=e.scrollHeightMax)&&void 0!==t?t:215,autoHide:!0},e.assignments.reverse().map((function(t,n){return a.createElement(x,{share:t,classrooms:e.classrooms,getItemAppLink:e.getItemAppLink,getItemAnalytics:function(t){var a;return null===(a=e.getItemAnalytics)||void 0===a?void 0:a.call(e,t,n)},className:(0,i.A)(n%2==0&&"bg-gray-100"),key:t.shareId})}))))}function C(e){if(!e.assignments.length)return a.createElement(a.Fragment,null);var t=e.show&&e.assignments.length>3;return a.createElement("div",{className:(0,i.A)("bg-white rounded-3 p-3",t&&"pb-0")},a.createElement(E,{count:e.assignments.length,onToggle:e.onToggle,show:e.show}),e.show&&a.createElement(a.Fragment,null,a.createElement(S,null),a.createElement(T,Object.assign({},e))))}},63398:(e,t,n)=>{n.r(t),n.d(t,{ShowAssignmentsView:()=>C});var a=n(32735),r=n(23481),s=n(20354),l=n(75896),o=n(2510),i=n(18488),c=n(21789),m=n(97958),u=n(9111),p=n(83345),d=n(99742),v=n(86099),y=n(83351),h=n(5655),g=n(95890),f=n(40254),b=n(88630),E="assign.showAssignmentsView",S=r.T.encloseNamespace(E),x=400;function T(e){return a.createElement(m.u,{className:"py-4"},a.createElement(m.u.Image,{src:d.W.EmptyStates.Share.MY_SHARES}),a.createElement(m.u.Heading,null,a.createElement(p.x,{phrase:"emptyTitle",namespace:E})),a.createElement(m.u.Cta,{text:S("emptyCta"),appLink:e.appLink}))}function C(e){var t,n,r=(0,g._)({objectId:e.objectId,entityType:e.entityType}),m=s.a.useBasicFetch(i.o.getSharesByObjectId(e.objectId)),p=(null===(t=m.data)||void 0===t?void 0:t.filter((function(e){return[o.y.Classroom,o.y.Open].includes(e.type)})))||[],d=l.m.uniq(p.map(c.x.getClassroomIdFromShare).filter((function(e){return!!e}))),E=s.a.useBasicFetch(m.hasCompleted&&b.F.getClassroomsByIds(d,null===(n=r.currentUser.data)||void 0===n?void 0:n.customerId)),C=r.loaded&&!!m.data&&!!E.data;return a.createElement(u.G,{size:"lg",title:S("title"),showLoadingSpinner:!C,closePopup:e.closePopup},!p.length&&a.createElement(T,{appLink:f.W.flowSelector({entityType:e.entityType,objectId:e.objectId})}),!!p.length&&a.createElement(a.Fragment,null,a.createElement(h.__,null),a.createElement(h.Qv,{assignments:p,classrooms:E.data,getItemAppLink:function(e){var t=(0,v.pY)(e);if(t)return t},scrollHeightMax:x})),a.createElement(y.P,{hideNextButton:!0,hideCreateClassroomButton:!0,onClickBack:e.closePopup,backButtonText:S("close")}))}},82602:(e,t,n)=>{n.d(t,{WU:()=>c});var a=["second","minute","hour","day","week","month","year"],r=["秒","分钟","小时","天","周","个月","年"],s={},l=function(e,t){s[e]=t},o=[60,60,24,7,365/7/12,12];function i(e){return e instanceof Date?e:!isNaN(e)||/^\d+$/.test(e)?new Date(parseInt(e)):(e=(e||"").trim().replace(/\.\d+/,"").replace(/-/,"/").replace(/-/,"/").replace(/(\d)T(\d)/,"$1 $2").replace(/Z/," UTC").replace(/([+-]\d\d):?(\d\d)/," $1$2"),new Date(e))}var c=function(e,t,n){var a=function(e,t){return(+(t?i(t):new Date)-+i(e))/1e3}(e,n&&n.relativeDate);return function(e,t){for(var n=e<0?1:0,a=e=Math.abs(e),r=0;e>=o[r]&&r<o.length;r++)e/=o[r];return(e=Math.floor(e))>(0==(r*=2)?9:1)&&(r+=1),t(e,r,a)[n].replace("%s",e.toString())}(a,function(e){return s[e]||s.en_US}(t))};l("en_US",(function(e,t){if(0===t)return["just now","right now"];var n=a[Math.floor(t/2)];return e>1&&(n+="s"),[e+" "+n+" ago","in "+e+" "+n]})),l("zh_CN",(function(e,t){if(0===t)return["刚刚","片刻后"];var n=r[~~(t/2)];return[e+" "+n+"前",e+" "+n+"后"]}))}}]);
|
|
2
|
+
//# sourceMappingURL=4185-7178e5a716-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/4185-7178e5a716-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share-v2/components/share-avatar/ShareAvatar.tsx","file:///app/packages/libs/shared/src/enums/IntegrationId.ts","file:///app/packages/libs/shared/src/utils/IntegrationHelper.ts","file:///app/packages/libs/shared/src/apps/share-v2/components/share-view-count/ShareViewCount.tsx","file:///app/packages/projects/lite/src/apps/assign/components/previous-assignments/previous-assignments.scss","file:///app/packages/projects/lite/src/apps/assign/components/previous-assignments/PreviousAssignments.tsx","file:///app/packages/projects/lite/src/apps/assign/views/show-assignments-view/ShowAssignmentsView.tsx","file:///app/node_modules/timeago.js/esm/lang/en_US.js","file:///app/node_modules/timeago.js/esm/lang/zh_CN.js","file:///app/node_modules/timeago.js/esm/register.js","file:///app/node_modules/timeago.js/esm/utils/date.js","file:///app/node_modules/timeago.js/esm/format.js","file:///app/node_modules/timeago.js/esm/index.js"],"sourcesContent":["import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { IconCircle } from 'libs/shared/components/icon-circle/IconCircle';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SharePrivacy } from '../../enums/SharePrivacy';\nimport { ShareType } from '../../enums/ShareType';\n\nconst namespace = 'sharev2.shareAvatar';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst icons = {\n [ShareType.Open]: cvSvgLibrary.Classrooms,\n [ShareType.Link]: cvSvgLibrary.Link,\n [ShareType.Classroom]: cvSvgLibrary.Classrooms,\n [ShareType.Live]: cvSvgLibrary.Play,\n [ShareType.LegacyDirect]: cvSvgLibrary.Share\n};\n\nconst iconColours = {\n [ShareType.Open]: 'blue',\n [ShareType.Link]: 'black',\n [ShareType.Classroom]: 'teal',\n [ShareType.Live]: 'purple',\n [ShareType.LegacyDirect]: 'indigo'\n};\n\nconst shareTypeTitlePhraseMap = {\n [ShareType.Open]: 'openShareType',\n [ShareType.Link]: 'linkShareType',\n [ShareType.Classroom]: 'classroomShareType',\n [ShareType.Live]: 'liveShareType',\n [ShareType.LegacyDirect]: 'legacyDirectShareType'\n};\n\nfunction getTitle({ type, classroomName, additionalTitleText }: ShareAvatarProps) {\n if (type === ShareType.Classroom && classroomName)\n return classroomName;\n\n let title = getPhrase(shareTypeTitlePhraseMap[type]);\n\n if (additionalTitleText)\n title += ' ' + additionalTitleText;\n\n return title;\n}\n\nfunction getClassroomSubtitle(classroomGroupCount: number, studentCount: number): string {\n if (classroomGroupCount && studentCount)\n return `${getPhrase('classroomGroupCount', { smartCount: classroomGroupCount })}, ${getPhrase('studentSubTitle', { smartCount: studentCount })}`;\n\n if (classroomGroupCount)\n return getPhrase('groupSubTitle', { smartCount: classroomGroupCount });\n\n if (studentCount)\n return getPhrase('studentSubTitle', { smartCount: studentCount });\n\n return getPhrase('allStudentsSubTitle');\n}\n\nfunction getLinkSubtitle(privacy: SharePrivacy) {\n if ([ SharePrivacy.JustMySchool, SharePrivacy.Protected ].includes(privacy))\n return getPhrase('respectRatingsSubTitle');\n\n if (privacy === SharePrivacy.JustMySchoolOverrideRestriction)\n return getPhrase('anyoneInSchoolSubTitle');\n\n if (privacy === SharePrivacy.ProtectedOverrideRestriction)\n return getPhrase('anyoneSignedInSubTitle');\n\n if (privacy === SharePrivacy.Public)\n return getPhrase('anyoneWithLinkSubTitle');\n\n if (privacy === SharePrivacy.PinCode)\n return getPhrase('anyoneWithPinSubTitle');\n}\n\nfunction getSubtitle({ type, privacy, studentCount = 0, classroomGroupCount = 0 }: ShareAvatarProps) {\n switch (type) {\n case ShareType.Classroom:\n return getClassroomSubtitle(classroomGroupCount, studentCount);\n\n case ShareType.Open:\n return getPhrase('openShareTypeSubTitle');\n\n case ShareType.Link:\n return getLinkSubtitle(privacy);\n \n case ShareType.Live:\n return getPhrase('liveShareTypeSubTitle');\n\n case ShareType.LegacyDirect:\n return getPhrase('legacyDirectTypeSubTitle');\n\n default:\n return getPhrase('publicShareTypeSubTitle');\n }\n}\n\ninterface ShareAvatarProps {\n type: ShareType;\n privacy: SharePrivacy;\n studentCount?: number;\n classroomGroupCount?: number;\n classroomName?: string;\n hideSubtitle?: boolean;\n subtitleText?: string;\n svgSize?: SvgContainerSize;\n additionalTitleText?: string;\n}\n\nexport function ShareAvatar(props: ShareAvatarProps): JSX.Element {\n return (\n <div className='d-flex align-items-center gap-2'>\n <div>\n <IconCircle\n svgName={icons[props.type]}\n variant={iconColours[props.type]}\n textVariant='white'\n svgWrapperClassName='p-1'\n svgSize={props.svgSize ?? SvgContainerSize.Standard}\n />\n </div>\n <div className='d-flex flex-column'>\n <p className='m-0'>{getTitle(props)}</p>\n {!props.hideSubtitle && <span className='text-secondary'>{props.subtitleText ?? getSubtitle(props)}</span>}\n </div>\n </div>\n );\n}","export enum IntegrationId {\n GoogleClassroom = 'google-classroom',\n MicrosoftTeams = 'microsoft-teams',\n Vivi = 'vivi',\n AppleTv = 'apply-tv'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { Integration } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const IntegrationHelper = {\n getShareIntegrations(googleClassroomSetting: boolean, msftTeamsSetting: boolean): Integration[] {\n return [\n {\n id: IntegrationId.GoogleClassroom,\n name: getPhrase('googleClassroom'),\n enabled: googleClassroomSetting,\n settingName: SettingName.ShareToGoogleClassroom\n },\n {\n id: IntegrationId.MicrosoftTeams,\n name: getPhrase('msftTeams'),\n enabled: msftTeamsSetting,\n settingName: SettingName.ShareToMicrosoftTeams\n }\n ];\n }\n};\n","import React from 'react';\n\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { ShareType } from '../../enums/ShareType';\nimport { Share } from '../../interfaces/Share';\n\n\ninterface ShareViewCountProps {\n share: Share;\n}\n\nexport function ShareViewCount(props: ShareViewCountProps): JSX.Element {\n function getViewCount(): string {\n const shareAccessCount = props.share.accessCount || 0;\n if (props.share.type === ShareType.Open)\n return `${shareAccessCount}`;\n\n if (props.share.type === ShareType.Classroom) {\n const totalRecipients = props.share.recipients.length;\n return `${shareAccessCount}/${totalRecipients}`;\n }\n\n return '-';\n }\n \n return (\n <span className='d-inline-flex flex-row gap-2 align-items-center'>\n <SvgContainer svgName={cvSvgLibrary.User} />\n <span>{getViewCount()}</span>\n </span>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"shareListItem\":\"vLROV\",\"visibleOnHover\":\"o2KJH\"};","import React from 'react';\nimport { Col, Row } from 'react-bootstrap';\nimport Scrollbars from 'react-custom-scrollbars-2';\nimport { format as formatDate } from 'timeago.js';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { classNames } from 'libs/common/react/utils/ClassNameHelper';\n\nimport { AnalyticsOptions, HashObject } from 'libs/analytics/interfaces';\n\nimport { ShareAvatar } from 'libs/shared/apps/share-v2/components/share-avatar/ShareAvatar';\nimport { ShareViewCount } from 'libs/shared/apps/share-v2/components/share-view-count/ShareViewCount';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { Classroom } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './previous-assignments.scss';\n\nconst namespace = 'assign.previousAssignments';\n\ninterface PreviousAssignmentsHeaderProps {\n count: number;\n show: boolean;\n onToggle: () => void;\n}\n\nfunction PreviousAssignmentsHeader(props: PreviousAssignmentsHeaderProps): JSX.Element {\n return (\n <div className={classNames('d-flex align-items-center justify-content-between', props.show && 'mb-3')}>\n <h3 className='h6 m-0 p-0'><Text namespace={namespace} phrase='heading' options={{ count: props.count }} /></h3>\n <IconButton\n svgName={props.show ? cvSvgLibrary.ChevronUp : cvSvgLibrary.ChevronDown}\n onClick={props.onToggle}\n />\n </div>\n );\n}\n\nexport function PreviousAssignmentsListHeader(): JSX.Element {\n const columnClassNames = 'd-flex align-items-end justify-content-start fw-medium';\n \n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <Row className='gx-2 px-3 mb-2'>\n <Col xs={4} className={columnClassNames}>\n <Text phrase='assignedTo' />\n </Col>\n <Col xs={2} className={columnClassNames}>\n <Text phrase='views' />\n </Col>\n <Col xs={2} className={columnClassNames}>\n <Text phrase='viewedBy' />\n </Col>\n <Col xs={4} className={columnClassNames}>\n <Text phrase='dateCreated' />\n </Col>\n </Row>\n </LanguageNamespaceContext.Provider>\n );\n}\n\ntype ItemAnalytics = {\n data: HashObject;\n options: AnalyticsOptions;\n}\ninterface PreviousAssignmentListItemProps {\n share: Share;\n classrooms: Classroom[];\n getItemAppLink: (share: Share) => Core.AppLink;\n\n getItemAnalytics?: (share: Share) => ItemAnalytics;\n className?: string;\n}\n\nfunction PreviousAssignmentListItem(props: PreviousAssignmentListItemProps): JSX.Element {\n const shareClassroom = ShareHelper.getClassroomForShare(props.share, props.classrooms);\n\n const analytics = props.getItemAnalytics?.(props.share);\n\n return (\n <AppLink\n key={props.share.shareId}\n appLink={props.getItemAppLink(props.share)}\n analyticsData={analytics?.data}\n analyticsOptions={analytics?.options}\n className={classNames('d-block p-3 hover-bg-light-blue border border-top-0 no-hover-text-underline', styles.shareListItem, props.className)}\n >\n <Row className='gx-2'>\n <Col xs={4} className='d-flex align-items-center'>\n <ShareAvatar\n type={props.share.type}\n privacy={props.share.privacy}\n classroomName={shareClassroom?.name}\n svgSize={SvgContainerSize.Small}\n hideSubtitle\n />\n </Col>\n <Col xs={2} className='d-flex align-items-center justify-content-start'>\n <Text namespace={namespace} phrase='viewCount' options={{ smartCount: props.share.viewCount || 0 }} />\n </Col>\n <Col xs={2} className='d-flex align-items-center justify-content-start'>\n <ShareViewCount share={props.share} />\n </Col>\n <Col xs={4} lg={3} className='d-flex align-items-center justify-content-start'>\n <span>{formatDate(props.share.dateCreated)}</span>\n </Col>\n <Col lg={1} className='align-items-center justify-content-end d-none d-lg-flex'>\n <span className={classNames('cursor-pointer text-info hover-text-underline', styles.visibleOnHover)}>\n <Text namespace={namespace} phrase='view' />\n </span>\n </Col>\n </Row>\n </AppLink>\n );\n}\n\ninterface PreviousAssignmentsListProps {\n assignments: Share[];\n classrooms: Classroom[];\n getItemAppLink: (share: Share) => Core.AppLink;\n getItemAnalytics?: (share: Share, yIndex: number) => ItemAnalytics;\n scrollHeightMax?: number;\n}\n\nexport function PreviousAssignmentsList(props: PreviousAssignmentsListProps): JSX.Element {\n return (\n <div className={classNames(\n 'd-flex flex-column border-top rounded-top overflow-hidden'\n )}>\n <Scrollbars\n autoHeight\n autoHeightMin={0}\n autoHeightMax={props.scrollHeightMax ?? 215}\n autoHide\n >\n {props.assignments.reverse().map((share, idx) => (\n <PreviousAssignmentListItem\n share={share}\n classrooms={props.classrooms}\n getItemAppLink={props.getItemAppLink}\n getItemAnalytics={share => props.getItemAnalytics?.(share, idx)}\n className={classNames(idx % 2 === 0 && 'bg-gray-100')}\n key={share.shareId}\n />\n ))}\n </Scrollbars>\n </div>\n );\n}\n\ninterface PreviousAssignmentsProps {\n show: boolean;\n assignments: Share[];\n classrooms: Classroom[];\n onToggle: () => void;\n getItemAppLink: (share: Share) => Core.AppLink;\n getItemAnalytics?: (share: Share, yIndex: number) => ItemAnalytics;\n}\n\nexport function PreviousAssignments(props: PreviousAssignmentsProps): JSX.Element {\n if (!props.assignments.length)\n return <></>;\n \n const noBottomPadding = props.show && props.assignments.length > 3;\n \n return (\n <div className={classNames('bg-white rounded-3 p-3', noBottomPadding && 'pb-0')}>\n <PreviousAssignmentsHeader count={props.assignments.length} onToggle={props.onToggle} show={props.show} />\n {props.show && (\n <>\n <PreviousAssignmentsListHeader />\n <PreviousAssignmentsList {...props} />\n </>\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Flight } from 'libs/common/react/index';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { ShareRequests } from 'libs/shared/apps/share-v2/flight-requests/ShareRequests';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { SharableEntityType } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { Classroom, PopupViewProps } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { getInsightsOverviewAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nimport { FlowControls } from 'apps/assign/components/flow-controls/FlowControls';\nimport { PreviousAssignmentsList, PreviousAssignmentsListHeader } from 'apps/assign/components/previous-assignments/PreviousAssignments';\nimport { useAssignSharedData } from 'apps/assign/hooks/useAssignSharedData';\nimport { AssignAppLinkHelper } from 'apps/assign/utils/AssignAppLinkHelper';\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\n\nconst namespace = 'assign.showAssignmentsView';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst MAX_SCROLL_HEIGHT = 400;\n\ninterface ShowAssignEmptyStateProps {\n appLink: Core.AppLink;\n}\n\nfunction ShowAssignmentsEmptyState(props: ShowAssignEmptyStateProps): JSX.Element {\n return (\n <EmptyState className='py-4'>\n <EmptyState.Image\n src={ImageUrls.EmptyStates.Share.MY_SHARES}\n />\n <EmptyState.Heading><Text phrase='emptyTitle' namespace={namespace} /></EmptyState.Heading>\n <EmptyState.Cta\n text={getPhrase('emptyCta')}\n appLink={props.appLink}\n />\n </EmptyState>\n );\n}\n\ninterface ShowAssignmentsViewProps extends PopupViewProps {\n objectId: string;\n entityType: SharableEntityType;\n}\n\nexport function ShowAssignmentsView(props: ShowAssignmentsViewProps): JSX.Element {\n const sharedData = useAssignSharedData({\n objectId: props.objectId,\n entityType: props.entityType\n });\n\n const previousShares = Flight.useBasicFetch<Share[]>(ShareRequests.getSharesByObjectId(props.objectId));\n // @todo Replace with backend filters\n const assignments = previousShares.data?.filter(\n share => [ ShareType.Classroom, ShareType.Open ].includes(share.type)\n ) || [];\n const previousAssignmentClassroomIds = ArrayHelper.uniq(\n assignments.map(ShareHelper.getClassroomIdFromShare).filter(x => !!x)\n );\n const classrooms = Flight.useBasicFetch<Classroom[]>(\n previousShares.hasCompleted &&\n ClassroomRequests.getClassroomsByIds(previousAssignmentClassroomIds, sharedData.currentUser.data?.customerId)\n );\n\n function getItemAppLink(share: Share) {\n const appLink = getInsightsOverviewAppLink(share);\n if (!appLink)\n return;\n\n return appLink;\n }\n\n const loaded = sharedData.loaded && !!previousShares.data && !!classrooms.data;\n \n return (\n <Popup\n size='lg'\n title={getPhrase('title')}\n showLoadingSpinner={!loaded}\n closePopup={props.closePopup}\n >\n {!assignments.length &&\n <ShowAssignmentsEmptyState\n appLink={AssignAppLinkHelper.flowSelector({\n entityType: props.entityType,\n objectId: props.objectId\n })}\n />\n }\n \n {!!assignments.length &&\n <>\n <PreviousAssignmentsListHeader />\n <PreviousAssignmentsList\n assignments={assignments}\n classrooms={classrooms.data}\n getItemAppLink={getItemAppLink}\n scrollHeightMax={MAX_SCROLL_HEIGHT}\n />\n </>\n }\n <FlowControls\n hideNextButton\n hideCreateClassroomButton\n onClickBack={props.closePopup}\n backButtonText={getPhrase('close')}\n />\n </Popup>\n );\n}","var EN_US = ['second', 'minute', 'hour', 'day', 'week', 'month', 'year'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['just now', 'right now'];\n var unit = EN_US[Math.floor(idx / 2)];\n if (diff > 1)\n unit += 's';\n return [diff + \" \" + unit + \" ago\", \"in \" + diff + \" \" + unit];\n}\n//# sourceMappingURL=en_US.js.map","var ZH_CN = ['秒', '分钟', '小时', '天', '周', '个月', '年'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['刚刚', '片刻后'];\n var unit = ZH_CN[~~(idx / 2)];\n return [diff + \" \" + unit + \"\\u524D\", diff + \" \" + unit + \"\\u540E\"];\n}\n//# sourceMappingURL=zh_CN.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\n/**\n * All supported locales\n */\nvar Locales = {};\n/**\n * register a locale\n * @param locale\n * @param func\n */\nexport var register = function (locale, func) {\n Locales[locale] = func;\n};\n/**\n * get a locale, default is en_US\n * @param locale\n * @returns {*}\n */\nexport var getLocale = function (locale) {\n return Locales[locale] || Locales['en_US'];\n};\n//# sourceMappingURL=register.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nvar SEC_ARRAY = [\n 60,\n 60,\n 24,\n 7,\n 365 / 7 / 12,\n 12,\n];\n/**\n * format Date / string / timestamp to timestamp\n * @param input\n * @returns {*}\n */\nexport function toDate(input) {\n if (input instanceof Date)\n return input;\n // @ts-ignore\n if (!isNaN(input) || /^\\d+$/.test(input))\n return new Date(parseInt(input));\n input = (input || '')\n // @ts-ignore\n .trim()\n .replace(/\\.\\d+/, '') // remove milliseconds\n .replace(/-/, '/')\n .replace(/-/, '/')\n .replace(/(\\d)T(\\d)/, '$1 $2')\n .replace(/Z/, ' UTC') // 2017-2-5T3:57:52Z -> 2017-2-5 3:57:52UTC\n .replace(/([+-]\\d\\d):?(\\d\\d)/, ' $1$2'); // -04:00 -> -0400\n return new Date(input);\n}\n/**\n * format the diff second to *** time ago, with setting locale\n * @param diff\n * @param localeFunc\n * @returns\n */\nexport function formatDiff(diff, localeFunc) {\n /**\n * if locale is not exist, use defaultLocale.\n * if defaultLocale is not exist, use build-in `en`.\n * be sure of no error when locale is not exist.\n *\n * If `time in`, then 1\n * If `time ago`, then 0\n */\n var agoIn = diff < 0 ? 1 : 0;\n /**\n * Get absolute value of number (|diff| is non-negative) value of x\n * |diff| = diff if diff is positive\n * |diff| = -diff if diff is negative\n * |0| = 0\n */\n diff = Math.abs(diff);\n /**\n * Time in seconds\n */\n var totalSec = diff;\n /**\n * Unit of time\n */\n var idx = 0;\n for (; diff >= SEC_ARRAY[idx] && idx < SEC_ARRAY.length; idx++) {\n diff /= SEC_ARRAY[idx];\n }\n /**\n * Math.floor() is alternative of ~~\n *\n * The differences and bugs:\n * Math.floor(3.7) -> 4 but ~~3.7 -> 3\n * Math.floor(1559125440000.6) -> 1559125440000 but ~~1559125440000.6 -> 52311552\n *\n * More information about the performance of algebraic:\n * https://www.youtube.com/watch?v=65-RbBwZQdU\n */\n diff = Math.floor(diff);\n idx *= 2;\n if (diff > (idx === 0 ? 9 : 1))\n idx += 1;\n return localeFunc(diff, idx, totalSec)[agoIn].replace('%s', diff.toString());\n}\n/**\n * calculate the diff second between date to be formatted an now date.\n * @param date\n * @param relativeDate\n * @returns {number}\n */\nexport function diffSec(date, relativeDate) {\n var relDate = relativeDate ? toDate(relativeDate) : new Date();\n return (+relDate - +toDate(date)) / 1000;\n}\n/**\n * nextInterval: calculate the next interval time.\n * - diff: the diff sec between now and date to be formatted.\n *\n * What's the meaning?\n * diff = 61 then return 59\n * diff = 3601 (an hour + 1 second), then return 3599\n * make the interval with high performance.\n **/\nexport function nextInterval(diff) {\n var rst = 1, i = 0, d = Math.abs(diff);\n for (; diff >= SEC_ARRAY[i] && i < SEC_ARRAY.length; i++) {\n diff /= SEC_ARRAY[i];\n rst *= SEC_ARRAY[i];\n }\n d = d % rst;\n d = d ? rst - d : rst;\n return Math.ceil(d);\n}\n//# sourceMappingURL=date.js.map","import { formatDiff, diffSec } from './utils/date';\nimport { getLocale } from './register';\n/**\n * format a TDate into string\n * @param date\n * @param locale\n * @param opts\n */\nexport var format = function (date, locale, opts) {\n // diff seconds\n var sec = diffSec(date, opts && opts.relativeDate);\n // format it with locale\n return formatDiff(sec, getLocale(locale));\n};\n//# sourceMappingURL=format.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nimport en_US from './lang/en_US';\nimport zh_CN from './lang/zh_CN';\nimport { register } from './register';\nregister('en_US', en_US);\nregister('zh_CN', zh_CN);\nexport { format } from './format';\nexport { render, cancel } from './realtime';\nexport { register };\n//# sourceMappingURL=index.js.map"],"names":["getPhrase","icons","iconColours","shareTypeTitlePhraseMap","ShareAvatar","props","className","svgName","type","variant","textVariant","svgWrapperClassName","svgSize","S","classroomName","additionalTitleText","title","getTitle","hideSubtitle","subtitleText","privacy","studentCount","classroomGroupCount","smartCount","getClassroomSubtitle","includes","getLinkSubtitle","getSubtitle","IntegrationId","IntegrationHelper","getShareIntegrations","googleClassroomSetting","msftTeamsSetting","id","name","enabled","settingName","ShareViewCount","SvgContainer","shareAccessCount","share","accessCount","ShareType","totalRecipients","recipients","length","getViewCount","namespace","PreviousAssignmentsHeader","show","Text","phrase","options","count","IconButton","onClick","onToggle","PreviousAssignmentsListHeader","columnClassNames","value","Row","Col","xs","PreviousAssignmentListItem","shareClassroom","ShareHelper","classrooms","analytics","getItemAnalytics","AppLink","key","shareId","appLink","getItemAppLink","analyticsData","data","analyticsOptions","viewCount","lg","dateCreated","PreviousAssignmentsList","autoHeight","autoHeightMin","autoHeightMax","scrollHeightMax","autoHide","assignments","reverse","map","idx","PreviousAssignments","noBottomPadding","MAX_SCROLL_HEIGHT","ShowAssignmentsEmptyState","src","text","ShowAssignmentsView","sharedData","objectId","entityType","previousShares","filter","previousAssignmentClassroomIds","x","hasCompleted","currentUser","customerId","loaded","size","showLoadingSpinner","closePopup","hideNextButton","hideCreateClassroomButton","onClickBack","backButtonText","EN_US","ZH_CN","Locales","register","locale","func","SEC_ARRAY","toDate","input","Date","isNaN","test","parseInt","trim","replace","format","date","opts","sec","relativeDate","diff","localeFunc","agoIn","totalSec","Math","abs","floor","toString","unit"],"sourceRoot":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! For license information please see 4722-
|
|
2
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4722],{35115:(t,e,r)=>{r.d(e,{p:()=>u});var n=r(32735),a=r(49935),o=r(95278);const i="pJf6R",c="MSvzY",l="IFmvc",s="pOcvk";var u=n.memo((function(){return n.createElement("div",{className:"px-3"},n.createElement("div",{className:"mb-1 partial-loading-background ".concat("YrP_G")}),n.createElement("div",{className:"pb-3"},n.createElement(a.b2,{numItems:2})),n.createElement("div",{className:"pb-2"},n.createElement(o.Z,null)),n.createElement("div",{className:"d-flex align-items-center py-2"},n.createElement("div",{className:"mx-4 partial-loading-background ".concat(i)}),n.createElement("div",{className:"me-2 partial-loading-background ".concat(c)}),n.createElement("div",{className:"me-auto partial-loading-background ".concat(c)}),n.createElement("div",{className:"partial-loading-background ".concat("j62jt")})),n.createElement("ul",{className:"striped-list list-unstyled"},Array(20).fill(null).map((function(t,e){return n.createElement("li",{key:e},n.createElement("div",{className:"d-flex align-items-center py-1 px-4"},n.createElement("div",{className:"me-2 partial-loading-background ".concat(i)}),n.createElement("div",{className:"me-2 partial-loading-background ".concat("droqZ")}),n.createElement("div",{className:"w-25"},n.createElement("div",{className:"partial-loading-background ".concat("gorcb")})),n.createElement("div",{className:"me-auto d-flex"},Math.random()>.5?n.createElement(n.Fragment,null,n.createElement("div",{className:"partial-loading-background rounded-pill me-1 ".concat(l," ").concat("SdQ90")}),n.createElement("div",{className:"partial-loading-background rounded-pill ".concat(l," ").concat(s)})):n.createElement("div",{className:"partial-loading-background rounded-pill ".concat(l," ").concat(s)})),n.createElement("div",{className:"me-2 partial-loading-background ".concat(c)}),n.createElement("div",{className:"partial-loading-background ".concat("S7p4K")})))}))))}))},16566:(t,e,r)=>{r.r(e),r.d(e,{ClassroomAssignmentsView:()=>S});var n=r(32735),a=r(23481),o=r(20354),i=r(2510),c=r(87801),l=r(16714),s=r(39151),u=r(1666),h=r(31949),d=r(79967),f=r(22902),m=r(79612),p=r(37802),v=r(46390),g=r(98623),y=r(35115),b=r(88630),w=r(31491),E=r(22602),x=r(67467),k=r(5056),N=r(28001),L=r(69003);function _(t){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_(t)}function F(){F=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof g?e:g,i=Object.create(o.prototype),c=new G(n||[]);return a(i,"_invoke",{value:j(t,r,c)}),i}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var d="suspendedStart",f="suspendedYield",m="executing",p="completed",v={};function g(){}function y(){}function b(){}var w={};s(w,i,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(C([])));x&&x!==r&&n.call(x,i)&&(w=x);var k=b.prototype=g.prototype=Object.create(w);function N(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(a,o,i,c){var l=h(t[a],t,o);if("throw"!==l.type){var s=l.arg,u=s.value;return u&&"object"==_(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(u).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,c)}))}c(l.arg)}var o;a(this,"_invoke",{value:function(t,n){function a(){return new e((function(e,a){r(t,n,e,a)}))}return o=o?o.then(a,a):a()}})}function j(e,r,n){var a=d;return function(o,i){if(a===m)throw Error("Generator is already running");if(a===p){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,n.arg=i;;){var c=n.delegate;if(c){var l=O(c,n);if(l){if(l===v)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=m;var s=h(e,r,n);if("normal"===s.type){if(a=n.done?p:f,s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=p,n.method="throw",n.arg=s.arg)}}}function O(e,r){var n=r.method,a=e.iterator[n];if(a===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=h(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function G(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function C(e){if(e||""===e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,o=function r(){for(;++a<e.length;)if(n.call(e,a))return r.value=e[a],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(_(e)+" is not iterable")}return y.prototype=b,a(k,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:y,configurable:!0}),y.displayName=s(b,l,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===y||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,s(t,l,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},N(L.prototype),s(L.prototype,c,(function(){return this})),e.AsyncIterator=L,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new L(u(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},N(k),s(k,l,"Generator"),s(k,i,(function(){return this})),s(k,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=C,G.prototype={constructor:G,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(P),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function a(n,a){return c.type="throw",c.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],c=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(l&&s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;P(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}var j=function(t,e,r,n){return new(r||(r=Promise))((function(a,o){function i(t){try{l(n.next(t))}catch(t){o(t)}}function c(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(i,c)}l((n=n.apply(t,e||[])).next())}))},O=a.T.encloseNamespace("classrooms.classroomAssignments");function S(t){var e,r,a,_,S=(0,d.k)(),P=(0,f.T)().hasPermissions,G=(0,p.r)(null).hasShareFlowV2,C=(0,v.G)().isPlugin,T=o.a.useGetFetchAsync(),A=o.a.useBasicFetch(h.N.currentUser()),I=o.a.useBasicFetch(s.L.config()),R=o.a.useBasicFetch((null===(e=A.data)||void 0===e?void 0:e.isAuthenticated)&&u.h.yearGroups(A.data.customerId)),B=o.a.useBasicFetch(A.data&&b.F.getClassroom(t.id,A.data.id)),M=(0,g.a)({interactiveInsights:!0,shouldFetch:G,params:{type:i.y.Classroom,scopeId:t.id}}),U=null===(a=null===(r=B.data)||void 0===r?void 0:r._integrations)||void 0===a?void 0:a.rostered;return(0,m.M)({title:O("pageTitle",{classroomName:null===(_=B.data)||void 0===_?void 0:_.name})}),(0,w._)(B),B.data?n.createElement(E.R,{classroom:B.data,currentUser:A.data,onTogglePin:function(t,e,r){return j(this,void 0,void 0,F().mark((function n(){var a;return F().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!U){n.next=2;break}return n.abrupt("return");case 2:return a=t?b.F.pinClassroom:b.F.unpinClassroom,n.prev=3,n.next=6,T(a(B.data));case 6:e(),n.next=12;break;case 9:n.prev=9,n.t0=n.catch(3),r();case 12:case"end":return n.stop()}}),n,null,[[3,9]])})))},activeTab:"assignments",isRostered:U,hasShareFlowV2:G},n.createElement("div",{className:"mt-3"},function(){var t,e=G&&P(l.C.ViewInsights),r=(0,L.cl)([]);return M.showPartialLoading?n.createElement(N.L,null):M.sentShares.length?n.createElement(n.Fragment,null,n.createElement(k.R,{sentShares:M.sentShares,sharedObjects:M.sharedObjects.items,shareRecipients:M.shareRecipients.items,interactivesPendingReview:M.interactivesPendingReview.itemsArr,getObjectActions:function(t){return(0,L.sD)({share:t.share,sharedObject:t.sharedObject,audienceParams:r.audienceAppLinkParams,hasInsights:e,isPlugin:C,breakpoints:S})},groupByDateShared:!0,breakpoints:S,imageCdnUrl:null===(t=I.data)||void 0===t?void 0:t.imageCdnUrl,yearGroups:R.data}),(M.hasMore||M.isFetching)&&n.createElement(c._,{isFetching:M.isFetching,fetchNext:M.fetchNext,nextCursor:M.nextCursor})):n.createElement(x.o,null)}())):n.createElement(y.p,null)}}}]);
|
|
3
|
-
//# sourceMappingURL=4722-
|
|
1
|
+
/*! For license information please see 4722-9eb591621a-lite.chunk.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4722],{35115:(t,e,r)=>{r.d(e,{p:()=>u});var n=r(32735),a=r(49935),o=r(95278);const i="pJf6R",c="MSvzY",l="IFmvc",s="pOcvk";var u=n.memo((function(){return n.createElement("div",{className:"px-3"},n.createElement("div",{className:"mb-1 partial-loading-background ".concat("YrP_G")}),n.createElement("div",{className:"pb-3"},n.createElement(a.b2,{numItems:2})),n.createElement("div",{className:"pb-2"},n.createElement(o.Z,null)),n.createElement("div",{className:"d-flex align-items-center py-2"},n.createElement("div",{className:"mx-4 partial-loading-background ".concat(i)}),n.createElement("div",{className:"me-2 partial-loading-background ".concat(c)}),n.createElement("div",{className:"me-auto partial-loading-background ".concat(c)}),n.createElement("div",{className:"partial-loading-background ".concat("j62jt")})),n.createElement("ul",{className:"striped-list list-unstyled"},Array(20).fill(null).map((function(t,e){return n.createElement("li",{key:e},n.createElement("div",{className:"d-flex align-items-center py-1 px-4"},n.createElement("div",{className:"me-2 partial-loading-background ".concat(i)}),n.createElement("div",{className:"me-2 partial-loading-background ".concat("droqZ")}),n.createElement("div",{className:"w-25"},n.createElement("div",{className:"partial-loading-background ".concat("gorcb")})),n.createElement("div",{className:"me-auto d-flex"},Math.random()>.5?n.createElement(n.Fragment,null,n.createElement("div",{className:"partial-loading-background rounded-pill me-1 ".concat(l," ").concat("SdQ90")}),n.createElement("div",{className:"partial-loading-background rounded-pill ".concat(l," ").concat(s)})):n.createElement("div",{className:"partial-loading-background rounded-pill ".concat(l," ").concat(s)})),n.createElement("div",{className:"me-2 partial-loading-background ".concat(c)}),n.createElement("div",{className:"partial-loading-background ".concat("S7p4K")})))}))))}))},16566:(t,e,r)=>{r.r(e),r.d(e,{ClassroomAssignmentsView:()=>S});var n=r(32735),a=r(23481),o=r(20354),i=r(2510),c=r(87801),l=r(16714),s=r(39151),u=r(1666),h=r(31949),d=r(79967),f=r(22902),m=r(79612),p=r(37802),v=r(46390),g=r(98623),y=r(35115),b=r(88630),w=r(31491),E=r(22602),x=r(67467),k=r(5056),N=r(28001),L=r(69003);function _(t){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_(t)}function F(){F=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",l=o.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof g?e:g,i=Object.create(o.prototype),c=new G(n||[]);return a(i,"_invoke",{value:j(t,r,c)}),i}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=u;var d="suspendedStart",f="suspendedYield",m="executing",p="completed",v={};function g(){}function y(){}function b(){}var w={};s(w,i,(function(){return this}));var E=Object.getPrototypeOf,x=E&&E(E(C([])));x&&x!==r&&n.call(x,i)&&(w=x);var k=b.prototype=g.prototype=Object.create(w);function N(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(a,o,i,c){var l=h(t[a],t,o);if("throw"!==l.type){var s=l.arg,u=s.value;return u&&"object"==_(u)&&n.call(u,"__await")?e.resolve(u.__await).then((function(t){r("next",t,i,c)}),(function(t){r("throw",t,i,c)})):e.resolve(u).then((function(t){s.value=t,i(s)}),(function(t){return r("throw",t,i,c)}))}c(l.arg)}var o;a(this,"_invoke",{value:function(t,n){function a(){return new e((function(e,a){r(t,n,e,a)}))}return o=o?o.then(a,a):a()}})}function j(e,r,n){var a=d;return function(o,i){if(a===m)throw Error("Generator is already running");if(a===p){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,n.arg=i;;){var c=n.delegate;if(c){var l=O(c,n);if(l){if(l===v)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(a===d)throw a=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=m;var s=h(e,r,n);if("normal"===s.type){if(a=n.done?p:f,s.arg===v)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(a=p,n.method="throw",n.arg=s.arg)}}}function O(e,r){var n=r.method,a=e.iterator[n];if(a===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,O(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=h(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function S(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function G(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function C(e){if(e||""===e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,o=function r(){for(;++a<e.length;)if(n.call(e,a))return r.value=e[a],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(_(e)+" is not iterable")}return y.prototype=b,a(k,"constructor",{value:b,configurable:!0}),a(b,"constructor",{value:y,configurable:!0}),y.displayName=s(b,l,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===y||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,b):(t.__proto__=b,s(t,l,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},N(L.prototype),s(L.prototype,c,(function(){return this})),e.AsyncIterator=L,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new L(u(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},N(k),s(k,l,"Generator"),s(k,i,(function(){return this})),s(k,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=C,G.prototype={constructor:G,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(P),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function a(n,a){return c.type="throw",c.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],c=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var l=n.call(i,"catchLoc"),s=n.call(i,"finallyLoc");if(l&&s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!s)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,v):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),P(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var a=n.arg;P(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:C(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}var j=function(t,e,r,n){return new(r||(r=Promise))((function(a,o){function i(t){try{l(n.next(t))}catch(t){o(t)}}function c(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?a(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(i,c)}l((n=n.apply(t,e||[])).next())}))},O=a.T.encloseNamespace("classrooms.classroomAssignments");function S(t){var e,r,a,_,S=(0,d.k)(),P=(0,f.T)().hasPermissions,G=(0,p.r)(null).hasShareFlowV2,C=(0,v.G)().isPlugin,T=o.a.useGetFetchAsync(),A=o.a.useBasicFetch(h.N.currentUser()),I=o.a.useBasicFetch(s.L.config()),R=o.a.useBasicFetch((null===(e=A.data)||void 0===e?void 0:e.isAuthenticated)&&u.h.yearGroups(A.data.customerId)),B=o.a.useBasicFetch(A.data&&b.F.getClassroom(t.id,A.data.id)),M=(0,g.a)({interactiveInsights:!0,shouldFetch:G,params:{type:[i.y.Classroom],scopeId:t.id}}),U=null===(a=null===(r=B.data)||void 0===r?void 0:r._integrations)||void 0===a?void 0:a.rostered;return(0,m.M)({title:O("pageTitle",{classroomName:null===(_=B.data)||void 0===_?void 0:_.name})}),(0,w._)(B),B.data?n.createElement(E.R,{classroom:B.data,currentUser:A.data,onTogglePin:function(t,e,r){return j(this,void 0,void 0,F().mark((function n(){var a;return F().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!U){n.next=2;break}return n.abrupt("return");case 2:return a=t?b.F.pinClassroom:b.F.unpinClassroom,n.prev=3,n.next=6,T(a(B.data));case 6:e(),n.next=12;break;case 9:n.prev=9,n.t0=n.catch(3),r();case 12:case"end":return n.stop()}}),n,null,[[3,9]])})))},activeTab:"assignments",isRostered:U,hasShareFlowV2:G},n.createElement("div",{className:"mt-3"},function(){var t,e=G&&P(l.C.ViewInsights),r=(0,L.cl)([]);return M.showPartialLoading?n.createElement(N.L,null):M.sentShares.length?n.createElement(n.Fragment,null,n.createElement(k.R,{sentShares:M.sentShares,sharedObjects:M.sharedObjects.items,shareRecipients:M.shareRecipients.items,interactivesPendingReview:M.interactivesPendingReview.itemsArr,getObjectActions:function(t){return(0,L.sD)({share:t.share,sharedObject:t.sharedObject,audienceParams:r.audienceAppLinkParams,hasInsights:e,isPlugin:C,breakpoints:S})},groupByDateShared:!0,breakpoints:S,imageCdnUrl:null===(t=I.data)||void 0===t?void 0:t.imageCdnUrl,yearGroups:R.data}),(M.hasMore||M.isFetching)&&n.createElement(c._,{isFetching:M.isFetching,fetchNext:M.fetchNext,nextCursor:M.nextCursor})):n.createElement(x.o,null)}())):n.createElement(y.p,null)}}}]);
|
|
3
|
+
//# sourceMappingURL=4722-9eb591621a-lite.chunk.js.map
|