@clickview/lite 0.52.3-dev.0 → 0.52.3-dev.2
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/css/{1760-lite-d230b51c8b.chunk.css → 1019-lite-402889ede4.chunk.css} +2 -1
- package/dist/css/{6094-lite-d230b51c8b.chunk.css → 2548-lite-402889ede4.chunk.css} +2 -1
- package/dist/css/{6546-lite-991b6e8255.chunk.css → 6596-lite-e22262b911.chunk.css} +2 -1
- package/dist/css/{1867-lite-991b6e8255.chunk.css → 9010-lite-e22262b911.chunk.css} +2 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1760-33f1791560-lite.chunk.js → 1019-8fc84c7c2e-lite.chunk.js} +2 -2
- package/dist/scripts/{1760-33f1791560-lite.chunk.js.map → 1019-8fc84c7c2e-lite.chunk.js.map} +1 -1
- package/dist/scripts/1063-5a732288dc-lite.chunk.js +2 -0
- package/dist/scripts/1063-5a732288dc-lite.chunk.js.map +1 -0
- package/dist/scripts/{9173-2392d447a6-lite.chunk.js → 1104-f057c6dea1-lite.chunk.js} +3 -3
- package/dist/scripts/{9173-2392d447a6-lite.chunk.js.map → 1104-f057c6dea1-lite.chunk.js.map} +1 -1
- package/dist/scripts/{1125-aac132b88f-lite.chunk.js → 1125-c5138ef662-lite.chunk.js} +2 -2
- package/dist/scripts/1125-c5138ef662-lite.chunk.js.map +1 -0
- package/dist/scripts/1169-9b7d850bab-lite.chunk.js +2 -0
- package/dist/scripts/1169-9b7d850bab-lite.chunk.js.map +1 -0
- package/dist/scripts/{1379-082bbab71a-lite.chunk.js → 1379-ca519ec56b-lite.chunk.js} +3 -3
- package/dist/scripts/{1379-082bbab71a-lite.chunk.js.map → 1379-ca519ec56b-lite.chunk.js.map} +1 -1
- package/dist/scripts/1672-0d1fc90529-lite.chunk.js +3 -0
- package/dist/scripts/1672-0d1fc90529-lite.chunk.js.map +1 -0
- package/dist/scripts/1725-99450ed637-lite.chunk.js +2 -0
- package/dist/scripts/1725-99450ed637-lite.chunk.js.map +1 -0
- package/dist/scripts/1891-5914c54eca-lite.chunk.js +2 -0
- package/dist/scripts/1891-5914c54eca-lite.chunk.js.map +1 -0
- package/dist/scripts/1896-399a91d18c-lite.chunk.js +2 -0
- package/dist/scripts/1896-399a91d18c-lite.chunk.js.map +1 -0
- package/dist/scripts/193-797b89797a-lite.chunk.js +2 -0
- package/dist/scripts/193-797b89797a-lite.chunk.js.map +1 -0
- package/dist/scripts/209-fe96739cb5-lite.chunk.js +2 -0
- package/dist/scripts/209-fe96739cb5-lite.chunk.js.map +1 -0
- package/dist/scripts/2134-b8d5c46887-lite.chunk.js +2 -0
- package/dist/scripts/2134-b8d5c46887-lite.chunk.js.map +1 -0
- package/dist/scripts/2142-f71cf5c71f-lite.chunk.js +2 -0
- package/dist/scripts/2142-f71cf5c71f-lite.chunk.js.map +1 -0
- package/dist/scripts/2402-ff1b4adf1a-lite.chunk.js +2 -0
- package/dist/scripts/2402-ff1b4adf1a-lite.chunk.js.map +1 -0
- package/dist/scripts/2548-c5dd2899df-lite.chunk.js +2 -0
- package/dist/scripts/2548-c5dd2899df-lite.chunk.js.map +1 -0
- package/dist/scripts/2952-c3a826b714-lite.chunk.js +2 -0
- package/dist/scripts/2952-c3a826b714-lite.chunk.js.map +1 -0
- package/dist/scripts/3404-23125f10ea-lite.chunk.js +2 -0
- package/dist/scripts/3404-23125f10ea-lite.chunk.js.map +1 -0
- package/dist/scripts/3633-f3609526a5-lite.chunk.js +2 -0
- package/dist/scripts/3633-f3609526a5-lite.chunk.js.map +1 -0
- package/dist/scripts/3728-eed9e78985-lite.chunk.js +2 -0
- package/dist/scripts/3728-eed9e78985-lite.chunk.js.map +1 -0
- package/dist/scripts/4063-5fa157657f-lite.chunk.js +2 -0
- package/dist/scripts/4063-5fa157657f-lite.chunk.js.map +1 -0
- package/dist/scripts/4182-ba03f3ce3c-lite.chunk.js +2 -0
- package/dist/scripts/4182-ba03f3ce3c-lite.chunk.js.map +1 -0
- package/dist/scripts/4273-e42f763f00-lite.chunk.js +3 -0
- package/dist/scripts/4273-e42f763f00-lite.chunk.js.map +1 -0
- package/dist/scripts/4395-d0815835c8-lite.chunk.js +2 -0
- package/dist/scripts/4395-d0815835c8-lite.chunk.js.map +1 -0
- package/dist/scripts/4502-af4903784e-lite.chunk.js +2 -0
- package/dist/scripts/4502-af4903784e-lite.chunk.js.map +1 -0
- package/dist/scripts/4850-bb9541d3ed-lite.chunk.js +2 -0
- package/dist/scripts/4850-bb9541d3ed-lite.chunk.js.map +1 -0
- package/dist/scripts/5573-4352a3537e-lite.chunk.js +2 -0
- package/dist/scripts/5573-4352a3537e-lite.chunk.js.map +1 -0
- package/dist/scripts/5595-3acc9593bf-lite.chunk.js +2 -0
- package/dist/scripts/5595-3acc9593bf-lite.chunk.js.map +1 -0
- package/dist/scripts/5606-69c0ca2b97-lite.chunk.js +2 -0
- package/dist/scripts/5606-69c0ca2b97-lite.chunk.js.map +1 -0
- package/dist/scripts/5877-628732da21-lite.chunk.js +2 -0
- package/dist/scripts/5877-628732da21-lite.chunk.js.map +1 -0
- package/dist/scripts/5936-cd98109a7b-lite.chunk.js +2 -0
- package/dist/scripts/5936-cd98109a7b-lite.chunk.js.map +1 -0
- package/dist/scripts/{5940-f335f8c290-lite.chunk.js → 5940-2767b40c40-lite.chunk.js} +2 -2
- package/dist/scripts/5940-2767b40c40-lite.chunk.js.map +1 -0
- package/dist/scripts/6054-1e9b86d631-lite.chunk.js +2 -0
- package/dist/scripts/6054-1e9b86d631-lite.chunk.js.map +1 -0
- package/dist/scripts/6138-2ef7ee071a-lite.chunk.js +2 -0
- package/dist/scripts/6138-2ef7ee071a-lite.chunk.js.map +1 -0
- package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js → 624-09b51a9d32-lite.chunk.js} +3 -3
- package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js.map → 624-09b51a9d32-lite.chunk.js.map} +1 -1
- package/dist/scripts/6263-8a7931bf51-lite.chunk.js +2 -0
- package/dist/scripts/6263-8a7931bf51-lite.chunk.js.map +1 -0
- package/dist/scripts/6290-28ae0e8a60-lite.chunk.js +2 -0
- package/dist/scripts/6290-28ae0e8a60-lite.chunk.js.map +1 -0
- package/dist/scripts/6470-9a700cabce-lite.chunk.js +2 -0
- package/dist/scripts/6470-9a700cabce-lite.chunk.js.map +1 -0
- package/dist/scripts/6481-035d218a77-lite.chunk.js +2 -0
- package/dist/scripts/6481-035d218a77-lite.chunk.js.map +1 -0
- package/dist/scripts/6532-59e9abf69d-lite.chunk.js +2 -0
- package/dist/scripts/6532-59e9abf69d-lite.chunk.js.map +1 -0
- package/dist/scripts/6596-f75129c039-lite.chunk.js +2 -0
- package/dist/scripts/6596-f75129c039-lite.chunk.js.map +1 -0
- package/dist/scripts/6604-9adec889c7-lite.chunk.js +2 -0
- package/dist/scripts/6604-9adec889c7-lite.chunk.js.map +1 -0
- package/dist/scripts/6746-3f501b95cf-lite.chunk.js +2 -0
- package/dist/scripts/6746-3f501b95cf-lite.chunk.js.map +1 -0
- package/dist/scripts/714-c00ad56229-lite.chunk.js +2 -0
- package/dist/scripts/714-c00ad56229-lite.chunk.js.map +1 -0
- package/dist/scripts/7163-84c2b15394-lite.chunk.js +2 -0
- package/dist/scripts/7163-84c2b15394-lite.chunk.js.map +1 -0
- package/dist/scripts/7178-ed74c33056-lite.chunk.js +2 -0
- package/dist/scripts/7178-ed74c33056-lite.chunk.js.map +1 -0
- package/dist/scripts/7223-0bfab7e57a-lite.chunk.js +2 -0
- package/dist/scripts/7223-0bfab7e57a-lite.chunk.js.map +1 -0
- package/dist/scripts/7234-84c087600e-lite.chunk.js +2 -0
- package/dist/scripts/7234-84c087600e-lite.chunk.js.map +1 -0
- package/dist/scripts/7267-fd5085f5c9-lite.chunk.js +2 -0
- package/dist/scripts/7267-fd5085f5c9-lite.chunk.js.map +1 -0
- package/dist/scripts/7633-6c1ffdd082-lite.chunk.js +2 -0
- package/dist/scripts/7633-6c1ffdd082-lite.chunk.js.map +1 -0
- package/dist/scripts/7679-8f2d6a3487-lite.chunk.js +2 -0
- package/dist/scripts/7679-8f2d6a3487-lite.chunk.js.map +1 -0
- package/dist/scripts/7757-7e293be936-lite.chunk.js +2 -0
- package/dist/scripts/7757-7e293be936-lite.chunk.js.map +1 -0
- package/dist/scripts/7795-c6d38bc3e5-lite.chunk.js +2 -0
- package/dist/scripts/7795-c6d38bc3e5-lite.chunk.js.map +1 -0
- package/dist/scripts/7818-230982fc27-lite.chunk.js +2 -0
- package/dist/scripts/7818-230982fc27-lite.chunk.js.map +1 -0
- package/dist/scripts/8323-360541a2a8-lite.chunk.js +3 -0
- package/dist/scripts/8323-360541a2a8-lite.chunk.js.map +1 -0
- package/dist/scripts/8709-c4f1068232-lite.chunk.js +2 -0
- package/dist/scripts/8709-c4f1068232-lite.chunk.js.map +1 -0
- package/dist/scripts/8982-a3dc4a6b3c-lite.chunk.js +2 -0
- package/dist/scripts/8982-a3dc4a6b3c-lite.chunk.js.map +1 -0
- package/dist/scripts/9010-024dcc8f9a-lite.chunk.js +2 -0
- package/dist/scripts/9010-024dcc8f9a-lite.chunk.js.map +1 -0
- package/dist/scripts/9016-82d7e0afb9-lite.chunk.js +3 -0
- package/dist/scripts/9016-82d7e0afb9-lite.chunk.js.map +1 -0
- package/dist/scripts/9173-f9708ec0de-lite.chunk.js +2 -0
- package/dist/scripts/9173-f9708ec0de-lite.chunk.js.map +1 -0
- package/dist/scripts/9230-ae200d2bd3-lite.chunk.js +3 -0
- package/dist/scripts/9230-ae200d2bd3-lite.chunk.js.map +1 -0
- package/dist/scripts/9359-1fb4413e0d-lite.chunk.js +2 -0
- package/dist/scripts/9359-1fb4413e0d-lite.chunk.js.map +1 -0
- package/dist/scripts/{9395-90b87097fa-lite.chunk.js → 9395-e1a02b01ce-lite.chunk.js} +3 -3
- package/dist/scripts/{9395-90b87097fa-lite.chunk.js.map → 9395-e1a02b01ce-lite.chunk.js.map} +1 -1
- package/dist/scripts/9399-d7a92ce84a-lite.chunk.js +2 -0
- package/dist/scripts/9399-d7a92ce84a-lite.chunk.js.map +1 -0
- package/dist/scripts/{9478-99486906b9-lite.chunk.js → 9478-abfa7ed3cc-lite.chunk.js} +3 -3
- package/dist/scripts/{9478-99486906b9-lite.chunk.js.map → 9478-abfa7ed3cc-lite.chunk.js.map} +1 -1
- package/dist/scripts/{953-cbc7f0571e-lite.chunk.js → 953-225db845ab-lite.chunk.js} +3 -3
- package/dist/scripts/{953-cbc7f0571e-lite.chunk.js.map → 953-225db845ab-lite.chunk.js.map} +1 -1
- package/dist/scripts/9620-95e6cc7b2b-lite.chunk.js +3 -0
- package/dist/scripts/9620-95e6cc7b2b-lite.chunk.js.map +1 -0
- package/dist/scripts/9719-9736913451-lite.chunk.js +3 -0
- package/dist/scripts/9719-9736913451-lite.chunk.js.map +1 -0
- package/dist/scripts/999-bdc7956050-lite.chunk.js +2 -0
- package/dist/scripts/999-bdc7956050-lite.chunk.js.map +1 -0
- package/dist/scripts/bundle-9f8729bedb.min.js +3 -0
- package/dist/scripts/bundle-9f8729bedb.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/1125-aac132b88f-lite.chunk.js.map +0 -1
- package/dist/scripts/1169-534a29a204-lite.chunk.js +0 -2
- package/dist/scripts/1169-534a29a204-lite.chunk.js.map +0 -1
- package/dist/scripts/1672-672f298d82-lite.chunk.js +0 -3
- package/dist/scripts/1672-672f298d82-lite.chunk.js.map +0 -1
- package/dist/scripts/1725-075015497e-lite.chunk.js +0 -2
- package/dist/scripts/1725-075015497e-lite.chunk.js.map +0 -1
- package/dist/scripts/1818-64a145c5fe-lite.chunk.js +0 -2
- package/dist/scripts/1818-64a145c5fe-lite.chunk.js.map +0 -1
- package/dist/scripts/1820-993521951d-lite.chunk.js +0 -2
- package/dist/scripts/1820-993521951d-lite.chunk.js.map +0 -1
- package/dist/scripts/1867-260ef9f8c2-lite.chunk.js +0 -2
- package/dist/scripts/1867-260ef9f8c2-lite.chunk.js.map +0 -1
- package/dist/scripts/1891-e80f9f17ee-lite.chunk.js +0 -2
- package/dist/scripts/1891-e80f9f17ee-lite.chunk.js.map +0 -1
- package/dist/scripts/1896-32a6eeda5c-lite.chunk.js +0 -2
- package/dist/scripts/1896-32a6eeda5c-lite.chunk.js.map +0 -1
- package/dist/scripts/193-f08b054631-lite.chunk.js +0 -2
- package/dist/scripts/193-f08b054631-lite.chunk.js.map +0 -1
- package/dist/scripts/209-de1729d1b1-lite.chunk.js +0 -2
- package/dist/scripts/209-de1729d1b1-lite.chunk.js.map +0 -1
- package/dist/scripts/2134-bca2f4697e-lite.chunk.js +0 -2
- package/dist/scripts/2134-bca2f4697e-lite.chunk.js.map +0 -1
- package/dist/scripts/2703-591ccf069c-lite.chunk.js +0 -2
- package/dist/scripts/2703-591ccf069c-lite.chunk.js.map +0 -1
- package/dist/scripts/3404-171fdee802-lite.chunk.js +0 -2
- package/dist/scripts/3404-171fdee802-lite.chunk.js.map +0 -1
- package/dist/scripts/3633-66d28be6f8-lite.chunk.js +0 -2
- package/dist/scripts/3633-66d28be6f8-lite.chunk.js.map +0 -1
- package/dist/scripts/3728-d7ecfc6667-lite.chunk.js +0 -2
- package/dist/scripts/3728-d7ecfc6667-lite.chunk.js.map +0 -1
- package/dist/scripts/4182-7aecc28a6f-lite.chunk.js +0 -2
- package/dist/scripts/4182-7aecc28a6f-lite.chunk.js.map +0 -1
- package/dist/scripts/4395-64da004753-lite.chunk.js +0 -2
- package/dist/scripts/4395-64da004753-lite.chunk.js.map +0 -1
- package/dist/scripts/4502-2e30d86385-lite.chunk.js +0 -2
- package/dist/scripts/4502-2e30d86385-lite.chunk.js.map +0 -1
- package/dist/scripts/5143-b6896dad98-lite.chunk.js +0 -2
- package/dist/scripts/5143-b6896dad98-lite.chunk.js.map +0 -1
- package/dist/scripts/5573-6cd98b69f2-lite.chunk.js +0 -2
- package/dist/scripts/5573-6cd98b69f2-lite.chunk.js.map +0 -1
- package/dist/scripts/5595-c4397e12a8-lite.chunk.js +0 -2
- package/dist/scripts/5595-c4397e12a8-lite.chunk.js.map +0 -1
- package/dist/scripts/5606-6c25caedc4-lite.chunk.js +0 -2
- package/dist/scripts/5606-6c25caedc4-lite.chunk.js.map +0 -1
- package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js +0 -2
- package/dist/scripts/5877-ddfaf6a7f5-lite.chunk.js.map +0 -1
- package/dist/scripts/5936-6fe810d3cb-lite.chunk.js +0 -2
- package/dist/scripts/5936-6fe810d3cb-lite.chunk.js.map +0 -1
- package/dist/scripts/5940-f335f8c290-lite.chunk.js.map +0 -1
- package/dist/scripts/6054-14d4ceeae3-lite.chunk.js +0 -2
- package/dist/scripts/6054-14d4ceeae3-lite.chunk.js.map +0 -1
- package/dist/scripts/6094-24c430efb3-lite.chunk.js +0 -2
- package/dist/scripts/6094-24c430efb3-lite.chunk.js.map +0 -1
- package/dist/scripts/6138-21ae042a7b-lite.chunk.js +0 -2
- package/dist/scripts/6138-21ae042a7b-lite.chunk.js.map +0 -1
- package/dist/scripts/6263-3455286798-lite.chunk.js +0 -2
- package/dist/scripts/6263-3455286798-lite.chunk.js.map +0 -1
- package/dist/scripts/6290-56412c6663-lite.chunk.js +0 -2
- package/dist/scripts/6290-56412c6663-lite.chunk.js.map +0 -1
- package/dist/scripts/6415-b29029aa1b-lite.chunk.js +0 -2
- package/dist/scripts/6415-b29029aa1b-lite.chunk.js.map +0 -1
- package/dist/scripts/6470-6216086d63-lite.chunk.js +0 -2
- package/dist/scripts/6470-6216086d63-lite.chunk.js.map +0 -1
- package/dist/scripts/6481-899eba8b3d-lite.chunk.js +0 -2
- package/dist/scripts/6481-899eba8b3d-lite.chunk.js.map +0 -1
- package/dist/scripts/6532-a6b65c91a7-lite.chunk.js +0 -2
- package/dist/scripts/6532-a6b65c91a7-lite.chunk.js.map +0 -1
- package/dist/scripts/6546-faa6f93a0e-lite.chunk.js +0 -2
- package/dist/scripts/6546-faa6f93a0e-lite.chunk.js.map +0 -1
- package/dist/scripts/6587-ba8e36be0b-lite.chunk.js +0 -2
- package/dist/scripts/6587-ba8e36be0b-lite.chunk.js.map +0 -1
- package/dist/scripts/6604-92193d6d68-lite.chunk.js +0 -2
- package/dist/scripts/6604-92193d6d68-lite.chunk.js.map +0 -1
- package/dist/scripts/6746-b5b2739944-lite.chunk.js +0 -2
- package/dist/scripts/6746-b5b2739944-lite.chunk.js.map +0 -1
- package/dist/scripts/679-e18e7956d0-lite.chunk.js +0 -2
- package/dist/scripts/679-e18e7956d0-lite.chunk.js.map +0 -1
- package/dist/scripts/714-432082f4fa-lite.chunk.js +0 -2
- package/dist/scripts/714-432082f4fa-lite.chunk.js.map +0 -1
- package/dist/scripts/7178-e603ea6b58-lite.chunk.js +0 -2
- package/dist/scripts/7178-e603ea6b58-lite.chunk.js.map +0 -1
- package/dist/scripts/7223-135cc7d675-lite.chunk.js +0 -2
- package/dist/scripts/7223-135cc7d675-lite.chunk.js.map +0 -1
- package/dist/scripts/729-c704d587d3-lite.chunk.js +0 -2
- package/dist/scripts/729-c704d587d3-lite.chunk.js.map +0 -1
- package/dist/scripts/7679-b01da2c09d-lite.chunk.js +0 -2
- package/dist/scripts/7679-b01da2c09d-lite.chunk.js.map +0 -1
- package/dist/scripts/7757-320e868e90-lite.chunk.js +0 -2
- package/dist/scripts/7757-320e868e90-lite.chunk.js.map +0 -1
- package/dist/scripts/7795-3ca0855d3a-lite.chunk.js +0 -2
- package/dist/scripts/7795-3ca0855d3a-lite.chunk.js.map +0 -1
- package/dist/scripts/7818-2eafc5f812-lite.chunk.js +0 -2
- package/dist/scripts/7818-2eafc5f812-lite.chunk.js.map +0 -1
- package/dist/scripts/8323-99cb03891e-lite.chunk.js +0 -3
- package/dist/scripts/8323-99cb03891e-lite.chunk.js.map +0 -1
- package/dist/scripts/8766-bcc7f11eac-lite.chunk.js +0 -2
- package/dist/scripts/8766-bcc7f11eac-lite.chunk.js.map +0 -1
- package/dist/scripts/8800-335154fe11-lite.chunk.js +0 -2
- package/dist/scripts/8800-335154fe11-lite.chunk.js.map +0 -1
- package/dist/scripts/8982-63c31685bf-lite.chunk.js +0 -2
- package/dist/scripts/8982-63c31685bf-lite.chunk.js.map +0 -1
- package/dist/scripts/9016-0c078a39cb-lite.chunk.js +0 -3
- package/dist/scripts/9016-0c078a39cb-lite.chunk.js.map +0 -1
- package/dist/scripts/9226-c236c0eeb1-lite.chunk.js +0 -2
- package/dist/scripts/9226-c236c0eeb1-lite.chunk.js.map +0 -1
- package/dist/scripts/9230-6dee40b1fb-lite.chunk.js +0 -3
- package/dist/scripts/9230-6dee40b1fb-lite.chunk.js.map +0 -1
- package/dist/scripts/9308-362f86711f-lite.chunk.js +0 -3
- package/dist/scripts/9308-362f86711f-lite.chunk.js.map +0 -1
- package/dist/scripts/9359-cc085d48a4-lite.chunk.js +0 -2
- package/dist/scripts/9359-cc085d48a4-lite.chunk.js.map +0 -1
- package/dist/scripts/9399-2a314327ac-lite.chunk.js +0 -2
- package/dist/scripts/9399-2a314327ac-lite.chunk.js.map +0 -1
- package/dist/scripts/9620-f1d717b02b-lite.chunk.js +0 -3
- package/dist/scripts/9620-f1d717b02b-lite.chunk.js.map +0 -1
- package/dist/scripts/9719-cf7d4172b6-lite.chunk.js +0 -3
- package/dist/scripts/9719-cf7d4172b6-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-724fc2e388.min.js +0 -3
- package/dist/scripts/bundle-724fc2e388.min.js.map +0 -1
- /package/dist/css/{5143-lite-676baa8218.chunk.css → 1063-lite-676baa8218.chunk.css} +0 -0
- /package/dist/css/{9173-lite-b361d438f6.chunk.css → 1104-lite-b361d438f6.chunk.css} +0 -0
- /package/dist/css/{679-lite-00eb7dadb2.chunk.css → 2952-lite-00eb7dadb2.chunk.css} +0 -0
- /package/dist/css/{4860-lite-93d7fad455.chunk.css → 4063-lite-93d7fad455.chunk.css} +0 -0
- /package/dist/css/{9308-lite-a3c7435ba4.chunk.css → 4273-lite-a3c7435ba4.chunk.css} +0 -0
- /package/dist/css/{729-lite-93d7fad455.chunk.css → 4850-lite-93d7fad455.chunk.css} +0 -0
- /package/dist/css/{8766-lite-8c5d7658ec.chunk.css → 7163-lite-8c5d7658ec.chunk.css} +0 -0
- /package/dist/css/{1818-lite-5ef1706d69.chunk.css → 7234-lite-5ef1706d69.chunk.css} +0 -0
- /package/dist/css/{6415-lite-707657102b.chunk.css → 9173-lite-707657102b.chunk.css} +0 -0
- /package/dist/css/{1820-lite-c88eb54bee.chunk.css → 999-lite-c88eb54bee.chunk.css} +0 -0
- /package/dist/scripts/{1379-082bbab71a-lite.chunk.js.LICENSE.txt → 1104-f057c6dea1-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1672-672f298d82-lite.chunk.js.LICENSE.txt → 1379-ca519ec56b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{624-7ab5fb3f3b-lite.chunk.js.LICENSE.txt → 1672-0d1fc90529-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{8323-99cb03891e-lite.chunk.js.LICENSE.txt → 4273-e42f763f00-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9173-2392d447a6-lite.chunk.js.LICENSE.txt → 624-09b51a9d32-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9230-6dee40b1fb-lite.chunk.js.LICENSE.txt → 8323-360541a2a8-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9016-0c078a39cb-lite.chunk.js.LICENSE.txt → 9016-82d7e0afb9-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9308-362f86711f-lite.chunk.js.LICENSE.txt → 9230-ae200d2bd3-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9395-90b87097fa-lite.chunk.js.LICENSE.txt → 9395-e1a02b01ce-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9478-99486906b9-lite.chunk.js.LICENSE.txt → 9478-abfa7ed3cc-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{953-cbc7f0571e-lite.chunk.js.LICENSE.txt → 953-225db845ab-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9620-f1d717b02b-lite.chunk.js.LICENSE.txt → 9620-95e6cc7b2b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9719-cf7d4172b6-lite.chunk.js.LICENSE.txt → 9719-9736913451-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-724fc2e388.min.js.LICENSE.txt → bundle-9f8729bedb.min.js.LICENSE.txt} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/8323-99cb03891e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/header/back-buttons/BulkUserActionsBackButton.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/header/continue-buttons/BulkUserActionsContinueButton.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayoutPartialLoading.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/layout/bulk-user-actions-wizard-layout.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout.tsx","file:///app/packages/libs/shared/src/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel.ts","file:///app/packages/libs/shared/src/apps/user-manager/utils/BulkUserActionsAnalyticsHelper.ts","file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/wizard/header/WizardHeader.tsx","file:///app/packages/libs/shared/src/components/wizard/step-list/WizardStepList.tsx","file:///app/packages/libs/shared/src/enums/BatchJobStatus.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/utils/PartialLoadingHelper.ts","file:///app/packages/libs/shared/src/apps/user-manager/hooks/useBulkActionsUsers.ts","file:///app/packages/projects/lite/src/apps/user-manager/hooks/useBulkActionsUsersWrapper.ts"],"sourcesContent":["import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { BulkUserActionStepId } from 'libs/shared/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\n\nconst namespace = 'userManager.userWizardBackButtons';\n\ninterface BulkUserActionsBackButtonProps {\n currentStep: BulkUserActionStepId;\n appLinks: UserManagerAppLinks;\n}\n\nexport function BulkUserActionsBackButton(props: BulkUserActionsBackButtonProps): JSX.Element {\n const [viewModel] = useViewModel<BulkUserActionsViewModel>(SharedViewModelKeys.BULK_USER_ACTIONS);\n\n function getActionDetailsAppLink(): Core.AppLink {\n if (!viewModel?.action)\n return null;\n \n switch (viewModel.action) {\n case 'delete':\n return props.appLinks.bulkActionsActionDetails.delete;\n case 'activation':\n return props.appLinks.bulkActionsActionDetails.activation;\n case 'yearGroupRollover':\n return props.appLinks.bulkActionsActionDetails.yearGroupRollover;\n case 'changeYearGroup':\n return props.appLinks.bulkActionsActionDetails.changeYearGroup;\n case 'addToClassroom':\n return props.appLinks.bulkActionsActionDetails.addToClassroom;\n case 'resetPassword':\n return props.appLinks.bulkActionsActionDetails.resetPassword;\n case 'resetEmail':\n return props.appLinks.bulkActionsSelectAction;\n case 'activationEmail':\n return props.appLinks.bulkActionsSelectAction;\n case 'removeFromSchool':\n return props.appLinks.bulkActionsActionDetails.removeFromSchool;\n }\n }\n\n function getAppLink(): Core.AppLink {\n switch (props.currentStep) {\n case 'review-accounts':\n return props.appLinks.userManager;\n \n case 'select-action':\n return props.appLinks.bulkActionsReviewAccounts;\n\n case 'action-details':\n return props.appLinks.bulkActionsSelectAction;\n\n case 'confirmation':\n return getActionDetailsAppLink();\n }\n }\n\n if (props.currentStep === 'status')\n return <></>;\n\n return (\n <AppLink\n className='btn btn-link me-2'\n appLink={getAppLink()}\n >\n <Text namespace={namespace} phrase={props.currentStep === 'review-accounts' ? 'cancel' : 'back'} />\n </AppLink>\n );\n}","import React from 'react';\nimport { Button } from 'react-bootstrap';\n\nimport { DevError } from 'libs/common/backbone/errors/DevError';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { ContextService } from 'libs/analytics/services/ContextService';\n\nimport { BulkUserActionStepId } from 'libs/shared/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { BulkUserActionsAnalyticsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsAnalyticsHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\n\nconst namespace = 'userManager.userWizardHeader';\n\ninterface BulkUserActionsContinueButtonProps {\n currentStep: BulkUserActionStepId;\n appLinks: UserManagerAppLinks;\n onFinish: () => void;\n}\n\nexport function BulkUserActionsContinueButton(props: BulkUserActionsContinueButtonProps): JSX.Element {\n const [viewModel] = useViewModel<BulkUserActionsViewModel>(SharedViewModelKeys.BULK_USER_ACTIONS);\n\n const { disableNext, onClickConfirm, showButtons } = React.useContext(WizardLayoutContext);\n\n const currentAppLink = ContextService.getCurrentContext().appLink;\n\n function getContinueAppLink(): Core.AppLink {\n switch (props.currentStep) {\n case 'review-accounts':\n return props.appLinks.bulkActionsSelectAction;\n case 'select-action':\n return getSelectActionAppLink();\n case 'action-details':\n return props.appLinks.bulkActionsConfirmation[viewModel?.subAction];\n default:\n return null;\n }\n }\n\n function getSelectActionAppLink(): Core.AppLink {\n if (!viewModel?.action)\n return null;\n \n switch (viewModel.action) {\n case 'delete':\n return props.appLinks.bulkActionsActionDetails.delete;\n case 'activation':\n return props.appLinks.bulkActionsActionDetails.activation;\n case 'yearGroupRollover':\n return props.appLinks.bulkActionsActionDetails.yearGroupRollover;\n case 'changeYearGroup':\n return props.appLinks.bulkActionsActionDetails.changeYearGroup;\n case 'addToClassroom':\n return props.appLinks.bulkActionsActionDetails.addToClassroom;\n case 'resetPassword':\n return props.appLinks.bulkActionsActionDetails.resetPassword;\n case 'resetEmail':\n return props.appLinks.bulkActionsConfirmation.resetEmail;\n case 'activationEmail':\n return props.appLinks.bulkActionsConfirmation.activationEmail;\n case 'removeFromSchool':\n return props.appLinks.bulkActionsActionDetails.removeFromSchool;\n }\n \n Core.ErrorHelper.throw(new DevError(`Missing switch statement case for ${viewModel.action} in BulkUserActionsContinueButton.tsx`));\n }\n\n if (currentAppLink.action === props.appLinks.bulkActionsStatus.complete.action && showButtons) {\n return (\n <AppLink\n className={`btn btn-dark ${disableNext ? 'disabled' : ''}`}\n appLink={props.appLinks.userManager}\n disabled={disableNext}\n onClick={props.onFinish}\n >\n <Text\n namespace={namespace}\n phrase={'finish'}\n />\n </AppLink>\n );\n }\n\n if (props.currentStep === 'confirmation') {\n return (\n <Button\n className={disableNext ? 'disabled' : ''}\n variant='dark'\n onClick={() => {\n BulkUserActionsAnalyticsHelper.onClickNext(viewModel, props.currentStep);\n onClickConfirm();\n }}\n disabled={disableNext}\n >\n <Text\n namespace={namespace}\n phrase='confirm'\n />\n </Button>\n );\n }\n\n if (props.currentStep === 'status')\n return <></>;\n\n return (\n <AppLink\n className={`btn btn-dark ${disableNext ? 'disabled' : ''}`}\n appLink={getContinueAppLink()}\n onClick={() => BulkUserActionsAnalyticsHelper.onClickNext(viewModel, props.currentStep)}\n disabled={disableNext}\n >\n <Text\n namespace={namespace}\n phrase='next'\n />\n </AppLink>\n );\n}","import React from 'react';\n\nexport function BulkUserActionsWizardLayoutPartialLoading(): React.ReactElement {\n return (\n <>\n <div className={`partial-loading-background mb-2`} style={{ height: '1.75rem', width: '15rem' }} />\n <div className={`partial-loading-background mb-3`} style={{ height: '1.5rem', width: '12rem' }} />\n <div className={`partial-loading-background mb-2`} style={{ height: '8em', width: '40rem' }} />\n </>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"wizardContent\":\"UBwkq\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { BulkUserActionsBackButton } from 'libs/shared/apps/user-manager/components/bulk-actions-wizard/header/back-buttons/BulkUserActionsBackButton';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { BulkUserActionsAnalyticsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsAnalyticsHelper';\nimport { BulkUserActionsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { WizardHeader } from 'libs/shared/components/wizard/header/WizardHeader';\nimport { WizardStepList } from 'libs/shared/components/wizard/step-list/WizardStepList';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { WizardLayoutContextProvider } from 'libs/shared/context/WizardLayoutContext';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useNavLock } from 'libs/shared/hooks/useNavLock';\nimport { User } from 'libs/shared/interfaces';\n\nimport { BulkUserActionsContinueButton } from '../header/continue-buttons/BulkUserActionsContinueButton';\n\nimport { BulkUserActionsWizardLayoutPartialLoading } from './BulkUserActionsWizardLayoutPartialLoading';\n\nimport styles from './bulk-user-actions-wizard-layout.scss';\n\nconst namespace = 'userManager.bulkUserActionsWizardLayout';\n\nexport type BulkUserActionStepId = 'review-accounts' | 'select-action' | 'action-details' | 'confirmation' | 'status';\nexport type BulkUserActionOptions = 'delete' | 'activation' | 'changeYearGroup' | 'yearGroupRollover' | 'addToClassroom' | 'resetPassword' | 'resetEmail' | 'activationEmail' | 'removeFromSchool';\nexport type BulkUserSubAction = 'delete' | 'deactivate' | 'reactivate' | 'changeYearGroup' | 'yearGroupRollover' | 'addToClassroom' | 'resetPassword' | 'resetEmail' | 'activationEmail' | 'removeFromSchool';\n\nexport const BULK_USER_ACTIONS_NAV_LOCK_ID = 'bulk-user-actions-wizard';\n\ntype BulkUserActionsWizardLayoutProps = React.PropsWithChildren<{\n appLinks: UserManagerAppLinks;\n userType: UserGroup;\n currentStep: BulkUserActionStepId;\n users: User[];\n userCount: number;\n \n preventNavLock?: boolean;\n disableAppLinks?: boolean;\n hideHeader?: boolean;\n loaded: boolean;\n\n /**\n * Used by year group rollover to allow loading straight into the details view\n */\n preventRedirect?: boolean;\n}>;\n\nexport function BulkUserActionsWizardLayout(props: BulkUserActionsWizardLayoutProps): JSX.Element {\n const [ viewModel, setViewModel ] = useViewModel<BulkUserActionsViewModel>(\n SharedViewModelKeys.BULK_USER_ACTIONS\n );\n\n const navLock = useNavLock();\n\n React.useEffect(() => {\n // If there is no view model, redirect away\n if (!viewModel?.userIdMap?.size && !props.preventRedirect) {\n Core.AppLinkHelper.trigger(props.appLinks.userManager, { replace: true });\n logWizardExitEvent();\n return;\n }\n\n if (props.preventNavLock)\n return;\n\n navLock.lock({\n id: BULK_USER_ACTIONS_NAV_LOCK_ID,\n title: LanguageService.getPhrase(namespace, 'navLockTitle'),\n text: LanguageService.getPhrase(namespace, 'navLockBody'),\n appLinkWhitelist: BulkUserActionsHelper.getWizardAppLinks(props.appLinks),\n onConfirmUnlock: () => {\n logWizardExitEvent();\n setViewModel({});\n }\n });\n\n return () => {\n navLock.unlock(BULK_USER_ACTIONS_NAV_LOCK_ID);\n };\n }, []);\n\n function onFinish(): void {\n setViewModel({});\n }\n function logWizardExitEvent(): void {\n /**\n * If there is no viewmodel present when this is called, it means the viewmodel was never\n * initialized with data. This can happen for example if the user page loads onto the wizard.\n * In this case, we don't log an exit event.\n */\n if (!viewModel)\n return;\n\n const analyticsData: HashObject = {\n step: props.currentStep,\n userCount: viewModel?.userIdMap?.size ?? 0\n };\n\n const actionName: string | null = BulkUserActionsAnalyticsHelper.getAnalyticsActionName(viewModel);\n\n if (actionName)\n analyticsData.action = actionName;\n\n AnalyticsHelper.logUserAction(analyticsData, {\n workflowPhase: WorkflowPhase.Discard,\n actionType: UserAction.BulkAction,\n location: LocationContext.BulkUserActionsWizard,\n entity: EntityType.User\n });\n }\n\n const loaded = props.loaded && !!props.users?.length;\n\n return (\n <WizardLayoutContextProvider>\n <div className='px-3'>\n <WizardHeader\n title={LanguageService.getPhrase(namespace, 'bulkActions')}\n currentStep={props.currentStep}\n hideHeader={props.hideHeader}\n loaded={props.loaded}\n continueButton={\n <BulkUserActionsContinueButton\n currentStep={props.currentStep}\n appLinks={props.appLinks}\n onFinish={onFinish}\n />\n }\n backButton={\n <BulkUserActionsBackButton currentStep={props.currentStep} appLinks={props.appLinks} />\n }\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: props.appLinks.settings\n },\n {\n name: LanguageService.getPhrase(namespace, props.userType === UserGroup.Learner ? 'studentManager' : 'staffManager'),\n appLink: props.appLinks.userManager\n },\n {\n name: LanguageService.getPhrase(namespace, 'bulkActions'),\n active: true\n }\n ]}\n />\n\n <div className='row g-0'>\n <div className='col-3'>\n <WizardStepList<BulkUserActionStepId>\n steps={BulkUserActionsHelper.getSteps(\n props.userType,\n props.userCount,\n props.appLinks,\n viewModel?.action\n )}\n currentStep={props.currentStep}\n disableAppLinks={!loaded || props.disableAppLinks}\n />\n </div>\n\n <div className={`col-9 ${styles.wizardContent}`}>\n {loaded ?\n props.children :\n <BulkUserActionsWizardLayoutPartialLoading />\n }\n </div>\n </div>\n </div>\n </WizardLayoutContextProvider>\n );\n}\n","import { Classroom, YearGroup } from 'libs/shared/interfaces';\n\nimport { BulkUserActionOptions, BulkUserSubAction } from '../../components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { UserManagerQueryParams } from '../query-params/UserManagerQueryParams';\n\n// Please keep this array up to date with the interface below, so that the data we log to analytics remains accurate\nexport const BaseBulkUserActionsViewModelKeys: Array<keyof BulkUserActionsViewModel> = [\n 'userIdMap', 'params', 'action', 'subAction', 'allUsersSelected', 'allUsersCount', 'scrollContainer'\n];\n\nexport interface BulkUserActionsViewModel {\n userIdMap?: Map<string, boolean>;\n params?: UserManagerQueryParams;\n\n action?: BulkUserActionOptions; // TODO: Rename this to \"actionCategory\"\n subAction?: BulkUserSubAction; // TODO: Rename this to \"action\"\n\n // Used to determine if we can show year group rollover\n allUsersSelected?: boolean;\n allUsersCount?: number;\n scrollContainer?: HTMLElement;\n}\n\nexport interface BulkUserActionsYearGroupRolloverViewModel extends BulkUserActionsViewModel {\n yearGroup: YearGroup;\n}\n\nexport interface BulkUserActionsAddToClassroomViewModel extends BulkUserActionsViewModel {\n classroom: Classroom;\n}\n\nexport interface BulkUserActionsResetPasswordViewModel extends BulkUserActionsViewModel {\n password: string;\n changeOnNextLogin: boolean;\n}","import { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { BatchJobStatus } from 'libs/shared/enums/BatchJobStatus';\n\nimport { BulkUserActionStepId } from '../components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { BaseBulkUserActionsViewModelKeys, BulkUserActionsViewModel } from '../interfaces/viewmodels/BulkUserActionsViewModel';\n\nexport const BulkUserActionsAnalyticsHelper = {\n getAnalyticsActionName(viewModel: BulkUserActionsViewModel): string | null {\n if (!viewModel?.action)\n return null;\n\n switch (viewModel.action) {\n case 'activation': {\n if (!viewModel?.subAction)\n return 'Deactivate / reactivate';\n\n if (viewModel.subAction === 'deactivate')\n return 'Deactivate';\n\n return 'Reactivate';\n }\n case 'addToClassroom':\n return 'Add to classroom';\n case 'changeYearGroup':\n return 'Change year group';\n case 'delete':\n return 'Delete user';\n case 'resetEmail':\n return 'Send password reset email';\n case 'activationEmail':\n return 'Send account activation email';\n case 'resetPassword':\n return 'Reset password';\n case 'yearGroupRollover':\n return 'Annual year group rollover';\n case 'removeFromSchool':\n return 'Remove user';\n default:\n return null;\n }\n },\n\n onClickNext(viewModel: BulkUserActionsViewModel, currentStep: BulkUserActionStepId): void {\n if (!viewModel)\n return;\n\n const analyticsData: HashObject = {\n userCount: viewModel.userIdMap.size,\n step: currentStep\n };\n\n const actionName = BulkUserActionsAnalyticsHelper.getAnalyticsActionName(viewModel);\n\n if (actionName)\n analyticsData.action = actionName;\n\n const actionData = ObjectHelper.omit(viewModel, BaseBulkUserActionsViewModelKeys);\n\n // Adds extra items like the `yearGroup` on year group actions or `password` on the reset pw action\n if (Object.keys(actionData).length)\n analyticsData.actionData = actionData;\n\n AnalyticsHelper.logUserAction(analyticsData, {\n location: LocationContext.BulkUserActionsWizard,\n workflowPhase: WorkflowPhase.Next,\n actionType: UserAction.BulkAction,\n entity: EntityType.User\n });\n },\n\n logYearGroupRolloverEntry(location: LocationContext): void {\n AnalyticsHelper.logUserAction({\n action: BulkUserActionsAnalyticsHelper.getAnalyticsActionName({ action: 'yearGroupRollover' })\n }, {\n entity: EntityType.User,\n actionType: UserAction.BulkAction,\n workflowPhase: WorkflowPhase.Start,\n location\n });\n },\n\n getJobStatus(status: BatchJobStatus): string | null {\n switch (status) {\n case BatchJobStatus.Completed:\n return 'Success';\n case BatchJobStatus.CompletedWithError:\n return 'Completed with some errors';\n case BatchJobStatus.Failed:\n return 'Failed';\n default:\n return null;\n }\n }\n};","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import React from 'react';\n\nimport { Breadcrumb, Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\n\ninterface WizardHeaderProps<TStepId> {\n currentStep: TStepId;\n title: string;\n continueButton: JSX.Element;\n backButton: JSX.Element;\n breadcrumbs?: Breadcrumb[];\n hideHeader?: boolean;\n loaded: boolean;\n}\n\nexport function WizardHeader<TStepId>(props: WizardHeaderProps<TStepId>): JSX.Element {\n const { showButtons } = React.useContext(WizardLayoutContext);\n\n return (\n <div className='d-flex justify-content-between'>\n {!props.hideHeader ? (\n <div>\n <h1 className='h2'>{props.title}</h1>\n\n {props.breadcrumbs &&\n <div className='pb-3'>\n <Breadcrumbs breadcrumbs={props.breadcrumbs} />\n </div>\n }\n </div>\n ) : <div/>}\n\n {props.loaded && showButtons && (\n <div className='d-flex align-items-center'>\n {props.backButton}\n {props.continueButton}\n </div>\n )}\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nconst namespace = 'shared.wizardStepList';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface WizardStep<StepId extends string> {\n id: StepId;\n text: string;\n appLink?: Core.AppLink;\n subText?: string;\n disabled?: boolean;\n}\n\ninterface WizardStepListItemProps {\n appLink: Core.AppLink;\n isSelected: boolean;\n isCompleted: boolean;\n text: string;\n subText?: string;\n disabled: boolean;\n index: number;\n hideStepNumber?: boolean;\n}\n\nfunction WizardStepListItem(props: WizardStepListItemProps): JSX.Element {\n const content = (\n <>\n <div className='d-flex'>\n {!props.hideStepNumber && <div className='flex-shrink-0 flex-grow-0'>{`${props.index + 1}.`} </div>}\n <div>{props.text}</div>\n </div>\n\n {props.subText && (\n <div className='ms-2 ps-1 pt-1'>\n {props.subText}\n </div>\n )}\n </>\n );\n\n \n let className = 'px-2 py-1 mb-1 rounded d-inline-block';\n\n if (props.isSelected) {\n className += ` bg-light-blue fw-semibold`;\n }\n\n if ((!props.isSelected && props.isCompleted))\n className += ` text-info`;\n\n return (\n <li>\n {(props.isCompleted && props.appLink)\n ? (\n <AppLink appLink={props.appLink} className={className}>\n {content}\n </AppLink>\n ) : (\n <div className={className}>\n {content}\n </div>\n )\n }\n </li>\n );\n}\n\ninterface WizardStepListProps<StepId extends string> {\n currentStep: StepId;\n steps: WizardStep<StepId>[];\n disableAppLinks?: boolean;\n}\n\nexport function WizardStepList<StepId extends string>(props: WizardStepListProps<StepId>): JSX.Element {\n const currentStepNumber = props.steps.reduce((acc, step, i) => {\n if (step.id === props.currentStep)\n acc = i + 1;\n\n return acc;\n }, 1);\n\n return (\n <>\n <h2 className='h4'>\n {getPhrase('stepNumber', { currentStep: currentStepNumber, totalSteps: props.steps.length })}\n </h2>\n\n <ol className='list-unstyled'>\n {props.steps.map((step, i) => {\n const isSelected = step.id === props.currentStep;\n const isCompleted = currentStepNumber > i + 1;\n\n return (\n <WizardStepListItem\n index={i}\n key={step.id}\n text={step.text}\n subText={step.subText}\n isSelected={isSelected}\n isCompleted={isCompleted}\n appLink={!props.disableAppLinks && step.appLink}\n disabled={step.disabled}\n />\n );\n })}\n </ol>\n </>\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 { 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}","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { useViewModel } from 'libs/common/react/hooks/UseViewModel';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, HashObject, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { BULK_USER_ACTIONS_NAV_LOCK_ID } from 'libs/shared/apps/user-manager/components/bulk-actions-wizard/layout/BulkUserActionsWizardLayout';\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BulkUserActionsViewModel } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserActionsViewModel';\nimport { SharedViewModelKeys } from 'libs/shared/constants/SharedViewModelKeys';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useForceUpdate } from 'libs/shared/hooks/useForceUpdate';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { useNavLock } from 'libs/shared/hooks/useNavLock';\nimport { User } from 'libs/shared/interfaces';\n\ninterface Options {\n customerId: string;\n userType: UserGroup;\n appLinks: UserManagerAppLinks;\n\n getUsersRequest: (\n userIds: string[],\n success?: (users: User[]) => void,\n error?: () => void\n ) => Flight.Request;\n}\n\nexport const useBulkActionsUsers = (options: Options) => {\n const { appLinks, getUsersRequest } = options;\n\n const [ viewModel, setViewModel ] = useViewModel<BulkUserActionsViewModel>(\n SharedViewModelKeys.BULK_USER_ACTIONS\n );\n\n const dispatch = useDispatch();\n const navLock = useNavLock();\n\n function getCursor(items: User[]): string {\n return items[items.length - 1]?.id;\n }\n\n /**\n * We can't rely on the non-existance of a next cursor to determine if we have more items to fetch\n * so instead we assume we have more, and then set it to false when we don't in getRequest\n * - Sha\n */\n const [ hasMore, setHasMore ] = React.useState(true);\n const pagination = React.useRef<{ pages: HashObject<string[]>, keys: IterableIterator<string>}>({\n keys: viewModel?.userIdMap?.keys(),\n pages: {}\n });\n\n function* nextIds(iterable: IterableIterator<string>, take: number): Generator<string> {\n while (take-- > 0) {\n const next = iterable.next().value;\n if (!next) return;\n yield next;\n }\n }\n\n function getRequest(lastId?: string): Flight.Request {\n if (!viewModel?.userIdMap?.size || !pagination.current.keys)\n return null;\n\n if (pagination.current.pages[lastId]) {\n const ids = pagination.current.pages[lastId];\n\n if (!ids.length) return null;\n return getUsersRequest(ids);\n }\n\n const ids = [...nextIds(pagination.current.keys, UserManagerConstants.USER_PAGE_LIMIT)];\n pagination.current.pages[lastId] = ids;\n\n if (!ids.length) {\n setHasMore(false);\n return null;\n }\n return getUsersRequest(ids);\n }\n\n function fetchNext(cursor?: string) {\n const request = getRequest(cursor);\n\n if (!request)\n return;\n\n return Flight.getFetch(dispatch)(request);\n }\n\n const {\n items,\n isFetching,\n nextCursor\n } = useInfiniteList<User, User[]>(getRequest, fetchNext, null, d => d, getCursor, viewModel?.scrollContainer);\n\n const forceUpdate = useForceUpdate();\n function removeUser(user: User): void {\n viewModel.userIdMap.delete(user.id.toString());\n setViewModel('allUsersSelected', false);\n forceUpdate();\n\n AnalyticsHelper.logUserAction({\n id: user.id.toString(),\n userCount: getCount()\n }, {\n location: LocationContext.BulkUserActionsWizard,\n entity: EntityType.User,\n actionType: UserAction.Remove\n });\n }\n\n function getCount(): number {\n return viewModel?.userIdMap?.size;\n }\n\n /**\n * Should only be used by the year group rollover details page\n */\n function setAllUserIds(userIds: string[]): void {\n const map = new Map<string, boolean>();\n userIds.forEach(id => {\n map.set(id, true);\n });\n setViewModel({\n userIdMap: map,\n allUsersSelected: true,\n allUsersCount: map.size\n });\n pagination.current.keys = map.keys();\n forceUpdate();\n }\n\n const users = items?.filter(u => viewModel.userIdMap.has(u.id.toString())) ?? [];\n\n // This hook detects if the user has removed all users\n React.useEffect(() => {\n if (!viewModel?.userIdMap || viewModel.userIdMap.size)\n return;\n\n // If this is reached, it means the admin has removed all users from the selected list.\n // The setTimeout here allows react to run it's final UI updates with the new state before we dispose of the view.\n setTimeout(() => {\n navLock.unlock(BULK_USER_ACTIONS_NAV_LOCK_ID);\n Core.AppLinkHelper.trigger(appLinks.userManager, { replace: true });\n }, 0);\n }, [ viewModel?.userIdMap?.size, isFetching ]);\n\n return {\n users,\n isFetching,\n removeUser,\n hasMore,\n fetchNext: () => fetchNext(nextCursor),\n count: getCount(),\n setAllUserIds\n };\n};","import { Flight } from 'libs/common/flight';\n\nimport { useBulkActionsUsers } from 'libs/shared/apps/user-manager/hooks/useBulkActionsUsers';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { CurrentUser } from 'libs/shared/interfaces';\n\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nexport const useBulkActionsUsersWrapper = (userType: UserGroup) => {\n const appLinks = getUserManagerAppLinks(userType);\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n\n return useBulkActionsUsers({\n customerId: currentUser.data?.customerId,\n userType,\n appLinks,\n getUsersRequest: UserRequests.usersById\n });\n};"],"names":["namespace","BulkUserActionsBackButton","props","viewModel","SharedViewModelKeys","currentStep","AppLink","className","appLink","appLinks","userManager","bulkActionsReviewAccounts","bulkActionsSelectAction","action","bulkActionsActionDetails","activation","yearGroupRollover","changeYearGroup","addToClassroom","resetPassword","removeFromSchool","getActionDetailsAppLink","getAppLink","Text","phrase","BulkUserActionsContinueButton","WizardLayoutContext","disableNext","onClickConfirm","showButtons","ContextService","bulkActionsStatus","complete","disabled","onClick","onFinish","Button","variant","BulkUserActionsAnalyticsHelper","bulkActionsConfirmation","resetEmail","activationEmail","DevError","getSelectActionAppLink","subAction","getContinueAppLink","BulkUserActionsWizardLayoutPartialLoading","style","height","width","BULK_USER_ACTIONS_NAV_LOCK_ID","BulkUserActionsWizardLayout","setViewModel","navLock","useNavLock","logWizardExitEvent","analyticsData","step","userCount","userIdMap","size","actionName","AnalyticsHelper","workflowPhase","actionType","location","entity","preventRedirect","preventNavLock","lock","id","title","LanguageService","text","appLinkWhitelist","BulkUserActionsHelper","onConfirmUnlock","unlock","replace","loaded","users","length","WizardHeader","hideHeader","continueButton","backButton","breadcrumbs","name","settings","userType","UserGroup","active","WizardStepList","steps","disableAppLinks","children","BaseBulkUserActionsViewModelKeys","getAnalyticsActionName","onClickNext","actionData","ObjectHelper","Object","keys","logYearGroupRolloverEntry","getJobStatus","status","BatchJobStatus","BreadcrumbItem","breadcrumb","withBackIcon","svgName","S","Breadcrumbs","isMobile","map","b","idx","key","PartialBreadcrumbs","numItems","dangerouslySetInnerHTML","__html","getPhrase","WizardStepListItem","content","hideStepNumber","index","subText","isSelected","isCompleted","currentStepNumber","reduce","acc","i","totalSteps","SCROLL_TOLERANCE","useInfiniteList","getRequest","fetchNext","onError","getItems","getCursor","scrollContainer","options","handleScroll","useState","pagesFetched","setPagesFetched","fetchNextFn","response","cursor","request","fetchNextPage","currentVal","nextCursor","hasMore","isFetching","getBoundingClientRect","scrollTop","scrollHeight","window","innerHeight","document","documentElement","useEffect","onScroll","FunctionHelper","addEventListener","removeEventListener","shouldInitialFetch","statusCode","httpStatusClass","toString","substr","HttpStatus","items","totalItems","hasFirstPageCompleted","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Array","Math","max","floor","random","useBulkActionsUsersWrapper","nextIds","getUsersRequest","dispatch","setHasMore","pagination","pages","iterable","take","next","value","lastId","current","ids","UserManagerConstants","d","forceUpdate","useForceUpdate","getCount","filter","u","has","setTimeout","removeUser","user","count","setAllUserIds","userIds","Map","forEach","set","allUsersSelected","allUsersCount","useBulkActionsUsers","customerId","UserRequests","data"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8766],{49935:(e,t,a)=>{a.d(t,{Oo:()=>u,b2:()=>m});var n=a(32735),r=a(36848),i=a(86764),o=a(3747),l=a(5859),c=a(35223),s=a(83914),d=function(e){var t=e.breadcrumb,a=t.name,i=t.appLink,o=t.active,l=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(o?" active":"")},o?n.createElement("strong",null,a):n.createElement(r.F,{appLink:i},l&&n.createElement(s.x,{svgName:c.vn.ChevronLeft,size:s.S.Small}),n.createElement("span",{className:l?"ms-2":""},a)))},u=function(e){var t=e.breadcrumbs,a=(0,o.a)(i.r.XS),r=null==t?void 0:t.length;return!r||a&&r<2?n.createElement(n.Fragment,null):a?n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(d,{breadcrumb:t[r-2],withBackIcon:!0}))):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return n.createElement(d,{key:t,breadcrumb:e})}))))},m=n.memo((function(e){var t=e.numItems,a=void 0===t?3:t;return(0,o.a)(i.r.XS)?n.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:a}).map((function(e,t){var a=e.width;return n.createElement("li",{key:t,className:"breadcrumb-item"},n.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:a},dangerouslySetInnerHTML:{__html:" "}}))}))))}))},17087:(e,t,a)=>{a.d(t,{T:()=>l});var n=a(20354),r=a(98064);function i(e){return function(e){if(Array.isArray(e))return o(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 o(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(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 o(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}function l(e){var t,a,o=e.folderId,l=e.firstItem,c=e.lastItem,s=e.getAppLink,d=n.a.useBasicFetch(r.D.folderParentTree(o));if(!(null===(a=null===(t=d.data)||void 0===t?void 0:t.children)||void 0===a?void 0:a.length))return[];for(var u=d.data.children.map((function(e){return{node:e,path:[e]}})),m=[],p=function(){var e=u.pop(),t=e.node,a=e.path;t.data.id.toString()===o.toString()&&(m=a.map((function(e){return{name:e.data.name,appLink:s(e)}}))),t.children&&u.push.apply(u,i(t.children.map((function(e){return{node:e,path:[].concat(i(a),[e])}}))))};u.length;)p();return l&&m.unshift(l),c&&m.push(c),m[m.length-1].active=!0,m}},5859:(e,t,a)=>{function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,n=Array(t);a<t;a++)n[a]=e[a];return n}a.d(t,{u:()=>i});var r={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=Object.assign(Object.assign({},r),t);return(e=Array(a.numItems),function(e){if(Array.isArray(e))return n(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 n(e,t);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(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.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*a.maxWidth),a.minWidth),"px")}}))}}},29181:(e,t,a)=>{a.r(t),a.d(t,{MyVideosFolderView:()=>J});var n=a(32735),r=a(81886),i=a(20354),o=a(28400),l=a(65858),c=a(43500),s=a(83657),d=a(49935),u=a(73518),m=a(83834),p=a(65403),v=a(10874),f=a(37395),g=a(4201),h=a(83345),y=a(74696),E=a(30254),b=a(13231),k=a(51365),A=a(1666),S=a(98064),V=a(31949),I=a(299),L=a(91286),F=a(22902),M=a(37802),O=a(35223),w=a(35949),D=a(14070),N=a(97291),_=a(51855),C=a(27638),x=a(44110),B=a(10741),P=a(22490),T=a(98860),Y=a(12617),R=a(45967),G=a(23481),j=a(17087),W=G.T.encloseNamespace("myVideos.hooks"),H=a(65202),X=a(74796),U=a(82431),$=a(18097),Q=a(14305),Z=a(61970);const q={uploadingList:"BrRqF"};var z="default.myVideosFolders";function J(e){var t,a,G,J,K,ee,te=i.a.useGetFetch(),ae=(0,C.u)(l.LZ.VideoThumbnail),ne=ae.setFavourite,re=ae.canFavourite,ie=(0,x.i)(),oe=(0,R.q)().handleDragEnd,le=(0,g.of)().focusSearchBar,ce=(0,_.G)().isPlugin,se=i.a.useBasicFetch(S.D.folder(e.id)),de=(0,T.P)(e.id),ue=i.a.useBasicFetch(V.N.currentUser()),me=i.a.useBasicFetch((null===(t=ue.data)||void 0===t?void 0:t.isAuthenticated)&&A.h.yearGroups(ue.data.customerId)),pe=i.a.useBasicFetch((null===(a=ue.data)||void 0===a?void 0:a.isAuthenticated)&&V.N.workspace());(0,L.v)(se);var ve,fe=(ve=e.id,(0,j.T)({folderId:ve,getAppLink:function(e){return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.data.id,o.m.slugify(e.data.name)]}},firstItem:{name:W("myVideos"),appLink:{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS}}})),ge=(0,X.f)(),he=(0,M.r)(null),ye=he.myVideosFolders,Ee=he.isLoadingSettings;n.useEffect((function(){Ee||ye||r.Q.C$.trigger({application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS},{replace:!0})}),[ye,Ee]);var be=(0,Z.y)(),ke=(0,Z.W)(null===(G=pe.data)||void 0===G?void 0:G.id,e.id),Ae=(0,F.T)().hasPermissions,Se=function(t,a){return Y.E.videos(e.id,t,a)},Ve=i.a.useBasicFetch(Se(e.cursor,e.typeFilter));(0,L.v)(Ve);var Ie=(0,H.J)({onRemove:function(e,t){return te(Se(e,t))},categoryId:+e.id}),Le=Ie.uploadingVideos,Fe=Ie.onClickAlternate,Me=Ie.onClickDelete,Oe=Ie.processingIds,we=null===(K=null===(J=Ve.data)||void 0===J?void 0:J.data)||void 0===K?void 0:K.filter((function(e){return!Oe[e.id]})),De=(0,I.X)(we);return se.data?n.createElement(k.M.Provider,{value:be},n.createElement("div",{className:"px-3"},n.createElement("div",{className:"d-flex justify-content-between align-items-start"},n.createElement("h1",{className:"h2 mb-0"},se.data.name),n.createElement("div",{className:"d-sm-flex d-none ms-2"},n.createElement(v.h,{svgName:O.vn.Search,appLink:{application:N.O.SEARCH,action:D.e.Search.HOME,params:{source:c.fi.MyVideos}},className:"btn btn-outline-dark me-2",onClick:le,analyticsData:{},analyticsOptions:{entity:l.py.SearchResults,location:l.LZ.MyVideos,actionType:l.Vw.Click,descriptor:l.Bk.MyVideos}},n.createElement(h.x,{namespace:z,phrase:"searchMyVideos"})),n.createElement(s.e,{actions:ge("page",se.data),actionsDropdownClassName:"btn btn-outline-dark"}))),n.createElement("div",{className:"mt-3"},n.createElement(d.Oo,{breadcrumbs:fe})),n.createElement("hr",null),!(null==de?void 0:de.hasCompleted)&&n.createElement(p.i,null),n.createElement(u.p,{handleDragEnd:oe,dragOverlayComponent:w.U,source:se.data},!!(null===(ee=null==de?void 0:de.items)||void 0===ee?void 0:ee.length)&&n.createElement("div",{className:"mx-n2"},n.createElement(m.$,{folders:de.items,getAppLink:function(e){return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.id,o.m.slugify(e.name)]}},expandFolders:!1,getFolderActions:function(e){return ge("folder",e)},drag:!0,drop:!0})),n.createElement(E.X,{allowBulkAction:!0,allowFilter:!0,isVideosLoading:!Ve.data,checkboxHelper:De,getVideosBulkAction:ke,locationContext:l.LZ.MyVideos,typeFilter:e.typeFilter,getAppLink:function(){var t;return{application:N.O.MY_VIDEOS,action:D.e.MyVideos.MY_VIDEOS_FOLDER,args:[e.id,o.m.slugify(null===(t=se.data)||void 0===t?void 0:t.name)]}}}),!!(null==Le?void 0:Le.length)&&n.createElement("div",{className:"position-relative ".concat(q.uploadingList)},Le.map((function(e){return n.createElement($.X,{item:e,onClickAlternate:Fe,onClickDelete:Me,key:e.id,allowBulkAction:!0})}))),function(){var t,a,r,i;return Ve.data?(null===(a=null===(t=Ve.data)||void 0===t?void 0:t.data)||void 0===a?void 0:a.length)?n.createElement(n.Fragment,null,n.createElement(b.E4,{videos:we,yearGroups:me.data,getVideoAppLink:P.W.getAppLink,getSubTextAppLink:function(e){return U.j.getSeriesAppLink(e.series)},setFavourite:ne,canFavourite:re,presentationAudiences:ie.data,canRemovePrivateVideos:!0,allowBulkAction:!0,hasPermissions:Ae,getVideosBulkAction:ke,typeFilter:e.typeFilter,checkboxHelper:De,drag:!0,getPreviewQuestionsAppLink:function(e){return B.j.getPreviewQuestionsAppLink(e)},isPlugin:ce,getClassroomGuideAppLink:P.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:P.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:P.W.getResourceGuidanceAppLink}),!!(null===(i=null===(r=Ve.data)||void 0===r?void 0:r.pagination)||void 0===i?void 0:i.cursors)&&n.createElement(f.t,{appLink:{action:D.e.MyVideos.MY_VIDEOS_FOLDER,application:N.O.MY_VIDEOS,args:[e.id,o.m.slugify(se.data.name)],params:{cursor:e.cursor,previous:e.previous,type:e.typeFilter}},cursors:{next:Ve.data.pagination.cursors.next,previous:e.cursor},buttonVariant:"outline-dark",className:"py-2 float-end",scrollTop:!0,prevHack:!0})):n.createElement(Q.K,null):n.createElement(y.S,{allowBulkActions:!0})}()))):n.createElement(n.Fragment,null)}}}]);
|
|
2
|
-
//# sourceMappingURL=8766-bcc7f11eac-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/8766-bcc7f11eac-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/hooks/useBuildBreadcrumbs.ts","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/my-videos/hooks/useGetFolderBreadCrumbs.tsx","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/my-videos-folders.scss","file:///app/packages/projects/lite/src/apps/my-videos/views/my-videos-folder/MyVideosFolderView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","import { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { Folder, MasterNestedObject } from 'libs/shared/interfaces';\n\ninterface BuildOptions {\n folderId: string;\n firstItem?: Breadcrumb;\n lastItem?: Breadcrumb;\n getAppLink: (folder: MasterNestedObject<Folder>) => Core.AppLink;\n}\n\nexport function useBuildBreadcrumbs(options: BuildOptions): Breadcrumb[] {\n const { folderId, firstItem, lastItem, getAppLink } = options;\n\n const parentTree = Flight.useBasicFetch<MasterNestedObject<Folder>>(LibraryRequests.folderParentTree(folderId));\n\n if (!parentTree.data?.children?.length)\n return [];\n\n const searchStack: {\n node: MasterNestedObject<Folder>,\n path: MasterNestedObject<Folder>[]\n }[] = parentTree.data.children.map(c => ({ node: c, path: [c]}));\n\n let breadcrumbs: Breadcrumb[] = [];\n\n while (searchStack.length) {\n const { node, path } = searchStack.pop();\n \n if (node.data.id.toString() === folderId.toString())\n breadcrumbs = path.map(object => ({\n name: object.data.name,\n appLink: getAppLink(object)\n }));\n\n if (node.children)\n searchStack.push(...node.children.map(c => ({ node: c, path: [ ...path, c ]})));\n }\n\n if (firstItem) breadcrumbs.unshift(firstItem);\n if (lastItem) breadcrumbs.push(lastItem);\n\n breadcrumbs[breadcrumbs.length - 1].active = true;\n\n return breadcrumbs;\n}\n ","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { useBuildBreadcrumbs } from 'libs/shared/hooks/useBuildBreadcrumbs';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nconst namespace = 'myVideos.hooks';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function useGetFolderBreadcrumbs(folderId: string): Breadcrumb[] {\n return useBuildBreadcrumbs({\n folderId,\n getAppLink: object => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ object.data.id, TextHelper.slugify(object.data.name) ]\n }),\n firstItem: {\n name: getPhrase('myVideos'),\n appLink: {\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }\n }\n });\n}","// extracted by mini-css-extract-plugin\nexport default {\"uploadingList\":\"BrRqF\"};","import React from 'react';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EntityType, Folder, LocationContext, SearchSourceDescriptor, UserAction } from 'libs/analytics/interfaces';\n\nimport { SearchIndices, SourceFilterOptions } from 'libs/shared/apps/search/interfaces';\nimport { Actions as ActionsComponent } from 'libs/shared/components/actions/Actions';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { DragDropMoveContext } from 'libs/shared/components/drag-drop-move/DragDropMoveContext';\nimport { FolderList } from 'libs/shared/components/folder-list/FolderList';\nimport { PartialFolderList } from 'libs/shared/components/folder-list/partial-loading/PartialFolderList';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { useFocusSearchBar } from 'libs/shared/components/search-bar/SearchUtils';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoListActions } from 'libs/shared/components/video-list/video-list-actions/VideoListActions';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { LibraryRequests } from 'libs/shared/flight-requests/LibraryRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { BulkCheckboxManager, useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { BasePaginatedCollection, CurrentUser, Library, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { DragDropOverlay } from 'shared/components/drag-drop-overlay/DragDropOverlay';\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\n\nimport { useFetchAllChildFolders } from 'apps/libraries/hooks/UseFetchAllChildFolders';\nimport { MyVideosRequests } from 'apps/my-videos/flight-requests/MyVideosRequests';\nimport { useDragDropMove } from 'apps/my-videos/hooks/useDragDropMove';\nimport { useGetFolderBreadcrumbs } from 'apps/my-videos/hooks/useGetFolderBreadCrumbs';\nimport { useUploadItems } from 'apps/my-videos/hooks/useUploadItems';\nimport { useGetFolderActions } from 'apps/my-videos/utils/getFolderActions';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\nimport { UploadingItem } from 'apps/upload/components/uploading-item/UploadingItem';\n\nimport { MyVideosEmptyState } from '../my-videos/empty-state/MyVideosEmptyState';\nimport { useMyVideosViewActions, useMyVideosViewBulkActions } from '../my-videos/MyVideosViewUtils';\n\nimport styles from './my-videos-folders.scss';\n\nconst namespace = 'default.myVideosFolders';\n\ninterface MyVideosFolderViewProps {\n id: string;\n cursor?: string;\n previous?: string;\n typeFilter?: SearchIndices[];\n}\n\nexport function MyVideosFolderView(props: MyVideosFolderViewProps): JSX.Element {\n const fetch = Flight.useGetFetch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const audiences = usePresentationAudiences();\n const { handleDragEnd } = useDragDropMove();\n const { focusSearchBar } = useFocusSearchBar();\n const { isPlugin } = usePluginHelper();\n\n const folder = Flight.useBasicFetch<Folder>(LibraryRequests.folder(props.id));\n const subfolders = useFetchAllChildFolders(props.id);\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 workspace = Flight.useBasicFetch<Library>(\n currentUser.data?.isAuthenticated && UserRequests.workspace()\n );\n\n\n useHandleObjectError(folder);\n\n const breadcrumbs = useGetFolderBreadcrumbs(props.id);\n const getFolderActions = useGetFolderActions();\n\n // TODO: Remove this redirect when we release my videos with folders.\n const { myVideosFolders, isLoadingSettings } = useSettings(null);\n React.useEffect(() => {\n if (isLoadingSettings || myVideosFolders)\n return;\n \n Core.AppLinkHelper.trigger({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS\n }, { replace: true });\n }, [ myVideosFolders, isLoadingSettings ]);\n\n const getVideoItemActions = useMyVideosViewActions();\n const getVideosBulkActions = useMyVideosViewBulkActions(workspace.data?.id, props.id);\n const { hasPermissions } = usePermissions();\n\n const getMyVideosRequest = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n // Delete the above when master supports the new assoc types.\n return MyVideosRequests.videos(props.id, cursor, typeFilter);\n };\n\n const fetchNext = (cursor?: string, typeFilter?: SearchIndices | SearchIndices[]) => {\n return fetch(getMyVideosRequest(cursor, typeFilter));\n };\n\n const videos = Flight.useBasicFetch<BasePaginatedCollection<VideoTypes>>(\n getMyVideosRequest(props.cursor, props.typeFilter)\n );\n\n useHandleObjectError(videos);\n\n const {\n uploadingVideos,\n onClickAlternate,\n onClickDelete,\n processingIds\n } = useUploadItems({ onRemove: fetchNext, categoryId: +props.id });\n\n const omittedVideos = videos.data?.data?.filter(v => !processingIds[v.id]);\n\n const CheckboxHelper: BulkCheckboxManager = useBulkCheckboxManager(omittedVideos);\n\n function getMyVideosAppLink(): Core.AppLink {\n return {\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n application: AppChannels.MY_VIDEOS,\n args: [ props.id, TextHelper.slugify(folder.data.name) ],\n params: { cursor: props.cursor, previous: props.previous, type: props.typeFilter }\n };\n }\n\n function getCursors(): Cursors {\n return { next: videos.data.pagination.cursors.next, previous: props.cursor };\n }\n\n if (!folder.data)\n return <></>;\n\n return (\n <VideoActionsContext.Provider value={getVideoItemActions}>\n <div className='px-3'>\n <div className='d-flex justify-content-between align-items-start'>\n <h1 className='h2 mb-0'>{folder.data.name}</h1>\n <div className='d-sm-flex d-none ms-2'>\n <IconButton\n svgName={cvSvgLibrary.Search}\n appLink={{\n application: AppChannels.SEARCH,\n action: Actions.Search.HOME,\n params: {\n source: SourceFilterOptions.MyVideos\n }\n }}\n className='btn btn-outline-dark me-2'\n onClick={focusSearchBar}\n analyticsData={{}}\n analyticsOptions={{\n entity: EntityType.SearchResults,\n location: LocationContext.MyVideos,\n actionType: UserAction.Click,\n descriptor: SearchSourceDescriptor.MyVideos\n }}\n >\n <Text namespace={namespace} phrase='searchMyVideos' />\n </IconButton>\n <ActionsComponent\n actions={getFolderActions('page', folder.data)}\n actionsDropdownClassName='btn btn-outline-dark'\n />\n </div>\n </div>\n <div className='mt-3'>\n <Breadcrumbs breadcrumbs={breadcrumbs} />\n </div>\n <hr />\n {!subfolders?.hasCompleted && <PartialFolderList />}\n <DragDropMoveContext\n handleDragEnd={handleDragEnd}\n dragOverlayComponent={DragDropOverlay}\n source={folder.data}\n >\n {!!subfolders?.items?.length &&\n <div className='mx-n2'>\n <FolderList\n folders={subfolders.items}\n getAppLink={(f: Folder) => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ f.id, TextHelper.slugify(f.name) ]\n })}\n expandFolders={false}\n getFolderActions={f => getFolderActions('folder', f)}\n drag\n drop\n />\n </div>\n }\n <VideoListActions\n allowBulkAction\n allowFilter\n isVideosLoading={!videos.data}\n checkboxHelper={CheckboxHelper}\n getVideosBulkAction={getVideosBulkActions}\n locationContext={LocationContext.MyVideos}\n typeFilter={props.typeFilter}\n getAppLink={() => ({\n application: AppChannels.MY_VIDEOS,\n action: Actions.MyVideos.MY_VIDEOS_FOLDER,\n args: [ props.id, TextHelper.slugify(folder.data?.name) ]\n })}\n />\n {!!uploadingVideos?.length && (\n <div className={`position-relative ${styles.uploadingList}`}>\n {uploadingVideos.map(uploadingVideo => (\n <UploadingItem\n item={uploadingVideo}\n onClickAlternate={onClickAlternate}\n onClickDelete={onClickDelete}\n key={uploadingVideo.id}\n allowBulkAction\n />\n ))}\n </div>\n )}\n {(() => {\n if (!videos.data)\n return <PartialVideoList allowBulkActions />;\n\n if (!videos.data?.data?.length)\n return <MyVideosEmptyState />;\n\n return (\n <>\n <VideoList\n videos={omittedVideos}\n yearGroups={yearGroups.data}\n getVideoAppLink={VideoAppLinkHelper.getAppLink}\n getSubTextAppLink={video => SeriesAppLinkHelper.getSeriesAppLink(video.series)}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={audiences.data}\n canRemovePrivateVideos\n allowBulkAction\n hasPermissions={hasPermissions}\n getVideosBulkAction={getVideosBulkActions}\n typeFilter={props.typeFilter}\n checkboxHelper={CheckboxHelper}\n drag\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {!!videos.data?.pagination?.cursors && (\n <Pagination\n appLink={getMyVideosAppLink()}\n cursors={getCursors()}\n buttonVariant='outline-dark'\n className='py-2 float-end'\n scrollTop\n prevHack\n />\n )}\n </>\n );\n })()}\n </DragDropMoveContext>\n </div>\n </VideoActionsContext.Provider>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","useBuildBreadcrumbs","options","folderId","firstItem","lastItem","getAppLink","parentTree","data","children","searchStack","c","node","path","pop","id","toString","object","push","unshift","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","opts","Array","Math","max","floor","random","getPhrase","LanguageService","MyVideosFolderView","props","fetch","useLiteFavourites","u","setFavourite","canFavourite","audiences","usePresentationAudiences","handleDragEnd","useDragDropMove","focusSearchBar","isPlugin","usePluginHelper","folder","LibraryRequests","subfolders","currentUser","UserRequests","yearGroups","isAuthenticated","CustomerRequests","customerId","workspace","application","action","args","TextHelper","useSettings","myVideosFolders","isLoadingSettings","replace","getVideoItemActions","getVideosBulkActions","hasPermissions","usePermissions","getMyVideosRequest","cursor","typeFilter","MyVideosRequests","videos","useUploadItems","onRemove","categoryId","uploadingVideos","onClickAlternate","onClickDelete","processingIds","omittedVideos","filter","v","CheckboxHelper","useBulkCheckboxManager","VideoActionsContext","value","IconButton","params","source","onClick","analyticsData","analyticsOptions","entity","location","actionType","descriptor","Text","namespace","phrase","Actions","actions","actionsDropdownClassName","hasCompleted","PartialFolderList","DragDropMoveContext","dragOverlayComponent","DragDropOverlay","items","FolderList","folders","f","expandFolders","getFolderActions","drag","drop","VideoListActions","allowBulkAction","allowFilter","isVideosLoading","checkboxHelper","getVideosBulkAction","locationContext","uploadingVideo","UploadingItem","item","VideoList","getVideoAppLink","VideoAppLinkHelper","getSubTextAppLink","video","SeriesAppLinkHelper","series","presentationAudiences","canRemovePrivateVideos","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","pagination","cursors","Pagination","previous","type","next","buttonVariant","scrollTop","prevHack","MyVideosEmptyState","PartialVideoList","allowBulkActions"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8800],{58800:(e,t,n)=>{n.r(t),n.d(t,{SeriesView:()=>ve});var r=n(32735),i=n(70680),a=n(23481),o=n(20354),c=n(65858),s=n(44522),l=n(49935),u=n(11607),d=n(83345),p=n(10038);const f={text:"wLJpg",seeMore:"x5t0p"};function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,c=[],s=!0,l=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=a.call(n)).done)&&(c.push(r.value),c.length!==t);s=!0);}catch(e){l=!0,i=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return c}}(e,t)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(e,t)||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.")}()}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var h="shared.expandableText";function b(e){var t,n,i=e.text,a=e.lines,o=void 0===a?2:a,c=v(r.useState(!1),2),s=c[0],l=c[1],m=r.useRef(null),b=r.useRef(0);r.useEffect((function(){m.current.clientHeight&&(b.current=m.current.clientHeight)}),[]);var g=v(r.useState((null===(t=m.current)||void 0===t?void 0:t.scrollHeight)>b.current),2),y=g[0],E=g[1];return(0,p.H)((function(){var e;m.current.clientHeight&&(b.current=m.current.clientHeight,E((null===(e=m.current)||void 0===e?void 0:e.scrollHeight)>b.current))})),r.useEffect((function(){var e,t;(null===(e=m.current)||void 0===e?void 0:e.scrollHeight)&&E((null===(t=m.current)||void 0===t?void 0:t.scrollHeight)>b.current)}),[null===(n=m.current)||void 0===n?void 0:n.scrollHeight,b.current]),r.createElement("div",{className:"d-flex overflow-hidden"},r.createElement("div",{className:"".concat(s?"":"clamp-".concat(o)," ").concat(f.text),ref:m},!s&&y&&r.createElement(u.L,{onClick:function(){return l(!0)},className:"ms-1 info-text hover-text-underline ".concat(f.seeMore)},r.createElement(d.x,{namespace:h,phrase:"seeMore"})),r.createElement("p",{className:"mb-0 d-inline"},i),s&&r.createElement(u.L,{onClick:function(){return l(!1)},className:"ms-1 info-text hover-text-underline d-inline"},r.createElement(d.x,{namespace:h,phrase:"seeLess"}))))}var g=n(71020),y=n(74696),E=n(13231),A=n(79718),k=n(7733),S=n(51365),L=n(16714),I=n(23788),O=n(21750),T=n(39151),w=n(1666),x=n(60011),P=n(31949),C=n(56520),j=n(91286),N=n(60115),F=n(22902),H=n(79612),_=n(76753),B=n(35223),V=n(68140),M=n(14070),D=n(97291),G=n(64364);function R(e){return R="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},R(e)}function U(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,J(r.key),r)}}function J(e){var t=function(e,t){if("object"!=R(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=R(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==R(t)?t:t+""}function W(e,t,n){return t=Z(t),function(e,t){if(t&&("object"==R(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,Q()?Reflect.construct(t,n||[],Z(e).constructor):t.apply(e,n))}function Q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(Q=function(){return!!e})()}function Z(e){return Z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Z(e)}function K(e,t){return K=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},K(e,t)}var $="shared.seriesNotFoundError",q=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),W(this,t,["Series doesn't exist"])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&K(e,t)}(t,e),n=t,(r=[{key:"name",get:function(){return"SeriesNotFoundError"}},{key:"heading",get:function(){return a.T.getPhrase($,"heading")}},{key:"description",get:function(){return a.T.getPhrase($,"description")}}])&&U(n.prototype,r),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,r}(G.H),z=n(51855),X=n(10671),Y=n(7179),ee=n(27638),te=n(86698),ne=n(44110),re=n(97816),ie=n(10741),ae=n(33192),oe=n(22490),ce=n(87114),se=n(34181),le=a.T.encloseNamespace("shared.series"),ue={getBreadcrumbs:function(e){var t=e.moviesAndTv,n=e.topicPath,r=e.series,i=e.presentation,a=e.availablePresentations;if(t){var o=[{name:le("moviesAndTv"),appLink:{application:D.O.MOVIES_AND_TV,action:M.e.MoviesAndTv.HOME}}];return null==n||n.slice(1,n.length).forEach((function(e){o.push({name:e.name,appLink:se.L.getAppLink(e,{moviesAndTv:!0})})})),o.push({name:r.name,active:!0}),o}var c=[{name:le("discover"),appLink:{application:D.O.DASHBOARD,action:M.e.Dashboard.HOME}}];return n&&(c.push({name:ce.i.getExploreAllTopicsTitle(null==i?void 0:i.name,null==a?void 0:a.length),appLink:{application:D.O.SUBJECT,action:M.e.Subjects.CLASSIFICATION_ALL,params:{presentationId:null==i?void 0:i.id}}}),n.forEach((function(e){c.push({name:e.name,appLink:se.L.getAppLink(e)})}))),c.push({name:r.name,active:!0}),c}},de=n(82431),pe=a.T.encloseNamespace("shared.series"),fe=function(e){return k.o[e.name.charCodeAt(0)%k.o.length]};function ve(e){var t,n,a,u,d,p=(0,i.I0)(),f=(0,ee.u)(c.LZ.VideoThumbnail),v=f.setFavourite,m=f.canFavourite,h=(0,F.T)(),k=h.hasPermissions,G=h.hasLocalPermissions,R=(0,z.G)().isPlugin,U=(0,C.R0)(),J=U.openInCurationStudioLabel,W=U.isUserCurator,Q=U.getOpenInCurationStudioLink;(0,Y.P)({id:e.id,app:"series",shareId:e.shareId});var Z=o.a.useBasicFetch(T.L.config()),K=o.a.useBasicFetch(P.N.currentUser()),$=o.a.useBasicFetch((null===(t=K.data)||void 0===t?void 0:t.isAuthenticated)&&w.h.yearGroups(K.data.customerId)),ce=o.a.useBasicFetch(e.classificationId&&O.x.classification(e.classificationId,null===(n=K.data)||void 0===n?void 0:n.id)),se=o.a.useBasicFetch(e.shareId?x.J.sharedSeries(e.id,e.shareId):x.J.series(e.id)),le=o.a.useBasicFetch((null===(a=ce.data)||void 0===a?void 0:a.presentationId)&&O.x.presentationById(ce.data.presentationId)),ve=(0,te.y)().availablePresentations,me=(0,ne.i)();(0,H.M)(_.CG.getSeriesMetadata({content:se.data,phraseContext:{phraseHandler:pe,titlePhrase:"pageTitle",descriptionPhrase:"pageDescription"},canonicalLink:ae.f.getCanonicalLink({stripPresentationSlug:!0}),allowIndexing:ae.f.allowIndexing()}));var he=(0,X._)({location:X.i.VideoItem,shareId:e.shareId}),be=o.a.useBasicFetch(e.classificationId&&O.x.path(e.classificationId));function ge(e){return!ae.f.isBot()||!e}function ye(t){var n;return ge(t)?x.J.seriesVideos(e.id,null===(n=K.data)||void 0===n?void 0:n.id,Ae,t):null}function Ee(e){return o.a.getFetch(p)(ye(e))}var Ae=!!K.data&&V.d.getOrSetSortType(K.data.id,e.sort,I.D.Series),ke={classificationId:e.classificationId,mtv:e.moviesAndTv},Se=(0,N.K)(!!K.data&&ye,Ee),Le=Se.items,Ie=Se.isFetching,Oe=Se.nextCursor;(0,re.V)(Le),(0,j.v)(se,{notFound:q});var Te=!k(L.C.StudentExperience)&&G(L.E.UseSeriesActions);return r.createElement(S.M.Provider,{value:he},r.createElement("div",{className:"px-3"},Z.data&&se.data?r.createElement(s.p,{heading:se.data.name,banner:se.data.banner,imageCdnUrl:Z.data.imageCdnUrl,actions:function(){var e,t,n;if(R||!Te)return[];var r=[{label:pe("share"),appLink:se&&{application:D.O.DEFAULT,action:M.e.Default.SHARE,args:[null===(e=se.data)||void 0===e?void 0:e.id],params:{entityType:"series"}},svgName:B.vn.Share2,className:"btn btn-outline-dark me-2",button:!0}];return W&&r.push({label:J,href:Q(null===(t=se.data)||void 0===t?void 0:t.typeId,null===(n=se.data)||void 0===n?void 0:n.id),openInNewTab:!0}),r}(),actionsDropdownClassName:"btn btn-outline-dark",blockColourClass:fe(se.data)}):r.createElement(s.v,null),r.createElement("div",null,r.createElement("div",{className:(null===(u=se.data)||void 0===u?void 0:u.description)||e.moviesAndTv&&be.data?"border-bottom py-3 mb-3":"pt-3 mb-2"},e.classificationId||e.moviesAndTv?!se.data||e.classificationId&&!be.data?r.createElement(l.b2,null):r.createElement(l.Oo,{breadcrumbs:ue.getBreadcrumbs({moviesAndTv:e.moviesAndTv,topicPath:be.data,series:se.data,presentation:le.data,availablePresentations:ve})}):r.createElement(r.Fragment,null),r.createElement("div",{className:"d-flex align-items-center"},(null===(d=se.data)||void 0===d?void 0:d.description)&&r.createElement("div",{className:"mb-0 ".concat(e.classificationId?"pt-2":"")},r.createElement(b,{text:se.data.description})),se.data&&r.createElement("div",{className:"ms-auto"},r.createElement(A.p,{variant:"outline-dark",type:Ae,analyticsOptions:{location:c.LZ.VideoListHeader,entity:c.py.Video,actionType:c.Vw.Sort,workflowPhase:c.eu.Complete},getSortAppLink:function(e){return de.j.getSeriesAppLink(se.data,Object.assign(Object.assign({},ke),{sort:e}))}})))),Le?r.createElement(r.Fragment,null,r.createElement(E.E4,{videos:Le,yearGroups:$.data,getVideoAppLink:e.getVideoAppLink,hasPermissions:k,getSubTextAppLink:function(e){return de.j.getSeriesAppLink(null==e?void 0:e.series,Object.assign(Object.assign({},ke),{sort:Ae}))},setFavourite:v,canFavourite:m,presentationAudiences:e.moviesAndTv?null:me.data,getPreviewQuestionsAppLink:function(e){return ie.j.getPreviewQuestionsAppLink(e)},isPlugin:R,getClassroomGuideAppLink:oe.W.getClassroomGuideAppLink,getInteractiveGuidanceAppLink:oe.W.getInteractiveGuidanceAppLink,getResourceGuidanceAppLink:oe.W.getResourceGuidanceAppLink}),(Ie||Oe)&&ge(Oe)&&r.createElement(g._,{isFetching:Ie,fetchNext:Ee,nextCursor:Oe})):r.createElement(y.S,null))))}}}]);
|
|
2
|
-
//# sourceMappingURL=8800-335154fe11-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/8800-335154fe11-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/expandable-text/expandable-text.scss","file:///app/packages/libs/shared/src/components/expandable-text/ExpandableText.tsx","file:///app/packages/projects/lite/src/shared/errors/series/series-not-found/SeriesNotFoundError.ts","file:///app/packages/projects/lite/src/shared/views/series/SeriesViewUtils.ts","file:///app/packages/projects/lite/src/shared/views/series/SeriesView.tsx"],"sourcesContent":["// extracted by mini-css-extract-plugin\nexport default {\"text\":\"wLJpg\",\"seeMore\":\"x5t0p\"};","import React from 'react';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { useResizeListener } from 'libs/shared/hooks/UseResizeListener';\n\nimport styles from './expandable-text.scss';\n\ninterface ExpandableTextProps{\n text: string;\n lines?: number;\n}\n\nconst namespace = 'shared.expandableText';\n\nexport function ExpandableText(props: ExpandableTextProps): JSX.Element {\n const { text, lines = 2 } = props;\n const [ expanded, setExpanded ] = React.useState(false);\n\n const containerRef = React.useRef<HTMLDivElement>(null);\n\n const memoClientHeight = React.useRef<number>(0);\n React.useEffect(() => {\n if (containerRef.current.clientHeight)\n // memo the initial clientHeight, cuz after expand and collapse the clientHeight will change\n memoClientHeight.current = containerRef.current.clientHeight;\n }, []);\n\n const [ showButton, setShowButton ] = React.useState(containerRef.current?.scrollHeight > memoClientHeight.current);\n\n useResizeListener(() => {\n if (containerRef.current.clientHeight) {\n // update memo value on resize\n memoClientHeight.current = containerRef.current.clientHeight;\n setShowButton(containerRef.current?.scrollHeight > memoClientHeight.current);\n }\n });\n\n React.useEffect(() => {\n if (containerRef.current?.scrollHeight) {\n setShowButton(containerRef.current?.scrollHeight > memoClientHeight.current);\n }\n }, [ containerRef.current?.scrollHeight, memoClientHeight.current ]);\n\n return (\n <div className='d-flex overflow-hidden'>\n <div className={`${expanded ? '' : `clamp-${lines}`} ${styles.text}`} ref={containerRef}>\n {(!expanded && showButton) && (\n <DivButton\n onClick={() => setExpanded(true)}\n className={`ms-1 info-text hover-text-underline ${styles.seeMore}`}\n >\n <Text namespace={namespace} phrase='seeMore' />\n </DivButton>\n )}\n <p className='mb-0 d-inline'>{text}</p>\n {expanded && (\n <DivButton\n onClick={() => setExpanded(false)}\n className={`ms-1 info-text hover-text-underline d-inline`}\n >\n <Text namespace={namespace} phrase='seeLess' />\n </DivButton>\n )}\n </div>\n </div>\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { ErrorPageError } from 'libs/shared/errors/primitives/ErrorPageError';\n\nconst namespace = 'shared.seriesNotFoundError';\n\nexport class SeriesNotFoundError extends ErrorPageError {\n constructor() {\n super('Series doesn\\'t exist');\n }\n\n // @ts-ignore\n public get name(): string {\n return 'SeriesNotFoundError';\n }\n\n // @ts-ignore\n public get heading(): string {\n return LanguageService.getPhrase(namespace, 'heading');\n }\n\n // @ts-ignore\n public get description(): string {\n return LanguageService.getPhrase(namespace, 'description');\n }\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Breadcrumb } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { Classification, Presentation, Series } from 'libs/shared/interfaces';\nimport { TopicsHelper } from 'libs/shared/utils/topics-helper/TopicsHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { ClassificationAppLinkHelper } from 'shared/utils/ClassificationAppLinkHelper';\n\nconst namespace = 'shared.series';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface GetBreadcrumbOptions {\n moviesAndTv: boolean;\n topicPath: Classification[];\n series: Series;\n presentation: Presentation;\n availablePresentations: Presentation[]\n}\n\nexport const SeriesViewUtils = {\n getBreadcrumbs(options: GetBreadcrumbOptions): Breadcrumb[] {\n const { moviesAndTv, topicPath, series, presentation, availablePresentations } = options;\n\n if (moviesAndTv) {\n const breadcrumbs: Breadcrumb[] = [{\n name: getPhrase('moviesAndTv'),\n appLink: {\n application: AppChannels.MOVIES_AND_TV,\n action: Actions.MoviesAndTv.HOME\n }\n }];\n\n topicPath?.slice(1, topicPath.length).forEach(item => {\n breadcrumbs.push({\n name: item.name,\n appLink: ClassificationAppLinkHelper.getAppLink(item, { moviesAndTv: true })\n });\n });\n\n breadcrumbs.push({\n name: series.name,\n active: true\n });\n\n return breadcrumbs;\n }\n\n const breadcrumbs: Breadcrumb[] = [{\n name: getPhrase('discover'),\n appLink: {\n application: AppChannels.DASHBOARD,\n action: Actions.Dashboard.HOME\n }\n }];\n \n if (topicPath) {\n breadcrumbs.push({\n name: TopicsHelper.getExploreAllTopicsTitle(\n presentation?.name,\n availablePresentations?.length\n ),\n appLink: {\n application: AppChannels.SUBJECT,\n action: Actions.Subjects.CLASSIFICATION_ALL,\n params: { presentationId: presentation?.id }\n }\n });\n\n topicPath.forEach(item => {\n breadcrumbs.push({\n name: item.name,\n appLink: ClassificationAppLinkHelper.getAppLink(item)\n });\n });\n }\n\n breadcrumbs.push({\n name: series.name,\n active: true\n });\n\n return breadcrumbs;\n }\n};","import * as React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { EntityType, LocationContext, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { BannerHeader, PartialBannerHeader } from 'libs/shared/components/banner-header/BannerHeader';\nimport { Breadcrumbs, PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { ExpandableText } from 'libs/shared/components/expandable-text/ExpandableText';\nimport { InfiniteScrollFooter } from 'libs/shared/components/infinite-scroll-footer/InfiniteScrollFooter';\nimport { PartialVideoList } from 'libs/shared/components/video-list/partial-loading/PartialVideoList';\nimport { VideoList } from 'libs/shared/components/video-list/VideoList';\nimport { VideoSortSelect } from 'libs/shared/components/video-sort-select/VideoSortSelect';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { VideoActionsContext } from 'libs/shared/context/VideoActionsContext';\nimport { LocalPermissionName, PermissionName } from 'libs/shared/enums/PermissionName';\nimport { VideoSortType } from 'libs/shared/enums/VideoSortType';\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { SeriesRequests } from 'libs/shared/flight-requests/SeriesRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useCurationStudio } from 'libs/shared/hooks/useCurationStudio';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useInfiniteList } from 'libs/shared/hooks/UseInfiniteList';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { Classification, Config, CurrentUser, Presentation, Series, Video, YearGroup } from 'libs/shared/interfaces';\nimport { GetVideoAppLinkOptions } from 'libs/shared/interfaces/VideoAppLinkOptions';\nimport { PageMetadataHelper } from 'libs/shared/utils/PageMetadataHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoSortHelper } from 'libs/shared/utils/VideoSortHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { SeriesNotFoundError } from 'shared/errors/series/series-not-found/SeriesNotFoundError';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\nimport { useVideoActions, VideoActionsLocation } from 'shared/hooks/use-video-actions/useVideoActions';\nimport { useDeepLinks } from 'shared/hooks/useDeepLinks';\nimport { useLiteFavourites } from 'shared/hooks/useLiteFavourites';\nimport { usePresentation } from 'shared/hooks/usePresentation';\nimport { usePresentationAudiences } from 'shared/hooks/usePresentationAudiences';\nimport { useVideoMixin } from 'shared/hooks/useVideoMixin';\nimport { InteractiveHelpers } from 'shared/utils/InteractiveHelper';\nimport { SeoHelper } from 'shared/utils/SeoHelper';\nimport { VideoAppLinkHelper } from 'shared/utils/VideoAppLinkHelper';\nimport { SeriesViewUtils } from 'shared/views/series/SeriesViewUtils';\n\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst namespace = 'shared.series';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst getFallbackBannerColourClass = (series: Series): string => {\n return BG_COLOUR_CLASS_NAMES[series.name.charCodeAt(0) % BG_COLOUR_CLASS_NAMES.length];\n};\n\ninterface SeriesViewProps {\n id: string;\n getVideoAppLink: (video: Video, opts: GetVideoAppLinkOptions) => Core.AppLink;\n classificationId?: string;\n shareId?: string;\n moviesAndTv?: boolean;\n sort?: VideoSortType;\n}\n\nexport function SeriesView(props: SeriesViewProps): JSX.Element {\n const dispatch = useDispatch();\n const { setFavourite, canFavourite } = useLiteFavourites(LocationContext.VideoThumbnail);\n const { hasPermissions, hasLocalPermissions } = usePermissions();\n const { isPlugin } = usePluginHelper();\n const { openInCurationStudioLabel, isUserCurator, getOpenInCurationStudioLink } = useCurationStudio();\n\n useDeepLinks({ id: props.id, app: 'series', shareId: props.shareId });\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 const classification = Flight.useBasicFetch<Classification>(\n props.classificationId &&\n ClassificationRequests.classification(props.classificationId, currentUser.data?.id)\n );\n\n const series = Flight.useBasicFetch<Series>(props.shareId\n ? SeriesRequests.sharedSeries(props.id, props.shareId)\n : SeriesRequests.series(props.id));\n\n const presentation = Flight.useBasicFetch<Presentation>(classification.data?.presentationId &&\n ClassificationRequests.presentationById(classification.data.presentationId));\n\n const {\n availablePresentations\n } = usePresentation();\n\n const audiences = usePresentationAudiences();\n\n useSetPageMetadata(PageMetadataHelper.getSeriesMetadata({\n content: series.data,\n phraseContext: {\n phraseHandler: getPhrase,\n titlePhrase: 'pageTitle',\n descriptionPhrase: 'pageDescription'\n },\n canonicalLink: SeoHelper.getCanonicalLink({ stripPresentationSlug: true }),\n allowIndexing: SeoHelper.allowIndexing()\n }));\n\n const videoActions = useVideoActions({ location: VideoActionsLocation.VideoItem, shareId: props.shareId });\n\n const topicPath = Flight.useBasicFetch<Classification[]>(\n props.classificationId &&\n ClassificationRequests.path(props.classificationId)\n );\n\n /**\n * Infinite scrolling will be restricted for public browsing as a crawler/bot.\n * The rationale behind this is that we don't want to preload or allow crawlers\n * to enumerate the entirety of our series collections. Some series have > 10k videos\n * and they don't all need to be indexed (i.e. old news/current affair series).\n * \n * Public browsing by regular users will continue to paginate, along with authenticated\n * users. - Mike\n */\n function shouldFetch(cursor?: string) {\n if (SeoHelper.isBot() && cursor)\n return false;\n\n return true;\n }\n\n function getVideosRequest(cursor?: string) {\n if (!shouldFetch(cursor))\n return null;\n\n return SeriesRequests.seriesVideos(props.id, currentUser.data?.id, sort, cursor);\n }\n\n function fetchNext(cursor?: string) {\n return Flight.getFetch(dispatch)(getVideosRequest(cursor));\n }\n\n function getBannerActions(): ActionOptions[] {\n if (isPlugin || !showHeaderActions) {\n return [];\n }\n\n const actions: ActionOptions[] = [{\n label: getPhrase('share'),\n appLink: series && {\n application: AppChannels.DEFAULT,\n action: Actions.Default.SHARE,\n args: [series.data?.id],\n params: { entityType: 'series' }\n },\n svgName: cvSvgLibrary.Share2,\n className: 'btn btn-outline-dark me-2',\n button: true\n }];\n\n if (isUserCurator)\n actions.push({\n label: openInCurationStudioLabel,\n href: getOpenInCurationStudioLink(series.data?.typeId, series.data?.id),\n openInNewTab: true\n });\n\n return actions;\n }\n\n // Must be before the video fetching, as the getVideosRequest has a closure over the sort\n const sort = !!currentUser.data && VideoSortHelper.getOrSetSortType(\n currentUser.data.id,\n props.sort,\n VideoSortType.Series\n );\n\n const seriesParams = {\n classificationId: props.classificationId,\n mtv: props.moviesAndTv\n };\n\n const {\n items: videos,\n isFetching,\n nextCursor\n } = useInfiniteList<Video>(currentUser.data ? getVideosRequest : false, fetchNext);\n\n useVideoMixin(videos);\n\n useHandleObjectError(series, {\n notFound: SeriesNotFoundError\n });\n\n const showHeaderActions = !hasPermissions(PermissionName.StudentExperience) &&\n hasLocalPermissions(LocalPermissionName.UseSeriesActions);\n\n return (\n <VideoActionsContext.Provider value={videoActions}>\n <div className='px-3'>\n {config.data && series.data\n ? (\n <BannerHeader\n heading={series.data.name}\n banner={series.data.banner}\n imageCdnUrl={config.data.imageCdnUrl}\n actions={getBannerActions()}\n actionsDropdownClassName='btn btn-outline-dark'\n blockColourClass={getFallbackBannerColourClass(series.data)}\n />\n ) : <PartialBannerHeader />\n }\n \n <div>\n <div className={series.data?.description || (props.moviesAndTv && topicPath.data) ? 'border-bottom py-3 mb-3' : 'pt-3 mb-2'}>\n {(() => {\n if (!props.classificationId && !props.moviesAndTv)\n return <></>;\n\n if (!series.data || (props.classificationId && !topicPath.data))\n return <PartialBreadcrumbs />;\n\n return (\n <Breadcrumbs\n breadcrumbs={SeriesViewUtils.getBreadcrumbs({\n moviesAndTv: props.moviesAndTv,\n topicPath: topicPath.data,\n series: series.data,\n presentation: presentation.data,\n availablePresentations: availablePresentations\n })}\n />\n );\n })()}\n\n <div className='d-flex align-items-center'>\n {series.data?.description && (\n <div className={`mb-0 ${props.classificationId ? 'pt-2' : ''}`}>\n <ExpandableText text={series.data.description}/>\n </div>\n )}\n\n {series.data && (\n <div className='ms-auto'>\n <VideoSortSelect\n variant='outline-dark'\n type={sort}\n analyticsOptions={{\n location: LocationContext.VideoListHeader,\n entity: EntityType.Video,\n actionType: UserAction.Sort,\n workflowPhase: WorkflowPhase.Complete\n }}\n getSortAppLink={sort => {\n return SeriesAppLinkHelper.getSeriesAppLink(series.data, { ...seriesParams, sort });\n }}\n />\n </div>\n )}\n </div>\n </div>\n\n {(() => {\n if (!videos)\n return <PartialVideoList />;\n\n return (\n <>\n <VideoList\n videos={videos}\n yearGroups={yearGroups.data}\n getVideoAppLink={props.getVideoAppLink}\n hasPermissions={hasPermissions}\n getSubTextAppLink={video =>\n SeriesAppLinkHelper.getSeriesAppLink(video?.series, { ...seriesParams, sort })}\n setFavourite={setFavourite}\n canFavourite={canFavourite}\n presentationAudiences={props.moviesAndTv ? null : audiences.data}\n getPreviewQuestionsAppLink={interactive => InteractiveHelpers.getPreviewQuestionsAppLink(interactive)}\n isPlugin={isPlugin}\n getClassroomGuideAppLink={VideoAppLinkHelper.getClassroomGuideAppLink}\n getInteractiveGuidanceAppLink={VideoAppLinkHelper.getInteractiveGuidanceAppLink}\n getResourceGuidanceAppLink={VideoAppLinkHelper.getResourceGuidanceAppLink}\n />\n {(isFetching || nextCursor) && shouldFetch(nextCursor) && (\n <InfiniteScrollFooter\n isFetching={isFetching}\n fetchNext={fetchNext}\n nextCursor={nextCursor}\n />\n )}\n </>\n );\n })()}\n </div>\n </div>\n </VideoActionsContext.Provider>\n );\n}\n"],"names":["namespace","ExpandableText","props","text","lines","expanded","setExpanded","containerRef","memoClientHeight","current","clientHeight","scrollHeight","showButton","setShowButton","className","ref","DivButton","onClick","Text","phrase","SeriesNotFoundError","LanguageService","ErrorPageError","getPhrase","SeriesViewUtils","getBreadcrumbs","options","moviesAndTv","topicPath","series","presentation","availablePresentations","name","appLink","application","action","slice","length","forEach","item","push","ClassificationAppLinkHelper","active","breadcrumbs","TopicsHelper","params","presentationId","id","getFallbackBannerColourClass","charCodeAt","SeriesView","dispatch","useLiteFavourites","u","setFavourite","canFavourite","usePermissions","hasPermissions","hasLocalPermissions","isPlugin","usePluginHelper","useCurationStudio","openInCurationStudioLabel","isUserCurator","getOpenInCurationStudioLink","useDeepLinks","app","shareId","config","ConfigRequests","currentUser","UserRequests","yearGroups","data","isAuthenticated","CustomerRequests","customerId","classification","classificationId","ClassificationRequests","SeriesRequests","usePresentation","audiences","usePresentationAudiences","useSetPageMetadata","PageMetadataHelper","content","phraseContext","phraseHandler","titlePhrase","descriptionPhrase","canonicalLink","SeoHelper","stripPresentationSlug","allowIndexing","videoActions","useVideoActions","location","shouldFetch","cursor","getVideosRequest","sort","fetchNext","VideoSortHelper","VideoSortType","seriesParams","mtv","videos","items","isFetching","nextCursor","useVideoMixin","notFound","showHeaderActions","PermissionName","VideoActionsContext","value","BannerHeader","heading","banner","imageCdnUrl","actions","label","args","entityType","svgName","button","href","typeId","openInNewTab","getBannerActions","actionsDropdownClassName","blockColourClass","description","Breadcrumbs","VideoSortSelect","variant","type","analyticsOptions","entity","actionType","workflowPhase","getSortAppLink","SeriesAppLinkHelper","VideoList","getVideoAppLink","getSubTextAppLink","video","presentationAudiences","getPreviewQuestionsAppLink","interactive","InteractiveHelper","getClassroomGuideAppLink","VideoAppLinkHelper","getInteractiveGuidanceAppLink","getResourceGuidanceAppLink","InfiniteScrollFooter","PartialVideoList"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[8982],{49935:(e,t,n)=>{n.d(t,{Oo:()=>u,b2:()=>d});var r=n(32735),a=n(36848),i=n(86764),c=n(3747),l=n(5859),m=n(35223),s=n(83914),o=function(e){var t=e.breadcrumb,n=t.name,i=t.appLink,c=t.active,l=e.withBackIcon;return r.createElement("li",{className:"breadcrumb-item".concat(c?" active":"")},c?r.createElement("strong",null,n):r.createElement(a.F,{appLink:i},l&&r.createElement(s.x,{svgName:m.vn.ChevronLeft,size:s.S.Small}),r.createElement("span",{className:l?"ms-2":""},n)))},u=function(e){var t=e.breadcrumbs,n=(0,c.a)(i.r.XS),a=null==t?void 0:t.length;return!a||n&&a<2?r.createElement(r.Fragment,null):n?r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},r.createElement(o,{breadcrumb:t[a-2],withBackIcon:!0}))):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return r.createElement(o,{key:t,breadcrumb:e})}))))},d=r.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,c.a)(i.r.XS)?r.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},l.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return r.createElement("li",{key:t,className:"breadcrumb-item"},r.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:" "}}))}))))}))},5859:(e,t,n)=>{function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,{u:()=>i});var a={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign(Object.assign({},a),t);return(e=Array(n.numItems),function(e){if(Array.isArray(e))return r(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 r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(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.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*n.maxWidth),n.minWidth),"px")}}))}}},81803:(e,t,n)=>{n.d(t,{d:()=>p});var r=n(32735),a=n(81886),i=n(23481),c=n(49935),l=n(22902),m=n(14070),s=n(97291),o=n(96368);function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var d="settings.settingsLayout",b=function(e){var t=(0,l.T)().hasPermissions,n=(0,o.e)();if(e)return t(e);var r=a.Q.C$.getCurrentAppLink();return r.application!==s.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===r.action}))}))};function p(e){var t,n=b(e.requiredPermissions);if(r.useEffect((function(){n||a.Q.C$.trigger({application:s.O.SETTINGS,action:m.e.Settings.HOME},{replace:!0})}),[n]),!n)return r.createElement(r.Fragment,null);var l,o=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:s.O.SETTINGS,action:m.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return r.createElement("div",{className:"px-3"},r.createElement("div",{className:"d-flex align-items-center justify-content-between"},r.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),r.createElement("div",{className:"pb-3"},r.createElement(c.Oo,{breadcrumbs:[{name:i.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:s.O.SETTINGS,action:m.e.Settings.HOME}}].concat((l=o,function(e){if(Array.isArray(e))return u(e)}(l)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(l)||function(e,t){if(e){if("string"==typeof e)return u(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}(l)||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.")}()))})),e.description&&r.createElement(r.Fragment,null,r.createElement("p",null,e.description),r.createElement("hr",null)),e.children)}},58982:(e,t,n)=>{n.r(t),n.d(t,{SearchSettingsView:()=>v});var r=n(32735),a=n(23481),i=n(20354),c=n(65858),l=n(83345),m=n(83523),s=n(77963),o=n(65728),u=n(39151),d=n(31949),b=n(69883),p=n(37802),f=n(81803),g="settings.searchSettings",h=a.T.encloseNamespace(g);function v(){var e=i.a.useBasicFetch(u.L.config()),t=i.a.useBasicFetch(d.N.currentUser()),n=(0,p.r)(c.LZ.Settings),a=n.showExchangeSearchResults,v=n.isLoadingSettings,E=n.updateSetting,y=(0,b.Z)();return t.data&&e.data&&!v?r.createElement(f.d,{heading:h("heading"),breadcrumbs:[h("heading")]},r.createElement("div",{className:"w-50"},r.createElement("div",{className:"d-flex justify-content-between"},r.createElement("p",{className:"fw-semibold mb-1"},r.createElement(l.x,{namespace:g,phrase:"label"})),r.createElement(m.Z,{onClick:function(){var e={name:o.E.ShowExchangeSearchResultsUser,value:!a,kind:s.g.Temporary};E(t.data.id,e,(function(){y.success(h("success"))}),(function(){y.error(h("error"))}))},on:a})),r.createElement("p",{className:"mb-2"},r.createElement(l.x,{namespace:g,phrase:"description"})))):r.createElement(r.Fragment,null)}}}]);
|
|
2
|
-
//# sourceMappingURL=8982-63c31685bf-lite.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/8982-63c31685bf-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/utils/PartialLoadingHelper.ts","file:///app/packages/projects/lite/src/apps/settings/components/settings-layout/SettingsLayout.tsx","file:///app/packages/projects/lite/src/apps/settings/views/search-settings/SearchSettingsView.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\nimport { useMediaQuery } from 'libs/shared/hooks/UseMediaQuery';\nimport { PartialLoadingHelper } from 'libs/shared/utils/PartialLoadingHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { SvgContainer, SvgContainerSize } from '../svg-container/SvgContainer';\n\nexport interface Breadcrumb {\n name: string;\n appLink?: Core.AppLink;\n active?: boolean;\n}\n\ninterface BreadcrumbItemProps {\n breadcrumb: Breadcrumb;\n withBackIcon?: boolean;\n}\n\nexport const BreadcrumbItem = ({ breadcrumb: { name, appLink, active }, withBackIcon }: BreadcrumbItemProps) => (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n);\n\ninterface BreadcrumbsProps {\n breadcrumbs: Breadcrumb[];\n}\n\nexport const Breadcrumbs = ({ breadcrumbs }: BreadcrumbsProps) => {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n const length = breadcrumbs?.length;\n\n if (!length || (isMobile && length < 2))\n return <></>;\n\n if (isMobile)\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} withBackIcon />\n </ol>\n </nav>\n );\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {breadcrumbs.map((b, idx) => <BreadcrumbItem key={idx} breadcrumb={b} />)}\n </ol>\n </nav>\n );\n};\n\nexport const PartialBreadcrumbs = React.memo(function({ numItems = 3 }: { numItems?: number; }) {\n const isMobile = useMediaQuery(MediaQueryStrings.XS);\n\n if (isMobile) {\n return (\n <div className='partial-loading-background' style={{ height: '1.3125rem', width: '6rem' }} />\n );\n }\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {PartialLoadingHelper.getPartialLoadingItems({ numItems }).map(({ width }, idx) => (\n <li key={idx} className='breadcrumb-item'>\n <span className='d-inline-block partial-loading-background' style={{ width }} dangerouslySetInnerHTML={{ __html: ' ' }} />\n </li>\n ))}\n </ol>\n </nav>\n );\n});","const DEFAULT_PARTIAL_LOADING_OPTIONS: PartialLoadingOptions = {\n numItems: 5,\n minWidth: 50, // px\n maxWidth: 100 // px\n};\n\nexport interface PartialLoadingOptions {\n numItems?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\ninterface PartialLoadingItem {\n width: string;\n}\n\nexport const PartialLoadingHelper = {\n getPartialLoadingItems(options: PartialLoadingOptions = {}): PartialLoadingItem[] {\n const opts = {\n ...DEFAULT_PARTIAL_LOADING_OPTIONS,\n ...options\n };\n\n const getRandomFilterWidth = () => Math.max(Math.floor(Math.random() * opts.maxWidth), opts.minWidth);\n\n return [...Array(opts.numItems)].map(() => ({ width: `${getRandomFilterWidth()}px` }));\n }\n};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { useGetSettingsGroups } from 'apps/settings/hooks/useGetSettingsGroups';\n\nconst namespace = 'settings.settingsLayout';\n\n/**\n * Checks if the current user has permission to access the settings module\n */\nexport const useCanAccessSettings = (requiredPermissions: PermissionName | PermissionName[]): boolean => {\n const { hasPermissions } = usePermissions();\n const settingsGroups = useGetSettingsGroups();\n\n /**\n * TODO: Update all settings pages to pasas required permissions, because checking the \n * `useGetSettingsGroups()` values clearly doesnt work for settings pages with multiple\n * applinks inside of them. - Sha\n */\n if (requiredPermissions)\n return hasPermissions(requiredPermissions);\n\n const currentRoute = Core.AppLinkHelper.getCurrentAppLink();\n\n /**\n * Allows us to have popups sitting in other locations be used\n * by our settings pages. For example the manage video access popup\n * in the \"videos with restricted access\" page - Sha\n */\n if (currentRoute.application !== AppChannels.SETTINGS)\n return true;\n\n return settingsGroups.some(group => {\n return group.modules.some(settingsModule => {\n if ('appLink' in settingsModule) {\n return settingsModule.appLink.action === currentRoute.action;\n }\n\n return false;\n });\n });\n};\n\ninterface SettingsLayoutProps {\n heading: string;\n breadcrumbs: string[];\n description?: string;\n requiredPermissions?: PermissionName | PermissionName[];\n headingButton?: () => JSX.Element;\n}\n\nexport function SettingsLayout(props: React.PropsWithChildren<SettingsLayoutProps>): JSX.Element {\n const canAccess = useCanAccessSettings(props.requiredPermissions);\n\n React.useEffect(() => {\n if (!canAccess) {\n Core.AppLinkHelper.trigger({\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }, { replace: true });\n }\n }, [canAccess]);\n\n if (!canAccess)\n return <></>;\n\n const breadcrumbs = props.breadcrumbs.map((name, i) => ({\n name,\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n },\n active: i === props.breadcrumbs.length - 1\n }));\n\n return (\n <div className='px-3'>\n <div className='d-flex align-items-center justify-content-between'>\n <h1 className='h2'>{props.heading}</h1>\n {props.headingButton?.()}\n </div>\n <div className='pb-3'>\n <Breadcrumbs\n breadcrumbs={[\n {\n name: LanguageService.getPhrase(namespace, 'settingsBreadcrumb'),\n appLink: {\n application: AppChannels.SETTINGS,\n action: Actions.Settings.HOME\n }\n },\n ...breadcrumbs\n ]}\n />\n </div>\n {props.description &&\n <>\n <p>{props.description}</p>\n <hr />\n </>\n }\n\n {props.children}\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 { LocationContext } from 'libs/analytics/interfaces';\n\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ToggleSwitch } from 'libs/shared/components/toggle-switch/ToggleSwitch';\nimport { SettingKind } from 'libs/shared/enums/SettingKind';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser } from 'libs/shared/interfaces';\n\nimport { SettingsLayout } from 'apps/settings/components/settings-layout/SettingsLayout';\n\nconst namespace = 'settings.searchSettings';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function SearchSettingsView(): React.ReactElement {\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const { showExchangeSearchResults, isLoadingSettings, updateSetting } = useSettings(LocationContext.Settings);\n\n const alerts = useAlerts();\n\n function onToggle() {\n const newSetting = {\n name: SettingName.ShowExchangeSearchResultsUser,\n value: !showExchangeSearchResults,\n kind: SettingKind.Temporary\n };\n\n updateSetting(\n currentUser.data.id,\n newSetting,\n () => {\n alerts.success(getPhrase('success'));\n },\n () => {\n alerts.error(getPhrase('error'));\n }\n );\n }\n\n if (\n !currentUser.data ||\n !config.data ||\n isLoadingSettings\n )\n return <></>;\n\n return (\n <SettingsLayout\n heading={getPhrase('heading')}\n breadcrumbs={[getPhrase('heading')]}\n >\n <div className='w-50'>\n <div className='d-flex justify-content-between'>\n <p className='fw-semibold mb-1'><Text namespace={namespace} phrase='label' /></p>\n \n <ToggleSwitch\n onClick={onToggle}\n on={showExchangeSearchResults}\n />\n </div>\n\n <p className='mb-2'><Text namespace={namespace} phrase='description' /></p>\n </div>\n \n </SettingsLayout>\n );\n}"],"names":["BreadcrumbItem","breadcrumb","name","appLink","active","withBackIcon","className","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","map","b","idx","key","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","DEFAULT_PARTIAL_LOADING_OPTIONS","minWidth","maxWidth","PartialLoadingHelper","getPartialLoadingItems","options","opts","Array","Math","max","floor","random","namespace","useCanAccessSettings","requiredPermissions","hasPermissions","settingsGroups","currentRoute","application","some","group","modules","settingsModule","action","SettingsLayout","props","canAccess","replace","i","heading","headingButton","description","children","getPhrase","SearchSettingsView","config","currentUser","showExchangeSearchResults","isLoadingSettings","updateSetting","alerts","data","phrase","onClick","newSetting","value","kind","id","success","error","on"],"sourceRoot":""}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 9016-0c078a39cb-lite.chunk.js.LICENSE.txt */
|
|
2
|
-
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9016],{9826:(e,t,n)=>{"use strict";n.d(t,{e:()=>f});var r=n(32735),a=n(91967),i=n(86764),c=n(81514),o=n(10038);const l={stickyFooter:"rIUL4",nonStickyFooter:"PuC_F"};function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var u=50;function m(e){var t="justify-content-".concat(e.justify);return r.createElement("div",{className:"py-3 bg-white ".concat(l.stickyFooter)},r.createElement("div",{className:"w-75 mx-auto d-flex ".concat(t)},e.children))}function d(e){var t=(0,c.V)(),n=t===i.r.SM||t===i.r.XS?"w-100":"w-75",a="justify-content-".concat(e.justify);return r.createElement("div",{className:"".concat(n," ").concat(a," ").concat(l.nonStickyFooter," d-flex px-3")},e.children)}function f(e){var t,n,i=function(){return window.innerHeight+window.scrollY>=document.body.offsetHeight-u},c=(t=r.useState(!1),n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,c,o=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(s)throw a}}return o}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(t,n)||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.")}()),l=c[0],f=c[1];r.useEffect((function(){return f(!i())}),[]);var p=a.q.throttle((function(){var e=!i();!l||e?!l&&e&&f(!0):f(!1)}),100);return r.useEffect((function(){return window.addEventListener("scroll",p),function(){return window.removeEventListener("scroll",p)}}),[l,f]),(0,o.H)(p,p,[l,f]),l?r.createElement(m,Object.assign({},e),e.children):r.createElement(d,Object.assign({},e),e.children)}f.defaultProps={justify:"between"}},49602:(e,t,n)=>{"use strict";var r;n.d(t,{b:()=>i}),function(e){e[e.None=0]="None",e[e.AllSubjects=1]="AllSubjects",e[e.AllLevels=2]="AllLevels",e[e.AllSubjectsAndAllLevels=3]="AllSubjectsAndAllLevels"}(r||(r={}));var a=n(25925),i={hasManyPresentationTypes:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=0,n=0;return null==e||e.forEach((function(e){e.type===a.R.Subject?t++:e.type===a.R.Curriculum&&n++})),{hasManySubjectPresentations:t>1,hasManyCurriculumPresentations:n>1}},getBulkPreferencesState:function(e){return e===r.AllSubjectsAndAllLevels?{levels:!0,subjects:!0}:{levels:e===r.AllLevels,subjects:e===r.AllSubjects}},hasBulkSelectedLevels:function(e){return e===r.AllLevels||e===r.AllSubjectsAndAllLevels},hasBulkSelectedTopics:function(e){return e===r.AllSubjects||e===r.AllSubjectsAndAllLevels},getNextBulkState:function(e,t){var n=r.None,a=r.AllSubjects,i=r.AllLevels,c=r.AllSubjectsAndAllLevels,o="topics"===t;switch(e){case n:default:return o?a:i;case a:return o?n:c;case i:return o?c:n;case c:return o?i:a}}}},49935:(e,t,n)=>{"use strict";n.d(t,{Oo:()=>m,b2:()=>d});var r=n(32735),a=n(36848),i=n(86764),c=n(3747),o=n(5859),l=n(35223),s=n(83914),u=function(e){var t=e.breadcrumb,n=t.name,i=t.appLink,c=t.active,o=e.withBackIcon;return r.createElement("li",{className:"breadcrumb-item".concat(c?" active":"")},c?r.createElement("strong",null,n):r.createElement(a.F,{appLink:i},o&&r.createElement(s.x,{svgName:l.vn.ChevronLeft,size:s.S.Small}),r.createElement("span",{className:o?"ms-2":""},n)))},m=function(e){var t=e.breadcrumbs,n=(0,c.a)(i.r.XS),a=null==t?void 0:t.length;return!a||n&&a<2?r.createElement(r.Fragment,null):n?r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},r.createElement(u,{breadcrumb:t[a-2],withBackIcon:!0}))):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},t.map((function(e,t){return r.createElement(u,{key:t,breadcrumb:e})}))))},d=r.memo((function(e){var t=e.numItems,n=void 0===t?3:t;return(0,c.a)(i.r.XS)?r.createElement("div",{className:"partial-loading-background",style:{height:"1.3125rem",width:"6rem"}}):r.createElement("nav",{"aria-label":"breadcrumb"},r.createElement("ol",{className:"breadcrumb m-0 p-0"},o.u.getPartialLoadingItems({numItems:n}).map((function(e,t){var n=e.width;return r.createElement("li",{key:t,className:"breadcrumb-item"},r.createElement("span",{className:"d-inline-block partial-loading-background",style:{width:n},dangerouslySetInnerHTML:{__html:" "}}))}))))}))},38502:(e,t,n)=>{"use strict";n.d(t,{r:()=>m});var r=n(32735),a=n(49985),i=n(36848),c=n(18559),o=n(11607),l=n(83914),s=n(87432);function u(e){return r.createElement(r.Fragment,null,!!e.tab.svgName&&r.createElement("div",{className:e.tab.name?"pe-1":""},r.createElement(l.x,{svgName:e.tab.svgName})),e.tab.name,"number"==typeof e.tab.count&&r.createElement("div",{className:"ps-2"},r.createElement(c.C,{type:c.g.Count,data:e.tab.count})))}function m(e){var t;return r.createElement("nav",{className:null!==(t=e.className)&&void 0!==t?t:"",ref:e.containerRef},r.createElement("ul",{className:"\n list-unstyled d-inline-block m-0 ".concat(s.Z.pillTabSelector,"\n ").concat(e.borderRadius?s.Z.radiusSmall:"","\n ").concat(e.listClassName,"\n ")},e.tabs.map((function(e,t){return r.createElement("li",{className:"\n p-0 ".concat(s.Z.tab," ").concat(e.active?"btn btn-dark":"btn btn-outline-dark","\n ").concat(e.name?s.Z.minWidth:""," ").concat(e.className,"\n "),key:t},e.appLink?r.createElement(i.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(s.Z.tabLink,"\n ")},r.createElement(u,{tab:e})):r.createElement(o.L,{className:"\n cursor-pointer d-flex align-items-center justify-content-center\n text-decoration-none text-reset p-2 text-nowrap ".concat(s.Z.tabLink,"\n "),onClick:function(){return function(e){!e.active&&e.onSelect&&(e.onSelect(),e.analyticsData&&e.analyticsOptions&&a.k.logUserAction(e.analyticsData,e.analyticsOptions))}(e)}},r.createElement(u,{tab:e})))}))))}m.defaultProps={borderRadius:"lg"}},81514:(e,t,n)=>{"use strict";n.d(t,{V:()=>i});var r=n(86764),a=n(3747);function i(){var e=(0,a.a)(r.r.XS),t=(0,a.a)(r.r.SM),n=(0,a.a)(r.r.MD),i=(0,a.a)(r.r.LG),c=(0,a.a)(r.r.XL),o=(0,a.a)(r.r.XXL),l=r.r.LG;return e&&(l=r.r.XS),t&&(l=r.r.SM),n&&(l=r.r.MD),i&&(l=r.r.LG),c&&(l=r.r.XL),o&&(l=r.r.XXL),l}},5859:(e,t,n)=>{"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}n.d(t,{u:()=>i});var a={numItems:5,minWidth:50,maxWidth:100},i={getPartialLoadingItems:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign(Object.assign({},a),t);return(e=Array(n.numItems),function(e){if(Array.isArray(e))return r(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 r(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(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.")}()).map((function(){return{width:"".concat(Math.max(Math.floor(Math.random()*n.maxWidth),n.minWidth),"px")}}))}}},69454:(e,t,n)=>{"use strict";n.d(t,{T:()=>d});var r=n(75896),a=n(1048),i=n(55171);function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,c,o=[],l=!0,s=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);l=!0);}catch(e){s=!0,a=e}finally{try{if(!l&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(s)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e,t)||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.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var l=/\d/,s={yearsAndGradesBuilder:function(e){var t=e.map((function(e){return e.name})).join(" "),n=t.split(" ").filter((function(e){return!isNaN(+e)})).map((function(e){return+e}))||[],r=t.split(" ").filter((function(e){return isNaN(+e)}))||[],a=e.find((function(e){return!l.test(e.name)})),i=r.find((function(e){return e!==(null==a?void 0:a.name)}));if(e.length>1&&(i+="s"),a&&n.length)return"".concat(i," ").concat(a.name.charAt(0)," - ").concat(n.pop());var c=function(e){var t,n,r,a,i=!1,c=[];for(e=e.sort((function(e,t){return e-t})),r=0;r<e.length;r++)a=r+1,i||(t=e[r]),n=e[a],e[r]+1===n?i=!0:i?(c.push("".concat(t," - ").concat(e[r])),i=!1):(c.push("".concat(e[r])),i=!1);return c}(n);return"".concat(i," ").concat(c.join(", "))},internationalSecondaryBuilder:function(e){return s.englandSecondaryBuilder(e)},scotlandPrimaryBuilder:function(e){var t=r.m.first(e),n=r.m.last(e),a=c(t.name.split(" "),1)[0],i=c(n.name.split(" "),1)[0];return"First"===a&&(a="1st"),"First"===i&&(i="1st"),"Second"===a&&(a="2nd"),"Second"===i&&(i="2nd"),a===i?"".concat(a," Level"):"".concat(a," - ").concat(i," Level")},internationalPrimaryBuilder:function(e){var t=r.m.first(e),n=r.m.last(e);if(t.name===n.name)return t.name;var a=c(t.name.split(" "),1)[0],i=c(n.name.split(" "),1)[0];return"Lower"===a&&(a="Low"),"Lower"===i&&(i="Low"),"Middle"===a&&(a="Mid"),"Middle"===i&&(i="Mid"),"".concat(a," - ").concat(i," Pri")},englandSecondaryBuilder:function(e){var t=r.m.first(e),n=r.m.last(e);return t.name===n.name?t.name:"Advanced"===n.name?"lower"===c(t.name.split(" "),1)[0].toLowerCase()?"Lower Sec - Adv":"Upper Sec - Adv":"Lower - Upper Sec"},scotlandSecondaryBuilder:function(e){var t=r.m.first(e),n=r.m.last(e);return t.name===n.name?t.name:"Senior Phase"===n.name?"".concat(t.name," - Senior"):"Third - Fourth Level"},englandPrimaryBuilder:function(e){var t=r.m.first(e),n=r.m.last(e),a=r.m.first(t.name.split(" ")),i=r.m.first(n.name.split(" ")),c=t.name.split(" ").find((function(e){return!isNaN(+e)})),o=n.name.split(" ").find((function(e){return!isNaN(+e)}));if(t===n)return"Key"===a||"Reception"===a?t.name:"".concat(a," KS").concat(c);var l="",s="";return l="Reception"===a?"R":"KS".concat(c),s="KS".concat(o),"Lower"===a&&"Upper"===i?"L ".concat(l," - U ").concat(s):("Lower"===a&&(l="Lower ".concat(l)),"Upper"===i&&(s="Upper ".concat(s)),"Key"===i&&(s=n.name),"".concat(l," - ").concat(s))}},u=/([0-9]+)/gi,m=/\s|\+/gi,d={getSortedPresentationAudiences:function(e,t){var n=e.filter((function(e){return!!e})).map((function(e){return e.id.toString()}));return t.filter((function(e){return n.includes(e.masterId.toString())}))},getMergedPresentationAudienceString:function(e){var t="";switch(+r.m.first(e).presentationId){case i.e.PresentationIds.DEFAULT:case i.e.PresentationIds.AU_SECONDARY:case i.e.PresentationIds.US_ELEMENTARY:case i.e.PresentationIds.AU_PRIMARY:case i.e.PresentationIds.STREAMABLE_LEARNING:if(1===e.length)return e[0];t=s.yearsAndGradesBuilder(e);break;case i.e.PresentationIds.INTERNATIONAL_SECONDARY:if(1===e.length)return e[0];t=s.internationalSecondaryBuilder(e);break;case i.e.PresentationIds.INTERNATIONAL_PRIMARY:t=s.internationalPrimaryBuilder(e);break;case i.e.PresentationIds.SCOTLAND_PRIMARY:t=s.scotlandPrimaryBuilder(e);break;case i.e.PresentationIds.ENGLISH_SECONDARY:t=s.englandSecondaryBuilder(e);break;case i.e.PresentationIds.SCOTLAND_SECONDARY:t=s.scotlandSecondaryBuilder(e);break;case i.e.PresentationIds.ENGLAND_PRIMARY:t=s.englandPrimaryBuilder(e);case i.e.PresentationIds.US_MIDDLE:case i.e.PresentationIds.US_HIGH:}return t?{name:t}:null},sortMembersWithDuplicateNamesByAudience:function(e){var t=function(e){return e.length?(e.forEach((function(e){var a=+r.m.first(e.name.match(u));if(!t)return t=e,void(n=a);a<n&&(t=e)})),t):null;var t,n},n={},a=[];return e.forEach((function(e){if(!n[e.name])return n[e.name]=1,void a.push(e);a.push(e),n[e.name]++;var r=a.splice(a.length-n[e.name]).sort((function(e,n){var r=t(e.subjectPresentationAudiences.data),a=t(n.subjectPresentationAudiences.data);if(!r&&a)return 1;if(!a)return-1;var i=r.name.localeCompare(a.name);return 0===i?i:i>0?-1:1}));a=a.concat(r)})),a},getActiveAudiencesFromParams:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(a.t.isObject(t)&&!a.t.isEmpty(t)&&e&&e.length&&d.shouldShowAudiences(e)){var n=t.a;if(n){"string"==typeof n&&(n=[n]);var r=function(e){return e.replace(m,"").toLowerCase()},i=n.reduce((function(e,t){return e[r(t)]=t,e}),{});return e.filter((function(e){return i[r(e.name)]}))}}},getAudienceParams:function(e){return(null==e?void 0:e.length)?{a:e.map((function(e){return e.name}))}:null},shouldShowAudiences:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return!!e&&e.length>1}}},71164:(e,t,n)=>{"use strict";n.d(t,{T:()=>v});var r=n(32735),a=n(23481),i=n(81886),c=n(38502),o=n(75795),l=n(69454),s=n(14070),u=n(97291),m=n(81803),d=n(4312);const f={tabs:"oHDjZ"};var p=a.T.encloseNamespace("settings.preferencesLayout");function v(e){var t,n=null===(t=o.O.getCurrentRoute())||void 0===t?void 0:t.appLink,a=function(e){return e===(null==n?void 0:n.action)},v=function(e){i.Q.C$.trigger({application:u.O.SETTINGS,action:e})};function b(){var t=[{name:p("topics"),active:a(s.e.Settings.TOPIC_PREFERENCES),onSelect:function(){return v(s.e.Settings.TOPIC_PREFERENCES)}}];l.T.shouldShowAudiences(e.audiences)&&t.push({name:p("yearGroups"),active:a(s.e.Settings.AUDIENCE_PREFERENCES),onSelect:function(){return v(s.e.Settings.AUDIENCE_PREFERENCES)}});var n=d.b.hasManyPresentationTypes(e.availablePresentations),r=n.hasManyCurriculumPresentations,i=n.hasManySubjectPresentations;return r&&t.push({name:p("curriculum"),active:a(s.e.Settings.CURRICULUM),onSelect:function(){return v(s.e.Settings.CURRICULUM)}}),i&&t.push({name:p("schoolLevel"),active:a(s.e.Settings.SCHOOL_LEVEL),onSelect:function(){return v(s.e.Settings.SCHOOL_LEVEL)}}),t}var g=b();return r.createElement(m.d,{heading:p("heading"),breadcrumbs:[p("breadcrumb")]},g.length>1&&r.createElement(c.r,{tabs:b(),className:f.tabs}),e.children)}},81803:(e,t,n)=>{"use strict";n.d(t,{d:()=>p});var r=n(32735),a=n(81886),i=n(23481),c=n(49935),o=n(22902),l=n(14070),s=n(97291),u=n(96368);function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}var d="settings.settingsLayout",f=function(e){var t=(0,o.T)().hasPermissions,n=(0,u.e)();if(e)return t(e);var r=a.Q.C$.getCurrentAppLink();return r.application!==s.O.SETTINGS||n.some((function(e){return e.modules.some((function(e){return"appLink"in e&&e.appLink.action===r.action}))}))};function p(e){var t,n=f(e.requiredPermissions);if(r.useEffect((function(){n||a.Q.C$.trigger({application:s.O.SETTINGS,action:l.e.Settings.HOME},{replace:!0})}),[n]),!n)return r.createElement(r.Fragment,null);var o,u=e.breadcrumbs.map((function(t,n){return{name:t,appLink:{application:s.O.SETTINGS,action:l.e.Settings.HOME},active:n===e.breadcrumbs.length-1}}));return r.createElement("div",{className:"px-3"},r.createElement("div",{className:"d-flex align-items-center justify-content-between"},r.createElement("h1",{className:"h2"},e.heading),null===(t=e.headingButton)||void 0===t?void 0:t.call(e)),r.createElement("div",{className:"pb-3"},r.createElement(c.Oo,{breadcrumbs:[{name:i.T.getPhrase(d,"settingsBreadcrumb"),appLink:{application:s.O.SETTINGS,action:l.e.Settings.HOME}}].concat((o=u,function(e){if(Array.isArray(e))return m(e)}(o)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(o)||function(e,t){if(e){if("string"==typeof e)return m(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?m(e,t):void 0}}(o)||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.")}()))})),e.description&&r.createElement(r.Fragment,null,r.createElement("p",null,e.description),r.createElement("hr",null)),e.children)}},4312:(e,t,n)=>{"use strict";n.d(t,{b:()=>b});var r=n(32735),a=n(49189),i=n.n(a),c=n(81886),o=n(49602),l=n(89961),s=n(14070),u=n(97291),m=n(80247),d=n(83345),f=n(99742);var p="subjects.onboardingLoader";function v(e){return r.useEffect((function(){window.setTimeout(e.onDone,2500)}),[]),r.createElement("div",{className:"d-flex flex-column align-items-center"},r.createElement("div",{className:"py-3"},r.createElement(m.Z,{as:"span",animation:"border",role:"status",className:"SVq72"})),r.createElement("h2",{className:"iS5ZE"},r.createElement(d.x,{namespace:p,phrase:"heading"})),r.createElement("p",{className:"mb-0 pb-4 text-center ".concat("JaUIN")},r.createElement(d.x,{namespace:p,phrase:"info"})),r.createElement("div",{className:"drop-shadow mb-n5"},r.createElement("img",{src:f.W.Onboarding.LOADER,alt:"",role:"presentation",className:"img-fluid"})))}var b=Object.assign(Object.assign({},o.b),{buildAppLink:function(e,t){var n={application:u.O.SUBJECT,action:"welcome"===e?s.e.Subjects.ONBOARDING_WELCOME:"school-level"===e?s.e.Subjects.ONBOARDING_TOPIC_PRESENTATION:"curriculum"===e?s.e.Subjects.ONBOARDING_CURRICULUM_PRESENTATION:void 0};return t&&(n.params={redirectUrl:t}),n},redirect:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t={application:u.O.SUBJECT,action:s.e.Subjects.ONBOARDING};e&&(t.params={redirectUrl:e}),c.Q.C$.trigger(t,{replace:!0})},onCompleteOnboardingSuccess:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/";i().set("_onboardingComplete",e,{expires:30});var n=function(){return c.Q.Ab.PageLoad(t)};window.setTimeout((function(){l.M.render(r.createElement(v,{onDone:n}),{size:"lg",dialogClassName:"rounded-3",hideButtons:!0,centered:!0,cancelButtonProps:{onClick:n}})}),250)}})},49189:(e,t,n)=>{var r,a,i;void 0===(a="function"==typeof(r=i=function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(e){return e.replace(/(%[0-9A-Z]{2})+/g,decodeURIComponent)}return function n(r){function a(){}function i(t,n,i){if("undefined"!=typeof document){"number"==typeof(i=e({path:"/"},a.defaults,i)).expires&&(i.expires=new Date(1*new Date+864e5*i.expires)),i.expires=i.expires?i.expires.toUTCString():"";try{var c=JSON.stringify(n);/^[\{\[]/.test(c)&&(n=c)}catch(e){}n=r.write?r.write(n,t):encodeURIComponent(String(n)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent).replace(/[\(\)]/g,escape);var o="";for(var l in i)i[l]&&(o+="; "+l,!0!==i[l]&&(o+="="+i[l].split(";")[0]));return document.cookie=t+"="+n+o}}function c(e,n){if("undefined"!=typeof document){for(var a={},i=document.cookie?document.cookie.split("; "):[],c=0;c<i.length;c++){var o=i[c].split("="),l=o.slice(1).join("=");n||'"'!==l.charAt(0)||(l=l.slice(1,-1));try{var s=t(o[0]);if(l=(r.read||r)(l,s)||t(l),n)try{l=JSON.parse(l)}catch(e){}if(a[s]=l,e===s)break}catch(e){}}return e?a[e]:a}}return a.set=i,a.get=function(e){return c(e,!1)},a.getJSON=function(e){return c(e,!0)},a.remove=function(t,n){i(t,"",e(n,{expires:-1}))},a.defaults={},a.withConverter=n,a}((function(){}))})?r.call(t,n,t,e):r)||(e.exports=a),e.exports=i()},87432:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r={pillTabSelector:"Hdi6o",tab:"RvNxr",minWidth:"GHSz9",radiusSmall:"VhJJa",tabLink:"WFyvo"}}}]);
|
|
3
|
-
//# sourceMappingURL=9016-0c078a39cb-lite.chunk.js.map
|