@clickview/lite 0.53.4 → 0.53.6-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/css/{6094-lite-bcd14ea6d2.chunk.css → 1019-lite-bbcf2bff27.chunk.css} +3 -2
- package/dist/css/{1329-lite-be86e46c78.chunk.css → 1329-lite-458183b24f.chunk.css} +2 -2
- package/dist/css/{1838-lite-e6a28b84ed.chunk.css → 1838-lite-981a5e0783.chunk.css} +1 -1
- package/dist/css/{1760-lite-bcd14ea6d2.chunk.css → 2548-lite-bbcf2bff27.chunk.css} +3 -2
- package/dist/css/{3969-lite-29e14c7861.chunk.css → 3969-lite-ed58852d97.chunk.css} +2 -2
- package/dist/css/{422-lite-dace5f41de.chunk.css → 422-lite-b8c1fd1dee.chunk.css} +1 -1
- package/dist/css/{4502-lite-92be6697e7.chunk.css → 4502-lite-eaf1a1113c.chunk.css} +1 -1
- package/dist/css/{5220-lite-9832e2c2fb.chunk.css → 5220-lite-8a8d5d035f.chunk.css} +1 -1
- package/dist/css/{537-lite-56a3fc7e48.chunk.css → 537-lite-4de4c47713.chunk.css} +1 -1
- package/dist/css/{6489-lite-9045df4bb9.chunk.css → 6489-lite-e271aaed2d.chunk.css} +1 -1
- package/dist/css/{6544-lite-d46c2d634c.chunk.css → 6544-lite-319ed51ccc.chunk.css} +1 -1
- package/dist/css/{5549-lite-97ed26d0aa.chunk.css → 6596-lite-bb28584922.chunk.css} +2 -1
- package/dist/css/{841-lite-27b6485cd1.chunk.css → 841-lite-46ef623835.chunk.css} +1 -1
- package/dist/css/{8522-lite-2f2797038e.chunk.css → 8522-lite-f100606ec5.chunk.css} +1 -1
- package/dist/css/{8801-lite-c88eb54bee.chunk.css → 8801-lite-d34200ab29.chunk.css} +2 -2
- package/dist/css/{3640-lite-97ed26d0aa.chunk.css → 9010-lite-bb28584922.chunk.css} +2 -1
- package/dist/languages/en.json +1 -1
- package/dist/scripts/{1760-8d51aa0b08-lite.chunk.js → 1019-8f977b5095-lite.chunk.js} +2 -2
- package/dist/scripts/{1760-8d51aa0b08-lite.chunk.js.map → 1019-8f977b5095-lite.chunk.js.map} +1 -1
- package/dist/scripts/1080-509aa6e738-lite.chunk.js +2 -0
- package/dist/scripts/1080-509aa6e738-lite.chunk.js.map +1 -0
- package/dist/scripts/1169-e64f0dbd67-lite.chunk.js +2 -0
- package/dist/scripts/1169-e64f0dbd67-lite.chunk.js.map +1 -0
- package/dist/scripts/1329-bdbbf6c7fd-lite.chunk.js +3 -0
- package/dist/scripts/1329-bdbbf6c7fd-lite.chunk.js.map +1 -0
- package/dist/scripts/{1379-976d20185f-lite.chunk.js → 1379-ca519ec56b-lite.chunk.js} +3 -3
- package/dist/scripts/{1379-976d20185f-lite.chunk.js.map → 1379-ca519ec56b-lite.chunk.js.map} +1 -1
- package/dist/scripts/1518-4f76dbeee8-lite.chunk.js +2 -0
- package/dist/scripts/1518-4f76dbeee8-lite.chunk.js.map +1 -0
- package/dist/scripts/{1838-87fb96ee2c-lite.chunk.js → 1838-95081e8dea-lite.chunk.js} +1 -1
- package/dist/scripts/{1838-87fb96ee2c-lite.chunk.js.map → 1838-95081e8dea-lite.chunk.js.map} +1 -1
- package/dist/scripts/184-6ce393c251-lite.chunk.js +2 -0
- package/dist/scripts/184-6ce393c251-lite.chunk.js.map +1 -0
- package/dist/scripts/{2004-3005565af0-lite.chunk.js → 2004-e20d72976c-lite.chunk.js} +3 -3
- package/dist/scripts/{2004-3005565af0-lite.chunk.js.map → 2004-e20d72976c-lite.chunk.js.map} +1 -1
- package/dist/scripts/{2094-58390aa60a-lite.chunk.js → 2094-a16bbca3a3-lite.chunk.js} +2 -2
- package/dist/scripts/2094-a16bbca3a3-lite.chunk.js.map +1 -0
- package/dist/scripts/2142-c46ca4050f-lite.chunk.js +2 -0
- package/dist/scripts/2142-c46ca4050f-lite.chunk.js.map +1 -0
- package/dist/scripts/2199-be40da7440-lite.chunk.js +2 -0
- package/dist/scripts/2199-be40da7440-lite.chunk.js.map +1 -0
- package/dist/scripts/2548-c48b8d3e3c-lite.chunk.js +2 -0
- package/dist/scripts/2548-c48b8d3e3c-lite.chunk.js.map +1 -0
- package/dist/scripts/3969-6d7c342d0c-lite.chunk.js +2 -0
- package/dist/scripts/3969-6d7c342d0c-lite.chunk.js.map +1 -0
- package/dist/scripts/3999-317a4538c6-lite.chunk.js +3 -0
- package/dist/scripts/3999-317a4538c6-lite.chunk.js.map +1 -0
- package/dist/scripts/{422-ee640f76c5-lite.chunk.js → 422-a63a7eb901-lite.chunk.js} +1 -1
- package/dist/scripts/{422-ee640f76c5-lite.chunk.js.map → 422-a63a7eb901-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4502-af4903784e-lite.chunk.js → 4502-a7d60fa257-lite.chunk.js} +1 -1
- package/dist/scripts/{4502-af4903784e-lite.chunk.js.map → 4502-a7d60fa257-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4554-c0d7490a46-lite.chunk.js → 4554-b9aa07891f-lite.chunk.js} +2 -2
- package/dist/scripts/4554-b9aa07891f-lite.chunk.js.map +1 -0
- package/dist/scripts/{4591-379f0fe588-lite.chunk.js → 4591-21c0094f28-lite.chunk.js} +2 -2
- package/dist/scripts/{4591-379f0fe588-lite.chunk.js.map → 4591-21c0094f28-lite.chunk.js.map} +1 -1
- package/dist/scripts/{4683-ce52da47d8-lite.chunk.js → 4683-d3afe2dfa8-lite.chunk.js} +2 -2
- package/dist/scripts/4683-d3afe2dfa8-lite.chunk.js.map +1 -0
- package/dist/scripts/5220-291b2243ad-lite.chunk.js +3 -0
- package/dist/scripts/5220-291b2243ad-lite.chunk.js.map +1 -0
- package/dist/scripts/537-6efb9bc099-lite.chunk.js +3 -0
- package/dist/scripts/537-6efb9bc099-lite.chunk.js.map +1 -0
- package/dist/scripts/5660-6711768c20-lite.chunk.js +2 -0
- package/dist/scripts/5660-6711768c20-lite.chunk.js.map +1 -0
- package/dist/scripts/5936-e839cb8193-lite.chunk.js +2 -0
- package/dist/scripts/5936-e839cb8193-lite.chunk.js.map +1 -0
- package/dist/scripts/{624-bf0ff6257f-lite.chunk.js → 624-09b51a9d32-lite.chunk.js} +3 -3
- package/dist/scripts/{624-bf0ff6257f-lite.chunk.js.map → 624-09b51a9d32-lite.chunk.js.map} +1 -1
- package/dist/scripts/6450-f16821bf09-lite.chunk.js +2 -0
- package/dist/scripts/6450-f16821bf09-lite.chunk.js.map +1 -0
- package/dist/scripts/6489-c242844567-lite.chunk.js +3 -0
- package/dist/scripts/6489-c242844567-lite.chunk.js.map +1 -0
- package/dist/scripts/6544-07898e3fa3-lite.chunk.js +2 -0
- package/dist/scripts/6544-07898e3fa3-lite.chunk.js.map +1 -0
- package/dist/scripts/6596-848fbf79bb-lite.chunk.js +2 -0
- package/dist/scripts/6596-848fbf79bb-lite.chunk.js.map +1 -0
- package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js → 6741-fe09fea334-lite.chunk.js} +3 -3
- package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js.map → 6741-fe09fea334-lite.chunk.js.map} +1 -1
- package/dist/scripts/6752-0d139a6c9a-lite.chunk.js +2 -0
- package/dist/scripts/6752-0d139a6c9a-lite.chunk.js.map +1 -0
- package/dist/scripts/696-fa78eb455f-lite.chunk.js +2 -0
- package/dist/scripts/696-fa78eb455f-lite.chunk.js.map +1 -0
- package/dist/scripts/{7234-ef6ab1e557-lite.chunk.js → 7234-d15fe07f0e-lite.chunk.js} +2 -2
- package/dist/scripts/{7234-ef6ab1e557-lite.chunk.js.map → 7234-d15fe07f0e-lite.chunk.js.map} +1 -1
- package/dist/scripts/729-594be12089-lite.chunk.js +2 -0
- package/dist/scripts/729-594be12089-lite.chunk.js.map +1 -0
- package/dist/scripts/{7293-3e6ad36a7a-lite.chunk.js → 7293-35871fc150-lite.chunk.js} +2 -2
- package/dist/scripts/7293-35871fc150-lite.chunk.js.map +1 -0
- package/dist/scripts/{8192-e2d9a26cc5-lite.chunk.js → 8192-eb7054ccc6-lite.chunk.js} +2 -2
- package/dist/scripts/{8192-e2d9a26cc5-lite.chunk.js.map → 8192-eb7054ccc6-lite.chunk.js.map} +1 -1
- package/dist/scripts/841-11af1334bf-lite.chunk.js +3 -0
- package/dist/scripts/841-11af1334bf-lite.chunk.js.map +1 -0
- package/dist/scripts/{8522-b4b217640c-lite.chunk.js → 8522-8e9c576bf6-lite.chunk.js} +1 -1
- package/dist/scripts/{8522-b4b217640c-lite.chunk.js.map → 8522-8e9c576bf6-lite.chunk.js.map} +1 -1
- package/dist/scripts/8801-3a7652eb35-lite.chunk.js +2 -0
- package/dist/scripts/8801-3a7652eb35-lite.chunk.js.map +1 -0
- package/dist/scripts/9010-ef7ea501ee-lite.chunk.js +2 -0
- package/dist/scripts/9010-ef7ea501ee-lite.chunk.js.map +1 -0
- package/dist/scripts/9139-22fb64f542-lite.chunk.js +2 -0
- package/dist/scripts/9139-22fb64f542-lite.chunk.js.map +1 -0
- package/dist/scripts/9173-e45847aa35-lite.chunk.js +2 -0
- package/dist/scripts/9173-e45847aa35-lite.chunk.js.map +1 -0
- package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js → 9395-e1a02b01ce-lite.chunk.js} +3 -3
- package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js.map → 9395-e1a02b01ce-lite.chunk.js.map} +1 -1
- package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js → 9478-13da35c4ee-lite.chunk.js} +3 -3
- package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js.map → 9478-13da35c4ee-lite.chunk.js.map} +1 -1
- package/dist/scripts/{953-bf3d621a33-lite.chunk.js → 953-225db845ab-lite.chunk.js} +3 -3
- package/dist/scripts/{953-bf3d621a33-lite.chunk.js.map → 953-225db845ab-lite.chunk.js.map} +1 -1
- package/dist/scripts/{9899-68b030d4e2-lite.chunk.js → 9899-fa58471776-lite.chunk.js} +2 -2
- package/dist/scripts/{9899-68b030d4e2-lite.chunk.js.map → 9899-fa58471776-lite.chunk.js.map} +1 -1
- package/dist/scripts/bundle-7f9a9b650d.min.js +3 -0
- package/dist/scripts/bundle-7f9a9b650d.min.js.map +1 -0
- package/package.json +1 -1
- package/dist/scripts/1080-4173ce26bd-lite.chunk.js +0 -2
- package/dist/scripts/1080-4173ce26bd-lite.chunk.js.map +0 -1
- package/dist/scripts/1169-d090f0a147-lite.chunk.js +0 -2
- package/dist/scripts/1169-d090f0a147-lite.chunk.js.map +0 -1
- package/dist/scripts/1329-d48379c043-lite.chunk.js +0 -3
- package/dist/scripts/1329-d48379c043-lite.chunk.js.map +0 -1
- package/dist/scripts/1518-9756fde01e-lite.chunk.js +0 -2
- package/dist/scripts/1518-9756fde01e-lite.chunk.js.map +0 -1
- package/dist/scripts/184-ee581fa2e0-lite.chunk.js +0 -2
- package/dist/scripts/184-ee581fa2e0-lite.chunk.js.map +0 -1
- package/dist/scripts/2094-58390aa60a-lite.chunk.js.map +0 -1
- package/dist/scripts/2199-476ac5922f-lite.chunk.js +0 -2
- package/dist/scripts/2199-476ac5922f-lite.chunk.js.map +0 -1
- package/dist/scripts/3640-1ac0a110f4-lite.chunk.js +0 -2
- package/dist/scripts/3640-1ac0a110f4-lite.chunk.js.map +0 -1
- package/dist/scripts/3969-c0160d0139-lite.chunk.js +0 -2
- package/dist/scripts/3969-c0160d0139-lite.chunk.js.map +0 -1
- package/dist/scripts/4063-786732e7b0-lite.chunk.js +0 -2
- package/dist/scripts/4063-786732e7b0-lite.chunk.js.map +0 -1
- package/dist/scripts/4273-de24896b28-lite.chunk.js +0 -3
- package/dist/scripts/4273-de24896b28-lite.chunk.js.map +0 -1
- package/dist/scripts/4554-c0d7490a46-lite.chunk.js.map +0 -1
- package/dist/scripts/4683-ce52da47d8-lite.chunk.js.map +0 -1
- package/dist/scripts/4850-5ddd277550-lite.chunk.js +0 -2
- package/dist/scripts/4850-5ddd277550-lite.chunk.js.map +0 -1
- package/dist/scripts/5220-85898810a6-lite.chunk.js +0 -3
- package/dist/scripts/5220-85898810a6-lite.chunk.js.map +0 -1
- package/dist/scripts/537-de7445d41a-lite.chunk.js +0 -3
- package/dist/scripts/537-de7445d41a-lite.chunk.js.map +0 -1
- package/dist/scripts/5549-e0ed88aaa1-lite.chunk.js +0 -2
- package/dist/scripts/5549-e0ed88aaa1-lite.chunk.js.map +0 -1
- package/dist/scripts/5660-a356acdbca-lite.chunk.js +0 -2
- package/dist/scripts/5660-a356acdbca-lite.chunk.js.map +0 -1
- package/dist/scripts/5936-92d9cea005-lite.chunk.js +0 -2
- package/dist/scripts/5936-92d9cea005-lite.chunk.js.map +0 -1
- package/dist/scripts/6094-8546003d79-lite.chunk.js +0 -2
- package/dist/scripts/6094-8546003d79-lite.chunk.js.map +0 -1
- package/dist/scripts/6450-601f889072-lite.chunk.js +0 -2
- package/dist/scripts/6450-601f889072-lite.chunk.js.map +0 -1
- package/dist/scripts/6489-532a022587-lite.chunk.js +0 -3
- package/dist/scripts/6489-532a022587-lite.chunk.js.map +0 -1
- package/dist/scripts/6544-ae27efabab-lite.chunk.js +0 -2
- package/dist/scripts/6544-ae27efabab-lite.chunk.js.map +0 -1
- package/dist/scripts/6752-5dddab5e0b-lite.chunk.js +0 -2
- package/dist/scripts/6752-5dddab5e0b-lite.chunk.js.map +0 -1
- package/dist/scripts/6852-9dfd47d085-lite.chunk.js +0 -2
- package/dist/scripts/6852-9dfd47d085-lite.chunk.js.map +0 -1
- package/dist/scripts/7293-3e6ad36a7a-lite.chunk.js.map +0 -1
- package/dist/scripts/841-73ef4ba5ec-lite.chunk.js +0 -3
- package/dist/scripts/841-73ef4ba5ec-lite.chunk.js.map +0 -1
- package/dist/scripts/8801-222a1b2e99-lite.chunk.js +0 -2
- package/dist/scripts/8801-222a1b2e99-lite.chunk.js.map +0 -1
- package/dist/scripts/9139-49023800c6-lite.chunk.js +0 -2
- package/dist/scripts/9139-49023800c6-lite.chunk.js.map +0 -1
- package/dist/scripts/9173-f9708ec0de-lite.chunk.js +0 -2
- package/dist/scripts/9173-f9708ec0de-lite.chunk.js.map +0 -1
- package/dist/scripts/bundle-e72459b30e.min.js +0 -3
- package/dist/scripts/bundle-e72459b30e.min.js.map +0 -1
- /package/dist/css/{4273-lite-a3c7435ba4.chunk.css → 3999-lite-a3c7435ba4.chunk.css} +0 -0
- /package/dist/css/{4063-lite-f72fc7b813.chunk.css → 4860-lite-f72fc7b813.chunk.css} +0 -0
- /package/dist/css/{4850-lite-f72fc7b813.chunk.css → 729-lite-f72fc7b813.chunk.css} +0 -0
- /package/dist/scripts/{1329-d48379c043-lite.chunk.js.LICENSE.txt → 1329-bdbbf6c7fd-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{1379-976d20185f-lite.chunk.js.LICENSE.txt → 1379-ca519ec56b-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{2004-3005565af0-lite.chunk.js.LICENSE.txt → 2004-e20d72976c-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{4273-de24896b28-lite.chunk.js.LICENSE.txt → 3999-317a4538c6-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{5220-85898810a6-lite.chunk.js.LICENSE.txt → 5220-291b2243ad-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{537-de7445d41a-lite.chunk.js.LICENSE.txt → 537-6efb9bc099-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{624-bf0ff6257f-lite.chunk.js.LICENSE.txt → 624-09b51a9d32-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6489-532a022587-lite.chunk.js.LICENSE.txt → 6489-c242844567-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js.LICENSE.txt → 6741-fe09fea334-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{841-73ef4ba5ec-lite.chunk.js.LICENSE.txt → 841-11af1334bf-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js.LICENSE.txt → 9395-e1a02b01ce-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js.LICENSE.txt → 9478-13da35c4ee-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{953-bf3d621a33-lite.chunk.js.LICENSE.txt → 953-225db845ab-lite.chunk.js.LICENSE.txt} +0 -0
- /package/dist/scripts/{bundle-e72459b30e.min.js.LICENSE.txt → bundle-7f9a9b650d.min.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4502],{92869:(e,t,a)=>{a.d(t,{t:()=>c});var n=a(48088),r=a(95846),c={preventScrollTop:function(){n.Radio.channel(r.G.SHELL).trigger("prevent:scroll:top")}}},75097:(e,t,a)=>{a.d(t,{U:()=>c});var n=a(32735),r=a(95245);function c(e){var t=e.count,a=void 0===t?6:t;return n.createElement("div",{className:"d-flex"},n.createElement("div",{className:"d-flex ps-1"},Array(a).fill(null).map((function(e,t){return n.createElement("div",{key:t,className:"".concat(r.Z.partialButton," partial-loading-background mx-1")})}))))}},49935:(e,t,a)=>{a.d(t,{Oo:()=>b,b2:()=>v});var n=a(32735),r=a(23481),c=a(36848),l=a(86764),o=a(3747),i=a(5859),s=a(35223),u=a(83914);function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,c,l,o=[],i=!0,s=!1;try{if(c=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;i=!1}else for(;!(i=(n=c.call(a)).done)&&(o.push(n.value),o.length!==t);i=!0);}catch(e){s=!0,r=e}finally{try{if(!i&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(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)?d(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 d(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}var p=r.T.encloseNamespace("shared.breadcrumbComponent"),f=n.forwardRef((function(e,t){var a=e.breadcrumb,r=a.name,l=a.appLink,o=a.active,i=e.withBackIcon;return n.createElement("li",{className:"breadcrumb-item".concat(o?" active":"")},o?n.createElement("strong",null,r):n.createElement(c.F,{appLink:l,ref:t},i&&n.createElement(u.x,{svgName:s.vn.ChevronLeft,size:u.S.Small}),n.createElement("span",{className:i?"ms-2":""},r)))})),b=function(e){var t=e.breadcrumbs,a=(0,o.a)(l.r.XS),r=(null==t?void 0:t.length)||0,c=m(n.useState(!1),2),i=c[0],s=c[1],u=m(n.useState(!1),2),d=u[0],b=u[1],v=n.useRef();if(n.useEffect((function(){var e,a=null!==(e=null==t?void 0:t.reduce((function(e,t){return e+t.name.length}),0))&&void 0!==e?e:0;r>3&&a>56&&s(!0)}),[null==t?void 0:t.length]),n.useLayoutEffect((function(){var e;d&&(null===(e=v.current)||void 0===e||e.focus())}),[v.current,d]),!r||a&&r<2)return n.createElement(n.Fragment,null);if(a)return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},n.createElement(f,{breadcrumb:t[r-2],withBackIcon:!0})));var g=n.createElement(f,{breadcrumb:t[0]}),y=r>2?n.createElement(f,{breadcrumb:t[r-2]}):n.createElement(n.Fragment,null),E=n.createElement(f,{breadcrumb:t[r-1]}),h=t.slice(1,r-2);return n.createElement("nav",{"aria-label":"breadcrumb"},n.createElement("ol",{className:"breadcrumb m-0 p-0"},g,i?n.createElement("li",{className:"breadcrumb-item"},n.createElement("button",{className:"btn-link",onClick:function(){s(!1),b(!0)},"aria-label":p("expand")},"...")):h.map((function(e,t){return n.createElement(f,{key:t,breadcrumb:e,ref:0===t?v:null})})),y,E))},v=n.memo((function(e){var t=e.numItems,a=void 0===t?3:t;return(0,o.a)(l.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"},i.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:" "}}))}))))}))},37395:(e,t,a)=>{a.d(t,{t:()=>m});var n=a(32735),r=a(98269),c=a(92869),l=a(49985),o=a(65858),i=a(36848),s=a(83345);function u(e,t,a){var n;if(!t)return null;var r=null!==(n=e.params)&&void 0!==n?n:{};return a?(null==r?void 0:r.previous)?{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:null==r?void 0:r.previous,previous:null})}:{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:null,previous:null})}:{application:e.application,action:e.action,args:e.args,params:Object.assign(Object.assign({},r),{cursor:t,previous:r.cursor})}}function m(e){var t=e.appLink,a=e.cursors,m=e.className,d=e.buttonVariant,p=e.prevHack,f=e.scrollTop,b=e.onClick;function v(e){t&&!f&&c.t.preventScrollTop(),l.k.logUserAction({page:e},{location:o.LZ.Pagination,entity:o.py.Pagination,actionType:o.Vw.Navigate}),b&&b(a[e])}return t?n.createElement(s.D.Provider,{value:"shared.pagination"},n.createElement("div",{className:m},n.createElement(i.F,{appLink:u(t,a.previous,p),className:"btn btn-".concat(d," me-1 ").concat(a.previous?"":"disabled"),onClick:function(){return v("previous")},style:{display:"inline-block"}},n.createElement(s.x,{phrase:"previous"})),n.createElement(i.F,{appLink:u(t,a.next),className:"btn btn-".concat(d," ").concat(a.next?"":"disabled"),onClick:function(){return v("next")},style:{display:"inline-block"}},n.createElement(s.x,{phrase:"next"})))):n.createElement(s.D.Provider,{value:"shared.pagination"},n.createElement("div",{className:m},n.createElement(r.Z,{variant:d,className:"me-1 ".concat(a.previous?"":"disabled"),onClick:function(){return v("previous")}},n.createElement(s.x,{phrase:"previous"})),n.createElement(r.Z,{variant:d,className:"btn ".concat(a.next?"":"disabled"),onClick:function(){return v("next")}},n.createElement(s.x,{phrase:"next"}))))}m.defaultProps={className:"py-2",buttonVariant:"secondary"}},81514:(e,t,a)=>{a.d(t,{V:()=>c});var n=a(86764),r=a(3747);function c(){var e=(0,r.a)(n.r.XS),t=(0,r.a)(n.r.SM),a=(0,r.a)(n.r.MD),c=(0,r.a)(n.r.LG),l=(0,r.a)(n.r.XL),o=(0,r.a)(n.r.XXL),i=n.r.LG;return e&&(i=n.r.XS),t&&(i=n.r.SM),a&&(i=n.r.MD),c&&(i=n.r.LG),l&&(i=n.r.XL),o&&(i=n.r.XXL),i}},91286:(e,t,a)=>{a.d(t,{v:()=>l});var n=a(32735),r=a(94644);function c(e){return e.map((function(e){return e.statusCode})).join(":")}function l(e,t,a){var l=Array.isArray(e)?e:[e];(0,n.useEffect)((function(){l.forEach((function(e){(0,r.r)(e.statusCode,t,a)}))}),[c(l),t,a])}},299:(e,t,a)=>{a.d(t,{X:()=>l});var n=a(32735),r=a(69217),c=a(94631),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=t.idField,l=void 0===a?"id":a,o=t.persistNamespace,i=t.initialState?t.initialState:new Map,s=n.useRef(i),u=(0,r.N)(),m=(0,c.D)(e),d=(0,c.D)(o);function p(){s.current.clear(),u()}function f(e){return"number"==typeof e?e=e.toString():"string"!=typeof e&&(e=e[l].toString()),s.current.get(e)}function b(){return!!(null==e?void 0:e.length)&&e.every(f)}function v(e){e.forEach((function(e){s.current.set(e,!0)})),u()}return n.useEffect((function(){t.initialState||o&&d===o||(null==m?void 0:m.map((function(e){return e[l]})).join())!==(null==e?void 0:e.map((function(e){return e[l]})).join())&&p()}),[m,d,e,t.initialState]),n.useEffect((function(){var e;(null===(e=t.preselectedIds)||void 0===e?void 0:e.length)&&v(t.preselectedIds)}),[]),{onToggleBulk:function(){var t=!b();e.forEach((function(e){t?s.current.set(e[l].toString(),!0):s.current.delete(e[l].toString())})),u()},onToggleItem:function(e){var t=!s.current.get(e.toString());t?s.current.set(e.toString(),t):s.current.delete(e.toString()),u()},getSelected:function(){return Array.from(s.current.keys())},isChecked:f,bulkChecked:b(),deselectAll:function(){(null==e?void 0:e.length)&&(e.forEach((function(e){s.current.delete(e[l].toString())})),u())},hasSomeSelections:function(){return!!(null==e?void 0:e.length)&&!!e.find((function(e){return f(e)}))},setSelected:v,getSelectedCount:function(){return s.current.size},reset:p,getMap:function(){return s.current}}}},94631:(e,t,a)=>{a.d(t,{D:()=>r});var n=a(32735);function r(e){var t=n.useRef();return n.useEffect((function(){t.current=e})),t.current}},58418:(e,t,a)=>{a.r(t),a.d(t,{UserAuditLogView:()=>te});var n=a(32735),r=a(23481),c=a(57900),l=a(20354),o=a(75097),i=a(49935);const s={partialHeading:"rfiJl",partialJobCount:"h8k_u",partialCheckbox:"HkuOS",partialExportButton:"Iul7S",row:"mwigG",checkboxColumn:"Z5jLG",actionColumn:"rLxYh",usersColumn:"QZzab",dateColumn:"Wf_Jp",performedByColumn:"Ubtmj",seeMoreColumn:"XdP6u",heading:"kRMMH",action:"DvDvW",users:"goKpg",date:"ejYGb",performedBy:"NhjyL"};function u(){return n.createElement("div",{className:"d-flex striped-row rounded py-3 ".concat(s.row)},n.createElement("div",{className:"".concat(s.checkboxColumn," d-flex justify-content-center")},n.createElement("div",{className:"partial-loading-background ".concat(s.partialCheckbox," ms-0")})),n.createElement("div",{className:"".concat(s.actionColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.action)})),n.createElement("div",{className:"".concat(s.usersColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.users)})),n.createElement("div",{className:"".concat(s.dateColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.date)})),n.createElement("div",{className:"".concat(s.performedByColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.performedBy)})),n.createElement("div",{className:"".concat(s.seeMoreColumn)}," "))}function m(){return n.createElement("div",{className:"d-flex py-2 mb-1"},n.createElement("div",{className:"".concat(s.checkboxColumn)}," "),n.createElement("div",{className:"".concat(s.actionColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.usersColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.dateColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.performedByColumn)},n.createElement("div",{className:"partial-loading-background ".concat(s.heading)})),n.createElement("div",{className:"".concat(s.seeMoreColumn)}," "))}function d(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"mb-3 mt-n1"},n.createElement(m,null),n.createElement("div",{className:"striped-list no-full-width"},n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null),n.createElement(u,null))))}function p(){return n.createElement(n.Fragment,null,n.createElement("div",{className:"partial-loading-background mb-2 ".concat(s.partialHeading)}),n.createElement("div",{className:"pb-3"},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(i.b2,null),n.createElement("div",{className:"partial-loading-background ".concat(s.partialJobCount)}))),n.createElement("div",{className:"d-flex align-items-center pb-2"},n.createElement("div",{className:"partial-loading-background ".concat(s.partialCheckbox)}),n.createElement("div",{className:"ms-4 ps-3"},n.createElement(o.U,{count:3})),n.createElement("div",{className:"ms-auto partial-loading-background ".concat(s.partialExportButton)})),n.createElement(d,null))}var f=a(89422),b=a(89965),v=a(37395),g=a(2102),y=a(83345),E=a(76881),h=a(69883),k=a(299),N=a(75795),S=a(65858),C=a(93659),x=a(97514),w="userManager.userAuditLogFilters";function j(e){var t=[x.x$.SortBy([{id:"newest",name:r.T.getPhrase(w,"newest"),default:!0},{id:"oldest",name:r.T.getPhrase(w,"oldest")}]),x.x$.BulkActionType(),x.x$.UserType()];return n.createElement(C.J,{queryParams:e.queryParams,mainFilters:t,appLink:e.appLinks.auditLog,analyticsOptions:{entity:S.py.BatchJob,location:S.LZ.UserAuditLog},hideHeading:!0,hideDivider:!0,constantIndices:[]})}var L=a(69674),T=a(110),A=a(149),M=a(36848),I=a(89725),O=a(83914),B=a(86794);const P={seeMore:"uymuO"};function R(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}var U="userManager.userAuditLogTable",F=r.T.encloseNamespace(U),J={table:"striped-list no-full-width pb-3",header:"fw-semibold pb-1",headerCell:"px-2 py-1",row:"striped-row rounded audit-log-row",cell:"d-flex align-items-center py-3 px-2"};function D(e){var t,a,r,c,l=(t=e.jobs.data,a=e.isChecked,t.map((function(e){var t=T.O.format(e.dateCreated,"DD/MM/YYYY, hh:mmA");return{id:e.id,checked:a(e.id),actionType:A.b.mapJobTypeToName(e.type),userType:A.b.mapDataTypeToUserType(e.dataType),date:t,performedBy:{name:e.submitterName,submittedByClickView:e.submittedByClickView}}})));return n.createElement(L.i,{columns:(r=e.appLinks.bulkActionSummary,c=e.onToggleCheckbox,[{Header:"",id:"checkboxes",accessor:function(e){return{id:e.id,checked:e.checked}},Cell:function(e){return n.createElement("div",{className:"text-center mx-auto"},n.createElement(b.X,{id:e.value.id,checked:e.value.checked,onChange:function(){return c(e.value.id)}}))},width:10},{Header:F("action"),accessor:"actionType",id:"actionType",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},t)},width:20},{Header:F("users"),accessor:"userType",id:"userType",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},function(){switch(t){case E.Y.Learner:return F("students");case E.Y.Staff:return F("staff");case E.Y.Unknown:default:return F("unknown")}}())},width:10},{Header:F("date"),accessor:"date",id:"date",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},t)},width:20},{Header:F("performedBy"),accessor:"performedBy",id:"performedBy",Cell:function(e){return n.createElement("div",{className:"w-100 d-flex align-items-center"},e.value.submittedByClickView&&n.createElement(B.b,{className:"me-1",size:O.S.Small},n.createElement(I.F,null)),e.value.name)},width:20},{Header:"",accessor:"id",id:"seeMore",Cell:function(e){var t,a,c=e.value;return n.createElement("div",{className:"w-100 d-flex justify-content-end"},n.createElement(M.F,{className:"info-link text-end me-3 ms-auto ".concat(P.seeMore),appLink:Object.assign(Object.assign({},r),{args:(null===(t=r.args)||void 0===t?void 0:t.length)?[].concat((a=r.args,function(e){if(Array.isArray(e))return R(e)}(a)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return R(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)?R(e,t):void 0}}(a)||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.")}()),[c]):[c]})},n.createElement(y.x,{namespace:U,phrase:"seeMore"})))},width:30}]),data:l,theme:J})}var _=a(23232),H="userManager.auditLogEmptyState";function X(e){return n.createElement(_.u,null,n.createElement(_.u.Image,{src:e.imageUrl}),n.createElement(_.u.Heading,null,n.createElement(y.x,{namespace:H,phrase:"heading"})),n.createElement(_.u.Info,null,n.createElement(y.x,{namespace:H,phrase:"info"})))}const Y={bulkCheckbox:"NMw5T"};function G(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}var q="userManager.auditLog",V=r.T.encloseNamespace(q);function Z(e){var t,a,r,l,o=c.SG.get(f.K.AUDIT_LOG_REFERRER_KEY),s=(r=n.useState(!1),l=2,function(e){if(Array.isArray(e))return e}(r)||function(e,t){var a=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var n,r,c,l,o=[],i=!0,s=!1;try{if(c=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;i=!1}else for(;!(i=(n=c.call(a)).done)&&(o.push(n.value),o.length!==t);i=!0);}catch(e){s=!0,r=e}finally{try{if(!i&&null!=a.return&&(l=a.return(),Object(l)!==l))return}finally{if(s)throw r}}return o}}(r,l)||function(e,t){if(e){if("string"==typeof e)return G(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)?G(e,t):void 0}}(r,l)||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.")}()),u=s[0],m=s[1],d=(0,k.X)(e.jobs.data),p=(0,h.Z)();return n.createElement(n.Fragment,null,n.createElement("h1",{className:"h2"},n.createElement(y.x,{namespace:q,phrase:"heading"})),n.createElement("div",{className:"pb-3"},n.createElement("div",{className:"d-flex justify-content-between"},n.createElement(i.Oo,{breadcrumbs:[{name:V("settingsBreadcrumb"),appLink:e.appLinks.settings},{name:V(o===E.Y.Learner?"studentManager":"staffManager"),appLink:e.appLinks.userManager},{name:V("heading"),active:!0}]}),n.createElement("p",{className:"mb-0 fw-semibold"},n.createElement(y.x,{namespace:q,phrase:"totalJobs",options:{showing:e.jobs.data.length,smartCount:e.jobs.count}})))),n.createElement("div",{className:"d-flex align-items-center pb-2"},n.createElement(b.X,{className:Y.bulkCheckbox,id:"bulk-audit-log-checkbox",checked:d.bulkChecked,onChange:d.onToggleBulk,indeterminate:d.hasSomeSelections()}),n.createElement("div",{className:"ms-4 ps-1"},n.createElement(j,{queryParams:e.queryParams,appLinks:e.appLinks})),n.createElement(g.m,{variant:"dark",className:"ms-auto",onClick:function(){if(!u){m(!0);var t=d.getSelected();e.onClickExport(t).then((function(){return p.success(V("exportSuccess"))})).catch((function(){return p.error(V("exportError"))})).finally((function(){return m(!1)}))}},disabled:!d.hasSomeSelections()||u,showSpinner:u},n.createElement(y.x,{namespace:q,phrase:"export"}))),(null===(t=e.jobs.data)||void 0===t?void 0:t.length)?n.createElement(D,{jobs:e.jobs,appLinks:e.appLinks,onToggleCheckbox:d.onToggleItem,isChecked:d.isChecked}):n.createElement(X,{imageUrl:e.emptyStateImageUrl}),!!(null===(a=e.jobs.pagination)||void 0===a?void 0:a.cursors)&&n.createElement(v.t,{className:"p-0 text-end pb-3",cursors:e.jobs.pagination.cursors,appLink:N.O.getCurrentRoute().appLink,buttonVariant:"outline-dark"}))}var K=a(91286),$=a(79612),z=a(99742),W=a(29613),Q=a(18087),ee="userManager.userAuditLogView";function te(e){var t=c.SG.get(f.K.AUDIT_LOG_REFERRER_KEY),a=l.a.useBasicFetch(W.q.getJobs(e.queryParams));(0,K.v)(a),(0,$.M)({title:r.T.getPhrase(ee,"pageTitle")});var o=l.a.useGetFetchAsync(),i=(0,Q.Y)(t);return a.hasCompleted?n.createElement("div",{className:"px-3"},n.createElement(Z,{jobs:a.data,appLinks:i,queryParams:e.queryParams,onClickExport:function(e){return o(W.q.sendJobReports(e))},emptyStateImageUrl:z.W.EmptyStates.Search.RESULTS})):n.createElement("div",{className:"px-3"},n.createElement(p,null))}},29613:(e,t,a)=>{a.d(t,{q:()=>l});var n=a(99940),r=a(97395),c=a(149),l={createJob:function(e,t,a){return{url:"{gateway}/v1/batch/jobs",key:"create:job",type:n.k.POST,data:e,success:t,error:a}},getJobs:function(e){var t={},a=[],n=[];return e.cursor&&(t.cursor=e.cursor),e.sort&&("oldest"===e.sort?t.order="ASC":t.order="DESC"),e.bulkActionType?(a=Array.isArray(e.bulkActionType)?e.bulkActionType:[e.bulkActionType],t.type=a):t.type=c.O,e.userType&&(n=Array.isArray(e.userType)?e.userType:[e.userType],t.dataType=n),{url:r._.urlBuilder("{gateway}/v1/batch/jobs",t),key:"batch:jobs:".concat(e.cursor,":").concat(e.sort,":").concat(a.sort().join(":"),":").concat(n.sort().join(":"))}},getJob:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e),key:"job:".concat(e)}},getJobProgress:function(e,t,a){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/progress"),key:"job:".concat(e,":progress"),invalidationKeys:"job:".concat(e,":progress"),success:t,error:a}},getJobResults:function(e,t,a,n,c){var l={status:t};return a&&(l.cursor=a),{url:r._.urlBuilder("{gateway}/v1/batch/jobs/".concat(e,"/results"),l),key:"job:".concat(e,":results:").concat(t,":").concat(a),success:n,error:c}},getYearGroupRolloverStatus:function(e){return{url:"{gateway}/v1/batch/validations/customers/".concat(e,"/year-group-roll-over"),key:"year:group:rollover:status"}},sendJobReports:function(e){return{url:"{gateway}/v1/batch/results/export",key:"send:job:reports:".concat(e.sort().join(":")),type:n.k.POST,data:{jobIds:e}}},getJobSummary:function(e){return{url:"{gateway}/v1/batch/jobs/".concat(e,"/summary"),key:"job:summary:".concat(e)}}}}}]);
|
|
2
|
-
//# sourceMappingURL=4502-
|
|
2
|
+
//# sourceMappingURL=4502-a7d60fa257-lite.chunk.js.map
|
package/dist/scripts/{4502-af4903784e-lite.chunk.js.map → 4502-a7d60fa257-lite.chunk.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts/4502-af4903784e-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/common/src/backbone/utils/ScrollHelper.ts","file:///app/packages/libs/shared/src/apps/search/components/search-filters/PartialSearchFilters.tsx","file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/pagination/Pagination.tsx","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/libs/shared/src/hooks/useBulkCheckboxManager.ts","file:///app/packages/libs/shared/src/hooks/usePrevious.ts","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/partial-user-audit-log.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/PartialAuditLogTable.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/PartialUserAuditLog.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/user-audit-log-table.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/UserAuditLogTableUtils.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/UserAuditLogTable.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/empty-state/UserAuditLogEmptyState.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/user-audit-log.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/UserAuditLog.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/audit-log/UserAuditLogView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/JobRequests.ts"],"sourcesContent":["import { Radio } from 'backbone';\n\nimport { CommonChannels } from '../constants/CommonChannels';\n\nexport const ScrollHelper = {\n // Will prevent scrolling to the top of the page when applinks are triggered\n preventScrollTop(): void {\n Radio.channel(CommonChannels.SHELL).trigger('prevent:scroll:top');\n }\n};","import * as React from 'react';\n\nimport styles from './search-filters.scss';\n\ninterface PartialSearchFiltersProps {\n count?: number;\n}\n\nexport function PartialSearchFilters({ count = 6 }: PartialSearchFiltersProps): JSX.Element {\n return (\n <div className='d-flex'>\n <div className='d-flex ps-1'>\n {Array(count).fill(null).map((item, index) => (\n <div key={index} className={`${styles.partialButton} partial-loading-background mx-1`} />\n ))}\n </div>\n </div>\n );\n}","import * as 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';\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\nconst namespace = 'shared.breadcrumbComponent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst COLLAPSE_CHARACTER_COUNT = 56;\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 = React.forwardRef((\n props: BreadcrumbItemProps,\n ref: React.ForwardedRef<HTMLElement>\n) => {\n const { breadcrumb: { name, appLink, active }, withBackIcon } = props;\n return (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink} ref={ref}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n );\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 || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n const [ shouldFocus, setShouldFocus ] = React.useState(false);\n const expandRef = React.useRef<HTMLElement>();\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 3 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n /**\n * Focus our first expanded item the first time it appears.\n */\n React.useLayoutEffect(() => {\n if (shouldFocus)\n expandRef.current?.focus();\n }, [ expandRef.current, shouldFocus ]);\n\n function onClickExpand() {\n setCollapse(false);\n setShouldFocus(true);\n }\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 const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} />;\n const secondLast = length > 2 ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} /> : <></>;\n const last = <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} />;\n const rest = breadcrumbs.slice(1, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {collapse ?\n <li className='breadcrumb-item'>\n <button\n className='btn-link'\n onClick={onClickExpand}\n aria-label={getPhrase('expand')}\n >\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => (\n <BreadcrumbItem\n key={idx}\n breadcrumb={breadcrumb}\n ref={idx === 0 ? expandRef : null}\n />\n ))\n }\n {secondLast}\n {last}\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 * as React from 'react';\nimport { Button, ButtonProps } from 'react-bootstrap';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nfunction buildCursor(appLink: Core.AppLink, cursorParam: string, prevHack?: boolean): Core.AppLink {\n if (!cursorParam)\n return null;\n\n const currentParams = appLink.params as HashObject ?? {};\n /* \n Currently the pagination for My Videos shows the previous cursor in the first page cursor,\n so instead of using the previous cursor from the response, the current cursor is being passed\n as the previous cursor in the app link\n */\n\n if (prevHack) {\n if (!currentParams?.previous) {\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: null,\n previous: null\n }\n };\n }\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: currentParams?.previous,\n previous: null\n }\n };\n }\n\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: cursorParam,\n previous: currentParams.cursor\n }\n };\n}\n\ninterface CursorPaginationProps {\n cursors: Cursors;\n appLink?: Core.AppLink;\n className?: string;\n buttonVariant?: ButtonProps['variant'];\n prevHack?: boolean;\n scrollTop?: boolean;\n onClick?: (cursor: string) => void;\n}\n\nPagination.defaultProps = {\n className: 'py-2',\n buttonVariant: 'secondary'\n};\n\nexport function Pagination(\n { appLink, cursors, className, buttonVariant, prevHack, scrollTop, onClick }: CursorPaginationProps\n): JSX.Element {\n function onClickButton(page: 'next' | 'previous'): void {\n if (appLink && !scrollTop)\n ScrollHelper.preventScrollTop();\n\n AnalyticsHelper.logUserAction({ page }, {\n location: LocationContext.Pagination,\n entity: EntityType.Pagination,\n actionType: UserAction.Navigate\n });\n\n if (onClick)\n onClick(cursors[page]);\n }\n\n if (appLink) {\n return (\n <LanguageNamespaceContext.Provider value='shared.pagination'>\n <div className={className}>\n <AppLink\n appLink={buildCursor(appLink, cursors.previous, prevHack)}\n className={`btn btn-${buttonVariant} me-1 ${!cursors.previous ? 'disabled' : ''}`}\n onClick={() => onClickButton('previous')}\n // make sure disabled button and clickable button looks the same\n style={{ display: 'inline-block' }}\n >\n <Text phrase='previous' />\n </AppLink>\n \n <AppLink\n appLink={buildCursor(appLink, cursors.next)}\n className={`btn btn-${buttonVariant} ${!cursors.next ? 'disabled' : ''}`}\n onClick={() => onClickButton('next')}\n // make sure disabled button and clickable button looks the same\n style={{ display: 'inline-block' }}\n >\n <Text phrase='next' />\n </AppLink>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n }\n \n return (\n <LanguageNamespaceContext.Provider value='shared.pagination'>\n <div className={className}>\n <Button\n variant={buttonVariant}\n className={`me-1 ${!cursors.previous ? 'disabled' : ''}`}\n onClick={() => onClickButton('previous')}\n >\n <Text phrase='previous' />\n </Button>\n <Button\n variant={buttonVariant}\n className={`btn ${!cursors.next ? 'disabled' : ''}`}\n onClick={() => onClickButton('next')}\n >\n <Text phrase='next' />\n </Button>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\n\nimport { useMediaQuery } from './UseMediaQuery';\n\n/**\n * @deprecated Please use useBreakpoints() instead\n */\nexport function useGetMediaQueryString(): MediaQueryStrings {\n const isXS = useMediaQuery(MediaQueryStrings.XS);\n const isSM = useMediaQuery(MediaQueryStrings.SM);\n const isMD = useMediaQuery(MediaQueryStrings.MD);\n const isLG = useMediaQuery(MediaQueryStrings.LG);\n const isXL = useMediaQuery(MediaQueryStrings.XL);\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\n\n let currentString = MediaQueryStrings.LG; // default\n if (isXS) currentString = MediaQueryStrings.XS;\n if (isSM) currentString = MediaQueryStrings.SM;\n if (isMD) currentString = MediaQueryStrings.MD;\n if (isLG) currentString = MediaQueryStrings.LG;\n if (isXL) currentString = MediaQueryStrings.XL;\n if (isXXL) currentString = MediaQueryStrings.XXL;\n\n return currentString;\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { useForceUpdate } from 'libs/shared/hooks/useForceUpdate';\nimport { usePrevious } from 'libs/shared/hooks/usePrevious';\n\ntype CheckboxItemsState = Map<string, boolean>;\n\nexport interface BulkCheckboxManager {\n onToggleBulk: () => void;\n onToggleItem: (id: string) => void;\n getSelected: () => string[];\n isChecked: (item: string | number | HashObject<string>) => boolean;\n bulkChecked: boolean;\n deselectAll: () => void;\n hasSomeSelections: () => boolean;\n setSelected: (ids: string[]) => void;\n getSelectedCount: () => number;\n reset: () => void;\n getMap: () => Map<string, boolean>;\n}\n\nexport interface BulkCheckboxManagerOptions {\n idField?: string; // For objects like `PresentationAudiences` that don't use `id` as their identifier field\n persistNamespace?: string;\n preselectedIds?: string[];\n initialState?: CheckboxItemsState;\n}\n\n/**\n * @param collection - The collection you are keeping track of with checkboxes\n * @param options - See interface above\n */\nexport const useBulkCheckboxManager = (collection: HashObject[], options: BulkCheckboxManagerOptions = {}) => {\n const { idField = 'id', persistNamespace } = options;\n\n const initial = options.initialState ? options.initialState : new Map<string, boolean>();\n\n const items = React.useRef<CheckboxItemsState>(initial);\n \n const forceUpdate = useForceUpdate();\n\n const prevCollection = usePrevious(collection);\n const prevNamespace = usePrevious(persistNamespace);\n\n /**\n * This hook will clear the state of this hook when a user navigates between pages\n * if a persistNamespace was not provided\n */\n React.useEffect(() => {\n /**\n * If we're being passed initial state, we don't want to clear the state\n */\n if (options.initialState)\n return;\n\n /**\n * If we've been given a persist namespace, we don't want to clear our\n * selections while the namespace stays the same\n */\n if (persistNamespace && prevNamespace === persistNamespace)\n return;\n\n /**\n * Don't reinitialize if the ids of the new and old collection\n * are identical\n */\n const prevIds = prevCollection?.map(i => i[idField]).join();\n const ids = collection?.map(i => i[idField]).join();\n\n if (prevIds === ids)\n return;\n\n reset();\n }, [ prevCollection, prevNamespace, collection, options.initialState ]);\n\n React.useEffect(() => {\n if (!options.preselectedIds?.length)\n return;\n\n setSelected(options.preselectedIds);\n }, []);\n\n function reset(): void {\n items.current.clear();\n forceUpdate();\n }\n\n // When toggled on, all checkbox items will be enabled. Vice versa if toggled off\n function onToggleBulk(): void {\n const setValue = !isBulkChecked();\n\n collection.forEach(item => {\n if (setValue)\n items.current.set(item[idField].toString(), true);\n else\n items.current.delete(item[idField].toString());\n });\n\n forceUpdate();\n }\n\n // Toggles a single item\n function onToggleItem(id: string): void {\n const nextItemState = !items.current.get(id.toString());\n\n if (nextItemState)\n items.current.set(id.toString(), nextItemState);\n else\n items.current.delete(id.toString());\n \n forceUpdate();\n }\n\n // Returns the state of the item passed in\n function isChecked(item: string | number | HashObject<string>): boolean {\n if (typeof item === 'number')\n item = item.toString();\n else if (typeof item !== 'string')\n item = item[idField].toString();\n\n return items.current.get(item);\n }\n\n function getSelected(): string[] {\n return Array.from(items.current.keys());\n }\n\n function deselectAll(): void {\n if (!collection?.length) return;\n\n collection.forEach(item => {\n items.current.delete(item[idField].toString());\n });\n forceUpdate();\n }\n\n // Returns true if at least 1 item is checked\n function hasSomeSelections(): boolean {\n if (!collection?.length)\n return false;\n\n return !!collection.find(item => isChecked(item));\n }\n\n function isBulkChecked(): boolean {\n if (!collection?.length)\n return false;\n\n return collection.every(isChecked);\n }\n\n function setSelected(ids: string[]): void {\n ids.forEach(id => {\n items.current.set(id, true);\n });\n forceUpdate();\n }\n\n function getSelectedCount(): number {\n return items.current.size;\n }\n\n function getMap(): Map<string, boolean> {\n return items.current;\n }\n\n return {\n onToggleBulk,\n onToggleItem,\n getSelected,\n isChecked,\n bulkChecked: isBulkChecked(),\n deselectAll,\n hasSomeSelections,\n setSelected,\n getSelectedCount,\n reset,\n getMap\n };\n};","import React from 'react';\n\n// https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state\nexport function usePrevious<T>(value: T): T {\n const ref = React.useRef<T>();\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"rfiJl\",\"partialJobCount\":\"h8k_u\",\"partialCheckbox\":\"HkuOS\",\"partialExportButton\":\"Iul7S\",\"row\":\"mwigG\",\"checkboxColumn\":\"Z5jLG\",\"actionColumn\":\"rLxYh\",\"usersColumn\":\"QZzab\",\"dateColumn\":\"Wf_Jp\",\"performedByColumn\":\"Ubtmj\",\"seeMoreColumn\":\"XdP6u\",\"heading\":\"kRMMH\",\"action\":\"DvDvW\",\"users\":\"goKpg\",\"date\":\"ejYGb\",\"performedBy\":\"NhjyL\"};","import React from 'react';\n\nimport styles from './partial-user-audit-log.scss';\n\nfunction PartialRow(): JSX.Element {\n return (\n <div className={`d-flex striped-row rounded py-3 ${styles.row}`}>\n <div className={`${styles.checkboxColumn} d-flex justify-content-center`}>\n <div className={`partial-loading-background ${styles.partialCheckbox} ms-0`} />\n </div>\n <div className={`${styles.actionColumn}`}>\n <div className={`partial-loading-background ${styles.action}`} />\n </div>\n <div className={`${styles.usersColumn}`}>\n <div className={`partial-loading-background ${styles.users}`} />\n </div>\n <div className={`${styles.dateColumn}`}>\n <div className={`partial-loading-background ${styles.date}`} />\n </div>\n <div className={`${styles.performedByColumn}`}>\n <div className={`partial-loading-background ${styles.performedBy}`} />\n </div>\n <div className={`${styles.seeMoreColumn}`}>\n \n </div>\n </div>\n );\n}\n\nfunction PartialHeader(): JSX.Element {\n return (\n <div className='d-flex py-2 mb-1'>\n <div className={`${styles.checkboxColumn}`}>\n \n </div>\n <div className={`${styles.actionColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.usersColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.dateColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.performedByColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.seeMoreColumn}`}>\n \n </div>\n </div>\n );\n}\n\nexport function PartialAuditLogTable(): JSX.Element {\n return (\n <>\n <div className='mb-3 mt-n1'>\n <PartialHeader />\n\n <div className='striped-list no-full-width'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n </>\n );\n}","import React from 'react';\n\nimport { PartialSearchFilters } from 'libs/shared/apps/search/components/search-filters/PartialSearchFilters';\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\n\nimport { PartialAuditLogTable } from './PartialAuditLogTable';\n\nimport styles from './partial-user-audit-log.scss';\n\nexport function PartialUserAuditLog(): JSX.Element {\n return (\n <>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n\n <div className='pb-3'>\n <div className='d-flex justify-content-between'>\n <PartialBreadcrumbs />\n\n <div className={`partial-loading-background ${styles.partialJobCount}`} />\n </div>\n </div>\n\n <div className='d-flex align-items-center pb-2'>\n <div className={`partial-loading-background ${styles.partialCheckbox}`} />\n\n <div className='ms-4 ps-3'>\n <PartialSearchFilters count={3} />\n </div>\n\n <div className={`ms-auto partial-loading-background ${styles.partialExportButton}`} />\n </div>\n\n <PartialAuditLogTable />\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { SearchFilters } from 'libs/shared/apps/search/components/search-filters/SearchFilters';\nimport { FilterOption, SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { Filters } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nconst namespace = 'userManager.userAuditLogFilters';\n\nfunction getSortOptions(): FilterOption[] {\n return [{\n id: 'newest',\n name: LanguageService.getPhrase(namespace, 'newest'),\n default: true\n },\n {\n id: 'oldest',\n name: LanguageService.getPhrase(namespace, 'oldest')\n }];\n}\n\nexport interface UserAuditLogQueryParams {\n cursor: string;\n userType: UserGroup | UserGroup[];\n bulkActionType: BatchJobType | BatchJobType[];\n sort: 'newest' | 'oldest';\n}\n\ninterface UserAuditLogFiltersProps {\n queryParams: UserAuditLogQueryParams;\n appLinks: UserManagerAppLinks;\n}\n\nexport function UserAuditLogFilters(props: UserAuditLogFiltersProps): JSX.Element {\n const filters: SearchFilter<any>[] = [\n Filters.SortBy(getSortOptions()),\n Filters.BulkActionType(),\n Filters.UserType()\n ];\n\n return (\n <SearchFilters\n queryParams={props.queryParams}\n mainFilters={filters}\n appLink={props.appLinks.auditLog}\n analyticsOptions={{\n entity: EntityType.BatchJob,\n location: LocationContext.UserAuditLog\n }}\n hideHeading\n hideDivider\n constantIndices={[]}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"seeMore\":\"uymuO\"};","import React from 'react';\nimport { CellProps, Column } from 'react-table';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { BulkUserActionsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { ClickViewAvatar } from 'libs/shared/components/clickview-avatar/ClickViewAvatar';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgContainer2 } from 'libs/shared/components/svg-container/SvgContainer2';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BatchJob } from 'libs/shared/interfaces';\n\nimport styles from './user-audit-log-table.scss';\n\nconst namespace = 'userManager.userAuditLogTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UserAuditLogTableData {\n id: string;\n checked: boolean;\n actionType: string;\n userType: string;\n date: string;\n performedBy: {\n name: string;\n submittedByClickView: boolean;\n };\n}\n\nexport function getColumns(\n summaryAppLink: Core.AppLink,\n onToggleCheckbox: (id: string) => void\n): Column<UserAuditLogTableData>[] {\n const columns: Column<UserAuditLogTableData>[] = [\n {\n Header: '',\n id: 'checkboxes',\n accessor: (data: UserAuditLogTableData) => ({ id: data.id, checked: data.checked }),\n Cell: (cell: CellProps<UserAuditLogTableData, { id: string; checked: boolean; }>) => (\n <div className='text-center mx-auto'>\n <Checkbox\n id={cell.value.id}\n checked={cell.value.checked}\n onChange={() => onToggleCheckbox(cell.value.id)}\n />\n </div>\n ),\n width: 10\n },\n {\n Header: getPhrase('action'),\n accessor: 'actionType',\n id: 'actionType',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 20\n },\n {\n Header: getPhrase('users'),\n accessor: 'userType',\n id: 'userType',\n Cell: ({ value }) => {\n const getValue = () => {\n switch (value) {\n case UserGroup.Learner:\n return getPhrase('students');\n case UserGroup.Staff:\n return getPhrase('staff');\n case UserGroup.Unknown:\n default:\n return getPhrase('unknown');\n }\n };\n\n return (\n <div className='w-100'>\n {getValue()}\n </div>\n );\n },\n width: 10\n },\n {\n Header: getPhrase('date'),\n accessor: 'date',\n id: 'date',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 20\n },\n {\n Header: getPhrase('performedBy'),\n accessor: 'performedBy',\n id: 'performedBy',\n Cell: (cell: CellProps<any, { name: string; submittedByClickView: boolean; }>) => (\n <div className='w-100 d-flex align-items-center'>\n {cell.value.submittedByClickView && (\n <SvgContainer2 className='me-1' size={SvgContainerSize.Small}>\n <ClickViewAvatar />\n </SvgContainer2>\n )}\n {cell.value.name}\n </div>\n ),\n width: 20\n },\n {\n Header: '',\n accessor: 'id',\n id: 'seeMore',\n Cell: ({ value }) => (\n <div className='w-100 d-flex justify-content-end'>\n <AppLink\n className={`info-link text-end me-3 ms-auto ${styles.seeMore}`}\n appLink={{\n ...summaryAppLink,\n args: summaryAppLink.args?.length ? [ ...summaryAppLink.args, value ] : [value]\n }}\n >\n <Text namespace={namespace} phrase='seeMore' />\n </AppLink>\n </div>\n ),\n width: 30\n }\n ];\n\n return columns;\n}\n\nexport function useGetData(jobs: BatchJob[], isChecked: (id: string) => boolean): UserAuditLogTableData[] {\n return jobs.map(job => {\n const formattedDate = DateHelper.format(job.dateCreated, 'DD/MM/YYYY, hh:mmA');\n\n return {\n id: job.id,\n checked: isChecked(job.id),\n actionType: BulkUserActionsHelper.mapJobTypeToName(job.type),\n userType: BulkUserActionsHelper.mapDataTypeToUserType(job.dataType),\n date: formattedDate,\n performedBy: {\n name: job.submitterName,\n submittedByClickView: job.submittedByClickView\n }\n };\n });\n}","import React from 'react';\n\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { Table, TableTheme } from 'libs/shared/components/table/Table';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\n\nimport { getColumns, useGetData } from './UserAuditLogTableUtils';\n\nconst TABLE_THEME: TableTheme = {\n table: 'striped-list no-full-width pb-3',\n header: 'fw-semibold pb-1',\n headerCell: 'px-2 py-1',\n row: 'striped-row rounded audit-log-row',\n cell: 'd-flex align-items-center py-3 px-2'\n};\n\ninterface UserAuditLogTableProps {\n jobs: BatchJobCollection;\n appLinks: UserManagerAppLinks;\n onToggleCheckbox: (id: string) => void;\n isChecked: (id: string) => boolean;\n}\n\nexport function UserAuditLogTable(props: UserAuditLogTableProps): JSX.Element {\n const data = useGetData(props.jobs.data, props.isChecked);\n\n return (\n <Table\n columns={getColumns(props.appLinks.bulkActionSummary, props.onToggleCheckbox)}\n data={data}\n theme={TABLE_THEME}\n />\n );\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'userManager.auditLogEmptyState';\n\ninterface UserAuditLogEmptyStateProps {\n imageUrl: string;\n}\n\nexport function UserAuditLogEmptyState(props: UserAuditLogEmptyStateProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n </EmptyState>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bulkCheckbox\":\"NMw5T\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\n\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { UserAuditLogFilters, UserAuditLogQueryParams } from './components/audit-log-filters/UserAuditLogFilters';\nimport { UserAuditLogTable } from './components/audit-log-table/UserAuditLogTable';\nimport { UserAuditLogEmptyState } from './empty-state/UserAuditLogEmptyState';\n\nimport styles from './user-audit-log.scss';\n\nconst namespace = 'userManager.auditLog';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UserAuditLogProps {\n jobs: BatchJobCollection;\n appLinks: UserManagerAppLinks;\n queryParams: UserAuditLogQueryParams;\n onClickExport: (ids: string[]) => Promise<void>;\n emptyStateImageUrl: string;\n}\n\nexport function UserAuditLog(props: UserAuditLogProps): JSX.Element {\n const referrer: UserGroup = LocalStorageHelper.get(UserManagerConstants.AUDIT_LOG_REFERRER_KEY);\n\n const [ showExportSpinner, setShowExportSpinner ] = React.useState(false);\n\n const CheckboxHelper = useBulkCheckboxManager(props.jobs.data);\n const alerts = useAlerts();\n\n function onClickExport(): void {\n if (showExportSpinner)\n return;\n\n setShowExportSpinner(true);\n\n const selectedIds = CheckboxHelper.getSelected();\n\n props.onClickExport(selectedIds)\n .then(() => alerts.success(getPhrase('exportSuccess')))\n .catch(() => alerts.error(getPhrase('exportError')))\n .finally(() => setShowExportSpinner(false));\n }\n\n return (\n <>\n <h1 className='h2'><Text namespace={namespace} phrase='heading' /></h1>\n\n <div className='pb-3'>\n <div className='d-flex justify-content-between'>\n <Breadcrumbs\n breadcrumbs={[\n { name: getPhrase('settingsBreadcrumb'), appLink: props.appLinks.settings },\n { name: getPhrase(referrer === UserGroup.Learner ? 'studentManager' : 'staffManager'), appLink: props.appLinks.userManager },\n { name: getPhrase('heading'), active: true }\n ]}\n />\n\n <p className='mb-0 fw-semibold'>\n <Text\n namespace={namespace}\n phrase='totalJobs'\n options={{ showing: props.jobs.data.length, smartCount: props.jobs.count }}\n />\n </p>\n </div>\n </div>\n\n <div className='d-flex align-items-center pb-2'>\n <Checkbox\n className={styles.bulkCheckbox}\n id='bulk-audit-log-checkbox'\n checked={CheckboxHelper.bulkChecked}\n onChange={CheckboxHelper.onToggleBulk}\n indeterminate={CheckboxHelper.hasSomeSelections()}\n />\n\n <div className='ms-4 ps-1'>\n <UserAuditLogFilters queryParams={props.queryParams} appLinks={props.appLinks} />\n </div>\n\n <SpinnerButton\n variant='dark'\n className='ms-auto'\n onClick={onClickExport}\n disabled={!CheckboxHelper.hasSomeSelections() || showExportSpinner}\n showSpinner={showExportSpinner}\n >\n <Text namespace={namespace} phrase='export' />\n </SpinnerButton>\n </div>\n\n {props.jobs.data?.length ? (\n <UserAuditLogTable\n jobs={props.jobs}\n appLinks={props.appLinks}\n onToggleCheckbox={CheckboxHelper.onToggleItem}\n isChecked={CheckboxHelper.isChecked}\n />\n ) : (\n <UserAuditLogEmptyState imageUrl={props.emptyStateImageUrl} />\n )}\n\n {!!props.jobs.pagination?.cursors && (\n <Pagination\n className='p-0 text-end pb-3'\n cursors={props.jobs.pagination.cursors}\n appLink={ContextService.getCurrentRoute().appLink}\n buttonVariant='outline-dark'\n />\n )}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { PartialUserAuditLog } from 'libs/shared/apps/user-manager/components/audit-log/partial-loading/PartialUserAuditLog';\nimport { UserAuditLog } from 'libs/shared/apps/user-manager/components/audit-log/UserAuditLog';\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { JobRequests } from 'shared/flight-requests/JobRequests';\n\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nconst namespace = 'userManager.userAuditLogView';\n\ninterface UserAuditLogViewProps {\n queryParams: UserAuditLogQueryParams;\n}\n\nexport function UserAuditLogView(props: UserAuditLogViewProps): JSX.Element {\n const referrer: UserGroup = LocalStorageHelper.get(UserManagerConstants.AUDIT_LOG_REFERRER_KEY);\n\n const jobs = Flight.useBasicFetch<BatchJobCollection>(JobRequests.getJobs(props.queryParams));\n \n useHandleObjectError(jobs);\n useSetPageMetadata({ title: LanguageService.getPhrase(namespace, 'pageTitle') });\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n const appLinks = getUserManagerAppLinks(referrer);\n\n function onClickExport(jobIds: string[]): Promise<void> {\n return fetchAsync<void>(JobRequests.sendJobReports(jobIds));\n }\n\n if (!jobs.hasCompleted)\n return <div className='px-3'><PartialUserAuditLog /></div>;\n\n return (\n <div className='px-3'>\n <UserAuditLog\n jobs={jobs.data}\n appLinks={appLinks}\n queryParams={props.queryParams}\n onClickExport={onClickExport}\n emptyStateImageUrl={ImageUrls.EmptyStates.Search.RESULTS}\n />\n </div>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { SUPPORTED_BATCH_JOB_TYPES } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BatchJobResultStatus } from 'libs/shared/enums/BatchJobResultStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BaseObject, BatchJob, BatchJobProgress, BatchJobResultsResponse, CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const JobRequests = {\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'create:job',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n\n getJobs(queryParams: UserAuditLogQueryParams): Flight.Request {\n const params: HashObject = {};\n\n let bulkActionTypes: BatchJobType[] = [];\n let userTypes: UserGroup[] = [];\n\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.bulkActionType) {\n bulkActionTypes = Array.isArray(queryParams.bulkActionType)\n ? queryParams.bulkActionType\n : [queryParams.bulkActionType];\n\n params.type = bulkActionTypes;\n } else {\n // only show supported type in the table by default\n params.type = SUPPORTED_BATCH_JOB_TYPES;\n }\n\n if (queryParams.userType) {\n userTypes = Array.isArray(queryParams.userType)\n ? queryParams.userType\n : [queryParams.userType];\n\n params.dataType = userTypes;\n }\n \n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `batch:jobs:${queryParams.cursor}:${queryParams.sort}:${bulkActionTypes.sort().join(':')}:${userTypes.sort().join(':')}`\n };\n },\n\n getJob(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}`,\n key: `job:${id}`\n };\n },\n\n getJobProgress(\n id: string,\n success?: (progress: BatchJobProgress) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/progress`,\n key: `job:${id}:progress`,\n invalidationKeys: `job:${id}:progress`,\n success,\n error\n };\n },\n\n getJobResults<TObject extends BaseObject>(\n id: string,\n status: BatchJobResultStatus,\n cursor?: string,\n success?: (results: BatchJobResultsResponse<TObject>) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n const params: HashObject = {\n status\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/batch/jobs/${id}/results`, params),\n key: `job:${id}:results:${status}:${cursor}`,\n success,\n error\n };\n },\n\n getYearGroupRolloverStatus(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/validations/customers/${customerId}/year-group-roll-over`,\n key: 'year:group:rollover:status'\n };\n },\n\n sendJobReports(ids: string[]): Flight.Request {\n return {\n url: '{gateway}/v1/batch/results/export',\n key: `send:job:reports:${ids.sort().join(':')}`,\n type: HttpVerbs.POST,\n data: {\n jobIds: ids\n }\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n }\n};"],"names":["ScrollHelper","preventScrollTop","Radio","trigger","PartialSearchFilters","count","className","Array","fill","map","item","index","key","getPhrase","BreadcrumbItem","props","ref","breadcrumb","name","appLink","active","withBackIcon","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","collapse","setCollapse","shouldFocus","setShouldFocus","expandRef","characterLength","reduce","prev","next","current","focus","first","secondLast","last","rest","slice","onClick","idx","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","buildCursor","cursorParam","prevHack","currentParams","params","previous","application","action","args","cursor","Pagination","cursors","buttonVariant","scrollTop","onClickButton","page","location","entity","actionType","value","display","phrase","variant","defaultProps","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","generateCacheKey","flightObjs","obj","statusCode","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","isArray","useEffect","forEach","useBulkCheckboxManager","collection","options","idField","persistNamespace","initial","initialState","Map","items","forceUpdate","prevCollection","prevNamespace","reset","clear","isChecked","toString","get","isBulkChecked","every","setSelected","ids","id","set","i","preselectedIds","onToggleBulk","setValue","onToggleItem","nextItemState","getSelected","from","keys","bulkChecked","deselectAll","hasSomeSelections","find","getSelectedCount","getMap","usePrevious","PartialRow","PartialHeader","PartialAuditLogTable","PartialUserAuditLog","namespace","UserAuditLogFilters","filters","LanguageService","default","SearchFilters","queryParams","mainFilters","appLinks","auditLog","analyticsOptions","hideHeading","hideDivider","constantIndices","TABLE_THEME","table","header","headerCell","row","cell","UserAuditLogTable","jobs","summaryAppLink","onToggleCheckbox","data","job","formattedDate","DateHelper","dateCreated","checked","BulkUserActionsHelper","type","userType","dataType","date","performedBy","submitterName","submittedByClickView","Table","columns","bulkActionSummary","Header","accessor","Cell","Checkbox","onChange","UserGroup","getValue","SvgContainer2","SvgContainer","ClickViewAvatar","AppLink","Text","theme","UserAuditLogEmptyState","EmptyState","src","imageUrl","UserAuditLog","referrer","LocalStorageHelper","UserManagerConstants","showExportSpinner","setShowExportSpinner","CheckboxHelper","alerts","settings","userManager","showing","smartCount","indeterminate","SpinnerButton","selectedIds","onClickExport","then","success","error","disabled","showSpinner","emptyStateImageUrl","pagination","ContextService","UserAuditLogView","JobRequests","useSetPageMetadata","title","fetchAsync","hasCompleted","jobIds","ImageUrls","createJob","url","getJobs","bulkActionTypes","userTypes","sort","order","bulkActionType","getJob","getJobProgress","invalidationKeys","getJobResults","status","getYearGroupRolloverStatus","customerId","sendJobReports","getJobSummary"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"scripts/4502-a7d60fa257-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/common/src/backbone/utils/ScrollHelper.ts","file:///app/packages/libs/shared/src/apps/search/components/search-filters/PartialSearchFilters.tsx","file:///app/packages/libs/shared/src/components/breadcrumbs/Breadcrumbs.tsx","file:///app/packages/libs/shared/src/components/pagination/Pagination.tsx","file:///app/packages/libs/shared/src/hooks/UseGetMediaQueryString.ts","file:///app/packages/libs/shared/src/hooks/UseHandleObjectError.ts","file:///app/packages/libs/shared/src/hooks/useBulkCheckboxManager.ts","file:///app/packages/libs/shared/src/hooks/usePrevious.ts","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/partial-user-audit-log.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/PartialAuditLogTable.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/partial-loading/PartialUserAuditLog.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/user-audit-log-table.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/UserAuditLogTableUtils.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/components/audit-log-table/UserAuditLogTable.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/empty-state/UserAuditLogEmptyState.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/user-audit-log.scss","file:///app/packages/libs/shared/src/apps/user-manager/components/audit-log/UserAuditLog.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/audit-log/UserAuditLogView.tsx","file:///app/packages/projects/lite/src/shared/flight-requests/JobRequests.ts"],"sourcesContent":["import { Radio } from 'backbone';\n\nimport { CommonChannels } from '../constants/CommonChannels';\n\nexport const ScrollHelper = {\n // Will prevent scrolling to the top of the page when applinks are triggered\n preventScrollTop(): void {\n Radio.channel(CommonChannels.SHELL).trigger('prevent:scroll:top');\n }\n};","import * as React from 'react';\n\nimport styles from './search-filters.scss';\n\ninterface PartialSearchFiltersProps {\n count?: number;\n}\n\nexport function PartialSearchFilters({ count = 6 }: PartialSearchFiltersProps): JSX.Element {\n return (\n <div className='d-flex'>\n <div className='d-flex ps-1'>\n {Array(count).fill(null).map((item, index) => (\n <div key={index} className={`${styles.partialButton} partial-loading-background mx-1`} />\n ))}\n </div>\n </div>\n );\n}","import * as 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';\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\nconst namespace = 'shared.breadcrumbComponent';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nconst COLLAPSE_CHARACTER_COUNT = 56;\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 = React.forwardRef((\n props: BreadcrumbItemProps,\n ref: React.ForwardedRef<HTMLElement>\n) => {\n const { breadcrumb: { name, appLink, active }, withBackIcon } = props;\n return (\n <li className={`breadcrumb-item${active ? ' active' : ''}`}>\n {active\n ? <strong>{name}</strong>\n : <AppLink appLink={appLink} ref={ref}>\n {withBackIcon && <SvgContainer svgName={cvSvgLibrary.ChevronLeft} size={SvgContainerSize.Small} />}\n <span className={withBackIcon ? 'ms-2' : ''}>{name}</span>\n </AppLink>\n }\n </li>\n );\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 || 0;\n \n const [ collapse, setCollapse ] = React.useState(false);\n const [ shouldFocus, setShouldFocus ] = React.useState(false);\n const expandRef = React.useRef<HTMLElement>();\n\n React.useEffect(() => {\n const characterLength = breadcrumbs?.reduce((prev, next) => prev + next.name.length, 0) ?? 0;\n\n if (length > 3 && characterLength > COLLAPSE_CHARACTER_COUNT)\n setCollapse(true);\n }, [breadcrumbs?.length]);\n\n /**\n * Focus our first expanded item the first time it appears.\n */\n React.useLayoutEffect(() => {\n if (shouldFocus)\n expandRef.current?.focus();\n }, [ expandRef.current, shouldFocus ]);\n\n function onClickExpand() {\n setCollapse(false);\n setShouldFocus(true);\n }\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 const first = <BreadcrumbItem breadcrumb={breadcrumbs[0]} />;\n const secondLast = length > 2 ? <BreadcrumbItem breadcrumb={breadcrumbs[length - 2]} /> : <></>;\n const last = <BreadcrumbItem breadcrumb={breadcrumbs[length - 1]} />;\n const rest = breadcrumbs.slice(1, length - 2);\n\n return (\n <nav aria-label='breadcrumb'>\n <ol className='breadcrumb m-0 p-0'>\n {first}\n {collapse ?\n <li className='breadcrumb-item'>\n <button\n className='btn-link'\n onClick={onClickExpand}\n aria-label={getPhrase('expand')}\n >\n ...\n </button>\n </li> :\n rest.map((breadcrumb, idx) => (\n <BreadcrumbItem\n key={idx}\n breadcrumb={breadcrumb}\n ref={idx === 0 ? expandRef : null}\n />\n ))\n }\n {secondLast}\n {last}\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 * as React from 'react';\nimport { Button, ButtonProps } from 'react-bootstrap';\n\nimport { Cursors } from 'libs/common/backbone/interfaces';\nimport { ScrollHelper } from 'libs/common/backbone/utils/ScrollHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\n\nfunction buildCursor(appLink: Core.AppLink, cursorParam: string, prevHack?: boolean): Core.AppLink {\n if (!cursorParam)\n return null;\n\n const currentParams = appLink.params as HashObject ?? {};\n /* \n Currently the pagination for My Videos shows the previous cursor in the first page cursor,\n so instead of using the previous cursor from the response, the current cursor is being passed\n as the previous cursor in the app link\n */\n\n if (prevHack) {\n if (!currentParams?.previous) {\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: null,\n previous: null\n }\n };\n }\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: currentParams?.previous,\n previous: null\n }\n };\n }\n\n return {\n application: appLink.application,\n action: appLink.action,\n args: appLink.args,\n params: {\n ...currentParams,\n cursor: cursorParam,\n previous: currentParams.cursor\n }\n };\n}\n\ninterface CursorPaginationProps {\n cursors: Cursors;\n appLink?: Core.AppLink;\n className?: string;\n buttonVariant?: ButtonProps['variant'];\n prevHack?: boolean;\n scrollTop?: boolean;\n onClick?: (cursor: string) => void;\n}\n\nPagination.defaultProps = {\n className: 'py-2',\n buttonVariant: 'secondary'\n};\n\nexport function Pagination(\n { appLink, cursors, className, buttonVariant, prevHack, scrollTop, onClick }: CursorPaginationProps\n): JSX.Element {\n function onClickButton(page: 'next' | 'previous'): void {\n if (appLink && !scrollTop)\n ScrollHelper.preventScrollTop();\n\n AnalyticsHelper.logUserAction({ page }, {\n location: LocationContext.Pagination,\n entity: EntityType.Pagination,\n actionType: UserAction.Navigate\n });\n\n if (onClick)\n onClick(cursors[page]);\n }\n\n if (appLink) {\n return (\n <LanguageNamespaceContext.Provider value='shared.pagination'>\n <div className={className}>\n <AppLink\n appLink={buildCursor(appLink, cursors.previous, prevHack)}\n className={`btn btn-${buttonVariant} me-1 ${!cursors.previous ? 'disabled' : ''}`}\n onClick={() => onClickButton('previous')}\n // make sure disabled button and clickable button looks the same\n style={{ display: 'inline-block' }}\n >\n <Text phrase='previous' />\n </AppLink>\n \n <AppLink\n appLink={buildCursor(appLink, cursors.next)}\n className={`btn btn-${buttonVariant} ${!cursors.next ? 'disabled' : ''}`}\n onClick={() => onClickButton('next')}\n // make sure disabled button and clickable button looks the same\n style={{ display: 'inline-block' }}\n >\n <Text phrase='next' />\n </AppLink>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n }\n \n return (\n <LanguageNamespaceContext.Provider value='shared.pagination'>\n <div className={className}>\n <Button\n variant={buttonVariant}\n className={`me-1 ${!cursors.previous ? 'disabled' : ''}`}\n onClick={() => onClickButton('previous')}\n >\n <Text phrase='previous' />\n </Button>\n <Button\n variant={buttonVariant}\n className={`btn ${!cursors.next ? 'disabled' : ''}`}\n onClick={() => onClickButton('next')}\n >\n <Text phrase='next' />\n </Button>\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","import { MediaQueryStrings } from 'libs/shared/enums/MediaQueries';\n\nimport { useMediaQuery } from './UseMediaQuery';\n\n/**\n * @deprecated Please use useBreakpoints() instead\n */\nexport function useGetMediaQueryString(): MediaQueryStrings {\n const isXS = useMediaQuery(MediaQueryStrings.XS);\n const isSM = useMediaQuery(MediaQueryStrings.SM);\n const isMD = useMediaQuery(MediaQueryStrings.MD);\n const isLG = useMediaQuery(MediaQueryStrings.LG);\n const isXL = useMediaQuery(MediaQueryStrings.XL);\n const isXXL = useMediaQuery(MediaQueryStrings.XXL);\n\n let currentString = MediaQueryStrings.LG; // default\n if (isXS) currentString = MediaQueryStrings.XS;\n if (isSM) currentString = MediaQueryStrings.SM;\n if (isMD) currentString = MediaQueryStrings.MD;\n if (isLG) currentString = MediaQueryStrings.LG;\n if (isXL) currentString = MediaQueryStrings.XL;\n if (isXXL) currentString = MediaQueryStrings.XXL;\n\n return currentString;\n}","import { useEffect } from 'react';\n\nimport { Flight } from 'libs/common/flight';\n\nimport { handleHttpError, HttpErrorMap, IgnoreHttpErrorMap } from 'libs/shared/errors/handlers/HttpErrorHandlers';\n\nfunction generateCacheKey(flightObjs: Array<Flight.Response<any>>): string {\n return flightObjs.map(obj => obj.statusCode).join(':');\n}\n\n// TODO: Change this to just `useHandleHttpError` and only accept a status code.\nexport function useHandleObjectError(\n _flightObjs: Flight.Response<any> | Array<Flight.Response<any>>,\n customErrors?: HttpErrorMap,\n ignoreErrors?: IgnoreHttpErrorMap\n): void {\n const flightObjs = Array.isArray(_flightObjs) ? _flightObjs : [_flightObjs];\n\n useEffect(() => {\n flightObjs.forEach(obj => {\n handleHttpError(obj.statusCode, customErrors, ignoreErrors);\n });\n }, [ generateCacheKey(flightObjs), customErrors, ignoreErrors ]);\n}","import React from 'react';\n\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { useForceUpdate } from 'libs/shared/hooks/useForceUpdate';\nimport { usePrevious } from 'libs/shared/hooks/usePrevious';\n\ntype CheckboxItemsState = Map<string, boolean>;\n\nexport interface BulkCheckboxManager {\n onToggleBulk: () => void;\n onToggleItem: (id: string) => void;\n getSelected: () => string[];\n isChecked: (item: string | number | HashObject<string>) => boolean;\n bulkChecked: boolean;\n deselectAll: () => void;\n hasSomeSelections: () => boolean;\n setSelected: (ids: string[]) => void;\n getSelectedCount: () => number;\n reset: () => void;\n getMap: () => Map<string, boolean>;\n}\n\nexport interface BulkCheckboxManagerOptions {\n idField?: string; // For objects like `PresentationAudiences` that don't use `id` as their identifier field\n persistNamespace?: string;\n preselectedIds?: string[];\n initialState?: CheckboxItemsState;\n}\n\n/**\n * @param collection - The collection you are keeping track of with checkboxes\n * @param options - See interface above\n */\nexport const useBulkCheckboxManager = (collection: HashObject[], options: BulkCheckboxManagerOptions = {}) => {\n const { idField = 'id', persistNamespace } = options;\n\n const initial = options.initialState ? options.initialState : new Map<string, boolean>();\n\n const items = React.useRef<CheckboxItemsState>(initial);\n \n const forceUpdate = useForceUpdate();\n\n const prevCollection = usePrevious(collection);\n const prevNamespace = usePrevious(persistNamespace);\n\n /**\n * This hook will clear the state of this hook when a user navigates between pages\n * if a persistNamespace was not provided\n */\n React.useEffect(() => {\n /**\n * If we're being passed initial state, we don't want to clear the state\n */\n if (options.initialState)\n return;\n\n /**\n * If we've been given a persist namespace, we don't want to clear our\n * selections while the namespace stays the same\n */\n if (persistNamespace && prevNamespace === persistNamespace)\n return;\n\n /**\n * Don't reinitialize if the ids of the new and old collection\n * are identical\n */\n const prevIds = prevCollection?.map(i => i[idField]).join();\n const ids = collection?.map(i => i[idField]).join();\n\n if (prevIds === ids)\n return;\n\n reset();\n }, [ prevCollection, prevNamespace, collection, options.initialState ]);\n\n React.useEffect(() => {\n if (!options.preselectedIds?.length)\n return;\n\n setSelected(options.preselectedIds);\n }, []);\n\n function reset(): void {\n items.current.clear();\n forceUpdate();\n }\n\n // When toggled on, all checkbox items will be enabled. Vice versa if toggled off\n function onToggleBulk(): void {\n const setValue = !isBulkChecked();\n\n collection.forEach(item => {\n if (setValue)\n items.current.set(item[idField].toString(), true);\n else\n items.current.delete(item[idField].toString());\n });\n\n forceUpdate();\n }\n\n // Toggles a single item\n function onToggleItem(id: string): void {\n const nextItemState = !items.current.get(id.toString());\n\n if (nextItemState)\n items.current.set(id.toString(), nextItemState);\n else\n items.current.delete(id.toString());\n \n forceUpdate();\n }\n\n // Returns the state of the item passed in\n function isChecked(item: string | number | HashObject<string>): boolean {\n if (typeof item === 'number')\n item = item.toString();\n else if (typeof item !== 'string')\n item = item[idField].toString();\n\n return items.current.get(item);\n }\n\n function getSelected(): string[] {\n return Array.from(items.current.keys());\n }\n\n function deselectAll(): void {\n if (!collection?.length) return;\n\n collection.forEach(item => {\n items.current.delete(item[idField].toString());\n });\n forceUpdate();\n }\n\n // Returns true if at least 1 item is checked\n function hasSomeSelections(): boolean {\n if (!collection?.length)\n return false;\n\n return !!collection.find(item => isChecked(item));\n }\n\n function isBulkChecked(): boolean {\n if (!collection?.length)\n return false;\n\n return collection.every(isChecked);\n }\n\n function setSelected(ids: string[]): void {\n ids.forEach(id => {\n items.current.set(id, true);\n });\n forceUpdate();\n }\n\n function getSelectedCount(): number {\n return items.current.size;\n }\n\n function getMap(): Map<string, boolean> {\n return items.current;\n }\n\n return {\n onToggleBulk,\n onToggleItem,\n getSelected,\n isChecked,\n bulkChecked: isBulkChecked(),\n deselectAll,\n hasSomeSelections,\n setSelected,\n getSelectedCount,\n reset,\n getMap\n };\n};","import React from 'react';\n\n// https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state\nexport function usePrevious<T>(value: T): T {\n const ref = React.useRef<T>();\n React.useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}","// extracted by mini-css-extract-plugin\nexport default {\"partialHeading\":\"rfiJl\",\"partialJobCount\":\"h8k_u\",\"partialCheckbox\":\"HkuOS\",\"partialExportButton\":\"Iul7S\",\"row\":\"mwigG\",\"checkboxColumn\":\"Z5jLG\",\"actionColumn\":\"rLxYh\",\"usersColumn\":\"QZzab\",\"dateColumn\":\"Wf_Jp\",\"performedByColumn\":\"Ubtmj\",\"seeMoreColumn\":\"XdP6u\",\"heading\":\"kRMMH\",\"action\":\"DvDvW\",\"users\":\"goKpg\",\"date\":\"ejYGb\",\"performedBy\":\"NhjyL\"};","import React from 'react';\n\nimport styles from './partial-user-audit-log.scss';\n\nfunction PartialRow(): JSX.Element {\n return (\n <div className={`d-flex striped-row rounded py-3 ${styles.row}`}>\n <div className={`${styles.checkboxColumn} d-flex justify-content-center`}>\n <div className={`partial-loading-background ${styles.partialCheckbox} ms-0`} />\n </div>\n <div className={`${styles.actionColumn}`}>\n <div className={`partial-loading-background ${styles.action}`} />\n </div>\n <div className={`${styles.usersColumn}`}>\n <div className={`partial-loading-background ${styles.users}`} />\n </div>\n <div className={`${styles.dateColumn}`}>\n <div className={`partial-loading-background ${styles.date}`} />\n </div>\n <div className={`${styles.performedByColumn}`}>\n <div className={`partial-loading-background ${styles.performedBy}`} />\n </div>\n <div className={`${styles.seeMoreColumn}`}>\n \n </div>\n </div>\n );\n}\n\nfunction PartialHeader(): JSX.Element {\n return (\n <div className='d-flex py-2 mb-1'>\n <div className={`${styles.checkboxColumn}`}>\n \n </div>\n <div className={`${styles.actionColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.usersColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.dateColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.performedByColumn}`}>\n <div className={`partial-loading-background ${styles.heading}`} />\n </div>\n <div className={`${styles.seeMoreColumn}`}>\n \n </div>\n </div>\n );\n}\n\nexport function PartialAuditLogTable(): JSX.Element {\n return (\n <>\n <div className='mb-3 mt-n1'>\n <PartialHeader />\n\n <div className='striped-list no-full-width'>\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n <PartialRow />\n </div>\n </div>\n </>\n );\n}","import React from 'react';\n\nimport { PartialSearchFilters } from 'libs/shared/apps/search/components/search-filters/PartialSearchFilters';\nimport { PartialBreadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\n\nimport { PartialAuditLogTable } from './PartialAuditLogTable';\n\nimport styles from './partial-user-audit-log.scss';\n\nexport function PartialUserAuditLog(): JSX.Element {\n return (\n <>\n <div className={`partial-loading-background mb-2 ${styles.partialHeading}`} />\n\n <div className='pb-3'>\n <div className='d-flex justify-content-between'>\n <PartialBreadcrumbs />\n\n <div className={`partial-loading-background ${styles.partialJobCount}`} />\n </div>\n </div>\n\n <div className='d-flex align-items-center pb-2'>\n <div className={`partial-loading-background ${styles.partialCheckbox}`} />\n\n <div className='ms-4 ps-3'>\n <PartialSearchFilters count={3} />\n </div>\n\n <div className={`ms-auto partial-loading-background ${styles.partialExportButton}`} />\n </div>\n\n <PartialAuditLogTable />\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EntityType, LocationContext } from 'libs/analytics/interfaces';\n\nimport { SearchFilters } from 'libs/shared/apps/search/components/search-filters/SearchFilters';\nimport { FilterOption, SearchFilter } from 'libs/shared/apps/search/interfaces';\nimport { Filters } from 'libs/shared/apps/search/utils/FilterHelper';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nconst namespace = 'userManager.userAuditLogFilters';\n\nfunction getSortOptions(): FilterOption[] {\n return [{\n id: 'newest',\n name: LanguageService.getPhrase(namespace, 'newest'),\n default: true\n },\n {\n id: 'oldest',\n name: LanguageService.getPhrase(namespace, 'oldest')\n }];\n}\n\nexport interface UserAuditLogQueryParams {\n cursor: string;\n userType: UserGroup | UserGroup[];\n bulkActionType: BatchJobType | BatchJobType[];\n sort: 'newest' | 'oldest';\n}\n\ninterface UserAuditLogFiltersProps {\n queryParams: UserAuditLogQueryParams;\n appLinks: UserManagerAppLinks;\n}\n\nexport function UserAuditLogFilters(props: UserAuditLogFiltersProps): JSX.Element {\n const filters: SearchFilter<any>[] = [\n Filters.SortBy(getSortOptions()),\n Filters.BulkActionType(),\n Filters.UserType()\n ];\n\n return (\n <SearchFilters\n queryParams={props.queryParams}\n mainFilters={filters}\n appLink={props.appLinks.auditLog}\n analyticsOptions={{\n entity: EntityType.BatchJob,\n location: LocationContext.UserAuditLog\n }}\n hideHeading\n hideDivider\n constantIndices={[]}\n />\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"seeMore\":\"uymuO\"};","import React from 'react';\nimport { CellProps, Column } from 'react-table';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { BulkUserActionsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { ClickViewAvatar } from 'libs/shared/components/clickview-avatar/ClickViewAvatar';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { SvgContainer2 } from 'libs/shared/components/svg-container/SvgContainer2';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BatchJob } from 'libs/shared/interfaces';\n\nimport styles from './user-audit-log-table.scss';\n\nconst namespace = 'userManager.userAuditLogTable';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UserAuditLogTableData {\n id: string;\n checked: boolean;\n actionType: string;\n userType: string;\n date: string;\n performedBy: {\n name: string;\n submittedByClickView: boolean;\n };\n}\n\nexport function getColumns(\n summaryAppLink: Core.AppLink,\n onToggleCheckbox: (id: string) => void\n): Column<UserAuditLogTableData>[] {\n const columns: Column<UserAuditLogTableData>[] = [\n {\n Header: '',\n id: 'checkboxes',\n accessor: (data: UserAuditLogTableData) => ({ id: data.id, checked: data.checked }),\n Cell: (cell: CellProps<UserAuditLogTableData, { id: string; checked: boolean; }>) => (\n <div className='text-center mx-auto'>\n <Checkbox\n id={cell.value.id}\n checked={cell.value.checked}\n onChange={() => onToggleCheckbox(cell.value.id)}\n />\n </div>\n ),\n width: 10\n },\n {\n Header: getPhrase('action'),\n accessor: 'actionType',\n id: 'actionType',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 20\n },\n {\n Header: getPhrase('users'),\n accessor: 'userType',\n id: 'userType',\n Cell: ({ value }) => {\n const getValue = () => {\n switch (value) {\n case UserGroup.Learner:\n return getPhrase('students');\n case UserGroup.Staff:\n return getPhrase('staff');\n case UserGroup.Unknown:\n default:\n return getPhrase('unknown');\n }\n };\n\n return (\n <div className='w-100'>\n {getValue()}\n </div>\n );\n },\n width: 10\n },\n {\n Header: getPhrase('date'),\n accessor: 'date',\n id: 'date',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 20\n },\n {\n Header: getPhrase('performedBy'),\n accessor: 'performedBy',\n id: 'performedBy',\n Cell: (cell: CellProps<any, { name: string; submittedByClickView: boolean; }>) => (\n <div className='w-100 d-flex align-items-center'>\n {cell.value.submittedByClickView && (\n <SvgContainer2 className='me-1' size={SvgContainerSize.Small}>\n <ClickViewAvatar />\n </SvgContainer2>\n )}\n {cell.value.name}\n </div>\n ),\n width: 20\n },\n {\n Header: '',\n accessor: 'id',\n id: 'seeMore',\n Cell: ({ value }) => (\n <div className='w-100 d-flex justify-content-end'>\n <AppLink\n className={`info-link text-end me-3 ms-auto ${styles.seeMore}`}\n appLink={{\n ...summaryAppLink,\n args: summaryAppLink.args?.length ? [ ...summaryAppLink.args, value ] : [value]\n }}\n >\n <Text namespace={namespace} phrase='seeMore' />\n </AppLink>\n </div>\n ),\n width: 30\n }\n ];\n\n return columns;\n}\n\nexport function useGetData(jobs: BatchJob[], isChecked: (id: string) => boolean): UserAuditLogTableData[] {\n return jobs.map(job => {\n const formattedDate = DateHelper.format(job.dateCreated, 'DD/MM/YYYY, hh:mmA');\n\n return {\n id: job.id,\n checked: isChecked(job.id),\n actionType: BulkUserActionsHelper.mapJobTypeToName(job.type),\n userType: BulkUserActionsHelper.mapDataTypeToUserType(job.dataType),\n date: formattedDate,\n performedBy: {\n name: job.submitterName,\n submittedByClickView: job.submittedByClickView\n }\n };\n });\n}","import React from 'react';\n\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { Table, TableTheme } from 'libs/shared/components/table/Table';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\n\nimport { getColumns, useGetData } from './UserAuditLogTableUtils';\n\nconst TABLE_THEME: TableTheme = {\n table: 'striped-list no-full-width pb-3',\n header: 'fw-semibold pb-1',\n headerCell: 'px-2 py-1',\n row: 'striped-row rounded audit-log-row',\n cell: 'd-flex align-items-center py-3 px-2'\n};\n\ninterface UserAuditLogTableProps {\n jobs: BatchJobCollection;\n appLinks: UserManagerAppLinks;\n onToggleCheckbox: (id: string) => void;\n isChecked: (id: string) => boolean;\n}\n\nexport function UserAuditLogTable(props: UserAuditLogTableProps): JSX.Element {\n const data = useGetData(props.jobs.data, props.isChecked);\n\n return (\n <Table\n columns={getColumns(props.appLinks.bulkActionSummary, props.onToggleCheckbox)}\n data={data}\n theme={TABLE_THEME}\n />\n );\n}","import React from 'react';\n\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'userManager.auditLogEmptyState';\n\ninterface UserAuditLogEmptyStateProps {\n imageUrl: string;\n}\n\nexport function UserAuditLogEmptyState(props: UserAuditLogEmptyStateProps): JSX.Element {\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Info>\n <Text namespace={namespace} phrase='info' />\n </EmptyState.Info>\n </EmptyState>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"bulkCheckbox\":\"NMw5T\"};","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\n\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { Breadcrumbs } from 'libs/shared/components/breadcrumbs/Breadcrumbs';\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { Pagination } from 'libs/shared/components/pagination/Pagination';\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { useBulkCheckboxManager } from 'libs/shared/hooks/useBulkCheckboxManager';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nimport { UserAuditLogFilters, UserAuditLogQueryParams } from './components/audit-log-filters/UserAuditLogFilters';\nimport { UserAuditLogTable } from './components/audit-log-table/UserAuditLogTable';\nimport { UserAuditLogEmptyState } from './empty-state/UserAuditLogEmptyState';\n\nimport styles from './user-audit-log.scss';\n\nconst namespace = 'userManager.auditLog';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface UserAuditLogProps {\n jobs: BatchJobCollection;\n appLinks: UserManagerAppLinks;\n queryParams: UserAuditLogQueryParams;\n onClickExport: (ids: string[]) => Promise<void>;\n emptyStateImageUrl: string;\n}\n\nexport function UserAuditLog(props: UserAuditLogProps): JSX.Element {\n const referrer: UserGroup = LocalStorageHelper.get(UserManagerConstants.AUDIT_LOG_REFERRER_KEY);\n\n const [ showExportSpinner, setShowExportSpinner ] = React.useState(false);\n\n const CheckboxHelper = useBulkCheckboxManager(props.jobs.data);\n const alerts = useAlerts();\n\n function onClickExport(): void {\n if (showExportSpinner)\n return;\n\n setShowExportSpinner(true);\n\n const selectedIds = CheckboxHelper.getSelected();\n\n props.onClickExport(selectedIds)\n .then(() => alerts.success(getPhrase('exportSuccess')))\n .catch(() => alerts.error(getPhrase('exportError')))\n .finally(() => setShowExportSpinner(false));\n }\n\n return (\n <>\n <h1 className='h2'><Text namespace={namespace} phrase='heading' /></h1>\n\n <div className='pb-3'>\n <div className='d-flex justify-content-between'>\n <Breadcrumbs\n breadcrumbs={[\n { name: getPhrase('settingsBreadcrumb'), appLink: props.appLinks.settings },\n { name: getPhrase(referrer === UserGroup.Learner ? 'studentManager' : 'staffManager'), appLink: props.appLinks.userManager },\n { name: getPhrase('heading'), active: true }\n ]}\n />\n\n <p className='mb-0 fw-semibold'>\n <Text\n namespace={namespace}\n phrase='totalJobs'\n options={{ showing: props.jobs.data.length, smartCount: props.jobs.count }}\n />\n </p>\n </div>\n </div>\n\n <div className='d-flex align-items-center pb-2'>\n <Checkbox\n className={styles.bulkCheckbox}\n id='bulk-audit-log-checkbox'\n checked={CheckboxHelper.bulkChecked}\n onChange={CheckboxHelper.onToggleBulk}\n indeterminate={CheckboxHelper.hasSomeSelections()}\n />\n\n <div className='ms-4 ps-1'>\n <UserAuditLogFilters queryParams={props.queryParams} appLinks={props.appLinks} />\n </div>\n\n <SpinnerButton\n variant='dark'\n className='ms-auto'\n onClick={onClickExport}\n disabled={!CheckboxHelper.hasSomeSelections() || showExportSpinner}\n showSpinner={showExportSpinner}\n >\n <Text namespace={namespace} phrase='export' />\n </SpinnerButton>\n </div>\n\n {props.jobs.data?.length ? (\n <UserAuditLogTable\n jobs={props.jobs}\n appLinks={props.appLinks}\n onToggleCheckbox={CheckboxHelper.onToggleItem}\n isChecked={CheckboxHelper.isChecked}\n />\n ) : (\n <UserAuditLogEmptyState imageUrl={props.emptyStateImageUrl} />\n )}\n\n {!!props.jobs.pagination?.cursors && (\n <Pagination\n className='p-0 text-end pb-3'\n cursors={props.jobs.pagination.cursors}\n appLink={ContextService.getCurrentRoute().appLink}\n buttonVariant='outline-dark'\n />\n )}\n </>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { LocalStorageHelper } from 'libs/common/backbone/utils/LocalStorageHelper';\nimport { Flight } from 'libs/common/flight';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { PartialUserAuditLog } from 'libs/shared/apps/user-manager/components/audit-log/partial-loading/PartialUserAuditLog';\nimport { UserAuditLog } from 'libs/shared/apps/user-manager/components/audit-log/UserAuditLog';\nimport { UserManagerConstants } from 'libs/shared/apps/user-manager/constants/UserManagerConstants';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { useHandleObjectError } from 'libs/shared/hooks/UseHandleObjectError';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { BatchJobCollection } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { JobRequests } from 'shared/flight-requests/JobRequests';\n\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nconst namespace = 'userManager.userAuditLogView';\n\ninterface UserAuditLogViewProps {\n queryParams: UserAuditLogQueryParams;\n}\n\nexport function UserAuditLogView(props: UserAuditLogViewProps): JSX.Element {\n const referrer: UserGroup = LocalStorageHelper.get(UserManagerConstants.AUDIT_LOG_REFERRER_KEY);\n\n const jobs = Flight.useBasicFetch<BatchJobCollection>(JobRequests.getJobs(props.queryParams));\n \n useHandleObjectError(jobs);\n useSetPageMetadata({ title: LanguageService.getPhrase(namespace, 'pageTitle') });\n\n const fetchAsync = Flight.useGetFetchAsync();\n\n const appLinks = getUserManagerAppLinks(referrer);\n\n function onClickExport(jobIds: string[]): Promise<void> {\n return fetchAsync<void>(JobRequests.sendJobReports(jobIds));\n }\n\n if (!jobs.hasCompleted)\n return <div className='px-3'><PartialUserAuditLog /></div>;\n\n return (\n <div className='px-3'>\n <UserAuditLog\n jobs={jobs.data}\n appLinks={appLinks}\n queryParams={props.queryParams}\n onClickExport={onClickExport}\n emptyStateImageUrl={ImageUrls.EmptyStates.Search.RESULTS}\n />\n </div>\n );\n}","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { UserAuditLogQueryParams } from 'libs/shared/apps/user-manager/components/audit-log/components/audit-log-filters/UserAuditLogFilters';\nimport { SUPPORTED_BATCH_JOB_TYPES } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BatchJobResultStatus } from 'libs/shared/enums/BatchJobResultStatus';\nimport { BatchJobType } from 'libs/shared/enums/BatchJobType';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { BaseObject, BatchJob, BatchJobProgress, BatchJobResultsResponse, CreateBatchJobRequest } from 'libs/shared/interfaces';\n\nexport const JobRequests = {\n createJob(\n data: CreateBatchJobRequest,\n success?: (job: BatchJob) => void,\n error?: () => void\n ): Flight.Request {\n return {\n url: '{gateway}/v1/batch/jobs',\n key: 'create:job',\n type: HttpVerbs.POST,\n data,\n success,\n error\n };\n },\n\n getJobs(queryParams: UserAuditLogQueryParams): Flight.Request {\n const params: HashObject = {};\n\n let bulkActionTypes: BatchJobType[] = [];\n let userTypes: UserGroup[] = [];\n\n if (queryParams.cursor)\n params.cursor = queryParams.cursor;\n\n if (queryParams.sort) {\n if (queryParams.sort === 'oldest')\n params.order = 'ASC';\n else\n params.order = 'DESC';\n }\n\n if (queryParams.bulkActionType) {\n bulkActionTypes = Array.isArray(queryParams.bulkActionType)\n ? queryParams.bulkActionType\n : [queryParams.bulkActionType];\n\n params.type = bulkActionTypes;\n } else {\n // only show supported type in the table by default\n params.type = SUPPORTED_BATCH_JOB_TYPES;\n }\n\n if (queryParams.userType) {\n userTypes = Array.isArray(queryParams.userType)\n ? queryParams.userType\n : [queryParams.userType];\n\n params.dataType = userTypes;\n }\n \n return {\n url: UrlHelper.urlBuilder('{gateway}/v1/batch/jobs', params),\n key: `batch:jobs:${queryParams.cursor}:${queryParams.sort}:${bulkActionTypes.sort().join(':')}:${userTypes.sort().join(':')}`\n };\n },\n\n getJob(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}`,\n key: `job:${id}`\n };\n },\n\n getJobProgress(\n id: string,\n success?: (progress: BatchJobProgress) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/progress`,\n key: `job:${id}:progress`,\n invalidationKeys: `job:${id}:progress`,\n success,\n error\n };\n },\n\n getJobResults<TObject extends BaseObject>(\n id: string,\n status: BatchJobResultStatus,\n cursor?: string,\n success?: (results: BatchJobResultsResponse<TObject>) => void,\n error?: (xhr?: Xhr) => void\n ): Flight.Request {\n const params: HashObject = {\n status\n };\n\n if (cursor)\n params.cursor = cursor;\n\n return {\n url: UrlHelper.urlBuilder(`{gateway}/v1/batch/jobs/${id}/results`, params),\n key: `job:${id}:results:${status}:${cursor}`,\n success,\n error\n };\n },\n\n getYearGroupRolloverStatus(customerId: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/validations/customers/${customerId}/year-group-roll-over`,\n key: 'year:group:rollover:status'\n };\n },\n\n sendJobReports(ids: string[]): Flight.Request {\n return {\n url: '{gateway}/v1/batch/results/export',\n key: `send:job:reports:${ids.sort().join(':')}`,\n type: HttpVerbs.POST,\n data: {\n jobIds: ids\n }\n };\n },\n\n getJobSummary(id: string): Flight.Request {\n return {\n url: `{gateway}/v1/batch/jobs/${id}/summary`,\n key: `job:summary:${id}`\n };\n }\n};"],"names":["ScrollHelper","preventScrollTop","Radio","trigger","PartialSearchFilters","count","className","Array","fill","map","item","index","key","getPhrase","BreadcrumbItem","props","ref","breadcrumb","name","appLink","active","withBackIcon","svgName","size","S","Breadcrumbs","breadcrumbs","isMobile","length","collapse","setCollapse","shouldFocus","setShouldFocus","expandRef","characterLength","reduce","prev","next","current","focus","first","secondLast","last","rest","slice","onClick","idx","PartialBreadcrumbs","numItems","style","height","width","dangerouslySetInnerHTML","__html","buildCursor","cursorParam","prevHack","currentParams","params","previous","application","action","args","cursor","Pagination","cursors","buttonVariant","scrollTop","onClickButton","page","location","entity","actionType","value","display","phrase","variant","defaultProps","useGetMediaQueryString","isXS","isSM","isMD","isLG","isXL","isXXL","currentString","generateCacheKey","flightObjs","obj","statusCode","join","useHandleObjectError","_flightObjs","customErrors","ignoreErrors","isArray","useEffect","forEach","useBulkCheckboxManager","collection","options","idField","persistNamespace","initial","initialState","Map","items","forceUpdate","prevCollection","prevNamespace","reset","clear","isChecked","toString","get","isBulkChecked","every","setSelected","ids","id","set","i","preselectedIds","onToggleBulk","setValue","onToggleItem","nextItemState","getSelected","from","keys","bulkChecked","deselectAll","hasSomeSelections","find","getSelectedCount","getMap","usePrevious","PartialRow","PartialHeader","PartialAuditLogTable","PartialUserAuditLog","namespace","UserAuditLogFilters","filters","LanguageService","default","SearchFilters","queryParams","mainFilters","appLinks","auditLog","analyticsOptions","hideHeading","hideDivider","constantIndices","TABLE_THEME","table","header","headerCell","row","cell","UserAuditLogTable","jobs","summaryAppLink","onToggleCheckbox","data","job","formattedDate","DateHelper","dateCreated","checked","BulkUserActionsHelper","type","userType","dataType","date","performedBy","submitterName","submittedByClickView","Table","columns","bulkActionSummary","Header","accessor","Cell","Checkbox","onChange","UserGroup","getValue","SvgContainer2","SvgContainer","ClickViewAvatar","AppLink","Text","theme","UserAuditLogEmptyState","EmptyState","src","imageUrl","UserAuditLog","referrer","LocalStorageHelper","UserManagerConstants","showExportSpinner","setShowExportSpinner","CheckboxHelper","alerts","settings","userManager","showing","smartCount","indeterminate","SpinnerButton","selectedIds","onClickExport","then","success","error","disabled","showSpinner","emptyStateImageUrl","pagination","ContextService","UserAuditLogView","JobRequests","useSetPageMetadata","title","fetchAsync","hasCompleted","jobIds","ImageUrls","createJob","url","getJobs","bulkActionTypes","userTypes","sort","order","bulkActionType","getJob","getJobProgress","invalidationKeys","getJobResults","status","getYearGroupRolloverStatus","customerId","sendJobReports","getJobSummary"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4554],{29014:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Disable=0]="Disable",e[e.Enable=1]="Enable"}(t.CookiePolicy||(t.CookiePolicy={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2);t.renderButtons=r.renderButtons;var a=n(3);t.close=a.close,t.launchAsync=a.launchAsync;var o=n(0);t.CookiePolicy=o.CookiePolicy,window.addEventListener("load",(function(){var e;window.hasOwnProperty("Promise")||("https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/promise-polyfill.min.js",(e=document.createElement("script")).src="https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/promise-polyfill.min.js",document.head.appendChild(e)),r.renderButtons()}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={af:"Indompelende leser",am:"በህያው ስሜት ፈጣሪ ዕይታ አንባቢ",ar:"القارئ الشامل",as:"ইমাৰচিভ ৰিডাৰ",az:"İmmersiv Oxuyucu",be:"Імерсіўны чытальнік",bg:"Концентриран четец",bn:"মনোগ্রাহী পাঠক","bn-bd":"ইমার্সিভ পাঠক",bs:"Koncentrirani čitalac",ca:"Lector immersiu",cs:"Asistivní čtečka","cy-gb":"Darllenydd Ymdrwythol",da:"Forenklet læser",de:"Plastischer Reader",el:"Προηγμένο πρόγραμμα ανάγνωσης",en:"Immersive Reader",es:"Lector inmersivo",et:"Süvaluger",eu:"Irakurgailu murgiltzailea",fa:"خواننده همهجانبه",fi:"Syventävä lukuohjelma",fil:"Immersive Reader",fr:"Lecteur immersif","ga-ie":"Léitheoir tumthach",gd:"An leughadair ùr-nòsach",gl:"Lector avanzado",gu:"ઇમર્સિવ રીડર",ha:"Mai karatu Mai barbazawa",he:"תצוגת קריאה מודרנית",hi:"इमर्सिव रीडर",hr:"Stopljeni čitač",hu:"Modern olvasó",hy:"Խորասուզված ընթերցիչ",id:"Pembaca Imersif",ig:"Ọgụụ Kenzipụtara",is:"Aðgengilegt lestrarumhverfi",it:"Strumento di lettura immersiva",ja:"イマーシブ リーダー",ka:"იმერსიული წამკითხველი",kk:"Иммерсивті оқу құралы",km:"កម្មវិធីអានពណ៌រំលេចនៅលើអេក្រង់",kn:"ಇಮ್ಮರ್ಸಿವ್ ಓದುಗ",ko:"몰입형 리더",kok:"तंद्री लागिल्लो वाचक","ku-arab":"خوێنەری پڕ",ky:"Курчаган Окугуч",lb:"Immersive Reader",lo:"ຕົວອ່ານອິມເມີສີບ",lt:"Įtraukianti skaitytuvė",lv:"Tīrskata lasītājs",mi:"Pūpānui Rumaki",mk:"Сеопфатен читач",ml:"ഇമ്മേഴ്സീവ് റീഡർ",mn:"Идэвхтэй уншигч",mr:"इमर्सिव्ह वाचक",ms:"Pembaca Imersif",mt:"Qarrej Immersiv",ne:"इमेर्सिभ रिडर",nl:"Insluitende lezer","nn-no":"Engasjerande lesar",no:"Engasjerende leser",nso:"Go Bala ka Mongwalo o Mokoto",or:"ଇମରସିଭ୍ ରିଡର୍",pa:"ਇਮਰਸਿਵ ਰੀਡਰ","pa-arab":"گھیرن آلا مطالعہ کار",pl:"Czytnik immersyjny",prs:"خواننده نمایش",pt:"Leitura Avançada",quc:"Nim ucholajil sik'inel uwach",quz:"Wankisqa Ñawiq",ro:"Immersive Reader",ru:"Иммерсивное средство чтения",rw:"Insakazasoma",sd:"امرسو ريڊر",si:"ගිලෙන සුළු කියවනය",sk:"Imerzná čítačka",sl:"Potopni bralnik",sq:"Lexuesi kredhës","sr-cyrl-ba":"Концентрисани читалац","sr-cyrl-rs":"Концентрисани читалац","sr-latn-rs":"Koncentrisani čitalac",sv:"Avancerad läsare",sw:"Kisomaji cha Kuzamisha",ta:"அற்புதமான ரீடர்",te:"మంత్రముగ్ధులను చేసే పఠన సాధనం","tg-cyrl-tj":"Хонандаи фарогир",th:"โปรแกรมช่วยอ่าน",ti:"ኣንባቢ ሕሉው ስምዒት ፈጣሪ",tk:"Giňişleýin okaýjy",tn:"Sebadi sa Imesife",tr:"Tam Ekran Okuyucu",tt:"Чолгап алучы уку чарасы","ug-cn":"چۆكمە ئوقۇغۇچ",uk:"Занурення в текст",ur:"امرسیو مطالعہ کار",uz:"Immersiv mutolaa vositasi",vi:"Trình đọc Chân thực",wo:"Jàngukaay bu Rafet",xh:"Isifundi Esikhulu",yo:"Ìwò Alámùtán",zh:"沉浸式阅读器","zh-hant":"沈浸式閱讀程式",zu:"Isifundi Sokuzizwisa"};function a(e){var t=document.createElement("img");t.src="https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/immersive-reader-icon.svg";var n=e.getAttribute("data-icon-px-size")||"20";t.style.height=t.style.width=n+"px",t.style.verticalAlign="middle",t.style.marginTop="-2px";var r=e.getAttribute("data-locale")||"en";t.alt=s(r),e.appendChild(t)}function o(e){var t=document.createElement("span");t.style.marginLeft="8px",e.appendChild(t)}function i(e){var t=document.createElement("span"),n=e.getAttribute("data-locale")||"en";t.textContent=s(n),e.appendChild(t)}function s(e){return e=e.toLowerCase(),r[e]?r[e]:"zh-hk"===e||"zh-mo"===e||"zh-tw"===e?r["zh-hant"]:(e=e.substring(0,e.lastIndexOf("-")),r[e]?r[e]:(e=e.substring(0,e.lastIndexOf("-")),r[e]?r[e]:r.en))}t.renderButtons=function(e){var t=document.createElement("style");t.innerHTML=".immersive-reader-button{cursor:pointer;display:inline-block;padding:5px;} .immersive-reader-button:hover{background:rgba(0,0,0,.05);border-radius:2px",document.head.appendChild(t);var n=[].slice.call(document.getElementsByClassName("immersive-reader-button"));e&&e.elements&&(n=e.elements);for(var r=0,l=n;r<l.length;r++){var c=l[r];c.setAttribute("role","button");var u=c.getAttribute("data-locale")||"en";switch(c.setAttribute("aria-label",s(u)),c.getAttribute("data-button-style")||"icon"){case"icon":a(c);break;case"text":i(c);break;case"iconAndText":a(c),o(c),i(c)}}}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),o=n(4),i={};function s(e){return!!e&&new RegExp("^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])$").test(e)}i[o.ErrorCode.TokenExpired]="The access token supplied is expired.",i[o.ErrorCode.Throttled]="You have exceeded your quota.",i[o.ErrorCode.ServerError]="An error occurred when calling the server to process the text.",i[o.ErrorCode.InvalidSubdomain]="The subdomain supplied is invalid.",t.launchAsync=function(e,t,n,l){return new Promise((function(c,u){if(e)if(n)if(n.chunks)if(n.chunks.length)if(s(t)||l&&l.customDomain){var d=Date.now();(l=r({uiZIndex:1e3,timeout:15e3,useWebview:!1,allowFullscreen:!0,hideExitButton:!1,cookiePolicy:a.CookiePolicy.Disable},l)).uiZIndex&&"number"==typeof l.uiZIndex||(l.uiZIndex=1e3);var m=null,p=document.createElement("div"),v=l.useWebview?document.createElement("webview"):document.createElement("iframe"),f=document.createElement("style");f.innerHTML="body{height:100%;overflow:hidden;}";var g=function(){m&&(window.clearTimeout(m),m=null)},h=function(){document.body.contains(p)&&document.body.removeChild(p),window.removeEventListener("message",y),g(),f.parentNode&&f.parentNode.removeChild(f)},b=function(){h(),l.onExit&&l.onExit()};h();var y=function(r){if(r&&r.data)if("ImmersiveReader-ReadyForContent"===r.data){g();var a={cogSvcsAccessToken:e,cogSvcsSubdomain:t,request:n,launchToPostMessageSentDurationInMs:Date.now()-d};v.contentWindow.postMessage(JSON.stringify({messageType:"Content",messageValue:a}),"*")}else if("ImmersiveReader-Exit"===r.data)b();else if(r.data.startsWith("ImmersiveReader-LaunchResponse:")){var s=null,l=null,m=null;try{m=JSON.parse(r.data.substring(31))}catch(e){}m&&m.success?s={container:p,sessionId:m.sessionId}:l=m&&!m.success?{code:m.errorCode,message:i[m.errorCode],sessionId:m.sessionId}:{code:o.ErrorCode.ServerError,message:i[o.ErrorCode.ServerError]},s?(g(),c(s)):l&&(b(),u(l))}};window.addEventListener("message",y),m=window.setTimeout((function(){h(),u({code:o.ErrorCode.Timeout,message:"Page failed to load after timeout ("+l.timeout+" ms)"})}),l.timeout),l.allowFullscreen&&v.setAttribute("allowfullscreen",""),v.style.cssText="position: static; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0",l.useWebview&&v.addEventListener("loadstop",(function(){v.contentWindow.postMessage(JSON.stringify({messageType:"WebviewHost"}),"*")}));var E=(l.customDomain?l.customDomain:"https://"+t+".cognitiveservices.azure.com/immersivereader/webapp/v1.0/")+"reader?exitCallback=ImmersiveReader-Exit&sdkPlatform=js&sdkVersion=1.0.0";E+="&cookiePolicy="+(l.cookiePolicy===a.CookiePolicy.Enable?"enable":"disable"),l.hideExitButton&&(E+="&hideExitButton=true"),l.uiLang&&(E+="&omkt="+l.uiLang),v.src=E,p.style.cssText="position: fixed; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0; -webkit-perspective: 1px; z-index: "+l.uiZIndex+"; background: white; overflow: hidden",p.appendChild(v),document.body.appendChild(p),document.head.appendChild(f)}else u({code:o.ErrorCode.InvalidSubdomain,message:i[o.ErrorCode.InvalidSubdomain]});else u({code:o.ErrorCode.BadArgument,message:"Chunks must not be empty"});else u({code:o.ErrorCode.BadArgument,message:"Chunks must not be null"});else u({code:o.ErrorCode.BadArgument,message:"Content must not be null"});else u({code:o.ErrorCode.BadArgument,message:"Token must not be null"})}))},t.close=function(){window.postMessage("ImmersiveReader-Exit","*")},t.isValidSubdomain=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BadArgument="BadArgument",e.Timeout="Timeout",e.TokenExpired="TokenExpired",e.Throttled="Throttled",e.ServerError="ServerError",e.InvalidSubdomain="InvalidSubdomain"}(t.ErrorCode||(t.ErrorCode={}))}])},78259:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});var r=n(58176),a=n.n(r),o=n(39479),i={className:"info-link",defaultProtocol:"https"},s={linkifyText:function(e,t){if(e){var n=t?o.extend({},i,t):i;return a()(e,n)}}}},25723:(e,t,n)=>{"use strict";n.d(t,{m:()=>f});var r=n(32735),a=n(29014),o=n(99940),i=n(23481),s=n(91967),l=n(44704),c=n(49985);const u={button:"nckQw"};function d(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 m=null,p=!1,v="shared.immersiveReader";function f(e){var t,n,f=(t=r.useState(m),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,o,i,s=[],l=!0,c=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;l=!1}else for(;!(l=(r=o.call(n)).done)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw a}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return d(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)?d(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.")}()),g=f[0],h=f[1];return m||p||(p=!0,(0,l.ajaxRequest)({resource:"/api/integrations/token/immersive-reader",type:o.k.GET,success:function(e){m=e,h(e),window.setTimeout((function(){m=null,p=!1}),9e5)},error:function(){}})),g?(e.title||(e.title=i.T.getPhrase(v,"titleFallback")),r.createElement("span",{className:"".concat(u.button," ").concat(e.className||""),onClick:function(){s.q.isFunction(e.onLaunch)&&e.onLaunch(),c.k.logUserAction(e.analyticsData,e.analyticsOptions);var t={title:e.title,chunks:[{content:e.text,mimeType:e.html?"text/html":"text/plain"}]},n=g.subdomain,r=g.token,o={uiZIndex:5e3,onExit:function(){s.q.isFunction(e.onExit)&&e.onExit()}};a.launchAsync(r,n,t,o)}},r.createElement("svg",{viewBox:"0 0 40 37"},r.createElement("path",{d:"M37.4,0.9 L37.4,9.6 L35.4,9.6 L35.4,2.9 L24.4,2.9 C22.9,3.3 20,4.5 20,6 L20,17.2 L18,17.2 L18,6 C18,5 15.6,3.6 13.8,2.9 L2,2.9 L2,29 L12.4,29 L12.4,31 L0,31 L0,0.9 L14.1,0.9 L14.3,1 C15,1.2 17.5,2.2 18.9,3.7 C20.5,1.9 23.5,1.1 23.9,1 L24.1,1 L37.4,1 L37.4,0.9 Z",fill:"#000000"}),r.createElement("path",{d:"M27.4,37 L25.8,37 L18.4,29.4 L14,29.4 L14,21 L18.4,20.9 L26.1,13 L27.4,13 L27.4,37 Z M16,27.4 L19.2,27.4 L25.3,33.7 L25.3,16.6 L19.2,22.9 L15.9,22.9 L15.9,27.4 L16,27.4 Z",fill:"#0197F2"}),r.createElement("path",{d:"M31.3,32.7 L29.6,31.7 C29.6,31.7 31.7,28.3 31.7,25.2 C31.7,21.9 29.6,18.5 29.6,18.4 L31.3,17.4 C31.4,17.6 33.7,21.3 33.7,25.2 C33.7,28.8 31.4,32.6 31.3,32.7 Z",fill:"#0197F2"}),r.createElement("path",{d:"M36.4,36.2 L34.8,35 C34.8,35 38,30.8 38,25.2 C38,19.6 34.8,15.4 34.8,15.4 L36.4,14.2 C36.5,14.4 40,19 40,25.3 C40,31.5 36.5,36 36.4,36.2 Z",fill:"#0197F2"})))):r.createElement(r.Fragment,null)}},87311:(e,t,n)=>{"use strict";n.d(t,{G:()=>a});var r=n(81886),a={getTagActionProps:function(e,t,n){return n?{onClick:function(n){t&&t();var a=e?e(n):null;if(a)return r.Q.C$.trigger(a)}}:{getAppLink:function(t){return e?e(t):null},onClick:t}}}},16035:(e,t,n)=>{"use strict";n.d(t,{z:()=>c});var r=n(32735),a=n(23481),o=n(36848),i=n(44829),s=n(91807),l=a.T.encloseNamespace("shared.tags");function c(e){var t,n,a=e.tag,c=e.appLink,u=e.onClick,d=e.disabled,m=e.tagClass,p=void 0===m?"tag":m,v=a.name.toLowerCase(),f=null===(t=a.tagType)||void 0===t?void 0:t.toLowerCase(),g=f===i.Q.Normal&&e.themeColours&&!!(null===(n=e.themeColours)||void 0===n?void 0:n.secondary),h="rounded-pill py-1 px-2 my-1 me-1 ".concat(p," ").concat(function(e,t){switch(e){case i.Q.Pedagogy:case i.Q.Skill:return"pedagogy-tag text-white";case i.Q.Hidden:return"hidden-tag fw-normal";case i.Q.Normal:return t?"":"bg-gray-100 fw-normal";default:return""}}(f,g));g&&(h+=" text-white"),!c&&!u||d||(h+=" cursor-pointer"),d&&(h+=" "+s.Z.disabled),e.onRemove&&(h+=" "+s.Z.badge),c||(h+=" d-inline-block");var b=g?{backgroundColor:e.themeColours.secondary}:{};return c?r.createElement(o.F,{onClick:u,appLink:c,className:h,title:v,style:b},r.createElement("span",{className:"text-truncate text-nowrap"},v)):r.createElement("button",{onClick:u,className:h,title:v,style:b,"aria-label":"".concat(l("ariaFilter")," ").concat(v)},r.createElement("span",{className:"text-truncate text-nowrap"},v,e.onRemove&&r.createElement("button",{onClick:e.onRemove,className:"".concat(s.Z.close," btn-close font-size-normal"),role:"button","aria-label":"Close"})))}},91743:(e,t,n)=>{"use strict";n.d(t,{P:()=>c});var r=n(32735),a=n(16035),o=n(44829),i=n(91807);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}function l(e){var t;switch(null===(t=e.tagType)||void 0===t?void 0:t.toLowerCase()){case o.Q.Pedagogy:return 0;case o.Q.Skill:return 1;default:return 2}}function c(e){if(!e.tags)return r.createElement(r.Fragment,null);var t,n=(t=e.tags,function(e){if(Array.isArray(e))return s(e)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||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)||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.")}()).sort((function(e,t){return l(e)-l(t)}));return r.createElement("div",{className:"".concat(i.Z.tagList," ").concat(e.className)},n.map((function(t){var n="function"==typeof e.getAppLink?e.getAppLink(t):null,o="function"==typeof e.onRemove?function(){return e.onRemove(t)}:null,i="function"==typeof e.onClick?function(){return e.onClick(t)}:null;return r.createElement(a.z,{key:t.id||t.name,tag:t,appLink:n,themeColours:e.themeColours,onRemove:o,onClick:i})})))}},73804:(e,t,n)=>{"use strict";n.d(t,{X:()=>k});var r=n(32735),a=n(42648),o=n(23481),i=n(110),s=n(78259),l=n(65858),c=n(11607),u=n(25723),d=n(87311),m=n(91743),p=n(83345),v=n(40178),f=n(31908),g=n(8730);const h={closeButton:"ZwHXo",descriptionBorder:"J_Z5i"};var b="shared.videoDetails",y=o.T.encloseNamespace(b);function E(e){var t=e.label,n=e.items,a=e.className;if(!(n&&n.data&&n.data.length))return r.createElement(r.Fragment,null);var o=n.data.map((function(e){return e.name})).join(", ");return r.createElement("div",{className:a},t,": ",o)}function C(e){var t,n,a,o,s,l,c,u,d,m=e.video;if(!f.M.isVideo(m)&&!f.M.isClip(m))return r.createElement(r.Fragment,null);var v=f.M.getParentVideo(m);return r.createElement("div",{className:m.description?"col-md-5 ps-md-3 pt-3 pt-md-0":"col-12"},r.createElement("h2",{className:"h6 mb-1"},r.createElement(p.x,{phrase:"details"})),!!v.productionYear&&r.createElement("div",{className:"mb-1"},r.createElement(p.x,{phrase:"productionYear",options:{year:v.productionYear}})),r.createElement(E,{label:y("productionCompanies",{smartCount:null===(n=null===(t=v.productionCompanies)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length}),items:v.productionCompanies,className:"mb-1"}),r.createElement(E,{label:y("distributors",{smartCount:null===(o=null===(a=v.distributors)||void 0===a?void 0:a.data)||void 0===o?void 0:o.length}),items:v.distributors,className:"mb-1"}),r.createElement(E,{label:y("producers",{smartCount:null===(l=null===(s=v.producers)||void 0===s?void 0:s.data)||void 0===l?void 0:l.length}),items:v.producers,className:"mb-1"}),r.createElement(E,{label:y("directors",{smartCount:null===(u=null===(c=v.directors)||void 0===c?void 0:c.data)||void 0===u?void 0:u.length}),items:v.directors,className:"mb-1"}),!!v.dateBroadcast&&r.createElement("div",{className:"mb-1"},r.createElement(p.x,{phrase:"dateBroadcast",options:{date:i.O.format(v.dateBroadcast,"DD/MM/YYYY")}})),!!v.channel&&r.createElement("div",{className:"mb-1"},r.createElement(p.x,{phrase:"channel",options:{channel:v.channel.name}})),!((null===(d=m._isClickViewCurated)||void 0===d?void 0:d.value)||!m.dateCreated)&&r.createElement("div",{className:"mb-1"},r.createElement(p.x,{phrase:"dateUploaded",options:{date:i.O.format(m.dateCreated,"DD/MM/YYYY")}})))}function k(e){var t,n=e.video,o=e.maxHeight,i=void 0===o?v.x:o,y=f.M.getParentVideo(n),E=!!e.video.description,k=(0,g._)(e.video)||!!y.productionYear||!!y.dateBroadcast||!!y.channel||!(!n.dateCreated||(null===(t=n._isClickViewCurated)||void 0===t?void 0:t.value)),w="function"==typeof e.onClickClose,x="function"==typeof e.onClickShowCurriculumLinks;return E||k?r.createElement(p.D.Provider,{value:b},r.createElement("div",{className:"rounded border p-3 mb-3 position-relative"},r.createElement(a.$B,{autoHeight:!0,autoHeightMax:i},r.createElement("div",{className:"row g-0"},E&&r.createElement("div",{className:k?"".concat(h.descriptionBorder," pe-3 col-md-7"):"col-12"},r.createElement("div",{className:"d-flex align-items-center"},r.createElement("h2",{className:"h6 mb-1"},r.createElement(p.x,{phrase:"description"})),r.createElement(u.m,{text:n.description,title:n.name,className:"ps-2",onLaunch:e.onLaunchImmersiveReader,onExit:e.onExitImmersiveReader,analyticsOptions:{location:l.LZ.PlayPage,entity:l.py.Video,actionType:l.Vw.Click,descriptor:l._S.LaunchImmersiveReader},analyticsData:{id:n.id,type:"description"}})),r.createElement("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:s.O.linkifyText(e.video.description,{nl2br:!0})}}),r.createElement(m.P,Object.assign({tags:function(){var t,n;return e.hideTags||f.M.isInteractive(e.video)||!(null===(n=null===(t=e.video.tags)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length)?null:e.video.tags.data}()},d.G.getTagActionProps(e.getTagAppLink,null,e.suppressInteractivity),{className:"mt-1"})),x&&r.createElement(c.L,{onClick:e.onClickShowCurriculumLinks,className:"cursor-pointer d-inline-block fw-semibold text-info mt-2 mb-1"},r.createElement(p.x,{namespace:b,phrase:"seeCurriculumLinks"}))),k&&r.createElement(C,Object.assign({},e)))),w&&r.createElement("button",{type:"button",className:"btn-close ".concat(h.closeButton),"aria-label":"Close",onClick:e.onClickClose}))):r.createElement(r.Fragment,null)}},8730:(e,t,n)=>{"use strict";n.d(t,{_:()=>u});var r=n(1048),a=n(66090);function o(e){return function(e){if(Array.isArray(e))return i(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 i(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)?i(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 i(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}function s(e){var t=e.page,n=e.totalPages,o=a.O.isNumber(t)&&t>0&&t<n&&t+1,i=a.O.isNumber(t)&&t>1&&t-1,s={};if(o&&o<=n&&(s.next=o.toString()),i&&(s.previous=i.toString()),!r.t.isEmpty(s))return s}var l={isEmpty:function(e){return e&&!(e.data&&e.data.length)},length:function(e){return e&&e.data&&e.data.length},at:function(e,t){if(e&&e.data&&e.data.length&&!(t>e.data.length))return e.data[t]},get:function(e,t){if(e&&e.data&&e.data.length)return e.data.find((function(e){return e.id&&e.id.toString()===t}))},flattenCollections:function(e){if(e&&e.length){var t=[];return e.forEach((function(e){t=[].concat(o(t),o(e.data))})),t}},getNextCursor:function(e){return e.pagination&&e.pagination.cursors&&e.pagination.cursors.next},convertLegacyPaginatedCollection:function(e){if(e)return{data:e.data,pagination:{cursors:s(e.pagination),limit:e.pagination.pageSize}}},hasData:function(e){return!l.isEmpty(e)}},c=n(31908);function u(e){var t=l.hasData,n=function(e){return c.M.isVideo(e)?e:c.M.isClip(e)?e._parentVideo:null}(e);return!!n&&(t(n.productionCompanies)||t(n.producers)||t(n.distributors)||t(n.directors))}},40178:(e,t,n)=>{"use strict";n.d(t,{x:()=>r});var r=368},44829:(e,t,n)=>{"use strict";var r,a;n.d(t,{Q:()=>r}),function(e){e.Normal="normal",e.Pedagogy="pedagogy",e.Hidden="hidden",e.Skill="skill",e.Curation="curation"}(r||(r={})),function(e){e[e.Normal=0]="Normal",e[e.Pedagogy=1]="Pedagogy",e[e.Hidden=2]="Hidden",e[e.Skill=3]="Skill",e[e.Curation=4]="Curation"}(a||(a={}))},94644:(e,t,n)=>{"use strict";n.d(t,{r:()=>u});var r=n(50242),a=n(81886),o=n(67058),i=n(14553),s=n(49267),l=n(49075),c={notFound:o.d,forbidden:{rating:i.q,yearLevel:i.q,region:s.a,privacy:i.q},badRequest:l._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var o;o="number"==typeof e?e:e.status;var i=Object.assign(Object.assign({},c),t);o&&a.Q.Ry.isStatusCodeError(o)&&(o!==r.o.NotFound?o!==r.o.Forbidden?n.badRequest||a.Q.Ry.throw(new i.badRequest):n.forbidden||a.Q.Ry.throw(new i.forbidden.privacy):n.notFound||a.Q.Ry.throw(new i.notFound))}}},91286:(e,t,n)=>{"use strict";n.d(t,{v:()=>i});var r=n(32735),a=n(94644);function o(e){return e.map((function(e){return e.statusCode})).join(":")}function i(e,t,n){var i=Array.isArray(e)?e:[e];(0,r.useEffect)((function(){i.forEach((function(e){(0,a.r)(e.statusCode,t,n)}))}),[o(i),t,n])}},64554:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StudentsVideoView:()=>N});var r=n(32735),a=n(23481),o=n(20354),i=n(36848),s=n(83914),l=n(83345),c=n(73804),u=n(4594),d=n(60051),m=n(43012),p=n(39151),v=n(20768),f=n(47812),g=n(31949),h=n(1575),b=n(91286),y=n(35223),E=n(64818),C=n(14070),k=n(97291),w=n(57245),x=n(47288),L="userManager.studentsVideo",S=a.T.encloseNamespace(L);function N(e){var t,n,a,N=o.a.useBasicFetch(x.N.getUser(e.userId)),I=o.a.useBasicFetch((n=e.id,(a=e.typeId).toString()===u.E.Clip.toString()?m.e.clip(n):a.toString()===u.E.Interactive.toString()?v.b.interactiveMetadata(n):h.R.video(n))),A=o.a.useBasicFetch(f.k.createViewKey(e.id,d.f.MasterObject)),T=o.a.useBasicFetch(p.L.config()),j=o.a.useBasicFetch(g.N.currentUser());return(0,b.v)([N,I]),N.hasCompleted&&I.hasCompleted&&A.hasCompleted&&T.hasCompleted&&j.hasCompleted?r.createElement("div",{className:"px-3"},r.createElement("div",{className:"alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center",role:"alert"},r.createElement("div",{className:"d-flex align-items-center"},r.createElement(s.x,{svgName:y.vn.Info,size:s.S.Standard,className:"me-2 svg-container"}),r.createElement("div",{className:"w-100"},r.createElement("p",{className:"fw-semibold mb-0"},S(function(e){return e.toString()===u.E.Clip.toString()?"messageClip":e.toString()===u.E.Interactive.toString()?"messageInteractive":"messageVideo"}(e.typeId),{name:E.l.getFullName(N.data),yearGroup:null===(t=N.data.masterYearGroup)||void 0===t?void 0:t.name}))))),r.createElement("div",{className:"mb-3"},r.createElement(w._,{config:T.data,video:I.data,currentUser:j.data,viewKey:A.data})),r.createElement("div",{className:"d-flex justify-content-between align-items-center mb-2"},r.createElement("div",null,r.createElement("h1",{className:"h3 d-inline-flex m-0 mb-2"},I.data.name)),r.createElement(i.F,{appLink:{application:k.O.USER_MANAGER,action:C.e.UserManager.DELETE_STUDENTS_VIDEO,args:[e.userId,e.id],params:{typeId:e.typeId}},className:"btn btn-outline-dark"},r.createElement(l.x,{namespace:L,phrase:"delete"}))),r.createElement(c.X,{video:I.data})):r.createElement(r.Fragment,null)}},91807:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r={tagList:"Zw6d9",disabled:"jlL1c",partialTag:"too_N",badge:"OjtN8",close:"X9joI"}}}]);
|
|
2
|
-
//# sourceMappingURL=4554-
|
|
1
|
+
(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4554],{29014:e=>{window,e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Disable=0]="Disable",e[e.Enable=1]="Enable"}(t.CookiePolicy||(t.CookiePolicy={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2);t.renderButtons=r.renderButtons;var a=n(3);t.close=a.close,t.launchAsync=a.launchAsync;var i=n(0);t.CookiePolicy=i.CookiePolicy,window.addEventListener("load",(function(){var e;window.hasOwnProperty("Promise")||("https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/promise-polyfill.min.js",(e=document.createElement("script")).src="https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/promise-polyfill.min.js",document.head.appendChild(e)),r.renderButtons()}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={af:"Indompelende leser",am:"በህያው ስሜት ፈጣሪ ዕይታ አንባቢ",ar:"القارئ الشامل",as:"ইমাৰচিভ ৰিডাৰ",az:"İmmersiv Oxuyucu",be:"Імерсіўны чытальнік",bg:"Концентриран четец",bn:"মনোগ্রাহী পাঠক","bn-bd":"ইমার্সিভ পাঠক",bs:"Koncentrirani čitalac",ca:"Lector immersiu",cs:"Asistivní čtečka","cy-gb":"Darllenydd Ymdrwythol",da:"Forenklet læser",de:"Plastischer Reader",el:"Προηγμένο πρόγραμμα ανάγνωσης",en:"Immersive Reader",es:"Lector inmersivo",et:"Süvaluger",eu:"Irakurgailu murgiltzailea",fa:"خواننده همهجانبه",fi:"Syventävä lukuohjelma",fil:"Immersive Reader",fr:"Lecteur immersif","ga-ie":"Léitheoir tumthach",gd:"An leughadair ùr-nòsach",gl:"Lector avanzado",gu:"ઇમર્સિવ રીડર",ha:"Mai karatu Mai barbazawa",he:"תצוגת קריאה מודרנית",hi:"इमर्सिव रीडर",hr:"Stopljeni čitač",hu:"Modern olvasó",hy:"Խորասուզված ընթերցիչ",id:"Pembaca Imersif",ig:"Ọgụụ Kenzipụtara",is:"Aðgengilegt lestrarumhverfi",it:"Strumento di lettura immersiva",ja:"イマーシブ リーダー",ka:"იმერსიული წამკითხველი",kk:"Иммерсивті оқу құралы",km:"កម្មវិធីអានពណ៌រំលេចនៅលើអេក្រង់",kn:"ಇಮ್ಮರ್ಸಿವ್ ಓದುಗ",ko:"몰입형 리더",kok:"तंद्री लागिल्लो वाचक","ku-arab":"خوێنەری پڕ",ky:"Курчаган Окугуч",lb:"Immersive Reader",lo:"ຕົວອ່ານອິມເມີສີບ",lt:"Įtraukianti skaitytuvė",lv:"Tīrskata lasītājs",mi:"Pūpānui Rumaki",mk:"Сеопфатен читач",ml:"ഇമ്മേഴ്സീവ് റീഡർ",mn:"Идэвхтэй уншигч",mr:"इमर्सिव्ह वाचक",ms:"Pembaca Imersif",mt:"Qarrej Immersiv",ne:"इमेर्सिभ रिडर",nl:"Insluitende lezer","nn-no":"Engasjerande lesar",no:"Engasjerende leser",nso:"Go Bala ka Mongwalo o Mokoto",or:"ଇମରସିଭ୍ ରିଡର୍",pa:"ਇਮਰਸਿਵ ਰੀਡਰ","pa-arab":"گھیرن آلا مطالعہ کار",pl:"Czytnik immersyjny",prs:"خواننده نمایش",pt:"Leitura Avançada",quc:"Nim ucholajil sik'inel uwach",quz:"Wankisqa Ñawiq",ro:"Immersive Reader",ru:"Иммерсивное средство чтения",rw:"Insakazasoma",sd:"امرسو ريڊر",si:"ගිලෙන සුළු කියවනය",sk:"Imerzná čítačka",sl:"Potopni bralnik",sq:"Lexuesi kredhës","sr-cyrl-ba":"Концентрисани читалац","sr-cyrl-rs":"Концентрисани читалац","sr-latn-rs":"Koncentrisani čitalac",sv:"Avancerad läsare",sw:"Kisomaji cha Kuzamisha",ta:"அற்புதமான ரீடர்",te:"మంత్రముగ్ధులను చేసే పఠన సాధనం","tg-cyrl-tj":"Хонандаи фарогир",th:"โปรแกรมช่วยอ่าน",ti:"ኣንባቢ ሕሉው ስምዒት ፈጣሪ",tk:"Giňişleýin okaýjy",tn:"Sebadi sa Imesife",tr:"Tam Ekran Okuyucu",tt:"Чолгап алучы уку чарасы","ug-cn":"چۆكمە ئوقۇغۇچ",uk:"Занурення в текст",ur:"امرسیو مطالعہ کار",uz:"Immersiv mutolaa vositasi",vi:"Trình đọc Chân thực",wo:"Jàngukaay bu Rafet",xh:"Isifundi Esikhulu",yo:"Ìwò Alámùtán",zh:"沉浸式阅读器","zh-hant":"沈浸式閱讀程式",zu:"Isifundi Sokuzizwisa"};function a(e){var t=document.createElement("img");t.src="https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/immersive-reader-icon.svg";var n=e.getAttribute("data-icon-px-size")||"20";t.style.height=t.style.width=n+"px",t.style.verticalAlign="middle",t.style.marginTop="-2px";var r=e.getAttribute("data-locale")||"en";t.alt=s(r),e.appendChild(t)}function i(e){var t=document.createElement("span");t.style.marginLeft="8px",e.appendChild(t)}function o(e){var t=document.createElement("span"),n=e.getAttribute("data-locale")||"en";t.textContent=s(n),e.appendChild(t)}function s(e){return e=e.toLowerCase(),r[e]?r[e]:"zh-hk"===e||"zh-mo"===e||"zh-tw"===e?r["zh-hant"]:(e=e.substring(0,e.lastIndexOf("-")),r[e]?r[e]:(e=e.substring(0,e.lastIndexOf("-")),r[e]?r[e]:r.en))}t.renderButtons=function(e){var t=document.createElement("style");t.innerHTML=".immersive-reader-button{cursor:pointer;display:inline-block;padding:5px;} .immersive-reader-button:hover{background:rgba(0,0,0,.05);border-radius:2px",document.head.appendChild(t);var n=[].slice.call(document.getElementsByClassName("immersive-reader-button"));e&&e.elements&&(n=e.elements);for(var r=0,l=n;r<l.length;r++){var c=l[r];c.setAttribute("role","button");var u=c.getAttribute("data-locale")||"en";switch(c.setAttribute("aria-label",s(u)),c.getAttribute("data-button-style")||"icon"){case"icon":a(c);break;case"text":o(c);break;case"iconAndText":a(c),i(c),o(c)}}}},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0});var a=n(0),i=n(4),o={};function s(e){return!!e&&new RegExp("^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]{0,61}[a-zA-Z0-9])$").test(e)}o[i.ErrorCode.TokenExpired]="The access token supplied is expired.",o[i.ErrorCode.Throttled]="You have exceeded your quota.",o[i.ErrorCode.ServerError]="An error occurred when calling the server to process the text.",o[i.ErrorCode.InvalidSubdomain]="The subdomain supplied is invalid.",t.launchAsync=function(e,t,n,l){return new Promise((function(c,u){if(e)if(n)if(n.chunks)if(n.chunks.length)if(s(t)||l&&l.customDomain){var d=Date.now();(l=r({uiZIndex:1e3,timeout:15e3,useWebview:!1,allowFullscreen:!0,hideExitButton:!1,cookiePolicy:a.CookiePolicy.Disable},l)).uiZIndex&&"number"==typeof l.uiZIndex||(l.uiZIndex=1e3);var m=null,p=document.createElement("div"),v=l.useWebview?document.createElement("webview"):document.createElement("iframe"),f=document.createElement("style");f.innerHTML="body{height:100%;overflow:hidden;}";var g=function(){m&&(window.clearTimeout(m),m=null)},h=function(){document.body.contains(p)&&document.body.removeChild(p),window.removeEventListener("message",y),g(),f.parentNode&&f.parentNode.removeChild(f)},b=function(){h(),l.onExit&&l.onExit()};h();var y=function(r){if(r&&r.data)if("ImmersiveReader-ReadyForContent"===r.data){g();var a={cogSvcsAccessToken:e,cogSvcsSubdomain:t,request:n,launchToPostMessageSentDurationInMs:Date.now()-d};v.contentWindow.postMessage(JSON.stringify({messageType:"Content",messageValue:a}),"*")}else if("ImmersiveReader-Exit"===r.data)b();else if(r.data.startsWith("ImmersiveReader-LaunchResponse:")){var s=null,l=null,m=null;try{m=JSON.parse(r.data.substring(31))}catch(e){}m&&m.success?s={container:p,sessionId:m.sessionId}:l=m&&!m.success?{code:m.errorCode,message:o[m.errorCode],sessionId:m.sessionId}:{code:i.ErrorCode.ServerError,message:o[i.ErrorCode.ServerError]},s?(g(),c(s)):l&&(b(),u(l))}};window.addEventListener("message",y),m=window.setTimeout((function(){h(),u({code:i.ErrorCode.Timeout,message:"Page failed to load after timeout ("+l.timeout+" ms)"})}),l.timeout),l.allowFullscreen&&v.setAttribute("allowfullscreen",""),v.style.cssText="position: static; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0",l.useWebview&&v.addEventListener("loadstop",(function(){v.contentWindow.postMessage(JSON.stringify({messageType:"WebviewHost"}),"*")}));var E=(l.customDomain?l.customDomain:"https://"+t+".cognitiveservices.azure.com/immersivereader/webapp/v1.0/")+"reader?exitCallback=ImmersiveReader-Exit&sdkPlatform=js&sdkVersion=1.0.0";E+="&cookiePolicy="+(l.cookiePolicy===a.CookiePolicy.Enable?"enable":"disable"),l.hideExitButton&&(E+="&hideExitButton=true"),l.uiLang&&(E+="&omkt="+l.uiLang),v.src=E,p.style.cssText="position: fixed; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0; -webkit-perspective: 1px; z-index: "+l.uiZIndex+"; background: white; overflow: hidden",p.appendChild(v),document.body.appendChild(p),document.head.appendChild(f)}else u({code:i.ErrorCode.InvalidSubdomain,message:o[i.ErrorCode.InvalidSubdomain]});else u({code:i.ErrorCode.BadArgument,message:"Chunks must not be empty"});else u({code:i.ErrorCode.BadArgument,message:"Chunks must not be null"});else u({code:i.ErrorCode.BadArgument,message:"Content must not be null"});else u({code:i.ErrorCode.BadArgument,message:"Token must not be null"})}))},t.close=function(){window.postMessage("ImmersiveReader-Exit","*")},t.isValidSubdomain=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.BadArgument="BadArgument",e.Timeout="Timeout",e.TokenExpired="TokenExpired",e.Throttled="Throttled",e.ServerError="ServerError",e.InvalidSubdomain="InvalidSubdomain"}(t.ErrorCode||(t.ErrorCode={}))}])},78259:(e,t,n)=>{"use strict";n.d(t,{O:()=>s});var r=n(58176),a=n.n(r),i=n(39479),o={className:"info-link",defaultProtocol:"https"},s={linkifyText:function(e,t){if(e){var n=t?i.extend({},o,t):o;return a()(e,n)}}}},25723:(e,t,n)=>{"use strict";n.d(t,{m:()=>f});var r=n(32735),a=n(29014),i=n(99940),o=n(23481),s=n(91967),l=n(44704),c=n(49985);const u={button:"nckQw"};function d(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 m=null,p=!1,v="shared.immersiveReader";function f(e){var t,n,f=(t=r.useState(m),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,o,s=[],l=!0,c=!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)&&(s.push(r.value),s.length!==t);l=!0);}catch(e){c=!0,a=e}finally{try{if(!l&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw a}}return s}}(t,n)||function(e,t){if(e){if("string"==typeof e)return d(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)?d(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.")}()),g=f[0],h=f[1];return m||p||(p=!0,(0,l.ajaxRequest)({resource:"/api/integrations/token/immersive-reader",type:i.k.GET,success:function(e){m=e,h(e),window.setTimeout((function(){m=null,p=!1}),9e5)},error:function(){}})),g?(e.title||(e.title=o.T.getPhrase(v,"titleFallback")),r.createElement("span",{className:"".concat(u.button," ").concat(e.className||""),onClick:function(){s.q.isFunction(e.onLaunch)&&e.onLaunch(),c.k.logUserAction(e.analyticsData,e.analyticsOptions);var t={title:e.title,chunks:[{content:e.text,mimeType:e.html?"text/html":"text/plain"}]},n=g.subdomain,r=g.token,i={uiZIndex:5e3,onExit:function(){s.q.isFunction(e.onExit)&&e.onExit()}};a.launchAsync(r,n,t,i)}},r.createElement("svg",{viewBox:"0 0 40 37"},r.createElement("path",{d:"M37.4,0.9 L37.4,9.6 L35.4,9.6 L35.4,2.9 L24.4,2.9 C22.9,3.3 20,4.5 20,6 L20,17.2 L18,17.2 L18,6 C18,5 15.6,3.6 13.8,2.9 L2,2.9 L2,29 L12.4,29 L12.4,31 L0,31 L0,0.9 L14.1,0.9 L14.3,1 C15,1.2 17.5,2.2 18.9,3.7 C20.5,1.9 23.5,1.1 23.9,1 L24.1,1 L37.4,1 L37.4,0.9 Z",fill:"#000000"}),r.createElement("path",{d:"M27.4,37 L25.8,37 L18.4,29.4 L14,29.4 L14,21 L18.4,20.9 L26.1,13 L27.4,13 L27.4,37 Z M16,27.4 L19.2,27.4 L25.3,33.7 L25.3,16.6 L19.2,22.9 L15.9,22.9 L15.9,27.4 L16,27.4 Z",fill:"#0197F2"}),r.createElement("path",{d:"M31.3,32.7 L29.6,31.7 C29.6,31.7 31.7,28.3 31.7,25.2 C31.7,21.9 29.6,18.5 29.6,18.4 L31.3,17.4 C31.4,17.6 33.7,21.3 33.7,25.2 C33.7,28.8 31.4,32.6 31.3,32.7 Z",fill:"#0197F2"}),r.createElement("path",{d:"M36.4,36.2 L34.8,35 C34.8,35 38,30.8 38,25.2 C38,19.6 34.8,15.4 34.8,15.4 L36.4,14.2 C36.5,14.4 40,19 40,25.3 C40,31.5 36.5,36 36.4,36.2 Z",fill:"#0197F2"})))):r.createElement(r.Fragment,null)}},87311:(e,t,n)=>{"use strict";n.d(t,{G:()=>a});var r=n(81886),a={getTagActionProps:function(e,t,n){return n?{onClick:function(n){t&&t();var a=e?e(n):null;if(a)return r.Q.C$.trigger(a)}}:{getAppLink:function(t){return e?e(t):null},onClick:t}}}},16035:(e,t,n)=>{"use strict";n.d(t,{z:()=>c});var r=n(32735),a=n(23481),i=n(36848),o=n(44829),s=n(91807),l=a.T.encloseNamespace("shared.tags");function c(e){var t,n,a=e.tag,c=e.appLink,u=e.onClick,d=e.disabled,m=e.tagClass,p=void 0===m?"tag":m,v=a.name.toLowerCase(),f=null===(t=a.tagType)||void 0===t?void 0:t.toLowerCase(),g=f===o.Q.Normal&&e.themeColours&&!!(null===(n=e.themeColours)||void 0===n?void 0:n.secondary),h="rounded-pill py-1 px-2 my-1 me-1 ".concat(p," ").concat(function(e,t){switch(e){case o.Q.Pedagogy:case o.Q.Skill:return"pedagogy-tag text-white";case o.Q.Hidden:return"hidden-tag fw-normal";case o.Q.Normal:return t?"":"bg-gray-100 fw-normal";default:return""}}(f,g));g&&(h+=" text-white"),!c&&!u||d||(h+=" cursor-pointer"),d&&(h+=" "+s.Z.disabled),e.onRemove&&(h+=" "+s.Z.badge),c||(h+=" d-inline-block");var b=g?{backgroundColor:e.themeColours.secondary}:{};return c?r.createElement(i.F,{onClick:u,appLink:c,className:h,title:v,style:b},r.createElement("span",{className:"text-truncate text-nowrap"},v)):r.createElement("button",{onClick:u,className:h,title:v,style:b,"aria-label":"".concat(l("ariaFilter")," ").concat(v)},r.createElement("span",{className:"text-truncate text-nowrap"},v,e.onRemove&&r.createElement("button",{onClick:e.onRemove,className:"".concat(s.Z.close," btn-close font-size-normal"),role:"button","aria-label":"Close"})))}},91743:(e,t,n)=>{"use strict";n.d(t,{P:()=>c});var r=n(32735),a=n(16035),i=n(44829),o=n(91807);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}function l(e){var t;switch(null===(t=e.tagType)||void 0===t?void 0:t.toLowerCase()){case i.Q.Pedagogy:return 0;case i.Q.Skill:return 1;default:return 2}}function c(e){if(!e.tags)return r.createElement(r.Fragment,null);var t,n=(t=e.tags,function(e){if(Array.isArray(e))return s(e)}(t)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||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)||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.")}()).sort((function(e,t){return l(e)-l(t)}));return r.createElement("div",{className:"".concat(o.Z.tagList," ").concat(e.className)},n.map((function(t){var n="function"==typeof e.getAppLink?e.getAppLink(t):null,i="function"==typeof e.onRemove?function(){return e.onRemove(t)}:null,o="function"==typeof e.onClick?function(){return e.onClick(t)}:null;return r.createElement(a.z,{key:t.id||t.name,tag:t,appLink:n,themeColours:e.themeColours,onRemove:i,onClick:o})})))}},73804:(e,t,n)=>{"use strict";n.d(t,{X:()=>k});var r=n(32735),a=n(42648),i=n(23481),o=n(110),s=n(78259),l=n(65858),c=n(11607),u=n(25723),d=n(87311),m=n(91743),p=n(83345),v=n(40178),f=n(31908),g=n(8730);const h={closeButton:"ZwHXo",descriptionBorder:"J_Z5i"};var b="shared.videoDetails",y=i.T.encloseNamespace(b);function E(e){var t=e.label,n=e.items,a=e.className;if(!(n&&n.data&&n.data.length))return r.createElement(r.Fragment,null);var i=n.data.map((function(e){return e.name})).join(", ");return r.createElement("div",{className:a},t,": ",i)}function C(e){var t,n,a,i,s,l,c,u,d=e.video;if(!f.M.isVideo(d)&&!f.M.isClip(d))return r.createElement(r.Fragment,null);var m=f.M.getParentVideo(d);return r.createElement("div",{className:d.description?"col-md-5 ps-md-3 pt-3 pt-md-0":"col-12"},r.createElement("h2",{className:"h6 mb-1"},r.createElement(p.x,{phrase:"details"})),!!m.productionYear&&r.createElement("div",{className:"mb-1"},r.createElement(p.x,{phrase:"productionYear",options:{year:m.productionYear}})),r.createElement(E,{label:y("productionCompanies",{smartCount:null===(n=null===(t=m.productionCompanies)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length}),items:m.productionCompanies,className:"mb-1"}),r.createElement(E,{label:y("distributors",{smartCount:null===(i=null===(a=m.distributors)||void 0===a?void 0:a.data)||void 0===i?void 0:i.length}),items:m.distributors,className:"mb-1"}),r.createElement(E,{label:y("producers",{smartCount:null===(l=null===(s=m.producers)||void 0===s?void 0:s.data)||void 0===l?void 0:l.length}),items:m.producers,className:"mb-1"}),r.createElement(E,{label:y("directors",{smartCount:null===(u=null===(c=m.directors)||void 0===c?void 0:c.data)||void 0===u?void 0:u.length}),items:m.directors,className:"mb-1"}),!!m.dateBroadcast&&r.createElement("div",{className:"mb-1"},r.createElement(p.x,{phrase:"dateBroadcast",options:{date:o.O.format(m.dateBroadcast,"DD/MM/YYYY")}})),!!m.channel&&r.createElement("div",{className:"mb-1"},r.createElement(p.x,{phrase:"channel",options:{channel:m.channel.name}})),function(){var t,n;return!!(null===(t=e.currentUser)||void 0===t?void 0:t.isAuthenticated)&&!!d.dateCreated&&!(null===(n=d._isClickViewCurated)||void 0===n?void 0:n.value)}()&&r.createElement("div",{className:"mb-1"},r.createElement(p.x,{phrase:"dateUploaded",options:{date:o.O.format(d.dateCreated,"DD/MM/YYYY")}})))}function k(e){var t,n=e.video,i=e.maxHeight,o=void 0===i?v.x:i,y=f.M.getParentVideo(n),E=!!e.video.description,k=(0,g._)(e.video)||!!y.productionYear||!!y.dateBroadcast||!!y.channel||!(!n.dateCreated||(null===(t=n._isClickViewCurated)||void 0===t?void 0:t.value)),w="function"==typeof e.onClickClose,x="function"==typeof e.onClickShowCurriculumLinks;return E||k?r.createElement(p.D.Provider,{value:b},r.createElement("div",{className:"rounded border p-3 mb-3 position-relative"},r.createElement(a.$B,{autoHeight:!0,autoHeightMax:o},r.createElement("div",{className:"row g-0"},E&&r.createElement("div",{className:k?"".concat(h.descriptionBorder," pe-3 col-md-7"):"col-12"},r.createElement("div",{className:"d-flex align-items-center"},r.createElement("h2",{className:"h6 mb-1"},r.createElement(p.x,{phrase:"description"})),r.createElement(u.m,{text:n.description,title:n.name,className:"ps-2",onLaunch:e.onLaunchImmersiveReader,onExit:e.onExitImmersiveReader,analyticsOptions:{location:l.LZ.PlayPage,entity:l.py.Video,actionType:l.Vw.Click,descriptor:l._S.LaunchImmersiveReader},analyticsData:{id:n.id,type:"description"}})),r.createElement("p",{className:"mb-0",dangerouslySetInnerHTML:{__html:s.O.linkifyText(e.video.description,{nl2br:!0})}}),r.createElement(m.P,Object.assign({tags:function(){var t,n;return e.hideTags||f.M.isInteractive(e.video)||!(null===(n=null===(t=e.video.tags)||void 0===t?void 0:t.data)||void 0===n?void 0:n.length)?null:e.video.tags.data}()},d.G.getTagActionProps(e.getTagAppLink,null,e.suppressInteractivity),{className:"mt-1"})),x&&r.createElement(c.L,{onClick:e.onClickShowCurriculumLinks,className:"cursor-pointer d-inline-block fw-semibold text-info mt-2 mb-1"},r.createElement(p.x,{namespace:b,phrase:"seeCurriculumLinks"}))),k&&r.createElement(C,Object.assign({},e)))),w&&r.createElement("button",{type:"button",className:"btn-close ".concat(h.closeButton),"aria-label":"Close",onClick:e.onClickClose}))):r.createElement(r.Fragment,null)}},8730:(e,t,n)=>{"use strict";n.d(t,{_:()=>u});var r=n(1048),a=n(66090);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 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)||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 n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function s(e){var t=e.page,n=e.totalPages,i=a.O.isNumber(t)&&t>0&&t<n&&t+1,o=a.O.isNumber(t)&&t>1&&t-1,s={};if(i&&i<=n&&(s.next=i.toString()),o&&(s.previous=o.toString()),!r.t.isEmpty(s))return s}var l={isEmpty:function(e){return e&&!(e.data&&e.data.length)},length:function(e){return e&&e.data&&e.data.length},at:function(e,t){if(e&&e.data&&e.data.length&&!(t>e.data.length))return e.data[t]},get:function(e,t){if(e&&e.data&&e.data.length)return e.data.find((function(e){return e.id&&e.id.toString()===t}))},flattenCollections:function(e){if(e&&e.length){var t=[];return e.forEach((function(e){t=[].concat(i(t),i(e.data))})),t}},getNextCursor:function(e){return e.pagination&&e.pagination.cursors&&e.pagination.cursors.next},convertLegacyPaginatedCollection:function(e){if(e)return{data:e.data,pagination:{cursors:s(e.pagination),limit:e.pagination.pageSize}}},hasData:function(e){return!l.isEmpty(e)}},c=n(31908);function u(e){var t=l.hasData,n=function(e){return c.M.isVideo(e)?e:c.M.isClip(e)?e._parentVideo:null}(e);return!!n&&(t(n.productionCompanies)||t(n.producers)||t(n.distributors)||t(n.directors))}},40178:(e,t,n)=>{"use strict";n.d(t,{x:()=>r});var r=368},44829:(e,t,n)=>{"use strict";var r,a;n.d(t,{Q:()=>r}),function(e){e.Normal="normal",e.Pedagogy="pedagogy",e.Hidden="hidden",e.Skill="skill",e.Curation="curation"}(r||(r={})),function(e){e[e.Normal=0]="Normal",e[e.Pedagogy=1]="Pedagogy",e[e.Hidden=2]="Hidden",e[e.Skill=3]="Skill",e[e.Curation=4]="Curation"}(a||(a={}))},94644:(e,t,n)=>{"use strict";n.d(t,{r:()=>u});var r=n(50242),a=n(81886),i=n(67058),o=n(14553),s=n(49267),l=n(49075),c={notFound:i.d,forbidden:{rating:o.q,yearLevel:o.q,region:s.a,privacy:o.q},badRequest:l._};function u(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e){var i;i="number"==typeof e?e:e.status;var o=Object.assign(Object.assign({},c),t);i&&a.Q.Ry.isStatusCodeError(i)&&(i!==r.o.NotFound?i!==r.o.Forbidden?n.badRequest||a.Q.Ry.throw(new o.badRequest):n.forbidden||a.Q.Ry.throw(new o.forbidden.privacy):n.notFound||a.Q.Ry.throw(new o.notFound))}}},91286:(e,t,n)=>{"use strict";n.d(t,{v:()=>o});var r=n(32735),a=n(94644);function i(e){return e.map((function(e){return e.statusCode})).join(":")}function o(e,t,n){var o=Array.isArray(e)?e:[e];(0,r.useEffect)((function(){o.forEach((function(e){(0,a.r)(e.statusCode,t,n)}))}),[i(o),t,n])}},64554:(e,t,n)=>{"use strict";n.r(t),n.d(t,{StudentsVideoView:()=>N});var r=n(32735),a=n(23481),i=n(20354),o=n(36848),s=n(83914),l=n(83345),c=n(73804),u=n(4594),d=n(60051),m=n(43012),p=n(39151),v=n(20768),f=n(47812),g=n(31949),h=n(1575),b=n(91286),y=n(35223),E=n(64818),C=n(14070),k=n(97291),w=n(57245),x=n(47288),L="userManager.studentsVideo",S=a.T.encloseNamespace(L);function N(e){var t,n,a,N=i.a.useBasicFetch(x.N.getUser(e.userId)),I=i.a.useBasicFetch((n=e.id,(a=e.typeId).toString()===u.E.Clip.toString()?m.e.clip(n):a.toString()===u.E.Interactive.toString()?v.b.interactiveMetadata(n):h.R.video(n))),A=i.a.useBasicFetch(f.k.createViewKey(e.id,d.f.MasterObject)),T=i.a.useBasicFetch(p.L.config()),j=i.a.useBasicFetch(g.N.currentUser());return(0,b.v)([N,I]),N.hasCompleted&&I.hasCompleted&&A.hasCompleted&&T.hasCompleted&&j.hasCompleted?r.createElement("div",{className:"px-3"},r.createElement("div",{className:"alert text-dark bg-light-blue px-2 rounded d-flex flex-column flex-lg-row justify-content-between mb-3 align-items-center",role:"alert"},r.createElement("div",{className:"d-flex align-items-center"},r.createElement(s.x,{svgName:y.vn.Info,size:s.S.Standard,className:"me-2 svg-container"}),r.createElement("div",{className:"w-100"},r.createElement("p",{className:"fw-semibold mb-0"},S(function(e){return e.toString()===u.E.Clip.toString()?"messageClip":e.toString()===u.E.Interactive.toString()?"messageInteractive":"messageVideo"}(e.typeId),{name:E.l.getFullName(N.data),yearGroup:null===(t=N.data.masterYearGroup)||void 0===t?void 0:t.name}))))),r.createElement("div",{className:"mb-3"},r.createElement(w._,{config:T.data,video:I.data,currentUser:j.data,viewKey:A.data})),r.createElement("div",{className:"d-flex justify-content-between align-items-center mb-2"},r.createElement("div",null,r.createElement("h1",{className:"h3 d-inline-flex m-0 mb-2"},I.data.name)),r.createElement(o.F,{appLink:{application:k.O.USER_MANAGER,action:C.e.UserManager.DELETE_STUDENTS_VIDEO,args:[e.userId,e.id],params:{typeId:e.typeId}},className:"btn btn-outline-dark"},r.createElement(l.x,{namespace:L,phrase:"delete"}))),r.createElement(c.X,{video:I.data})):r.createElement(r.Fragment,null)}},91807:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const r={tagList:"Zw6d9",disabled:"jlL1c",partialTag:"too_N",badge:"OjtN8",close:"X9joI"}}}]);
|
|
2
|
+
//# sourceMappingURL=4554-b9aa07891f-lite.chunk.js.map
|