@clickview/lite 0.75.0-rc.2 → 0.75.0-rc.3

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.
Files changed (160) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{119-lite-a1f592f602.chunk.css → 1243-lite-13eda8f6a0.chunk.css} +2 -4
  3. package/dist/css/{7230-lite-36ff6e6d53.chunk.css → 1867-lite-8baa8af02b.chunk.css} +3 -5
  4. package/dist/css/{5241-lite-baab687563.chunk.css → 4203-lite-9ffab89741.chunk.css} +3 -5
  5. package/dist/css/{8364-lite-99938dea56.chunk.css → 5193-lite-d434056013.chunk.css} +1 -0
  6. package/dist/css/{7339-lite-05c396fed3.chunk.css → 6756-lite-839687d3d7.chunk.css} +1 -0
  7. package/dist/css/{9527-lite-1d2221b6a8.chunk.css → 7103-lite-fef3024f61.chunk.css} +2 -4
  8. package/dist/css/{8856-lite-827b34aed7.chunk.css → 8856-lite-c114ab5c89.chunk.css} +1 -1
  9. package/dist/languages/en.json +1 -1
  10. package/dist/scripts/104-7abe2b09dd-lite.chunk.js +2 -0
  11. package/dist/scripts/104-7abe2b09dd-lite.chunk.js.map +1 -0
  12. package/dist/scripts/1074-2ab8b03e30-lite.chunk.js +2 -0
  13. package/dist/scripts/1074-2ab8b03e30-lite.chunk.js.map +1 -0
  14. package/dist/scripts/1087-861be5211f-lite.chunk.js +2 -0
  15. package/dist/scripts/1087-861be5211f-lite.chunk.js.map +1 -0
  16. package/dist/scripts/1199-6522b1d291-lite.chunk.js +2 -0
  17. package/dist/scripts/1199-6522b1d291-lite.chunk.js.map +1 -0
  18. package/dist/scripts/121-1b744469ee-lite.chunk.js +2 -0
  19. package/dist/scripts/121-1b744469ee-lite.chunk.js.map +1 -0
  20. package/dist/scripts/{1221-502395e693-lite.chunk.js → 1221-894d8474d5-lite.chunk.js} +3 -3
  21. package/dist/scripts/1221-894d8474d5-lite.chunk.js.map +1 -0
  22. package/dist/scripts/1243-ede924125c-lite.chunk.js +2 -0
  23. package/dist/scripts/1243-ede924125c-lite.chunk.js.map +1 -0
  24. package/dist/scripts/147-44ee7e9a78-lite.chunk.js +2 -0
  25. package/dist/scripts/147-44ee7e9a78-lite.chunk.js.map +1 -0
  26. package/dist/scripts/{1610-7f58bb25a9-lite.chunk.js → 1610-bf848cce4d-lite.chunk.js} +2 -2
  27. package/dist/scripts/{1610-7f58bb25a9-lite.chunk.js.map → 1610-bf848cce4d-lite.chunk.js.map} +1 -1
  28. package/dist/scripts/{7230-71f8d6d1bd-lite.chunk.js → 1867-3b447a1b85-lite.chunk.js} +2 -2
  29. package/dist/scripts/{7230-71f8d6d1bd-lite.chunk.js.map → 1867-3b447a1b85-lite.chunk.js.map} +1 -1
  30. package/dist/scripts/2258-ed7383502f-lite.chunk.js +3 -0
  31. package/dist/scripts/2258-ed7383502f-lite.chunk.js.map +1 -0
  32. package/dist/scripts/3268-2736356687-lite.chunk.js +2 -0
  33. package/dist/scripts/{3268-faca1bf46e-lite.chunk.js.map → 3268-2736356687-lite.chunk.js.map} +1 -1
  34. package/dist/scripts/3836-425334ab13-lite.chunk.js +2 -0
  35. package/dist/scripts/{3836-f2a0c9f713-lite.chunk.js.map → 3836-425334ab13-lite.chunk.js.map} +1 -1
  36. package/dist/scripts/3837-e4c5bb738b-lite.chunk.js +2 -0
  37. package/dist/scripts/3837-e4c5bb738b-lite.chunk.js.map +1 -0
  38. package/dist/scripts/4185-1f65c7adc9-lite.chunk.js +2 -0
  39. package/dist/scripts/4185-1f65c7adc9-lite.chunk.js.map +1 -0
  40. package/dist/scripts/4203-ee50e89841-lite.chunk.js +3 -0
  41. package/dist/scripts/4203-ee50e89841-lite.chunk.js.map +1 -0
  42. package/dist/scripts/4598-bcd3f6f8a7-lite.chunk.js +2 -0
  43. package/dist/scripts/{4598-2b1daca7ae-lite.chunk.js.map → 4598-bcd3f6f8a7-lite.chunk.js.map} +1 -1
  44. package/dist/scripts/4948-f21dad2ca1-lite.chunk.js +2 -0
  45. package/dist/scripts/4948-f21dad2ca1-lite.chunk.js.map +1 -0
  46. package/dist/scripts/{5153-079b4125ae-lite.chunk.js → 5153-acc6c13153-lite.chunk.js} +3 -3
  47. package/dist/scripts/5153-acc6c13153-lite.chunk.js.map +1 -0
  48. package/dist/scripts/6137-bc8b193237-lite.chunk.js +2 -0
  49. package/dist/scripts/6137-bc8b193237-lite.chunk.js.map +1 -0
  50. package/dist/scripts/6756-e90680dfcd-lite.chunk.js +3 -0
  51. package/dist/scripts/6756-e90680dfcd-lite.chunk.js.map +1 -0
  52. package/dist/scripts/6790-c8a9efba50-lite.chunk.js +2 -0
  53. package/dist/scripts/6790-c8a9efba50-lite.chunk.js.map +1 -0
  54. package/dist/scripts/705-10a85bae7a-lite.chunk.js +2 -0
  55. package/dist/scripts/705-10a85bae7a-lite.chunk.js.map +1 -0
  56. package/dist/scripts/7103-14bd3771d2-lite.chunk.js +2 -0
  57. package/dist/scripts/7103-14bd3771d2-lite.chunk.js.map +1 -0
  58. package/dist/scripts/7205-12a6b2ac55-lite.chunk.js +2 -0
  59. package/dist/scripts/7205-12a6b2ac55-lite.chunk.js.map +1 -0
  60. package/dist/scripts/7438-88d11bb89a-lite.chunk.js +2 -0
  61. package/dist/scripts/7438-88d11bb89a-lite.chunk.js.map +1 -0
  62. package/dist/scripts/7480-e0749592fc-lite.chunk.js +2 -0
  63. package/dist/scripts/7480-e0749592fc-lite.chunk.js.map +1 -0
  64. package/dist/scripts/8010-e9163f5bee-lite.chunk.js +2 -0
  65. package/dist/scripts/8010-e9163f5bee-lite.chunk.js.map +1 -0
  66. package/dist/scripts/8410-1f1fd5ccf0-lite.chunk.js +3 -0
  67. package/dist/scripts/8410-1f1fd5ccf0-lite.chunk.js.map +1 -0
  68. package/dist/scripts/8705-ecd20ef6cb-lite.chunk.js +2 -0
  69. package/dist/scripts/8705-ecd20ef6cb-lite.chunk.js.map +1 -0
  70. package/dist/scripts/8856-02dd2e486c-lite.chunk.js +2 -0
  71. package/dist/scripts/8856-02dd2e486c-lite.chunk.js.map +1 -0
  72. package/dist/scripts/9003-1db925f5ec-lite.chunk.js +2 -0
  73. package/dist/scripts/9003-1db925f5ec-lite.chunk.js.map +1 -0
  74. package/dist/scripts/9042-1a42fcbba2-lite.chunk.js +2 -0
  75. package/dist/scripts/9042-1a42fcbba2-lite.chunk.js.map +1 -0
  76. package/dist/scripts/9103-4eec16d73b-lite.chunk.js +2 -0
  77. package/dist/scripts/9103-4eec16d73b-lite.chunk.js.map +1 -0
  78. package/dist/scripts/9134-19912ca3ee-lite.chunk.js +2 -0
  79. package/dist/scripts/9134-19912ca3ee-lite.chunk.js.map +1 -0
  80. package/dist/scripts/9266-f0ad8d5cb3-lite.chunk.js +2 -0
  81. package/dist/scripts/9266-f0ad8d5cb3-lite.chunk.js.map +1 -0
  82. package/dist/scripts/9740-9d50d31b72-lite.chunk.js +2 -0
  83. package/dist/scripts/9740-9d50d31b72-lite.chunk.js.map +1 -0
  84. package/dist/scripts/{bundle-95a6fc2722.min.js → bundle-828ca65de8.min.js} +3 -3
  85. package/dist/scripts/{bundle-95a6fc2722.min.js.map → bundle-828ca65de8.min.js.map} +1 -1
  86. package/package.json +1 -1
  87. package/dist/scripts/104-b62a8447f0-lite.chunk.js +0 -2
  88. package/dist/scripts/104-b62a8447f0-lite.chunk.js.map +0 -1
  89. package/dist/scripts/107-989ac2dc47-lite.chunk.js +0 -2
  90. package/dist/scripts/107-989ac2dc47-lite.chunk.js.map +0 -1
  91. package/dist/scripts/119-e3a8bd94dd-lite.chunk.js +0 -2
  92. package/dist/scripts/119-e3a8bd94dd-lite.chunk.js.map +0 -1
  93. package/dist/scripts/1199-a2ac2338d0-lite.chunk.js +0 -2
  94. package/dist/scripts/1199-a2ac2338d0-lite.chunk.js.map +0 -1
  95. package/dist/scripts/121-bf7a153eb8-lite.chunk.js +0 -2
  96. package/dist/scripts/121-bf7a153eb8-lite.chunk.js.map +0 -1
  97. package/dist/scripts/1221-502395e693-lite.chunk.js.map +0 -1
  98. package/dist/scripts/2258-4d0639c9fe-lite.chunk.js +0 -3
  99. package/dist/scripts/2258-4d0639c9fe-lite.chunk.js.map +0 -1
  100. package/dist/scripts/3268-faca1bf46e-lite.chunk.js +0 -2
  101. package/dist/scripts/3836-f2a0c9f713-lite.chunk.js +0 -2
  102. package/dist/scripts/3837-fe321e8deb-lite.chunk.js +0 -2
  103. package/dist/scripts/3837-fe321e8deb-lite.chunk.js.map +0 -1
  104. package/dist/scripts/4025-306e0fbdd5-lite.chunk.js +0 -2
  105. package/dist/scripts/4025-306e0fbdd5-lite.chunk.js.map +0 -1
  106. package/dist/scripts/4164-5d3af57b67-lite.chunk.js +0 -2
  107. package/dist/scripts/4164-5d3af57b67-lite.chunk.js.map +0 -1
  108. package/dist/scripts/4185-e8e40dab72-lite.chunk.js +0 -2
  109. package/dist/scripts/4185-e8e40dab72-lite.chunk.js.map +0 -1
  110. package/dist/scripts/4562-545f04c53f-lite.chunk.js +0 -2
  111. package/dist/scripts/4562-545f04c53f-lite.chunk.js.map +0 -1
  112. package/dist/scripts/4598-2b1daca7ae-lite.chunk.js +0 -2
  113. package/dist/scripts/4948-66ba60c8e3-lite.chunk.js +0 -2
  114. package/dist/scripts/4948-66ba60c8e3-lite.chunk.js.map +0 -1
  115. package/dist/scripts/5153-079b4125ae-lite.chunk.js.map +0 -1
  116. package/dist/scripts/5241-163f5ac64c-lite.chunk.js +0 -3
  117. package/dist/scripts/5241-163f5ac64c-lite.chunk.js.map +0 -1
  118. package/dist/scripts/5349-bc0fcb4083-lite.chunk.js +0 -2
  119. package/dist/scripts/5349-bc0fcb4083-lite.chunk.js.map +0 -1
  120. package/dist/scripts/6135-a878a9cff0-lite.chunk.js +0 -3
  121. package/dist/scripts/6135-a878a9cff0-lite.chunk.js.map +0 -1
  122. package/dist/scripts/6509-23fdb20a4b-lite.chunk.js +0 -2
  123. package/dist/scripts/6509-23fdb20a4b-lite.chunk.js.map +0 -1
  124. package/dist/scripts/6790-5086b72662-lite.chunk.js +0 -2
  125. package/dist/scripts/6790-5086b72662-lite.chunk.js.map +0 -1
  126. package/dist/scripts/7205-2428f775a5-lite.chunk.js +0 -2
  127. package/dist/scripts/7205-2428f775a5-lite.chunk.js.map +0 -1
  128. package/dist/scripts/7339-5793c921bb-lite.chunk.js +0 -3
  129. package/dist/scripts/7339-5793c921bb-lite.chunk.js.map +0 -1
  130. package/dist/scripts/7438-a5f96e58fc-lite.chunk.js +0 -2
  131. package/dist/scripts/7438-a5f96e58fc-lite.chunk.js.map +0 -1
  132. package/dist/scripts/7926-6b040931aa-lite.chunk.js +0 -2
  133. package/dist/scripts/7926-6b040931aa-lite.chunk.js.map +0 -1
  134. package/dist/scripts/8536-f75009dd87-lite.chunk.js +0 -2
  135. package/dist/scripts/8536-f75009dd87-lite.chunk.js.map +0 -1
  136. package/dist/scripts/8856-df102acdff-lite.chunk.js +0 -2
  137. package/dist/scripts/8856-df102acdff-lite.chunk.js.map +0 -1
  138. package/dist/scripts/9134-42dc2390ce-lite.chunk.js +0 -2
  139. package/dist/scripts/9134-42dc2390ce-lite.chunk.js.map +0 -1
  140. package/dist/scripts/9266-c5d6705147-lite.chunk.js +0 -2
  141. package/dist/scripts/9266-c5d6705147-lite.chunk.js.map +0 -1
  142. package/dist/scripts/9284-402a14d41c-lite.chunk.js +0 -2
  143. package/dist/scripts/9284-402a14d41c-lite.chunk.js.map +0 -1
  144. package/dist/scripts/9470-11c8c2ca71-lite.chunk.js +0 -2
  145. package/dist/scripts/9470-11c8c2ca71-lite.chunk.js.map +0 -1
  146. package/dist/scripts/9527-111c8586a7-lite.chunk.js +0 -2
  147. package/dist/scripts/9527-111c8586a7-lite.chunk.js.map +0 -1
  148. package/dist/scripts/9591-230bcf0935-lite.chunk.js +0 -2
  149. package/dist/scripts/9591-230bcf0935-lite.chunk.js.map +0 -1
  150. /package/dist/css/{5349-lite-829df3b4e7.chunk.css → 6137-lite-829df3b4e7.chunk.css} +0 -0
  151. /package/dist/css/{9470-lite-edb2d29928.chunk.css → 8010-lite-edb2d29928.chunk.css} +0 -0
  152. /package/dist/css/{6135-lite-41bdd1c5a3.chunk.css → 8410-lite-41bdd1c5a3.chunk.css} +0 -0
  153. /package/dist/css/{121-lite-1337d9acf0.chunk.css → 9042-lite-1337d9acf0.chunk.css} +0 -0
  154. /package/dist/scripts/{1221-502395e693-lite.chunk.js.LICENSE.txt → 1221-894d8474d5-lite.chunk.js.LICENSE.txt} +0 -0
  155. /package/dist/scripts/{2258-4d0639c9fe-lite.chunk.js.LICENSE.txt → 2258-ed7383502f-lite.chunk.js.LICENSE.txt} +0 -0
  156. /package/dist/scripts/{5153-079b4125ae-lite.chunk.js.LICENSE.txt → 4203-ee50e89841-lite.chunk.js.LICENSE.txt} +0 -0
  157. /package/dist/scripts/{5241-163f5ac64c-lite.chunk.js.LICENSE.txt → 5153-acc6c13153-lite.chunk.js.LICENSE.txt} +0 -0
  158. /package/dist/scripts/{6135-a878a9cff0-lite.chunk.js.LICENSE.txt → 6756-e90680dfcd-lite.chunk.js.LICENSE.txt} +0 -0
  159. /package/dist/scripts/{7339-5793c921bb-lite.chunk.js.LICENSE.txt → 8410-1f1fd5ccf0-lite.chunk.js.LICENSE.txt} +0 -0
  160. /package/dist/scripts/{bundle-95a6fc2722.min.js.LICENSE.txt → bundle-828ca65de8.min.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3268],{25752:(e,t,n)=>{n.d(t,{q:()=>d});var r=n(32735),a=n(33518),i=n(8233),c=n(83914),o=n(35223),s=n(31138);const l={active:"NV2KW"};function u(e){var t=e.activePrivacy===e.sharePrivacy;return r.createElement("li",null,r.createElement("button",{className:"".concat(t?l.active:""," dropdown-item d-flex align-items-center justify-content-between py-2"),onClick:function(){t||e.onClick(e.sharePrivacy)}},r.createElement("div",{className:"me-4"},r.createElement("p",{className:"font-label mb-1"},e.title),r.createElement("p",{className:"font-size-sm mb-0"},e.description)),t&&r.createElement(c.x,{svgName:o.vn.Check})))}function d(e){var t=e.shareOverrideRestrictions&&!e.hasStudentExp,n=(0,s.f)({entity:e.entity,entityPrivacy:e.entityPrivacy,hasStudentExp:e.hasStudentExp,yearGroups:e.yearGroups}),o=i.R.getPrivateIconAndText({privacy:e.sharePrivacy,entityTypeId:e.entityTypeId,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups}),l=o.icon,d=o.text;return t?r.createElement("div",{className:"btn-group"},r.createElement("button",{className:"btn border-0 info-link dropdown-toggle p-1 bg-light-blue-hover","data-bs-toggle":"dropdown"},r.createElement(c.x,{svgName:l,className:"svg-container me-1"}),r.createElement("span",{className:"me-1"},d)),r.createElement("ul",{className:"dropdown-menu cursor-pointer"},Object.values(a.e).map((function(t){var a=n[t],i=a.title,c=a.description;if((0,a.predicate)())return r.createElement(u,{key:t,sharePrivacy:t,activePrivacy:e.sharePrivacy,title:i,description:c,onClick:e.onClickSavePrivacy})})))):r.createElement("div",{className:"d-flex align-items-center"},r.createElement(c.x,{svgName:l,className:"svg-container me-1"}),r.createElement("span",null,d))}},81192:(e,t,n)=>{n.d(t,{Z:()=>v});var r=n(32735),a=n(80130),i=n(92802),c=n(23481),o=n(5173),s=(0,o.Ry)().shape({preventScrubbing:(0,o.O7)(),immediateFeedback:(0,o.O7)()}),l=n(82644),u=n(83345),d=n(83523);function m(e){return r.createElement("div",null,r.createElement("div",{className:"d-flex flex-row gap-1 justify-content-between align-items-center w-100 mb-1"},r.createElement("label",{className:"m-0 cursor-pointer",htmlFor:e.id,onClick:e.onClick},e.label),r.createElement(d.Z,{id:e.id,name:e.id,onClick:e.onClick,on:e.checked})),r.createElement("p",{className:"m-0 text-secondary"},e.description))}var p="sharev2.shareSettingsForm",y=c.T.encloseNamespace(p);function f(e){var t=(0,i.u6)();function n(e,n){t.setFieldValue(e,n),t.submitForm()}return r.createElement(a.Z,{className:"d-flex flex-column gap-2"},!e.hideFormHeading&&r.createElement("div",{className:"d-flex flex-row gap-2 justify-content-between align-items-center"},r.createElement("h3",{className:"h6 m-0"},r.createElement(u.x,{namespace:p,phrase:"heading"})),"function"==typeof e.onClickDelete&&r.createElement("a",{onClick:e.onClickDelete,className:"text-danger cursor-pointer"},r.createElement(u.x,{namespace:p,phrase:"delete"}))),r.createElement("div",{className:"d-flex flex-column gap-2"},e.showPreventScrubbingField&&r.createElement(m,{id:"prevent-scrubbing",label:y("preventScrubbingLabel"),description:y("preventScrubbingDescription"),checked:!!t.values.preventScrubbing,onClick:function(){return n("preventScrubbing",!t.values.preventScrubbing)}}),e.showImmediateFeedbackField&&r.createElement(m,{id:"immediate-feedback",label:y("immediateFeedbackLabel"),description:y("immediateFeedbackDescription"),checked:!!t.values.immediateFeedback,onClick:function(){return n("immediateFeedback",!t.values.immediateFeedback)}})))}function v(e){return!e.hideFormHeading||e.showImmediateFeedbackField||e.showPreventScrubbingField?r.createElement(l.n,{initialValues:e.initialValues,onSubmit:e.onSubmit,castInitialValues:!1,validationSchema:s},r.createElement(f,Object.assign({},e))):r.createElement(r.Fragment,null)}},31138:(e,t,n)=>{n.d(t,{B:()=>m,f:()=>d});var r=n(23481),a=n(75896),i=n(33518),c=n(8233);function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function 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,t,n){return(t=function(e){var t=function(e){if("object"!=o(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=r.T.encloseNamespace("sharev2.getSharePrivacyConfig");function d(e){var t=c.R.getShareLinkAccessType(e.entityPrivacy),n=c.R.getRespectRatingText(e.entity,e.yearGroups,e.hasStudentExp);return l(l(l(l(l(l(l(l({},i.e.JustMySchool,{title:u("respectRatings"),description:n,predicate:function(){return"private"===t}}),i.e.Protected,{title:u("respectRatings"),description:n,predicate:function(){return"private"!==t}}),i.e.JustMySchoolOverrideRestriction,{title:u("justMySchool"),description:u("justMySchoolDescription"),predicate:function(){return"private"===t}}),i.e.ProtectedOverrideRestriction,{title:u("justMySchool"),description:u("clickViewOnly"),predicate:function(){return"private"!==t}}),i.e.Public,{title:u("public"),description:u("publicDescription"),predicate:function(){return"private"===t}}),i.e.Direct,{title:"",description:"",predicate:function(){return!1}}),i.e.PasswordProtected,{title:"",description:"",predicate:function(){return!1}}),i.e.PinCode,{title:u("pinCode"),description:u("pinCodeDescription"),predicate:function(){return!1}})}function m(e){var t=d(e),n=Object.entries(t).filter((function(e){return(t=e,n=2,function(e){if(Array.isArray(e))return e}(t)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,c,o=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(l)throw a}}return o}}(t,n)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?s(e,t):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())[1].predicate();var t,n}));if(n.length)return a.m.first(n)[0]}},28161:(e,t,n)=>{n.d(t,{F:()=>y});var r=n(23481),a=n(20354),i=n(93563),c=n(87265),o=n(2267),s=n(16714),l=n(1666),u=n(69883),d=n(22902),m=n(37802),p=r.T.encloseNamespace("sharev2.useMainShareData");function y(e){var t=(0,u.Z)(),n=(0,d.T)().hasPermissions,r=(0,m.r)(null),y=r.shareToGoogleClassroom,f=r.shareToMicrosoftTeams,v=r.isLoadingSettings,b=r.shareOverrideRestrictions,h=(0,c.s)({entityId:e.entityId,entityType:e.entityType}),g=h.currentUser,S=h.entity,E=h.privacy,k=h.share,x=h.config,I=(0,i._)({entityId:e.entityId}),w=I.loaded,P=I.updateShareLink,C=a.a.useBasicFetch(g.data&&l.h.yearGroups(g.data.customerId)),N=o.I.canEmbed(e.entityType),T=o.I.getEnabledIntegrations(y,f),j=n(s.C.ManageIntegrations),F=n(s.C.StudentExperience),O=n(s.C.ManageShareLinkSettings),A=k.data&&o.I.canAddPolicies(e.entityType),M=w&&!!k.data&&!!S.data&&!!E.data&&!!x.data&&!!C&&!v;return{data:{share:k,loaded:M,entity:S,privacy:E,config:x,yearGroups:C,shareOverrideRestrictions:b},canEmbed:N,integrations:T,hasStudentExp:F,canAccessSettings:A,hasManageShareLinkSettings:O,hasManageIntegrationsPermission:j,onClickSavePrivacy:function(n){P(k.data.shareId,{privacy:n}).then((function(n){e.log({type:"update-share-link",share:n}),t.success(p("privaciesSuccess",{name:S.data.name,escapeText:!0}))})).catch((function(){return t.error(p("privaciesError",{name:S.data.name,escapeText:!0}))}))}}}},2867:(e,t,n)=>{n.d(t,{W:()=>p});var r=n(23481),a=n(20354),i=n(93563),c=n(87265),o=n(2267),s=n(4594),l=n(20768),u=n(69883),d=n(45778),m=r.T.encloseNamespace("sharev2.useShareSettingsData");function p(e){var t=(0,u.Z)(),n=(0,c.s)({entityId:e.entityId,entityType:e.entityType}),r=n.config,p=n.entity,y=n.share,f=(0,i._)({entityId:e.entityId}),v=f.loaded,b=f.updateShareLink,h=a.a.useBasicFetch(d.G.isType(p.data,s.E.Interactive)&&p.data.interactiveId&&l.b.interactive(p.data.interactiveId));function g(n){e.log({type:"update-share-link",share:n}),t.success(m("editSuccess",{name:p.data.name,escapeText:!0}))}var S=o.I.getShareSettingsInitialValues(y.data,h.data);return{data:{loaded:v&&!!y.data&&!!r.data&&!!p.data},initialValues:S,onClickSaveLink:function(e,n){b(y.data.shareId,e).then(g).catch((function(){t.error(m("editError",{name:p.data.name,escapeText:!0})),n()}))}}}},89067:(e,t,n)=>{n.d(t,{r:()=>i});var r=n(32735);function a(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 i(e){var t,n,i,c,o=(i=r.useState(null===(t=e.animate)||void 0===t||t),c=2,function(e){if(Array.isArray(e))return e}(i)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,c,o=[],s=!0,l=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(r=i.call(n)).done)&&(o.push(r.value),o.length!==t);s=!0);}catch(e){l=!0,a=e}finally{try{if(!s&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(l)throw a}}return o}}(i,c)||function(e,t){if(e){if("string"==typeof e)return a(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)?a(e,t):void 0}}(i,c)||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.")}()),s=o[0],l=o[1],u=e.steps[e.step],d=void 0!==e.loading?{loading:e.loading}:{},m=Object.assign(Object.assign(Object.assign({},e.data),d),{animate:null!==(n=e.animate)&&void 0!==n?n:s,closePopup:function(){e.closePopup()},setStep:function(t){l(!1),e.setStep(t)}});if(!u)return r.createElement(r.Fragment,null);var p=u.view;return r.createElement(p,Object.assign({},m))}}}]);
2
- //# sourceMappingURL=3268-faca1bf46e-lite.chunk.js.map
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3836,4164],{86877:(e,t,n)=>{n.d(t,{Z:()=>s});var o=n(23481);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,a(o.key),o)}}function a(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}function u(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(u=function(){return!!e})()}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}var s=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=c(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,u()?Reflect.construct(t,n||[],c(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(t,e),n=t,(a=[{key:"name",get:function(){return"FileTypeError"}},{key:"lang",get:function(){return"upload.fileType"}},{key:"dialogOptions",get:function(){return{title:o.T.getPhrase(this.lang,"heading"),text:o.T.getPhrase(this.lang,"body"),buttons:[{text:o.T.getPhrase(this.lang,"okay"),className:"btn btn-dark",success:!0},{text:o.T.getPhrase(this.lang,"close"),className:"btn btn-link",close:!0}]}}}])&&i(n.prototype,a),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,a}(n(47663).S)},90121:(e,t,n)=>{n.r(t),n.d(t,{BaseVideoUploadService:()=>fe,LearningResourceUploadService:()=>de,MixedMediaUploadService:()=>ye,SubtitleUploadService:()=>pe,UploadType:()=>ae});var o,r=n(43823),i=n(21161),a=n(46865),u=n(79976),c=n(37433),l=n(54149),s=n(71365),f=n(23481),p=n(70794),d=n(81886),y=n(49985),h=n(65858),g=n(29555);!function(e){e[e.Permanent=0]="Permanent",e[e.Temporary=1]="Temporary"}(o||(o={}));var b=n(86877),v=n(28046),m=n(52003),O=n(60735),w=n(53301),S=n.n(w),P=n(47663);function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function E(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,T(o.key),o)}}function T(e){var t=function(e){if("object"!=k(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=k(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==k(t)?t:t+""}function U(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(U=function(){return!!e})()}function j(e){return j=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},j(e)}function _(e,t){return _=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_(e,t)}var I="upload.internetConnectivityError",L=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=j(t),function(e,t){if(t&&("object"==k(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,U()?Reflect.construct(t,n||[],j(e).constructor):t.apply(e,n))}(this,t,[f.T.getPhrase(I,"title")])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_(e,t)}(t,e),n=t,(o=[{key:"name",get:function(){return"InternetConnectivityError"}},{key:"dialogOptions",get:function(){return{title:f.T.getPhrase(I,"heading"),text:f.T.getPhrase(I,"body"),buttons:[{text:f.T.getPhrase(I,"okay"),className:"btn btn-outline-dark",success:!0}]}}}])&&E(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(P.S),C=n(44331);function D(e){return D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},D(e)}function x(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,R(o.key),o)}}function R(e){var t=function(e){if("object"!=D(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=D(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==D(t)?t:t+""}function A(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(A=function(){return!!e})()}function F(e){return F=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},F(e)}function M(e,t){return M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},M(e,t)}var V="upload.slowInternetError",N=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=F(t),function(e,t){if(t&&("object"==D(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,A()?Reflect.construct(t,n||[],F(e).constructor):t.apply(e,n))}(this,t,[f.T.getPhrase(V,"title")])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&M(e,t)}(t,e),n=t,(o=[{key:"name",get:function(){return"SlowInternetError"}},{key:"dialogOptions",get:function(){return{title:f.T.getPhrase(V,"heading"),text:f.T.getPhrase(V,"body"),buttons:[{text:f.T.getPhrase(V,"okay"),className:"btn btn-outline-dark",success:!0}]}}}])&&x(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(P.S);function z(e){return z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},z(e)}function B(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Q(o.key),o)}}function Q(e){var t=function(e){if("object"!=z(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=z(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==z(t)?t:t+""}function q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(q=function(){return!!e})()}function Y(e){return Y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Y(e)}function W(e,t){return W=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},W(e,t)}var Z=[],K=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=function(e,t,n){return t=Y(t),function(e,t){if(t&&("object"==z(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,q()?Reflect.construct(t,n||[],Y(e).constructor):t.apply(e,n))}(this,t,[e])).slowInternetTimeout={},n.showSlowInternetTimeout=!0,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&W(e,t)}(t,e),n=t,o=[{key:"name",get:function(){return"DropzoneWrapper"}},{key:"initialize",value:function(e){var t=this.options.loggingEnabled,n=r.Radio.channel(e.channelName),o=this;this.dropzone=new(S())(document.createElement("div"),{url:function(e){return e[0].cvUpload.ingestUrl},chunking:this.options.chunkingEnabled,chunkSize:this.options.chunkSize,forceChunking:!0,autoProcessQueue:!0,maxFilesize:this.options.maxFileSize,acceptedFiles:this.options.acceptedFiles,paramName:"content",timeout:18e4,init:function(){var e=this;t&&(i.each(Z,(function(t){e.on(t,(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];var r=n[0]instanceof File?n[0].name:n[0];console.info(t,r,n)}))})),this.on("uploadprogress",(function(e,t,r){var i=r/e.size*100;n.trigger("progress",o.getId(e),i,r)})),this.on("success",(function(e){var t=e.upload.chunks,o=i.last(t),r=o.xhr;r||(r=o.file.xhr);var a=JSON.parse(r.response);e.cvUpload.fileId=a.id,n.trigger(g.S.UPLOAD_SUCCESS,e,a)})),this.on("error",(function(e,t,n){n&&0===n.status?d.Q.Ry.throw(new L):"canceled"!==e.status&&d.Q.Ry.throw(new C.n(f.T.getPhrase("upload.services","uploadError",{fileName:e.name,message:t.message})))})),this.on("sending",(function(e){window.clearTimeout(o.slowInternetTimeout[e.path]),o.showSlowInternetTimeout&&(o.slowInternetTimeout[e.path]=window.setTimeout((function(){o.showSlowInternetTimeout&&d.Q.Ry.throw(new N),o.showSlowInternetTimeout=!1}),3e4))})),this.on("complete",(function(e){return window.clearTimeout(o.slowInternetTimeout[e.path])})))},params:function(e,t,n){if(n)return{chunk_index:n.index,upload_length:n.file.size}},addedfile:function(){},thumbnail:function(){},uploadprogress:function(){}})}},{key:"getId",value:function(e){return e.upload.uuid}},{key:"addFile",value:function(e){this.dropzone.addFile(e)}},{key:"removeFile",value:function(e){this.dropzone.removeFile(e)}},{key:"start",value:function(){this.dropzone.processQueue()}},{key:"destroy",value:function(){this.dropzone.destroy()}}],a=[{key:"isValidFile",value:function(e,t){return S().isValidFile(e,t)}}],o&&B(n.prototype,o),a&&B(n,a),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o,a}(d.Q.t6);function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function H(e,t,n){return(t=ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function J(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function G(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,ee(o.key),o)}}function $(e,t,n){return t&&G(e.prototype,t),n&&G(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ee(e){var t=function(e){if("object"!=X(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=X(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==X(t)?t:t+""}function te(e,t,n){return t=oe(t),function(e,t){if(t&&("object"==X(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ne()?Reflect.construct(t,n||[],oe(e).constructor):t.apply(e,n))}function ne(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ne=function(){return!!e})()}function oe(e){return oe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},oe(e)}function re(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ie(e,t)}function ie(e,t){return ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ie(e,t)}var ae,ue=function(e){function t(){var e;return J(this,t),(e=te(this,t,[{dataProvider:s.u.getInstance(c.R.Ajax),cache:s.u.getInstance(a.p.Fifo),alertService:s.u.getInstance(u.P.ALERT)}])).incrementingUploadId=0,e}return re(t,e),$(t,[{key:"name",get:function(){return"UploadDataService"}},{key:"channelName",get:function(){return"private:upload:data:service"}},{key:"requestUploads",value:function(e,t,n,o,r){var a=this,u=this.chain();i.each(t,(function(t){a.incrementingUploadId++,u.create({resource:e,eventPrefix:"request:upload:".concat(a.incrementingUploadId),data:a.getFileUploadRequest(t,n),callback:function(e){o(t,e)},errorHandler:a.alertService.error("Something went wrong while we were uploading your video. Please try again.")})})),u.func((function(){r()})).run()}},{key:"cancelUpload",value:function(e,t,n){this.create({resource:"/api/upload/cancel",eventPrefix:"cancel:upload",data:{uploadId:e,ingestUrl:t},callback:n})}},{key:"getFileUploadRequest",value:function(e,t){var n=e.name.split(".");return{name:n.join("."),extension:n.length>1?n.pop():"",fileSize:e.size,fileLifestyle:t}}},{key:"onDestroy",value:function(){s.u.releaseInstance(c.R.Ajax).releaseInstance(a.p.Fifo)}}])}(l.B);!function(e){e[e.Video=0]="Video",e[e.LearningResource=1]="LearningResource",e[e.Subtitle=2]="Subtitle",e[e.MixedMedia=3]="MixedMedia"}(ae||(ae={}));var ce=H(H(H(H({},ae.Video,v.l.VIDEO),ae.LearningResource,v.l.RESOURCES),ae.Subtitle,v.l.SUBTITLES),ae.MixedMedia,v.l.MIXED_MEDIA),le=H(H(H(H({},ae.Video,m.Q4.VIDEO_UPLOAD),ae.LearningResource,m.Q4.RESOURCE_UPLOAD),ae.Subtitle,m.Q4.SUBTITLE_UPLOAD),ae.MixedMedia,m.Q4.MIXED_MEDIA_UPLOAD),se=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return J(this,t),te(this,t,[Object.assign({uploadUrl:"/api/upload"},e)])}return re(t,e),$(t,[{key:"initialize",value:function(){this.uploadDataService=new ue,this.progressViewModel=p.r.get("upload:progress:".concat(this.uploadType)),this.bindListeners()}},{key:"channelName",get:function(){return le[this.uploadType]}},{key:"lang",get:function(){return"uploadShared.services"}},{key:"initUploader",value:function(e,t){if(!this.uploader){var n=4194304;e&&n<e&&(n=e),t&&n>t&&(n=t),this.uploader=new K({chunkingEnabled:!0,loggingEnabled:!0,chunkSize:n,maxFileSize:53687091200,acceptedFiles:this.getAcceptedFiles(),channelName:this.channelName})}}},{key:"bindListeners",value:function(){this.listenTo(this.channelName,"progress",this.onProgress),this.listenTo(this.channelName,g.S.UPLOAD_SUCCESS,this.onSuccess)}},{key:"onProgress",value:function(e,t,n){var o=this.collection.get(e);o&&(o.set({progress:t>100?100:t,totalUploaded:n}),this.setOverallProgress())}},{key:"isUploading",value:function(){return!!this.getCollection().length}},{key:"getCollection",value:function(){return this.collection||(this.collection=new d.Q.FE),this.collection}},{key:"setOverallProgress",value:function(){var e=this,t=0,n=0,o=this.getCollection();if(o.length){o.each((function(e){t+=e.get("totalUploaded")||0,n+=e.get("file").size||0}));var r=t/n*100,i=r>=100,a=function(){e.progressViewModel.set({progress:i?100:r,done:i})};i?window.setTimeout(a,2e3):a()}else this.progressViewModel.set({progress:0})}},{key:"isValidFile",value:function(e){return K.isValidFile(e,this.getAcceptedFiles())}},{key:"addFiles",value:function(e,t){var n=this;i.any(e,(function(e){return!n.isValidFile(e)}))?d.Q.Ry.throw(new b.Z(f.T.getPhrase(this.lang,"invalidFileType"))):this.requestUploads(e,t)}},{key:"requestUploads",value:function(e,t){var n=this,o=this.isUploading(),i=this.getCollection();this.uploadDataService.requestUploads(this.options.uploadUrl,e,this.fileLifestyle,(function(e,t){"minChunkSize"in t||"maxChunkSize"in t?n.initUploader(1024*t.minChunkSize,1024*t.maxChunkSize):n.initUploader(t.minChunkLength,t.maxChunkLength),e.cvUpload={uploadId:t.uploadId,ingestUrl:t.ingestUrl},n.uploader.addFile(e);var o=e.name;n.uploadType===ae.Video&&(o=o.replace(/\.[^/.]+$/,"")),i.add(Object.assign({id:n.uploader.getId(e),file:e,name:o},n.getAdditionalFileInfo(e,t)),{at:i.length-1})}),(function(){t&&y.k.logUserAction({uploadCount:e.length},t),r.Radio.channel(n.channelName).trigger(g.S.FILES_ADDED,e,o)}))}},{key:"addFile",value:function(e,t){this.addFiles([e],t)}},{key:"cancelUpload",value:function(e){var t=this,n=this.getCollection(),o=n.get(e);if(o){var i=o.get("file");this.uploader.removeFile(i),n.remove(o),this.uploadDataService.cancelUpload(i.cvUpload.uploadId,i.cvUpload.ingestUrl,(function(){y.k.logUserAction(o.toJSON(),{entity:h.py.Video,actionType:h.Vw.Upload,workflowPhase:h.eu.Discard,descriptor:h.yh.Single,location:h.LZ.MyUploads}),r.Radio.channel(t.channelName).trigger(g.S.UPLOAD_CANCELLED)})),this.setOverallProgress()}}},{key:"onSuccess",value:function(e,t){var n=this.uploader.getId(e),o=this.getCollection().get(n);o.set("fileInfo",t),y.k.logUserAction({id:e.cvUpload.uploadId},{entity:h.py.Video,actionType:h.Vw.Upload,workflowPhase:h.eu.Complete,descriptor:h.yh.Single,location:h.LZ.VideoUpload}),r.Radio.channel(this.channelName).trigger(g.S.UPLOAD_COMPLETE,o)}},{key:"cancelAllUploads",value:function(){var e=this,t=this.getCollection().map((function(e){return e.get("id")}));i.each(t,(function(t){return e.cancelUpload(t)}))}},{key:"getUpload",value:function(e){var t=this.uploader.getId(e);return this.getCollection().get(t)}},{key:"getAcceptedFiles",value:function(){return ce[this.uploadType]}},{key:"getAdditionalFileInfo",value:function(e,t){return{}}}])}(d.Q.t6),fe=function(e){function t(){return J(this,t),te(this,t,arguments)}return re(t,e),$(t,[{key:"uploadType",get:function(){return ae.Video}},{key:"name",get:function(){return O.D.VideoUpload}},{key:"fileLifestyle",get:function(){return o.Temporary}}])}(se),pe=function(e){function t(){return J(this,t),te(this,t,arguments)}return re(t,e),$(t,[{key:"uploadType",get:function(){return ae.Subtitle}},{key:"name",get:function(){return O.D.SubtitleUpload}},{key:"fileLifestyle",get:function(){return o.Permanent}}])}(se),de=function(e){function t(){return J(this,t),te(this,t,arguments)}return re(t,e),$(t,[{key:"uploadType",get:function(){return ae.LearningResource}},{key:"name",get:function(){return O.D.ResourceUpload}},{key:"fileLifestyle",get:function(){return o.Permanent}}])}(se),ye=function(e){function t(){return J(this,t),te(this,t,arguments)}return re(t,e),$(t,[{key:"uploadType",get:function(){return ae.MixedMedia}},{key:"name",get:function(){return O.D.MixedMediaUpload}},{key:"fileLifestyle",get:function(){return o.Temporary}}])}(se)},28046:(e,t,n)=>{n.d(t,{l:()=>d,v:()=>y});var o=n(21161),r=["pdf"],i=["doc","docx","dotx","dot","rtf","docm","odt"],a=["csv","txt"],u=["xls","xlt","xlsx"],c=["jpg","tif","png","bmp","gif","jpeg"],l="video/*",s=["zip","rar"],f=["ppt","pot","pps","pptx"],p=["srt"],d={IMAGES:".".concat(c.join(",.")),VIDEO:l,MIXED_MEDIA:".".concat(c.join(",."),",").concat(l),RESOURCES:".".concat([].concat(i,u,f,r,a,c,s).join(",.")),SUBTITLES:".".concat(p.join(",."))},y={getResourceType:function(e){var t=e.toLowerCase();return o.contains(i,t)?"document":o.contains(u,t)?"excel":o.contains(f,t)?"powerpoint":o.contains(r,t)?"pdf":o.contains(a,t)?"text":o.contains(c,t)?"image":o.contains(s,t)?"archive":o.contains(p,t)?"subtitle":""}}},3836:(e,t,n)=>{n.r(t),n.d(t,{VideoUploadService:()=>j});var o,r=n(43823),i=n(79976),a=n(60139),u=n(71365),c=n(23481),l=n(29555),s=n(90121);!function(e){e[e.Upload=1]="Upload",e[e.Tv=2]="Tv"}(o||(o={}));var f,p,d=n(65728);!function(e){e[e.ExternalOnly=0]="ExternalOnly",e[e.EmbeddedOnly=1]="EmbeddedOnly"}(f||(f={})),function(e){e[e.IosApp=1]="IosApp",e[e.AndroidApp=2]="AndroidApp",e[e.WinApp=3]="WinApp",e[e.LibraryPublisher=4]="LibraryPublisher",e[e.ExchangeClient=5]="ExchangeClient",e[e.Online=6]="Online",e[e.Tinder=7]="Tinder",e[e.Cloud247=8]="Cloud247",e[e.Livestream=9]="Livestream",e[e.Curator=10]="Curator",e[e.LibraryEditor=11]="LibraryEditor",e[e.Lite=12]="Lite"}(p||(p={}));var y=n(75795),h=n(14070),g=n(97291),b=n(57322),v=n(16800);function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function O(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,w(o.key),o)}}function w(e){var t=function(e){if("object"!=m(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=m(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==m(t)?t:t+""}function S(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(S=function(){return!!e})()}function P(e,t,n,o){var r=k(E(1&o?e.prototype:e),t,n);return 2&o&&"function"==typeof r?function(e){return r.apply(n,e)}:r}function k(){return k="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,n){var o=function(e,t){for(;!{}.hasOwnProperty.call(e,t)&&null!==(e=E(e)););return e}(e,t);if(o){var r=Object.getOwnPropertyDescriptor(o,t);return r.get?r.get.call(arguments.length<3?e:n):r.value}},k.apply(null,arguments)}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function T(e,t){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},T(e,t)}var U=c.T.encloseNamespace("upload.services"),j=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=E(t),function(e,t){if(t&&("object"==m(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,S()?Reflect.construct(t,n||[],E(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&T(e,t)}(t,e),n=t,(c=[{key:"initialize",value:function(){P(t,"initialize",this,3)([]),this.videoUploadDataService=u.u.getInstance(b.O.VideoUpload,this),this.pendingItemsService=u.u.getInstance(b.K.PendingItems,this),this.userDataService=u.u.getInstance(b.O.FlightUser,this),this.alertService=u.u.getInstance(i.P.ALERT,this),this.listenTo(this.channelName,l.S.FILES_ADDED,this.onUploadStart),this.listenTo(this.channelName,l.S.UPLOAD_COMPLETE,this.unlockNav),this.listenTo(this.channelName,l.S.UPLOAD_CANCELLED,this.unlockNav)}},{key:"onUploadStart",value:function(e){var t={type:a.NK.Success,heading:U("startUploadAlertHeading"),message:1===e.length?U("startUploadSingleAlertBody",{videoName:e[0].name}):U("startUploadMultipleAlertBody",{uploadCount:e.length})},n=y.O.getCurrentContext().appLink;!!v.Y.getMyVideosAppLinks().find((function(e){return n.application===e.application&&n.action===e.action}))||(t.appLinkText=U("startUploadAlertAppLinkText",{smartCount:e.length}),t.appLink={application:g.O.MY_VIDEOS,action:h.e.MyVideos.MY_VIDEOS},t.appLinkClassName="info-link"),this.alertService.createAlert(t)}},{key:"unlockNav",value:function(){this.getCollection().some((function(e){return e.get("progress")<100}))||r.Radio.channel(this.channelName).trigger(l.S.UNLOCK_NAV)}},{key:"completeUpload",value:function(e,t){var n=this;e.set("sending",!0),this.userDataService.getCurrentUser((function(r){n.userDataService.getCustomerSettings(r,(function(i){n.userDataService.getWorkspace((function(a){n.videoUploadDataService.completeVideoUpload({id:e.get("id"),userId:r.id,customerId:r.customerId,libraryId:a.id,categoryId:e.get("categoryId")||null,pendingProcessOrigin:o.Upload,origin:p.Lite,fileId:t.id,subtitleOptions:{subtitleExtractOptions:f.EmbeddedOnly},video:{name:e.get("name"),description:e.get("description")},autoCaption:!!i[d.E.AutoCaptioning].value},(function(t){e.set("pendingProcessId",t.pendingProcessId),n.pendingItemsService.forceFetchPendingItems({resetTimeout:!0})}))}))}))}))}},{key:"onSuccess",value:function(e,n){var o=this;P(t,"onSuccess",this,3)([e,n]);var r=this.getUpload(e);r.get("editingMetadata")?this.listenToOnce(r,"change:editingMetadata",(function(){o.completeUpload(r,n)})):this.completeUpload(r,n)}},{key:"getAdditionalFileInfo",value:function(e,t){var n=y.O.getCurrentRoute().appLink;return n.application!==g.O.MY_VIDEOS||n.action!==h.e.MyVideos.MY_VIDEOS_FOLDER?{}:{categoryId:+n.args[0]}}}])&&O(n.prototype,c),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,c}(s.BaseVideoUploadService)}}]);
2
- //# sourceMappingURL=3836-f2a0c9f713-lite.chunk.js.map
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[3837],{6748:(e,t,r)=>{r.d(t,{i:()=>C});var n=r(32735),a=r(42648),l=r(35509),o=r(91967),i=r(15611),s=r(17808),c=r(1287),u=r(83914),d=r(90281),m={opacity:"0.8",cursor:"grabbing"},f=r(35223);function p(e){return function(e){if(Array.isArray(e))return g(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||v(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 v(e,t){if(e){if("string"==typeof e)return g(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?g(e,t):void 0}}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function y(e){var t,r,n,a;return{canScrollLeft:(null===(t=e.current)||void 0===t?void 0:t.scrollLeft)>0,canScrollRight:(null===(r=e.current)||void 0===r?void 0:r.scrollLeft)+1<(null===(n=e.current)||void 0===n?void 0:n.scrollWidth)-(null===(a=e.current)||void 0===a?void 0:a.clientWidth)}}const h={sortIndicator:"gFhu0",scrollContainer:"sWUp9",scrollbarTrack:"Vn2qM"};function b(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var E=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]])}return r};function S(e){var t,r;return e.column.canSort?n.createElement("span",{className:"".concat(h.sortIndicator,"\n ").concat(e.column.isSorted?"":"text-secondary","\n ").concat(null!==(r=null===(t=e.theme)||void 0===t?void 0:t.sortIndicator)&&void 0!==r?r:"")},n.createElement(u.x,{svgName:e.column.isSortedDesc||!e.column.isSorted?f.vn.ArrowRight:f.vn.ArrowLeft,size:u.S.Small})):n.createElement(n.Fragment,null)}function w(e){var t,r,a,u,d,f,v,g,y={columns:e.columns,data:e.data,disableSortBy:!e.enableSort,manualSortBy:e.manualSort,autoResetHiddenColumns:e.autoResetHiddenColumns,autoResetSortBy:e.autoResetSortBy,initialState:{sortBy:e.initialSortBy||[]}};e.initialSelectedRowIds&&(y.initialState={selectedRowIds:(v=e.initialSelectedRowIds,g={},v.forEach((function(e){return g[e]=!0})),g)}),e.getRowId&&(y.getRowId=e.getRowId);var h,E=l.useTable.apply(void 0,[y].concat((h=function(e){var t=[l.useSortBy,l.useRowSelect,"flex"===e.layout?l.useFlexLayout:l.useBlockLayout];return e.allowFiltering&&(t=[].concat(p(t),[l.useFilters])),e.allowGlobalFiltering&&(t=[].concat(p(t),[l.useGlobalFilter])),t}(Object.assign({},e)),function(e){if(Array.isArray(e))return b(e)}(h)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(h)||function(e,t){if(e){if("string"==typeof e)return b(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?b(e,t):void 0}}(h)||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.")}()))),w=E.getTableProps,C=E.getTableBodyProps,k=E.headerGroups,N=E.rows,T=E.prepareRow,x=E.toggleAllRowsSelected,I=E.setGlobalFilter,A=E.setHiddenColumns,O=E.state.sortBy;function R(){return N.map((function(t){T(t);var r=function(t){var r,n,a,l,i,s=o.q.isFunction(null===(r=e.theme)||void 0===r?void 0:r.row)?e.theme.row(t):null!==(a=null===(n=e.theme)||void 0===n?void 0:n.row)&&void 0!==a?a:"";return t.isSelected&&(null===(l=e.theme)||void 0===l?void 0:l.selectedRow)&&(s+=" ".concat(null===(i=e.theme)||void 0===i?void 0:i.selectedRow)),e.onSelectRow&&(s+=" cursor-pointer"),e.enableSortableRows&&(s+=" cursor-grab"),s}(t),a=!!e.getRowAppLink&&e.getRowAppLink(t);function l(){e.onSelectRow&&(e.allowSelectMultipleRows||x(!1),e.onSelectRow(t),t.toggleRowSelected(!0))}function s(e,o){var s=function(e,t){return"dragAttributes"in e&&"dragListeners"in e?Object.assign(Object.assign(Object.assign({},e.dragAttributes),e.dragListeners),{"aria-roledescription":"Sortable row",ref:t}):{}}(e,o);return a?n.createElement("div",{role:"row",key:t.id},n.createElement(i.F,Object.assign({},e,s,{className:r,appLink:a}),P(t))):n.createElement("div",Object.assign({},e,s,{key:t.id,role:"row",className:r,onClick:l}),P(t))}var u=t.getRowProps();return e.enableSortableRows?n.createElement(c.W,{id:t.original.id,key:t.id,childProps:u,childComponent:n.forwardRef((function(e,t){return s(e,t)}))}):s(u)}))}function P(t){return t.cells.map((function(r){var a=function(t,r){var n,a,l="";return"function"==typeof(null===(n=e.theme)||void 0===n?void 0:n.cell)&&(l=e.theme.cell(t,r)),"string"==typeof(null===(a=e.theme)||void 0===a?void 0:a.cell)&&(l=e.theme.cell),e.onSelectCell&&(l+=" cursor-pointer"),l}(t,r);return n.createElement("div",Object.assign({key:r.column.id},r.getCellProps(),{className:a,onClick:function(){e.onSelectCell&&e.onSelectCell(r)}}),r.render("Cell"))}))}return n.useEffect((function(){e.onSort&&e.onSort(O)}),[O]),n.useEffect((function(){e.globalFilter&&I(e.globalFilter)}),[e.globalFilter]),n.useEffect((function(){e.hiddenColumns&&A(e.hiddenColumns)}),[e.hiddenColumns&&e.hiddenColumns.length]),n.createElement("div",Object.assign({},w(),{className:null!==(r=null===(t=e.theme)||void 0===t?void 0:t.table)&&void 0!==r?r:""}),n.createElement("div",{className:null!==(u=null===(a=e.theme)||void 0===a?void 0:a.header)&&void 0!==u?u:""},k.map((function(t){var r,a;return n.createElement("div",Object.assign({},t.getHeaderGroupProps(),{className:null!==(a=null===(r=e.theme)||void 0===r?void 0:r.headerRow)&&void 0!==a?a:""}),t.headers.map((function(t){var r,a;return n.createElement("div",Object.assign({},t.getHeaderProps(t.getSortByToggleProps()),{className:null!==(a=null===(r=e.theme)||void 0===r?void 0:r.headerCell)&&void 0!==a?a:""}),t.render("Header",{renderSortIndicator:function(){return n.createElement(S,{column:t,theme:e.theme})}}),!t.hideSortIndicator&&n.createElement(S,{column:t,theme:e.theme}))})))}))),n.createElement("div",Object.assign({},C(),{className:null!==(f=null===(d=e.theme)||void 0===d?void 0:d.body)&&void 0!==f?f:""}),e.enableSortableRows?n.createElement(s.Q,{ids:N.map((function(e){return e.original.id})),getDragOverlay:function(t){var r,a,l=N.findIndex((function(e){return e.original.id===t})),o=N[l];return n.createElement("div",Object.assign({},e,{className:(r=e.theme,a="g-0 ",r&&(a+=r.row),a),style:m}),P(o))},onSortEnd:e.onSortingRowsEnd},R()):R()))}function C(e){var t=e.enableSlider,r=e.scrollIncrement,l=e.scrollable,i=E(e,["enableSlider","scrollIncrement","scrollable"]),s=function(){var e,t,r=n.useRef(null),a=(e=n.useState(y(r)),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,o,i=[],s=!0,c=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=l.call(r)).done)&&(i.push(n.value),i.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw a}}return i}}(e,t)||v(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.")}()),l=a[0],i=a[1],s=o.q.throttle((function(){i(y(r))}),200),c=n.useCallback((function(e){var t;r.current&&(null===(t=r.current)||void 0===t||t.removeEventListener("scroll",s)),e&&(i(y(r)),e.addEventListener("scroll",s)),r.current=e}),[]);return n.useEffect((function(){(null==r?void 0:r.current)&&i(y(r))}),[r]),{ref:c,scrollState:l,scroll:function(e){var t;null===(t=r.current)||void 0===t||t.scrollBy({left:e,top:0,behavior:"smooth"})}}}(),c=s.ref,u=s.scrollState,m=s.scroll;if(l)return n.createElement(a.$B,{renderTrackHorizontal:function(){return n.createElement("div",{className:h.scrollbarTrack})},autoHeightMax:1e4,autoHeight:!0},n.createElement(w,Object.assign({},i)));if(!t)return n.createElement(w,Object.assign({},i));function f(e){m(r*("right"===e?1:-1))}return n.createElement("div",{className:"mx-n4 overflow-x-hidden overflow-y-hidden"},n.createElement("div",{className:"px-4"},n.createElement("div",{className:"position-relative"},n.createElement(d.W,{direction:d.f.Left,onClick:function(){return f("left")},hide:!u.canScrollLeft}),n.createElement("div",{className:"".concat(h.scrollContainer," ").concat(e.scrollContainerClassName),ref:c},n.createElement(w,Object.assign({},i))),n.createElement(d.W,{direction:d.f.Right,onClick:function(){return f("right")},hide:!u.canScrollRight}))))}C.defaultProps={scrollIncrement:250,scrollable:!1,layout:"flex"}},14794:(e,t,r)=>{r.r(t),r.d(t,{BulkUserUploadFixDuplicatesView:()=>J});var n=r(32735),a=r(70680),l=r(23481),o=r(81886),i=r(20354),s=r(27150),c=r(1048),u=r(67370),d=r(63598),m=r(93898),f=r(45541),p=r(19717),v=r(91693),g=r(83345),y=r(96728),h=r(76881),b=r(35223),E=r(97958),S="userManager.userDuplicatesEmptyState";function w(e){var t=(0,f.V)().existingUsersHash,r=!!Object.keys(t).length;return n.createElement(E.u,null,n.createElement(E.u.Image,{src:e.imageUrl}),n.createElement(E.u.Heading,null,n.createElement(g.x,{namespace:S,phrase:"heading"})),n.createElement(E.u.Cta,{text:l.T.getPhrase(S,r?"next":"create"),onClick:e.onClickConfirm,className:"btn btn-dark"}))}var C=r(70226),k=r(6748),N=r(11607),T=r(83914),x="userManager.userDuplicateSet",I=function(e,t){return[{Header:l.T.getPhrase(x,"firstName"),id:"firstName",accessor:"firstName",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},t)},width:12.5},{Header:l.T.getPhrase(x,"lastName"),id:"surname",accessor:"surname",Cell:function(e){var t=e.value;return n.createElement("div",{className:"w-100"},t)},width:12.5},{Header:l.T.getPhrase(x,"email"),id:"email",Cell:function(e){var t=e.row.original,r=t.errorCodes.find((function(e){return e===C.x.EmailAlreadyExisted}));return n.createElement("div",{className:"w-100 ".concat(r?"text-danger":"")},t.email)},width:39},{Header:l.T.getPhrase(x,"username"),id:"username",Cell:function(e){var t=e.row.original,r=t.errorCodes.find((function(e){return e===C.x.UsernameAlreadyExisted}));return n.createElement("div",{className:"w-100 ".concat(r?"text-danger":"")},t.username)},width:29},{Header:"",id:"actions",accessor:"lookupId",Cell:function(r){var a=r.value;return n.createElement("div",{className:"w-100 d-flex align-items-center"},n.createElement(N.L,{className:"me-2 cursor-pointer",onClick:function(){return e(a)}},n.createElement(T.x,{svgName:b.vn.Edit,title:l.T.getPhrase(x,"editTooltip"),tooltipPlacement:"top",tooltipSpanHack:!0})),n.createElement(N.L,{className:"cursor-pointer",onClick:function(){return t(a)}},n.createElement(T.x,{svgName:b.vn.Close,title:l.T.getPhrase(x,"deleteTooltip"),tooltipPlacement:"top",tooltipSpanHack:!0})))},width:7}]},A="userManager.userDuplicateSet",O={header:"fw-semibold pb-1",headerCell:"px-2 py-1",cell:"px-2 py-1"};function R(e){var t,r,a=(t=e.set.errorCodes,r=e.userType===h.Y.Learner,2===t.length?l.T.getPhrase(A,r?"duplicateUsernameAndEmailStudents":"duplicateUsernameAndEmailStaff"):t.find((function(e){return e===C.x.UsernameAlreadyExisted}))?l.T.getPhrase(A,r?"duplicateUsernamesStudents":"duplicateUsernamesStaff"):t.find((function(e){return e===C.x.EmailAlreadyExisted}))?l.T.getPhrase(A,r?"duplicateEmailsStudents":"duplicateEmailsStaff"):"");return a?n.createElement("div",{className:"pb-4"},n.createElement("h3",{className:"h5"},n.createElement(g.x,{namespace:A,phrase:"heading",options:{counter:e.index+1}})),n.createElement("p",{className:"text-danger mb-1"},a),n.createElement("div",{className:"p-2 border rounded-3"},n.createElement(k.i,{columns:I((function(t){return e.onClickEdit(e.set.users.find((function(e){return e.lookupId===t})))}),(function(t){return e.onClickDelete([t])})),data:e.set.users.map((function(t){return{lookupId:t.lookupId,firstName:t.firstName,surname:t.surname,email:t.email,username:t.username,errorCodes:e.set.errorCodes}})),theme:O}))):n.createElement(n.Fragment,null)}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,l,o,i=[],s=!0,c=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=l.call(r)).done)&&(i.push(n.value),i.length!==t);s=!0);}catch(e){c=!0,a=e}finally{try{if(!s&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw a}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return U(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?U(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 U(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function j(e){var t=(0,f.V)(),r=t.users,a=t.duplicateSets,o=n.useContext(y.e),i=o.setDisableNext,s=o.setOnClickConfirm,E=e.userType===h.Y.Learner?"userManager.studentDuplicates":"userManager.staffDuplicates",S=l.T.encloseNamespace(E),C=P(n.useState([]),2),k=C[0],N=C[1],T=P(n.useState(),2),x=T[0],I=T[1],A=P(n.useState(a),1)[0];return n.useEffect((function(){i(!!(null==a?void 0:a.length))}),[null==a?void 0:a.length]),n.useEffect((function(){s((function(){return e.onClickConfirm}))}),[e.onClickConfirm]),(null==r?void 0:r.length)?n.createElement(n.Fragment,null,n.createElement("h2",{className:"h4"},n.createElement(g.x,{namespace:E,phrase:"heading"})),n.createElement("main",{className:"pb-3"},(null==a?void 0:a.length)?n.createElement(n.Fragment,null,n.createElement("p",{className:"mb-3 fw-semibold"},n.createElement(g.x,{namespace:E,phrase:"subheading"})),n.createElement("div",{className:"pb-3"},n.createElement(v.h,{svgName:b.vn.Upload,appLink:e.appLinks.userUploadPopup,className:"btn btn-outline-dark me-2"},n.createElement(g.x,{namespace:E,phrase:"reupload"}))),A.map((function(t,r){var l=t.users.map((function(e){return e.lookupId})),o=a.find((function(e){var t=e.users.map((function(e){return e.lookupId}));return c.t.isEqual(l,t)}));return o.errorCodes.length?n.createElement(R,{key:r,index:r,set:o,userType:e.userType,onClickEdit:I,onClickDelete:N}):n.createElement(n.Fragment,{key:r})}))):n.createElement(n.Fragment,null,n.createElement("p",{className:"mb-3"},n.createElement(g.x,{namespace:E,phrase:"emptyStateSubheading"})),n.createElement(w,{imageUrl:e.emptyStateImageUrl,onClickConfirm:e.onClickConfirm}))),!!x&&n.createElement(m.n,{key:x.lookupId,user:x,setUser:I,closePopup:function(){return(0,u.UJ)(I,e.closePopup)},title:S("editUser"),userType:e.userType,analyticsOptions:p.b.getAnalyticsOptions(e.userType),currentUser:e.currentUser,yearGroups:e.yearGroups,validateUser:e.validateUser,formSize:e.formSize,emailRequired:e.emailRequired,passwordPolicy:e.passwordPolicy,appLinks:e.appLinks,localErrorMessage:e.localErrorMessage,validateEmail:e.validateEmail}),!!k.length&&n.createElement(d.Q,{users:k,userType:e.userType,closePopup:function(){return(0,u.RF)(N,e.closePopup)},analyticsOptions:p.b.getAnalyticsOptions(e.userType)})):n.createElement(n.Fragment,null)}var F=r(26055),L=r(43820),H=r(149),M=r(39739),B=r(31949),D=r(79612),G=r(99742),q=r(29613),V=r(80658),W=r(47288),$=r(18087),z="userManager.bulkUploadFixDuplicates";function J(e){var t=(0,f.V)(),r=t.users,c=t.existingUsersHash,u=i.a.useBasicFetch(B.N.currentUser()),d=i.a.useBasicFetch(u.data&&W.N.yearGroups(u.data.customerId)),m=i.a.useBasicFetch(u.data&&V.F.getCustomerSecuritySettings(u.data.customerId)),v=(0,a.I0)(),g=i.a.useGetFetchAsync(),y=(0,$.Y)(e.userType);(0,D.M)({title:l.T.getPhrase(z,"pageTitle")});var b=H.b.useCreateJobErrorAlert();function E(t){o.Q.C$.trigger(Object.assign(Object.assign({},y.userUploadStatus.polling),{params:{userType:e.userType,jobId:t.id}}))}return u.data&&d.data?n.createElement(F.A.Provider,{value:L.a.Primary},n.createElement(s.$,{appLinks:y,userType:e.userType,currentStep:"fix-duplicates",canAddExistingUsers:!0},n.createElement("div",{className:"px-3"},n.createElement(j,{onClickConfirm:function(){var t;Object.keys(c).length?o.Q.C$.trigger(y.userUploadReviewExistingAccounts):(t=p.b.getJobData({users:r,customerId:u.data.customerId,userType:e.userType}),i.a.fetch(v,q.q.createJob(t,E,b)))},closePopup:e.closePopup,appLinks:y,userType:e.userType,currentUser:u.data,yearGroups:d.data,validateUser:function(t){var r=M.P.formatCreateOrValidateUserRequest([t],e.userType,u.data.customerId);return g(W.N.bulkValidate(r))},validateEmail:function(t){var r={userEmails:[{email:t,userType:e.userType}]};return g(W.N.bulkCheckEmail(r,u.data.customerId))},emailRequired:e.userType===h.Y.Staff,passwordPolicy:m.data,emptyStateImageUrl:G.W.EmptyStates.UserManager.DUPLICATES,localErrorMessage:p.b.getErrorMessageOverride(e.userType)})))):n.createElement(n.Fragment,null)}}}]);
2
- //# sourceMappingURL=3837-fe321e8deb-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/3837-fe321e8deb-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/constants/DragOverlayStyles.ts","file:///app/packages/libs/shared/src/components/table/TableUtils.ts","file:///app/packages/libs/shared/src/components/table/table.scss","file:///app/packages/libs/shared/src/components/table/Table.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-upload/user-duplicates/empty-state/UserDuplicatesEmptyState.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-upload/user-duplicates/user-duplicate-set/UserDuplicateSetUtils.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-upload/user-duplicates/user-duplicate-set/UserDuplicateSet.tsx","file:///app/packages/libs/shared/src/apps/user-manager/components/bulk-upload/user-duplicates/UserDuplicates.tsx","file:///app/packages/projects/lite/src/apps/user-manager/views/bulk-user-upload/fix-duplicates/BulkUserUploadFixDuplicatesView.tsx"],"sourcesContent":["export const DragOverlayStyles = { opacity: '0.8', cursor: 'grabbing' };","import React from 'react';\nimport { PluginHook, useBlockLayout, useFilters, useFlexLayout, useGlobalFilter, useRowSelect, useSortBy } from 'react-table';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { HashObject } from 'libs/common/react/interfaces';\n\ninterface PluginOptions {\n allowFiltering?: boolean;\n allowGlobalFiltering?: boolean;\n layout?: 'flex' | 'block';\n}\n\nexport function getPlugins<T extends HashObject>(props: PluginOptions): PluginHook<T>[] {\n let plugins: PluginHook<T>[] = [\n useSortBy,\n useRowSelect,\n props.layout === 'flex' ? useFlexLayout : useBlockLayout\n ];\n\n if (props.allowFiltering)\n plugins = [\n ...plugins,\n useFilters\n ];\n\n if (props.allowGlobalFiltering)\n plugins = [\n ...plugins,\n useGlobalFilter\n ];\n\n return plugins;\n}\n\nexport function getSelectedRowIds(ids: string[]): Record<string, boolean> {\n const idHash: Record<string, boolean> = {};\n\n ids.forEach(id => idHash[id] = true);\n\n return idHash;\n}\n\ninterface TableScrollState {\n canScrollLeft: boolean;\n canScrollRight: boolean;\n}\n\nfunction calculateScrollState(ref: React.MutableRefObject<HTMLDivElement>): TableScrollState {\n const canScrollLeft = ref.current?.scrollLeft > 0;\n const canScrollRight = (ref.current?.scrollLeft + 1) < ref.current?.scrollWidth - ref.current?.clientWidth;\n\n return { canScrollLeft, canScrollRight };\n}\n\ninterface UseTableScroll {\n ref: (el: HTMLDivElement) => void;\n scrollState: TableScrollState;\n scroll: (scrollBy: number) => void;\n}\n\nexport function useTableScroll(): UseTableScroll {\n const elRef = React.useRef<HTMLDivElement>(null);\n const [ scrollState, setScrollState ] = React.useState<TableScrollState>(calculateScrollState(elRef));\n\n function onScroll(): void {\n setScrollState(calculateScrollState(elRef));\n }\n\n function scroll(scrollBy: number): void {\n elRef.current?.scrollBy({ left: scrollBy, top: 0, behavior: 'smooth' });\n }\n\n const throttledOnScroll = FunctionHelper.throttle(onScroll, 200);\n\n const ref = React.useCallback((el: HTMLDivElement) => {\n if (elRef.current) {\n elRef.current?.removeEventListener('scroll', throttledOnScroll);\n }\n\n if (el) {\n setScrollState(calculateScrollState(elRef));\n el.addEventListener('scroll', throttledOnScroll);\n }\n\n elRef.current = el;\n }, []);\n\n React.useEffect(() => {\n if (elRef?.current) {\n setScrollState(calculateScrollState(elRef));\n }\n }, [elRef]);\n\n return { ref, scrollState, scroll };\n}","// extracted by mini-css-extract-plugin\nexport default {\"sortIndicator\":\"gFhu0\",\"scrollContainer\":\"sWUp9\",\"scrollbarTrack\":\"Vn2qM\"};","import React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\nimport {\n Cell,\n Column as BaseColumn,\n HeaderGroup,\n HeaderProps as BaseHeaderProps,\n IdType,\n Row,\n SortingRule,\n TableOptions,\n TableRowProps,\n useTable } from 'react-table';\nimport { DragEndEvent } from '@dnd-kit/core';\n\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\nimport { Core } from 'libs/common/core';\nimport { HashObject } from 'libs/common/react/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SortableContainerWrapper } from 'libs/shared/components/sortable/SortableContainerWrapper';\nimport { PropsWithSortableItemProps, SortableItemWrapper } from 'libs/shared/components/sortable/SortableItemWrapper';\nimport { SvgContainer, SvgContainerSize } from 'libs/shared/components/svg-container/SvgContainer';\nimport { WidgetButton, WidgetButtonDirection } from 'libs/shared/components/widgets/widget-button/WidgetButton';\nimport { DragOverlayStyles } from 'libs/shared/constants/DragOverlayStyles';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { getPlugins, getSelectedRowIds, useTableScroll } from './TableUtils';\n\nimport styles from './table.scss';\n\nexport interface TableTheme {\n table?: string;\n header?: string;\n headerRow?: string;\n headerCell?: string;\n body?: string;\n row?: string | ((row: Row<any>) => string);\n selectedRow?: string;\n cell?: string | ((row?: Row<any>, cell?: Cell<any, any>) => string);\n sortIndicator?: string;\n}\n\nexport type HeaderProps<T extends HashObject> = BaseHeaderProps<T> & {\n renderSortIndicator: () => void;\n}\n\nexport type Column<T extends HashObject> = BaseColumn<T> & {\n hideSortIndicator?: boolean;\n}\n\ninterface SortIndicatorProps<T extends HashObject> {\n column: HeaderGroup<T>;\n theme?: TableTheme;\n}\n\nfunction SortIndicator<T extends HashObject>(props: SortIndicatorProps<T>): JSX.Element {\n if (!props.column.canSort)\n return <></>;\n\n return (\n <span\n className={\n `${styles.sortIndicator}\n ${!props.column.isSorted ? 'text-secondary' : ''}\n ${props.theme?.sortIndicator ?? ''}`\n }\n >\n <SvgContainer\n svgName={(props.column.isSortedDesc || !props.column.isSorted)\n ? cvSvgLibrary.ArrowRight\n : cvSvgLibrary.ArrowLeft\n }\n size={SvgContainerSize.Small}\n />\n </span>\n );\n}\n\ninterface BaseTableProps<T extends HashObject> {\n /**\n * Must be memoized.\n */\n data: T[];\n\n /**\n * Must be memoized.\n * \n * For documentation on Column Options, see https://react-table.tanstack.com/docs/api/useTable#column-options\n */\n columns: Column<T>[];\n\n theme?: TableTheme;\n\n onSelectRow?: (row: Row<T>) => void;\n\n onSelectCell?: (cell: Cell<T>) => void;\n\n onRowMouseOver?: (row: Row<T>) => void;\n\n onRowMouseLeave?: (row: Row<T>) => void;\n\n allowSelectMultipleRows?: boolean;\n\n initialSelectedRowIds?: string[];\n\n getRowId?: (row: T) => string;\n\n getRowAppLink?: (row: Row<T>) => Core.AppLink;\n\n enableSort?: boolean;\n\n manualSort?: boolean;\n\n onSort?: (sortingRule: SortingRule<T>[]) => void;\n \n // Opt-in to utilise react-table's useFilter hook.\n allowFiltering?: boolean;\n\n // Opt-in to utilise react-table's useGlobalFilter hook.\n allowGlobalFiltering?: boolean;\n\n // Use either a flex layout or a block layout. Default is flex.\n layout?: 'flex' | 'block';\n\n // Used by useGlobalFilter hook, needs to be enabled by prop above.\n globalFilter?: string;\n\n // Set initial state of hidden columns in react-table.\n hiddenColumns?: IdType<T>[];\n\n // Determine whether hidden columns should be preserved on a table update event.\n autoResetHiddenColumns?: boolean;\n\n // Determine whether sort order state should be preserved on a table update event.\n autoResetSortBy?: boolean;\n\n // Determine whether rows are sortable by drag and drop\n enableSortableRows?: boolean;\n\n onSortingRowsEnd?: (event: DragEndEvent) => void;\n\n // Set initial state of sorting in react-table\n initialSortBy?: SortingRule<T>[];\n}\n \ntype SortableRowProps = PropsWithSortableItemProps<TableRowProps>;\n\nfunction BaseTable<T extends HashObject>(props: BaseTableProps<T>): JSX.Element {\n const tableOptions: TableOptions<T> = {\n columns: props.columns,\n data: props.data,\n disableSortBy: !props.enableSort,\n manualSortBy: props.manualSort,\n autoResetHiddenColumns: props.autoResetHiddenColumns,\n autoResetSortBy: props.autoResetSortBy,\n initialState: {\n sortBy: props.initialSortBy || []\n }\n };\n\n if (props.initialSelectedRowIds)\n tableOptions.initialState = { selectedRowIds: getSelectedRowIds(props.initialSelectedRowIds) };\n\n if (props.getRowId)\n tableOptions.getRowId = props.getRowId;\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n prepareRow,\n toggleAllRowsSelected,\n setGlobalFilter,\n setHiddenColumns,\n state: { sortBy }\n } = useTable<T>(tableOptions, ...getPlugins<T>({ ...props }));\n\n function getTableRowsClass(row: Row<T>) {\n let className = FunctionHelper.isFunction(props.theme?.row)\n ? props.theme.row(row)\n : props.theme?.row ?? '';\n\n if (row.isSelected && props.theme?.selectedRow)\n className += ` ${props.theme?.selectedRow}`;\n\n if (props.onSelectRow)\n className += ' cursor-pointer';\n\n if (props.enableSortableRows)\n className += ' cursor-grab';\n\n return className;\n }\n\n function renderTableRows(): JSX.Element[] {\n return rows.map(row => {\n prepareRow(row);\n \n const className = getTableRowsClass(row);\n const rowAppLink = !!props.getRowAppLink && props.getRowAppLink(row);\n\n function onClickRow(): void {\n if (!props.onSelectRow)\n return;\n\n if (!props.allowSelectMultipleRows)\n toggleAllRowsSelected(false);\n \n props.onSelectRow(row);\n row.toggleRowSelected(true);\n }\n\n function getSortableProps(props: TableRowProps | PropsWithSortableItemProps<TableRowProps>, ref?: any) {\n if ('dragAttributes' in props && 'dragListeners' in props) {\n return {\n ...props.dragAttributes,\n ...props.dragListeners,\n 'aria-roledescription': 'Sortable row',\n ref\n };\n }\n\n return {};\n }\n\n function renderRow(props: TableRowProps | PropsWithSortableItemProps<TableRowProps>, ref?: any): JSX.Element {\n const sortableProps = getSortableProps(props, ref);\n\n if (rowAppLink) {\n return (\n <div\n role='row'\n key={row.id}\n >\n <AppLink\n {...props}\n {...sortableProps}\n className={className}\n appLink={rowAppLink}\n >\n {renderCells(row)}\n </AppLink>\n </div>\n );\n }\n\n return (\n <div\n {...props}\n {...sortableProps}\n key={row.id}\n role='row'\n className={className}\n onClick={onClickRow}\n >\n {renderCells(row)}\n </div>\n );\n }\n\n const rowProps = row.getRowProps();\n\n if (props.enableSortableRows) {\n return (\n <SortableItemWrapper\n id={row.original.id}\n key={row.id}\n childProps={rowProps}\n childComponent={React.forwardRef(\n (props: SortableRowProps, ref: React.LegacyRef<HTMLDivElement>) => (renderRow(props, ref))\n )}\n />\n );\n }\n\n return renderRow(rowProps);\n });\n }\n\n function getDragOverlayClassName(theme: TableTheme): string {\n let className = 'g-0 ';\n\n if (theme)\n className += theme.row;\n\n return className;\n }\n\n function getDragOverlay(id: string) {\n const rowIndex = rows.findIndex(item => item.original.id === id);\n const row = rows[rowIndex];\n \n return (\n <div\n {...props}\n className={getDragOverlayClassName(props.theme)}\n style={DragOverlayStyles}\n >\n {renderCells(row)}\n </div>\n );\n }\n\n function getCellClassName(row: Row<T>, cell: Cell<T>): string {\n let cellClassName = '';\n\n if (typeof props.theme?.cell === 'function')\n cellClassName = props.theme.cell(row, cell);\n\n if (typeof props.theme?.cell === 'string')\n cellClassName = props.theme.cell;\n\n if (props.onSelectCell)\n cellClassName += ' cursor-pointer';\n\n return cellClassName;\n }\n\n function renderCells(row: Row<T>): JSX.Element[] {\n return row.cells.map(cell => {\n const cellClassName = getCellClassName(row, cell);\n\n function onClickCell(): void {\n props.onSelectCell && props.onSelectCell(cell);\n }\n\n return (\n <div key={cell.column.id} {...cell.getCellProps()} className={cellClassName} onClick={onClickCell} >\n {cell.render('Cell')}\n </div>\n );\n });\n }\n\n React.useEffect(() => {\n if (!props.onSort)\n return;\n\n props.onSort(sortBy);\n }, [sortBy]);\n\n React.useEffect(() => {\n if (!props.globalFilter)\n return;\n\n setGlobalFilter(props.globalFilter);\n }, [props.globalFilter]);\n\n React.useEffect(() => {\n if (!props.hiddenColumns)\n return;\n\n setHiddenColumns(props.hiddenColumns);\n }, [props.hiddenColumns && props.hiddenColumns.length]);\n\n return (\n <div {...getTableProps()} className={props.theme?.table ?? ''}>\n <div className={props.theme?.header ?? ''}>\n {headerGroups.map(headerGroup => (\n <div {...headerGroup.getHeaderGroupProps()} className={props.theme?.headerRow ?? ''}>\n {headerGroup.headers.map(column => (\n <div {...column.getHeaderProps(column.getSortByToggleProps())} className={props.theme?.headerCell ?? ''}>\n {column.render('Header', { renderSortIndicator: () => <SortIndicator column={column} theme={props.theme} /> })}\n {!(column as Column<T>).hideSortIndicator &&\n <SortIndicator column={column} theme={props.theme} />\n }\n </div>\n ))}\n </div>\n ))}\n </div>\n <div {...getTableBodyProps()} className={props.theme?.body ?? ''}>\n { props.enableSortableRows ? (\n <SortableContainerWrapper\n ids={rows.map(row => row.original.id)}\n getDragOverlay={getDragOverlay}\n onSortEnd={props.onSortingRowsEnd}\n >\n {renderTableRows()}\n </SortableContainerWrapper>\n ) : (\n renderTableRows()\n )}\n </div>\n </div>\n );\n}\n\ninterface TableProps<T extends HashObject> extends BaseTableProps<T> {\n enableSlider?: boolean;\n scrollIncrement?: number;\n scrollContainerClassName?: string;\n scrollable?: boolean;\n initialSortBy?: SortingRule<T>[];\n}\n\nTable.defaultProps = {\n scrollIncrement: 250,\n scrollable: false,\n layout: 'flex'\n};\n\nexport function Table<T extends HashObject>(props: TableProps<T>): JSX.Element {\n const { enableSlider, scrollIncrement, scrollable, ...tableProps } = props;\n\n const { ref, scrollState, scroll } = useTableScroll();\n\n if (scrollable) {\n return (\n <Scrollbars\n renderTrackHorizontal={() => <div className={styles.scrollbarTrack} />}\n autoHeightMax={10000}\n autoHeight\n >\n <BaseTable {...tableProps} />\n </Scrollbars>\n );\n }\n\n if (!enableSlider)\n return <BaseTable {...tableProps} />;\n\n function onClickScroll(direction: 'left' | 'right'): void {\n scroll(scrollIncrement * (direction === 'right' ? 1 : -1));\n }\n\n return (\n <div className='mx-n4 overflow-x-hidden overflow-y-hidden'>\n <div className='px-4'>\n <div className='position-relative'>\n <WidgetButton\n direction={WidgetButtonDirection.Left}\n onClick={() => onClickScroll('left')}\n hide={!scrollState.canScrollLeft}\n />\n <div className={`${styles.scrollContainer} ${props.scrollContainerClassName}`} ref={ref}>\n <BaseTable {...tableProps } />\n </div>\n <WidgetButton\n direction={WidgetButtonDirection.Right}\n onClick={() => onClickScroll('right')}\n hide={!scrollState.canScrollRight}\n />\n </div>\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { useBulkUploadUsers } from 'libs/shared/apps/user-manager/hooks/useBulkUploadUsers';\nimport { EmptyState } from 'libs/shared/components/empty-states/EmptyState';\nimport { Text } from 'libs/shared/components/text/Text';\n\nconst namespace = 'userManager.userDuplicatesEmptyState';\n\ninterface UserDuplicatesEmptyStateProps {\n imageUrl: string;\n onClickConfirm: () => void;\n}\n\nexport function UserDuplicatesEmptyState(props: UserDuplicatesEmptyStateProps): JSX.Element {\n const { existingUsersHash } = useBulkUploadUsers();\n\n const goNext = !!Object.keys(existingUsersHash).length;\n\n return (\n <EmptyState>\n <EmptyState.Image src={props.imageUrl} />\n <EmptyState.Heading>\n <Text namespace={namespace} phrase='heading' />\n </EmptyState.Heading>\n <EmptyState.Cta\n text={LanguageService.getPhrase(namespace, goNext ? 'next' : 'create')}\n onClick={props.onClickConfirm}\n className='btn btn-dark'\n />\n </EmptyState>\n );\n}","import React from 'react';\nimport { CellProps, Column } from 'react-table';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { UserValidationCode } from 'libs/shared/apps/user-manager/enums/UserValidationCode';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nconst namespace = 'userManager.userDuplicateSet';\n\ninterface UserDuplicateData {\n lookupId: string;\n firstName: string;\n surname: string;\n email: string;\n username: string;\n errorCodes: UserValidationCode[];\n}\n\nexport const getColumns = (\n onClickEdit: (id: string) => void,\n onClickDelete: (id: string) => void\n): Column<UserDuplicateData>[] => ([\n {\n Header: LanguageService.getPhrase(namespace, 'firstName'),\n id: 'firstName',\n accessor: 'firstName',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 12.5\n },\n {\n Header: LanguageService.getPhrase(namespace, 'lastName'),\n id: 'surname',\n accessor: 'surname',\n Cell: ({ value }) => (\n <div className='w-100'>\n {value}\n </div>\n ),\n width: 12.5\n },\n {\n Header: LanguageService.getPhrase(namespace, 'email'),\n id: 'email',\n Cell: (cell: CellProps<UserDuplicateData>) => {\n const data = cell.row.original;\n const hasError = data.errorCodes.find(e => e === UserValidationCode.EmailAlreadyExisted);\n\n return (\n <div className={`w-100 ${hasError ? 'text-danger' : ''}`}>\n {data.email}\n </div>\n );\n },\n width: 39\n },\n {\n Header: LanguageService.getPhrase(namespace, 'username'),\n id: 'username',\n Cell: (cell: CellProps<UserDuplicateData>) => {\n const data = cell.row.original;\n const hasError = data.errorCodes.find(e => e === UserValidationCode.UsernameAlreadyExisted);\n\n return (\n <div className={`w-100 ${hasError ? 'text-danger' : ''}`}>\n {data.username}\n </div>\n );\n },\n width: 29\n },\n {\n Header: '',\n id: 'actions',\n accessor: 'lookupId',\n Cell: ({ value: lookupId }) => (\n <div className='w-100 d-flex align-items-center'>\n <DivButton className='me-2 cursor-pointer' onClick={() => onClickEdit(lookupId)}>\n <SvgContainer\n svgName={cvSvgLibrary.Edit}\n title={LanguageService.getPhrase(namespace, 'editTooltip')}\n tooltipPlacement='top'\n tooltipSpanHack\n />\n </DivButton>\n <DivButton className='cursor-pointer' onClick={() => onClickDelete(lookupId)}>\n <SvgContainer\n svgName={cvSvgLibrary.Close}\n title={LanguageService.getPhrase(namespace, 'deleteTooltip')}\n tooltipPlacement='top'\n tooltipSpanHack\n />\n </DivButton>\n </div>\n ),\n width: 7\n }\n]);","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { UserValidationCode } from 'libs/shared/apps/user-manager/enums/UserValidationCode';\nimport { EditUserRequest } from 'libs/shared/apps/user-manager/interfaces';\nimport { DuplicateUserSet } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserUploadViewModel';\nimport { Table, TableTheme } from 'libs/shared/components/table/Table';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\n\nimport { getColumns } from './UserDuplicateSetUtils';\n\nconst namespace = 'userManager.userDuplicateSet';\n\nconst TABLE_THEME: TableTheme = {\n header: 'fw-semibold pb-1',\n headerCell: 'px-2 py-1',\n cell: 'px-2 py-1'\n};\n\nfunction getErrorMessage(errorCodes: UserValidationCode[], userType: UserGroup): string {\n const isStudent = userType === UserGroup.Learner;\n\n if (errorCodes.length === 2)\n return LanguageService.getPhrase(namespace, isStudent ? 'duplicateUsernameAndEmailStudents' : 'duplicateUsernameAndEmailStaff');\n\n if (errorCodes.find(c => c === UserValidationCode.UsernameAlreadyExisted))\n return LanguageService.getPhrase(namespace, isStudent ? 'duplicateUsernamesStudents' : 'duplicateUsernamesStaff');\n\n if (errorCodes.find(c => c === UserValidationCode.EmailAlreadyExisted))\n return LanguageService.getPhrase(namespace, isStudent ? 'duplicateEmailsStudents' : 'duplicateEmailsStaff');\n\n return '';\n}\n\ninterface UserDuplicateSetProps {\n index: number;\n set: DuplicateUserSet;\n userType: UserGroup;\n\n onClickEdit: (user: EditUserRequest) => void;\n onClickDelete: (users: string[]) => void;\n}\n\nexport function UserDuplicateSet(props: UserDuplicateSetProps): JSX.Element {\n const errorMessage = getErrorMessage(props.set.errorCodes, props.userType);\n\n const onClickEdit = (id: string) => props.onClickEdit(props.set.users.find(u => u.lookupId === id));\n const onClickDelete = (id: string) => props.onClickDelete([id]);\n\n if (!errorMessage)\n return <></>;\n\n return (\n <div className='pb-4'>\n <h3 className='h5'>\n <Text namespace={namespace} phrase='heading' options={{ counter: props.index + 1 }} />\n </h3>\n <p className='text-danger mb-1'>\n {errorMessage}\n </p>\n\n <div className='p-2 border rounded-3'>\n <Table\n columns={getColumns(onClickEdit, onClickDelete)}\n data={props.set.users.map(u => ({\n lookupId: u.lookupId,\n firstName: u.firstName,\n surname: u.surname,\n email: u.email,\n username: u.username,\n errorCodes: props.set.errorCodes\n }))}\n theme={TABLE_THEME}\n />\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { onCloseDeletePopup, onCloseEditPopup } from 'libs/shared/apps/user-manager/components/bulk-upload/BulkUserUploadEvents';\nimport { DeleteUploadedUserPopup } from 'libs/shared/apps/user-manager/components/delete-uploaded-user-popup/DeleteUploadedUserPopup';\nimport { EditUploadedUserPopup } from 'libs/shared/apps/user-manager/components/edit-uploaded-user-popup/EditUploadedUserPopup';\nimport { useBulkUploadUsers } from 'libs/shared/apps/user-manager/hooks/useBulkUploadUsers';\nimport { BulkUserEmailCheckResponse, EditUserRequest, ErroredUsers, UserManagerAppLinks } from 'libs/shared/apps/user-manager/interfaces';\nimport { SecuritySettingsResponse } from 'libs/shared/apps/user-manager/interfaces/SecuritySettingsResponse';\nimport { DuplicateUserSet } from 'libs/shared/apps/user-manager/interfaces/viewmodels/BulkUserUploadViewModel';\nimport { BulkUserUploadHelper } from 'libs/shared/apps/user-manager/utils/BulkUserUploadHelper';\nimport { FormSize } from 'libs/shared/components/forms/form-field/FormField';\nimport { IconButton } from 'libs/shared/components/icon-button/IconButton';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { WizardLayoutContext } from 'libs/shared/context/WizardLayoutContext';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { CurrentUser, PropsWithPopupViewProps, YearGroup } from 'libs/shared/interfaces';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport { UserDuplicatesEmptyState } from './empty-state/UserDuplicatesEmptyState';\nimport { UserDuplicateSet } from './user-duplicate-set/UserDuplicateSet';\n\ntype UserDuplicatesProps = PropsWithPopupViewProps<{\n userType: UserGroup;\n appLinks: UserManagerAppLinks;\n currentUser: CurrentUser;\n yearGroups: YearGroup[];\n validateUser: (user: EditUserRequest) => Promise<ErroredUsers>;\n validateEmail?: (email: string) => Promise<BulkUserEmailCheckResponse>;\n emailRequired: boolean;\n passwordPolicy: SecuritySettingsResponse;\n emptyStateImageUrl: string;\n onClickConfirm: () => void;\n formSize?: FormSize;\n localErrorMessage?: HashObject;\n}>;\n\nexport function UserDuplicates(props: UserDuplicatesProps): JSX.Element {\n const { users, duplicateSets } = useBulkUploadUsers();\n\n const { setDisableNext, setOnClickConfirm } = React.useContext(WizardLayoutContext);\n\n const namespace = props.userType === UserGroup.Learner\n ? 'userManager.studentDuplicates'\n : 'userManager.staffDuplicates';\n\n const getPhrase = LanguageService.encloseNamespace(namespace);\n\n const [ deletingUsers, setDeletingUsers ] = React.useState<string[]>([]);\n const [ editingUser, setEditingUser ] = React.useState<EditUserRequest>();\n\n const [initialSets] = React.useState<DuplicateUserSet[]>(duplicateSets);\n\n React.useEffect(() => {\n setDisableNext(!!duplicateSets?.length);\n }, [duplicateSets?.length]);\n\n React.useEffect(() => {\n setOnClickConfirm(() => props.onClickConfirm);\n }, [props.onClickConfirm]);\n\n if (!users?.length)\n return <></>;\n\n return (\n <>\n <h2 className='h4'><Text namespace={namespace} phrase='heading' /></h2>\n\n <main className='pb-3'>\n {duplicateSets?.length ? (\n <>\n <p className='mb-3 fw-semibold'>\n <Text namespace={namespace} phrase='subheading' />\n </p>\n\n <div className='pb-3'>\n <IconButton svgName={cvSvgLibrary.Upload} appLink={props.appLinks.userUploadPopup} className='btn btn-outline-dark me-2'>\n <Text namespace={namespace} phrase='reupload' />\n </IconButton>\n </div>\n\n {initialSets.map((initialSet, index) => {\n const initialSetIds = initialSet.users.map(u => u.lookupId);\n\n const updatedSet = duplicateSets.find(updatedSet => {\n const updatedSetIds = updatedSet.users.map(u => u.lookupId);\n\n return ObjectHelper.isEqual(initialSetIds, updatedSetIds);\n });\n\n const isResolved = !updatedSet.errorCodes.length;\n\n if (isResolved)\n return <React.Fragment key={index}></React.Fragment>;\n\n return (\n <UserDuplicateSet\n key={index}\n index={index}\n set={updatedSet}\n userType={props.userType}\n onClickEdit={setEditingUser}\n onClickDelete={setDeletingUsers}\n />\n );\n })}\n </>\n ) : (\n <>\n <p className='mb-3'>\n <Text namespace={namespace} phrase='emptyStateSubheading' />\n </p>\n <UserDuplicatesEmptyState imageUrl={props.emptyStateImageUrl} onClickConfirm={props.onClickConfirm} />\n </>\n )}\n \n </main>\n\n {!!editingUser && (\n <EditUploadedUserPopup\n key={editingUser.lookupId}\n user={editingUser}\n setUser={setEditingUser}\n closePopup={() => onCloseEditPopup(setEditingUser, props.closePopup)}\n title={getPhrase('editUser')}\n userType={props.userType}\n analyticsOptions={BulkUserUploadHelper.getAnalyticsOptions(props.userType)}\n currentUser={props.currentUser}\n yearGroups={props.yearGroups}\n validateUser={props.validateUser}\n formSize={props.formSize}\n emailRequired={props.emailRequired}\n passwordPolicy={props.passwordPolicy}\n appLinks={props.appLinks}\n localErrorMessage={props.localErrorMessage}\n validateEmail={props.validateEmail}\n />\n )}\n\n {!!deletingUsers.length && (\n <DeleteUploadedUserPopup\n users={deletingUsers}\n userType={props.userType}\n closePopup={() => onCloseDeletePopup(setDeletingUsers, props.closePopup)}\n analyticsOptions={BulkUserUploadHelper.getAnalyticsOptions(props.userType)}\n />\n )}\n </>\n );\n}\n","import React from 'react';\nimport { useDispatch } from 'react-redux';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { Flight } from 'libs/common/flight';\n\nimport { BulkUserUploadWizardLayout } from 'libs/shared/apps/user-manager/components/bulk-upload/layout/BulkUserUploadWizardLayout';\nimport { UserDuplicates } from 'libs/shared/apps/user-manager/components/bulk-upload/user-duplicates/UserDuplicates';\nimport { UserManagerClientContext } from 'libs/shared/apps/user-manager/context/UserManagerClientContext';\nimport { UserManagerClient } from 'libs/shared/apps/user-manager/enums/UserManagerClient';\nimport { useBulkUploadUsers } from 'libs/shared/apps/user-manager/hooks/useBulkUploadUsers';\nimport { BulkUserEmailCheckRequest, BulkUserEmailCheckResponse, EditUserRequest, ErroredUsers } from 'libs/shared/apps/user-manager/interfaces';\nimport { UserWizardParams } from 'libs/shared/apps/user-manager/interfaces/query-params/UserWizardParams';\nimport { SecuritySettingsResponse } from 'libs/shared/apps/user-manager/interfaces/SecuritySettingsResponse';\nimport { BulkUserActionsHelper } from 'libs/shared/apps/user-manager/utils/BulkUserActionsHelper';\nimport { BulkUserUploadHelper } from 'libs/shared/apps/user-manager/utils/BulkUserUploadHelper';\nimport { UserManagerHelper } from 'libs/shared/apps/user-manager/utils/UserManagerHelper';\nimport { UserGroup } from 'libs/shared/enums/UserGroup';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useSetPageMetadata } from 'libs/shared/hooks/useSetPageMetadata';\nimport { BatchJob, CurrentUser, PropsWithPopupViewProps, YearGroup } from 'libs/shared/interfaces';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { JobRequests } from 'shared/flight-requests/JobRequests';\n\nimport { SecuritySettingsRequests } from 'apps/settings/flight-requests/SecuritySettingsRequests';\nimport { UserManagerRequests } from 'apps/user-manager/flight-requests/UserManagerRequests';\nimport { getUserManagerAppLinks } from 'apps/user-manager/utils/LiteUserManagerAppLinks';\n\nconst namespace = 'userManager.bulkUploadFixDuplicates';\n\nexport function BulkUserUploadFixDuplicatesView(props: PropsWithPopupViewProps<UserWizardParams>): JSX.Element {\n const { users, existingUsersHash } = useBulkUploadUsers();\n\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data && UserManagerRequests.yearGroups(currentUser.data.customerId)\n );\n const passwordPolicy = Flight.useBasicFetch<SecuritySettingsResponse>(currentUser.data &&\n SecuritySettingsRequests.getCustomerSecuritySettings(currentUser.data.customerId));\n\n const dispatch = useDispatch();\n const fetchAsync = Flight.useGetFetchAsync();\n const appLinks = getUserManagerAppLinks(props.userType);\n useSetPageMetadata({ title: LanguageService.getPhrase(namespace, 'pageTitle') });\n\n function validateUser(_user: EditUserRequest): Promise<ErroredUsers> {\n const data = UserManagerHelper.formatCreateOrValidateUserRequest(\n [_user],\n props.userType,\n currentUser.data.customerId\n );\n\n return fetchAsync(UserManagerRequests.bulkValidate(data));\n }\n\n function validateEmail(email: string): Promise<BulkUserEmailCheckResponse> {\n const body: BulkUserEmailCheckRequest = {\n userEmails: [{ email, userType: props.userType }]\n };\n\n return fetchAsync(UserManagerRequests.bulkCheckEmail(body, currentUser.data.customerId));\n }\n\n const onCreateJobError = BulkUserActionsHelper.useCreateJobErrorAlert();\n\n function onClickConfirm() {\n if (Object.keys(existingUsersHash).length) {\n goToNextStep();\n return;\n }\n startBulkUpload();\n }\n\n function goToNextStep() {\n Core.AppLinkHelper.trigger(appLinks.userUploadReviewExistingAccounts);\n return;\n }\n\n function startBulkUpload(): void {\n const jobData = BulkUserUploadHelper.getJobData({\n users, customerId: currentUser.data.customerId, userType: props.userType\n });\n Flight.fetch(dispatch, JobRequests.createJob(jobData, onCreateJob, onCreateJobError));\n }\n\n function onCreateJob(job: BatchJob): void {\n Core.AppLinkHelper.trigger({\n ...appLinks.userUploadStatus.polling,\n params: {\n userType: props.userType,\n jobId: job.id\n }\n });\n }\n\n if (!currentUser.data || !yearGroups.data)\n return <></>;\n \n return (\n <UserManagerClientContext.Provider value={UserManagerClient.Primary}>\n <BulkUserUploadWizardLayout\n appLinks={appLinks}\n userType={props.userType}\n currentStep='fix-duplicates'\n canAddExistingUsers\n >\n <div className='px-3'>\n <UserDuplicates\n onClickConfirm={onClickConfirm}\n closePopup={props.closePopup}\n appLinks={appLinks}\n userType={props.userType}\n currentUser={currentUser.data}\n yearGroups={yearGroups.data}\n validateUser={validateUser}\n validateEmail={validateEmail}\n emailRequired={props.userType === UserGroup.Staff}\n passwordPolicy={passwordPolicy.data}\n emptyStateImageUrl={ImageUrls.EmptyStates.UserManager.DUPLICATES}\n localErrorMessage={BulkUserUploadHelper.getErrorMessageOverride(props.userType)}\n />\n </div>\n </BulkUserUploadWizardLayout>\n </UserManagerClientContext.Provider>\n );\n}"],"names":["DragOverlayStyles","opacity","cursor","calculateScrollState","ref","canScrollLeft","current","scrollLeft","canScrollRight","scrollWidth","clientWidth","SortIndicator","props","column","canSort","className","isSorted","theme","sortIndicator","SvgContainer","svgName","isSortedDesc","size","S","BaseTable","ids","idHash","tableOptions","columns","data","disableSortBy","enableSort","manualSortBy","manualSort","autoResetHiddenColumns","autoResetSortBy","initialState","sortBy","initialSortBy","initialSelectedRowIds","selectedRowIds","forEach","id","getRowId","useTable","plugins","useSortBy","useRowSelect","layout","useFlexLayout","useBlockLayout","allowFiltering","useFilters","allowGlobalFiltering","useGlobalFilter","getPlugins","getTableProps","getTableBodyProps","headerGroups","rows","prepareRow","toggleAllRowsSelected","setGlobalFilter","setHiddenColumns","state","renderTableRows","map","row","FunctionHelper","isSelected","selectedRow","onSelectRow","enableSortableRows","getTableRowsClass","rowAppLink","getRowAppLink","onClickRow","allowSelectMultipleRows","toggleRowSelected","renderRow","sortableProps","dragAttributes","dragListeners","getSortableProps","role","key","AppLink","appLink","renderCells","onClick","rowProps","getRowProps","SortableItemWrapper","original","childProps","childComponent","cells","cell","cellClassName","onSelectCell","getCellClassName","getCellProps","render","onSort","globalFilter","hiddenColumns","length","table","header","headerGroup","getHeaderGroupProps","headerRow","headers","getHeaderProps","getSortByToggleProps","headerCell","renderSortIndicator","hideSortIndicator","body","SortableContainerWrapper","getDragOverlay","rowIndex","findIndex","item","style","onSortEnd","onSortingRowsEnd","Table","enableSlider","scrollIncrement","scrollable","tableProps","elRef","scrollState","setScrollState","throttledOnScroll","el","removeEventListener","addEventListener","scroll","scrollBy","left","top","behavior","useTableScroll","renderTrackHorizontal","autoHeightMax","autoHeight","onClickScroll","direction","WidgetButton","W","hide","scrollContainerClassName","defaultProps","namespace","UserDuplicatesEmptyState","existingUsersHash","useBulkUploadUsers","goNext","Object","keys","EmptyState","src","imageUrl","Text","phrase","text","LanguageService","onClickConfirm","getColumns","onClickEdit","onClickDelete","Header","accessor","Cell","value","width","hasError","errorCodes","find","e","UserValidationCode","email","username","lookupId","DivButton","title","tooltipPlacement","tooltipSpanHack","TABLE_THEME","UserDuplicateSet","isStudent","errorMessage","set","userType","UserGroup","c","options","counter","index","users","u","firstName","surname","UserDuplicates","duplicateSets","WizardLayoutContext","setDisableNext","setOnClickConfirm","getPhrase","deletingUsers","setDeletingUsers","editingUser","setEditingUser","initialSets","IconButton","appLinks","userUploadPopup","initialSet","initialSetIds","updatedSet","updatedSetIds","ObjectHelper","emptyStateImageUrl","EditUploadedUserPopup","user","setUser","closePopup","analyticsOptions","BulkUserUploadHelper","currentUser","yearGroups","validateUser","formSize","emailRequired","passwordPolicy","localErrorMessage","validateEmail","DeleteUploadedUserPopup","BulkUserUploadFixDuplicatesView","UserRequests","UserManagerRequests","customerId","SecuritySettingsRequests","dispatch","fetchAsync","useSetPageMetadata","onCreateJobError","BulkUserActionsHelper","onCreateJob","job","userUploadStatus","polling","params","jobId","UserManagerClientContext","UserManagerClient","BulkUserUploadWizardLayout","currentStep","canAddExistingUsers","jobData","userUploadReviewExistingAccounts","JobRequests","_user","UserManagerHelper","userEmails","ImageUrls"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4025],{26025:(e,t,a)=>{a.d(t,{B:()=>o});var n=a(1048),i=a(75795),o={getAudienceAppLinkParams:function(){var e=i.O.getCurrentRoute().appLink,t=n.t.isObject(e.params)?e.params:{},a=t.users,o=t.classrooms,r=t.classroomGroups,s=function(e){var a=t[e];if(a)return Array.isArray(a)?a:[a]},l={};return a&&(l.users=s("users")),o&&(l.classrooms=s("classrooms")),r&&(l.classroomGroups=s("classroomGroups")),l},getDateRangeAppLinkParams:function(){var e=i.O.getCurrentRoute().appLink,t=n.t.isObject(e.params)?e.params:{},a=t.from,o=t.to,r=t.rangeName,s={};return a&&(s.from=a),o&&(s.to=o),r&&(s.rangeName=r),s}}},49087:(e,t,a)=>{a.d(t,{G:()=>o});var n=a(1048),i=a(4594),o={isPlaylist:function(e){return(null==e?void 0:e.typeId)===i.E.Playlist},isOwner:function(e,t){var a;return!(!t||!e||n.t.isEmpty(e._liteOwner))&&e._liteOwner.id.toString()===(null===(a=t.id)||void 0===a?void 0:a.toString())},getVideoCount:function(e){var t,a,n;if(e){var i=0;return(null===(t=e.videos)||void 0===t?void 0:t.count)&&(i+=e.videos.count),(null===(a=e.clips)||void 0===a?void 0:a.count)&&(i+=e.clips.count),(null===(n=e.interactives)||void 0===n?void 0:n.count)&&(i+=e.interactives.count),i}}}},2510:(e,t,a)=>{var n;a.d(t,{y:()=>n}),function(e){e.Link="Link",e.Classroom="Classroom",e.Open="Open",e.Live="Live"}(n||(n={}))},21789:(e,t,a)=>{a.d(t,{x:()=>r});var n=a(75896),i=a(110),o=a(4594),r={getFlattenedRecipients:function(e){return n.m.flatten(e.map((function(e){var t;return null!==(t=e.recipients)&&void 0!==t?t:[]})))},getFlattenedUniqueScopes:function(e){var t=r.getFlattenedRecipients(e);return n.m.uniq(t.map((function(e){var t;return null===(t=e.scopeId)||void 0===t?void 0:t.toString()}))).filter((function(e){return!!e}))},getClassroomIdFromShare:function(e){var t,a=null===(t=e.recipients)||void 0===t?void 0:t[0];if(a)return a.scopeId?a.scopeId.toString():a.recipientId&&a.recipientTypeId===o.E.Classroom?a.recipientId.toString():void 0},getClassroomForShare:function(e,t){var a=r.getClassroomIdFromShare(e);if(a)return t.find((function(e){return e.id.toString()===a.toString()}))},getRecipientsCount:function(e,t){var a,n,i,o;return t?null!==(o=null===(i=e.recipients)||void 0===i?void 0:i.filter((function(e){return e.recipientTypeId===t})).length)&&void 0!==o?o:0:null!==(n=null===(a=e.recipients)||void 0===a?void 0:a.length)&&void 0!==n?n:0},hasShareExpired:function(e){if(e.expireDate){var t=new Date,a=new Date(e.expireDate);if(i.O.isAfter(t,a))return!0}return!1},calculateDaysToExpiry:function(e){if(e.expireDate){var t=i.O.diffBetween(new Date(e.expireDate),new Date,"day")||1;return 0===t?1:t}}}},9806:(e,t,a)=>{a.d(t,{k:()=>I});var n=a(32735),i=a(65858),o=a(64249),r=a(15611),s=a(7432),l=a(11834),c=a(83345),p=a(56754),d=a(86348),m=a(7733),u=a(54610),v=a(4594),g=a(68626),y=a(9085),b=a(67453),S=a(31908);const f={thumbnailFallbackSvg:"D4JFs",posterFallbackSvg:"bjUWl",coverFallbackSvg:"kdLpt",thumbnailContainer:"d3CKN",insightsMask:"KM76U",requireMarking:"peLH7",badge:"mVu0E",bar:"zO3MS",a:"K1jW5",expandBar:"YITJl",b:"tCpLF",c:"lC0cq"};var h="shared.sharedObjectImage",O="rounded overflow-hidden";function E(){return n.createElement("div",{className:"d-flex pointer-events-none position-absolute bottom-0 start-0 h-100 w-100 z-1 justify-content-center align-items-center"},n.createElement("div",{className:"position-absolute bg-dark bg-gradient opacity-50 w-100 h-100 z-0 rounded-3"}),n.createElement("div",{className:"d-flex align-items-end gap-2 h-50 z-1"},n.createElement("div",{className:"d-flex align-items-end h-50"},n.createElement("div",{className:"".concat(f.bar," ").concat(f.a," rounded shadow")})),n.createElement("div",{className:"d-flex align-items-end h-75"},n.createElement("div",{className:"".concat(f.bar," ").concat(f.b," rounded shadow")})),n.createElement("div",{className:"d-flex align-items-end h-100"},n.createElement("div",{className:"".concat(f.bar," ").concat(f.c," rounded shadow")}))))}function I(e){var t=n.useCallback((function(t){var a;t&&e.fixedHeight&&(t.style.width="".concat(t.offsetHeight*(a=e.object,S.M.isVideoType(a)?16/9:a.typeId===v.E.Playlist?1:a.typeId===v.E.Series?9/16:void 0),"px"))}),[]),a=S.M.isVideoType(e.object),I=function(e){var t=b.j.getDisplayImageFromObject(e);if(S.M.isVideoType(e))return{image:t,imageType:u.__.Thumbnails,imageClassName:O,imageFallbackComponent:n.createElement(l.oy,{type:l.mS.Video})};switch(e.typeId){case v.E.Series:return{image:t,imageType:u.__.TallPosters,imageClassName:O,imageFallbackComponent:n.createElement(l.oy,{type:l.mS.Series,svgContainerClassName:f.posterFallbackSvg})};case v.E.Playlist:return{image:t,imageType:u.__.Covers,imageClassName:(null==t?void 0:t.url)?O:"".concat(O," ").concat((0,y.x)(e.name,m.o)),imageFallbackComponent:n.createElement(l.oy,{type:l.mS.Playlist,svgContainerClassName:(null==t?void 0:t.url)?f.coverFallbackSvg:"d-none",extraClasses:!(null==t?void 0:t.url)&&"bg-transparent"})}}}(e.object),C=I.image,k=I.imageType,T=I.imageClassName,N=I.imageFallbackComponent,L=e.showVideoMetadata?{hideBottomBar:e.hideBottomBar}:{hideDuration:!0,hideMask:!0,hideRating:!0,hideVideoBadgeType:!0,hideBottomBar:!0};return n.createElement("div",{className:"d-flex align-items-center justify-content-center w-100 h-100"},n.createElement("div",{ref:t,className:e.fixedHeight?"h-100":"w-100"},a&&n.createElement("div",{className:"".concat(f.thumbnailContainer," position-relative")},e.showInsightsMask&&n.createElement(E,null),n.createElement(r.F,{appLink:e.appLink},n.createElement(d.u,Object.assign({video:e.object,size:e.thumbnailSize,imageOptions:e.imageOptions,textPosition:g.z.Independent,type:"cosmetic",imageClassName:e.imageClassName},L))),!!e.requireMarking&&n.createElement("div",{className:"".concat(e.showInsightsMask&&f.requireMarking," position-absolute bottom-0 end-0 z-1 m-2")},n.createElement("div",{className:"".concat(f.badge," d-flex align-items-center bg-light-ultramarine text-ultramarine fw-semibold rounded-pill w-fit mt-1 px-2")},n.createElement(c.x,{namespace:h,phrase:"requireMarking",options:{smartCount:e.requireMarking}})))),!a&&n.createElement(n.Fragment,null,"videos"in e.object?n.createElement(p.I,{collection:e.object,imageOptions:e.imageOptions,appLink:e.appLink,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:o.I.getAnalyticsEntity(e.object.type),actionType:i.Vw.Click,location:e.locationContext},showMask:e.showCollectionMask,showVideoCount:e.showVideoCount}):n.createElement(s.Z,{data:null==C?void 0:C.url,imageType:k,imageOptions:e.imageOptions,appLink:e.appLink,className:T,analyticsData:{id:e.object.id,name:e.object.name},analyticsOptions:{entity:o.I.getAnalyticsEntity(e.object.type),actionType:i.Vw.Click,location:e.locationContext}},N))))}I.defaultProps={imageOptions:{size:u.h2.Small}}},65359:(e,t,a)=>{a.d(t,{F:()=>u});var n=a(32735),i=a(65858),o=a(64249),r=a(15611),s=a(83345),l=a(62335),c=a(26339),p=a(4594),d=a(31908),m="shared.sharedObjectTitle";function u(e){var t,a,u,v=e.sharedObject,g=e.titleClassName,y=e.subTextClassName,b=function(){switch(v.typeId){case p.E.Series:return"series";case p.E.Playlist:return"playlist"}}(),S=null===(t=e.getObjectAppLink)||void 0===t?void 0:t.call(e,v);return v.name?d.M.isVideoType(v)&&!(null===(a=d.M.getCanBeConsumed(v))||void 0===a?void 0:a.canNavigate)?n.createElement("span",{className:"clamp-2 ".concat(null!=g?g:"")},v.name):n.createElement("div",null,d.M.isVideoType(v)&&n.createElement(c.$,{type:"series",video:v,appLink:"series"in v&&v.series?null===(u=e.getObjectAppLink)||void 0===u?void 0:u.call(e,v.series):null,analyticsOptions:{location:i.LZ.Insights},className:"d-inline clamp-1 ".concat(null!=y?y:"")}),b&&n.createElement(l.m,null,n.createElement(s.x,{namespace:m,phrase:b})),S?n.createElement(r.F,{appLink:S,className:"clamp-1",analyticsData:{id:v.id,name:v.name},analyticsOptions:{entity:o.I.getAnalyticsEntity(v.type),actionType:i.Vw.Click,location:i.LZ.MyShares}},n.createElement("span",{className:"clamp-2 ".concat(null!=g?g:"")},v.name)):n.createElement("span",{className:"clamp-2 ".concat(null!=g?g:"")},v.name)):n.createElement(s.x,{namespace:m,phrase:"videoUnavailable"})}},56754:(e,t,a)=>{a.d(t,{I:()=>h});var n=a(32735),i=a(75896),o=a(65858),r=a(15611),s=a(83914),l=a(83345);const c={thumbnailTitle:"OsWjL"};function p(e){return n.createElement("h3",{title:e.title,className:"h6"},e.title)}function d(e){return e.appLink?n.createElement(r.F,{appLink:e.appLink,className:"".concat(c.thumbnailTitle)},n.createElement(p,Object.assign({},e))):n.createElement(p,Object.assign({},e))}var m=a(86348),u=a(62335),v=a(4594),g=a(68626),y=a(45778),b=a(35223);const S={badge:"M4zat",mask:"r0Ztg",thumbnailContainer:"uD9dz"};var f="shared.collectionThumbnail";function h(e){var t,a,c,p,h=function(){var t,a=null===(t=e.collection)||void 0===t?void 0:t.videos;if(a){if(!a.count&&e.collection.typeId===v.E.Playlist){var n=e.collection;n.clips.count&&(a=n.clips),n.interactives.count&&(a=n.interactives)}return i.m.first(a.data)}}(),O=function(){var t,a,n=0;if(e.collection.videos&&e.collection.videos.count&&(n+=e.collection.videos.count),e.collection.typeId===v.E.Playlist){var i=e.collection;(null===(t=i.interactives)||void 0===t?void 0:t.count)&&(n+=i.interactives.count),(null===(a=i.clips)||void 0===a?void 0:a.count)&&(n+=i.clips.count)}return n}(),E=(null===(t=e.title)||void 0===t?void 0:t.length)||(null===(a=e.subText)||void 0===a?void 0:a.length),I=Object.assign({id:e.collection.id.toString(),name:e.collection.name},e.analyticsData),C=Object.assign({actionType:o.Vw.Click,entity:(p=e.collection,y.G.isType(p,v.E.Playlist)?o.py.Playlist:y.G.isType(p,v.E.Series)?o.py.Series:void 0)},e.analyticsOptions);return n.createElement("div",null,n.createElement("div",{className:"position-relative ".concat(S.thumbnailContainer," z-1")},n.createElement(r.F,{appLink:e.appLink,analyticsData:I,analyticsOptions:C,preventFocus:!0},e.showMask&&n.createElement("div",{className:"".concat(S.mask," position-absolute w-100 h-100 rounded-3 bg-dark bg-gradient z-1 bg-opacity-50 pointer-events-none")},n.createElement("div",{className:"".concat(S.badge," d-flex align-items-center w-fit flex-grow-0 bg-dark rounded-pill ps-1 m-2")},n.createElement(s.x,{svgName:b.vn.Play,className:"svg-container text-white"}),n.createElement("p",{className:"d-inline fw-medium text-white mb-0"},(null===(c=e.hoverText)||void 0===c?void 0:c.length)?n.createElement("span",null,e.hoverText):n.createElement(l.x,{namespace:f,phrase:"playAll"})))),h&&n.createElement(m.u,{video:h,imageOptions:e.imageOptions,textPosition:g.z.Independent,type:"cosmetic",hideMask:!0,hideRating:!0,hideDuration:!0,hideVideoTypeBadge:!0}),!h&&n.createElement("div",{className:"ratio ratio-16x9 bg-light rounded-3"},n.createElement("div",{className:"d-flex justify-content-center align-items-center"},n.createElement(s.x,{svgName:b.vn.Play,className:"w-33 opacity-25 text-gray-400"}))),e.showVideoCount&&n.createElement("div",{className:"".concat(S.badge," d-flex align-items-center w-fit bg-dark bg-opacity-75 rounded-pill position-absolute bottom-0 end-0 ps-1 m-2")},n.createElement(s.x,{svgName:b.vn.Series,className:"svg-container text-white me-1"}),n.createElement("p",{className:"d-inline fw-semibold text-white mb-0"},n.createElement(l.x,{namespace:f,phrase:"videos",options:{count:O,smartCount:O}}))))),E&&n.createElement("div",{className:"mt-2 d-flex flex-column"},e.subText&&n.createElement(u.m,{title:e.subText,appLink:e.subTextAppLink},e.subText),e.title&&n.createElement(d,{title:e.collection.name,appLink:e.titleAppLink})))}},69003:(e,t,a)=>{a.d(t,{cl:()=>O,sD:()=>h});var n=a(23481),i=a(65858),o=a(26025),r=a(49087),s=a(2510),l=a(21789),c=a(4594),p=a(45778),d=a(26860),m=a(35223),u=a(31908),v=a(14070),g=a(97291),y=a(86099);function b(e){return function(e){if(Array.isArray(e))return S(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 S(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)?S(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 S(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 f=n.T.encloseNamespace("myShares.myShares");function h(e){var t,a=e.isPlugin,n=e.breakpoints,i=(null==n?void 0:n.xs)||(null==n?void 0:n.sm),o={button:!i,className:"btn btn-outline-dark"};return(a?[E]:[I,(t=e.sharedObject,(p.G.isType(t,c.E.Video)||p.G.isType(t,c.E.Clip)||p.G.isType(t,c.E.Interactive))&&C),!e.hideShareOptionsActions&&k,T]).reduce((function(t,a){return"function"!=typeof a?t:[].concat(b(t),b(a(Object.assign(Object.assign({},e),{buttonProps:o,isMobile:i}))))}),[])}function O(e){var t=function(e){return e?"string"==typeof e?[+e]:e.map((function(e){return+e}))||[]:[]}(e),a=o.B.getAudienceAppLinkParams();return{typeIdAppLinkParams:t,audienceAppLinkParams:a,currentAppLink:{application:g.O.MY_SHARES,action:v.e.MyShares.HOME,params:Object.assign(Object.assign({},a),{typeId:t})},sentSharesParams:{recipientUserId:null==a?void 0:a.users,recipientGroupId:[].concat(b((null==a?void 0:a.classroomGroups)||[]),b((null==a?void 0:a.classrooms)||[])),objectTypeId:t.length?t:void 0}}}function E(e){var t=e.sharedObject,a=e.buttonProps;return u.M.isVideoType(t)&&u.M.getCanBeConsumed(t).canConsume?[Object.assign(Object.assign({label:f("embedVideo"),appLink:{application:g.O.DEFAULT,action:v.e.Default.PLUGIN_SHARE,args:[t.id],params:{entityType:t.type}}},a),{analyticsOptions:{actionType:i.Vw.Share,descriptor:i.YM.PluginEmbed,workflowPhase:i.eu.Start,eventVersion:i.eq.V5}})]:[]}function I(e){var t=e.sharedObject,a=e.breakpoints,n=e.buttonProps;return u.M.isVideoType(t)?u.M.getCanBeConsumed(t).canConsume?[Object.assign({label:!(null==a?void 0:a.md)&&f("viewVideo"),tooltip:(null==a?void 0:a.md)&&f("viewVideo"),svgName:m.vn.Video,appLink:(0,y.Qh)(t),group:"main"},n)]:[]:d.v.isSeries(t)?[Object.assign({label:!(null==a?void 0:a.md)&&f("viewSeries"),tooltip:(null==a?void 0:a.md)&&f("viewSeries"),svgName:m.vn.Series,appLink:(0,y.Qh)(t),group:"main"},n)]:r.G.isPlaylist(t)?[Object.assign({label:!(null==a?void 0:a.md)&&f("viewPlaylist"),tooltip:(null==a?void 0:a.md)&&f("viewPlaylist"),svgName:m.vn.Playlist,appLink:(0,y.Qh)(t),group:"main"},n)]:[]}function C(e){var t=e.share,a=e.audienceParams,n=e.hasInsights,i=e.breakpoints,o=e.buttonProps;return n?[Object.assign({svgName:m.vn.Analytics,label:!(null==i?void 0:i.md)&&f("viewInsights"),tooltip:(null==i?void 0:i.md)&&f("viewInsights"),appLink:(0,y.pY)(t,a),group:"main"},o)]:[]}function k(e){var t=e.share,a=e.breakpoints,n=e.buttonProps;return l.x.hasShareExpired(t)?[]:t.type===s.y.Link?[Object.assign({label:!(null==a?void 0:a.md)&&f("shareLink"),tooltip:(null==a?void 0:a.md)&&f("shareLink"),svgName:m.vn.Link,appLink:(0,y.Zm)(t),group:"main"},n)]:t.type===s.y.Classroom||t.type===s.y.Open?[Object.assign({label:!(null==a?void 0:a.md)&&f("shareOptions"),tooltip:(null==a?void 0:a.md)&&f("shareOptions"),svgName:m.vn.Share,appLink:(0,y.Zm)(t),group:"main"},n)]:[]}function T(e){var t=e.share,a=e.breakpoints,n=e.buttonProps;return t.type===s.y.Link?[Object.assign(Object.assign({label:!(null==a?void 0:a.md)&&f("deleteShareLink"),tooltip:(null==a?void 0:a.md)&&f("deleteShareLink"),svgName:m.vn.Delete,appLink:(0,y.BR)(t),group:"danger"},n),{className:"btn btn-outline-dark text-danger"})]:t.type===s.y.Classroom?[Object.assign(Object.assign({label:!(null==a?void 0:a.md)&&f("deleteAssignment"),tooltip:(null==a?void 0:a.md)&&f("deleteAssignment"),svgName:m.vn.Delete,appLink:(0,y.BR)(t),group:"danger"},n),{className:"btn btn-outline-dark text-danger"})]:t.type===s.y.Open?[Object.assign(Object.assign({label:!(null==a?void 0:a.md)&&f("deleteOpenClassroom"),tooltip:(null==a?void 0:a.md)&&f("deleteOpenClassroom"),svgName:m.vn.Delete,appLink:(0,y.BR)(t),group:"danger"},n),{className:"btn btn-outline-dark text-danger"})]:[]}},86099:(e,t,a)=>{a.d(t,{BR:()=>O,Qh:()=>g,Rv:()=>b,Sj:()=>S,Zm:()=>h,pY:()=>y,rq:()=>f});var n=a(28400),i=a(2510),o=a(21789),r=a(4594),s=a(31908),l=a(14070),c=a(97291),p=a(40254),d=a(82431);function m(e){return m="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m(e)}function u(e,t,a){return(t=function(e){var t=function(e){if("object"!=m(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!=m(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==m(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var v=[r.E.Video,r.E.Clip,r.E.Interactive];function g(e){return s.M.isInteractive(e)?{application:c.O.INTERACTIVES,action:l.e.Interactives.VIEW_INTERACTIVE,args:[e.id,n.m.slugify(e.name)]}:s.M.isClip(e)?{application:c.O.CLIPS,action:l.e.Clips.PLAY_CLIP,args:[e.id,n.m.slugify(e.name)]}:s.M.isVideo(e)?{application:c.O.VIDEOS,action:l.e.Videos.PLAY_VIDEO,args:[e.id,n.m.slugify(e.name)]}:e.typeId===r.E.Playlist?{application:c.O.PLAYLISTS,action:l.e.Playlists.PLAYLIST,args:[e.id,n.m.slugify(e.name)]}:e.typeId===r.E.Series?d.j.getSeriesAppLink(e):void 0}function y(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return g({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=o.x.getClassroomIdFromShare(e);return{application:c.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_OVERVIEW,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:c.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_OVERVIEW,args:[e.shareId],params:t}:{application:c.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_OVERVIEW,args:[e.shareId],params:t}}function b(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return g({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=o.x.getClassroomIdFromShare(e);return{application:c.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_HEATMAP,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:c.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_HEATMAP,args:[e.shareId],params:t}:{application:c.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_HEATMAP,args:[e.shareId],params:t}}function S(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return g({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=o.x.getClassroomIdFromShare(e);return{application:c.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_QUESTIONS,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:c.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_QUESTIONS,args:[e.shareId],params:t}:{application:c.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_QUESTIONS,args:[e.shareId],params:t}}function f(e,t){if(!e)return null;if(!v.includes(e.objectTypeId))return g({id:e.objectId.toString(),typeId:e.objectTypeId});if(e.type===i.y.Classroom){var a=o.x.getClassroomIdFromShare(e);return{application:c.O.CLASSROOMS,action:l.e.Classrooms.INSIGHTS_STUDENTS,args:[a,e.shareId],params:t}}return e.type===i.y.Open?{application:c.O.CLASSROOMS,action:l.e.Classrooms.OPEN_CLASSROOM_INSIGHTS_STUDENTS,args:[e.shareId],params:t}:{application:c.O.MY_SHARES,action:l.e.MyShares.INSIGHTS_STUDENTS,args:[e.shareId],params:t}}function h(e){if(e){var t=E(e);return e.type===i.y.Link?{application:c.O.SHARE,action:l.e.Share.SHARE,args:[e.objectId],params:{entityType:t}}:p.W.assignDetails({objectId:e.objectId.toString(),shareId:e.shareId,entityType:t})}}function O(e){if(e){var t=E(e);if(e.type===i.y.Link)return{application:c.O.SHARE,action:l.e.Share.DELETE_SHARE_LINK,args:[e.objectId],params:{entityType:t,previousAppLink:{application:c.O.MY_SHARES,action:l.e.MyShares.HOME}}};var a=u(u(u(u({},i.y.Classroom,l.e.Share.DELETE_ASSIGNMENT),i.y.Open,l.e.Share.DELETE_OPEN_CLASSROOM),i.y.Link,""),i.y.Live,""),n=u(u(u(u({},i.y.Classroom,l.e.Classrooms.CLASSROOM_HOME),i.y.Open,l.e.Classrooms.OPEN_CLASSROOMS),i.y.Link,""),i.y.Live,""),r=a[e.type],s=n[e.type];if(r&&s)return{application:c.O.SHARE,action:r,args:[e.shareId],params:{previousAppLink:{application:c.O.CLASSROOMS,action:s,args:[o.x.getClassroomIdFromShare(e)]}}}}}function E(e){return e.objectTypeId===r.E.Video?"video":e.objectTypeId===r.E.Interactive?"interactive":e.objectTypeId===r.E.Clip?"clip":e.objectTypeId===r.E.Series?"series":e.objectTypeId===r.E.Playlist?"playlist":void 0}}}]);
2
- //# sourceMappingURL=4025-306e0fbdd5-lite.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scripts/4025-306e0fbdd5-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/analytics/utils/AnalyticsFilterUtils.ts","file:///app/packages/libs/shared/src/apps/playlists/utils/PlaylistHelper.ts","file:///app/packages/libs/shared/src/apps/share-v2/enums/ShareType.ts","file:///app/packages/libs/shared/src/apps/share-v2/utils/ShareHelper.ts","file:///app/packages/libs/shared/src/apps/share/components/shared-object-image/shared-object-image.scss","file:///app/packages/libs/shared/src/apps/share/components/shared-object-image/SharedObjectImage.tsx","file:///app/packages/libs/shared/src/apps/share/components/shared-object-title/SharedObjectTitle.tsx","file:///app/packages/libs/shared/src/components/thumbnails/collection/title/collection-thumbnail-title.scss","file:///app/packages/libs/shared/src/components/thumbnails/collection/title/CollectionThumbnailTitle.tsx","file:///app/packages/libs/shared/src/components/thumbnails/collection/collection-thumbnail.scss","file:///app/packages/libs/shared/src/components/thumbnails/collection/CollectionThumbnail.tsx","file:///app/packages/projects/lite/src/apps/my-shares/views/my-shares/MySharesViewUtils.ts","file:///app/packages/projects/lite/src/shared/utils/ObjectAppLinkHelper.ts"],"sourcesContent":["import { HashObject } from 'libs/common/react/interfaces';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { AudienceQueryParams } from 'libs/shared/apps/analytics/interfaces/AudienceQueryParams';\nimport { DateRangeQueryParams } from 'libs/shared/apps/analytics/interfaces/DateRangeQueryParams';\nimport { ContextService } from 'libs/shared/services/ContextService';\n\nexport const AnalyticsFilterHelper = {\n getAudienceAppLinkParams: () => {\n const { appLink } = ContextService.getCurrentRoute();\n const params = ObjectHelper.isObject(appLink.params) ? appLink.params as HashObject : {};\n const { users, classrooms, classroomGroups } = params;\n\n const getParam = (key: keyof AudienceQueryParams) => {\n const param = params[key];\n\n if (!param)\n return;\n\n return Array.isArray(param) ? param : [param];\n };\n\n const audienceFilters: AudienceQueryParams = {};\n\n if (users)\n audienceFilters.users = getParam('users');\n\n if (classrooms)\n audienceFilters.classrooms = getParam('classrooms');\n\n if (classroomGroups)\n audienceFilters.classroomGroups = getParam('classroomGroups');\n\n return audienceFilters;\n },\n getDateRangeAppLinkParams: () => {\n const { appLink } = ContextService.getCurrentRoute();\n const params = ObjectHelper.isObject(appLink.params) ? appLink.params as HashObject : {};\n const { from, to, rangeName } = params;\n\n const dateRangeFilters: DateRangeQueryParams = {};\n\n if (from)\n dateRangeFilters.from = from;\n\n if (to)\n dateRangeFilters.to = to;\n\n if (rangeName)\n dateRangeFilters.rangeName = rangeName;\n\n return dateRangeFilters;\n }\n};","import { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { BaseObject, CurrentUser, Playlist } from 'libs/shared/interfaces';\n\nexport const PlaylistHelper = {\n isPlaylist(obj: BaseObject): obj is Playlist {\n return obj?.typeId === MasterType.Playlist;\n },\n\n isOwner(playlist: Playlist, currentUser: CurrentUser): boolean {\n if (!currentUser || !playlist || ObjectHelper.isEmpty(playlist._liteOwner))\n return false;\n\n return playlist._liteOwner.id.toString() === currentUser.id?.toString();\n },\n\n getVideoCount(playlist: Playlist): number {\n if (!playlist)\n return;\n\n let count = 0;\n\n if (playlist.videos?.count)\n count += playlist.videos.count;\n\n if (playlist.clips?.count)\n count += playlist.clips.count;\n\n if (playlist.interactives?.count)\n count += playlist.interactives.count;\n\n return count;\n }\n};","export enum ShareType {\n Link = 'Link',\n Classroom = 'Classroom',\n Open = 'Open',\n Live = 'Live'\n}","import { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\n\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareRecipient } from 'libs/shared/apps/share-v2/interfaces/ShareRecipient';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Classroom } from 'libs/shared/interfaces';\n\nexport const ShareHelper = {\n getFlattenedRecipients(shares: Share[]): ShareRecipient[] {\n return ArrayHelper.flatten(shares.map(s => s.recipients ?? []));\n },\n\n getFlattenedUniqueScopes(shares: Share[]): string[] {\n const recipients = ShareHelper.getFlattenedRecipients(shares);\n return ArrayHelper.uniq(recipients.map(r => r.scopeId?.toString())).filter(x => !!x);\n },\n \n getClassroomIdFromShare(share: Share): string | undefined {\n const firstRecipient = share.recipients?.[0];\n \n if (!firstRecipient) return;\n \n if (firstRecipient.scopeId)\n return firstRecipient.scopeId.toString();\n \n if (firstRecipient.recipientId && firstRecipient.recipientTypeId === MasterType.Classroom)\n return firstRecipient.recipientId.toString();\n },\n\n getClassroomForShare(share: Share, classrooms: Classroom[]): Classroom | undefined {\n const classroomId = ShareHelper.getClassroomIdFromShare(share);\n \n if (!classroomId) return;\n \n return classrooms.find(classroom => classroom.id.toString() === classroomId.toString());\n },\n\n getRecipientsCount(share: Share, type?: MasterType.ClassroomGroup | MasterType.User): number {\n if (!type) return share.recipients?.length ?? 0;\n \n return share.recipients?.filter(r => r.recipientTypeId === type).length ?? 0;\n },\n\n hasShareExpired(share: Share): boolean {\n if (share.expireDate) {\n const now = new Date();\n const expireDate = new Date(share.expireDate);\n\n if (DateHelper.isAfter(now, expireDate))\n return true;\n }\n\n return false;\n },\n\n calculateDaysToExpiry(share: Share): number | undefined {\n if (!share.expireDate) return;\n\n const remainingDays = DateHelper.diffBetween(new Date(share.expireDate), new Date(), 'day') || 1;\n const smartCount = remainingDays === 0 ? 1 : remainingDays; // Prevent zero count\n\n return smartCount;\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"thumbnailFallbackSvg\":\"D4JFs\",\"posterFallbackSvg\":\"bjUWl\",\"coverFallbackSvg\":\"kdLpt\",\"thumbnailContainer\":\"d3CKN\",\"insightsMask\":\"KM76U\",\"requireMarking\":\"peLH7\",\"badge\":\"mVu0E\",\"bar\":\"zO3MS\",\"a\":\"K1jW5\",\"expandBar\":\"YITJl\",\"b\":\"tCpLF\",\"c\":\"lC0cq\"};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { BaseImage } from 'libs/shared/components/image/BaseImage';\nimport { ImageFallback, ImageFallbackType } from 'libs/shared/components/image/ImageFallback';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CollectionThumbnail } from 'libs/shared/components/thumbnails/collection/CollectionThumbnail';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { BG_COLOUR_CLASS_NAMES } from 'libs/shared/constants/ColourClassNames';\nimport { ImageSize, ImageType } from 'libs/shared/enums/Images';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { BaseObject, Image, Playlist, Series } from 'libs/shared/interfaces';\nimport { getBgColorClass } from 'libs/shared/utils/getBgColorClass';\nimport { ImageHelper, ImageOptions } from 'libs/shared/utils/ImageHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport styles from './shared-object-image.scss';\n\nconst namespace = 'shared.sharedObjectImage';\n\nconst BASE_IMAGE_CLASS_NAME = 'rounded overflow-hidden';\n\ninterface ImageProps {\n image: Image;\n imageType: ImageType;\n imageClassName?: string;\n imageFallbackComponent: JSX.Element;\n}\n\nfunction getImageProps(object: BaseObject): ImageProps {\n const image = ImageHelper.getDisplayImageFromObject(object);\n\n if (VideoHelper.isVideoType(object))\n return {\n image,\n imageType: ImageType.Thumbnails,\n imageClassName: BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent: <ImageFallback type={ImageFallbackType.Video} />\n };\n\n switch (object.typeId) {\n case MasterType.Series:\n return {\n image,\n imageType: ImageType.TallPosters,\n imageClassName: BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent:\n <ImageFallback type={ImageFallbackType.Series} svgContainerClassName={styles.posterFallbackSvg} />\n };\n\n case MasterType.Playlist:\n return {\n image,\n imageType: ImageType.Covers,\n imageClassName: !image?.url\n ? `${BASE_IMAGE_CLASS_NAME} ${getBgColorClass(object.name, BG_COLOUR_CLASS_NAMES)}`\n : BASE_IMAGE_CLASS_NAME,\n imageFallbackComponent: (\n <ImageFallback\n type={ImageFallbackType.Playlist}\n svgContainerClassName={image?.url ? styles.coverFallbackSvg : 'd-none'}\n extraClasses={!image?.url && 'bg-transparent'}\n />\n )\n };\n }\n}\n\nfunction InsightsMask() {\n return (\n <div className={`d-flex pointer-events-none position-absolute bottom-0 start-0 h-100 w-100 z-1 justify-content-center align-items-center`}>\n <div className='position-absolute bg-dark bg-gradient opacity-50 w-100 h-100 z-0 rounded-3'></div>\n <div className='d-flex align-items-end gap-2 h-50 z-1'>\n <div className='d-flex align-items-end h-50'>\n <div className={`${styles.bar} ${styles.a} rounded shadow`}></div>\n </div>\n <div className='d-flex align-items-end h-75'>\n <div className={`${styles.bar} ${styles.b} rounded shadow`}></div>\n </div>\n <div className='d-flex align-items-end h-100'>\n <div className={`${styles.bar} ${styles.c} rounded shadow`}></div>\n </div>\n </div>\n </div>\n );\n}\n\nfunction getImageRatio(object: BaseObject): ImageFallbackType {\n if (VideoHelper.isVideoType(object))\n return 16 / 9;\n\n if (object.typeId === MasterType.Playlist)\n return 1;\n\n if (object.typeId === MasterType.Series)\n return 9 / 16;\n}\n\nSharedObjectImage.defaultProps = {\n imageOptions: { size: ImageSize.Small }\n};\n\ninterface SharedObjectImageProps {\n object: BaseObject;\n locationContext: LocationContext;\n appLink?: Core.AppLink;\n showVideoMetadata?: boolean;\n fixedHeight?: boolean;\n requireMarking?: number;\n imageOptions?: ImageOptions;\n showInsightsMask?: boolean;\n showCollectionMask?: boolean;\n showVideoCount?: boolean;\n thumbnailSize?: 'sm' | 'md';\n imageClassName?: string;\n hideBottomBar?: boolean;\n}\n\nexport function SharedObjectImage(props: SharedObjectImageProps): JSX.Element {\n const ref = React.useCallback((el: HTMLDivElement) => {\n if (!el || !props.fixedHeight)\n return;\n\n el.style.width = `${el.offsetHeight * getImageRatio(props.object)}px`;\n }, []);\n\n const useVideoThumbnail = VideoHelper.isVideoType(props.object);\n\n const {\n image,\n imageType,\n imageClassName,\n imageFallbackComponent\n } = getImageProps(props.object);\n\n const thumbnailMetadata = !props.showVideoMetadata ? {\n hideDuration: true,\n hideMask: true,\n hideRating: true,\n hideVideoBadgeType: true,\n hideBottomBar: true\n } : {\n hideBottomBar: props.hideBottomBar\n };\n\n return (\n <div className='d-flex align-items-center justify-content-center w-100 h-100'>\n <div ref={ref} className={props.fixedHeight ? 'h-100' : 'w-100'}>\n {useVideoThumbnail &&\n <div className={`${styles.thumbnailContainer} position-relative`}>\n {props.showInsightsMask && <InsightsMask />}\n <AppLink appLink={props.appLink}>\n <VideoThumbnail\n video={props.object}\n size={props.thumbnailSize}\n imageOptions={props.imageOptions}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n imageClassName={props.imageClassName}\n {...thumbnailMetadata}\n />\n </AppLink>\n {!!props.requireMarking && (\n <div className={`${props.showInsightsMask && styles.requireMarking} position-absolute bottom-0 end-0 z-1 m-2`}>\n <div className={`${styles.badge} d-flex align-items-center bg-light-ultramarine text-ultramarine fw-semibold rounded-pill w-fit mt-1 px-2`}>\n <Text namespace={namespace} phrase='requireMarking' options={{ smartCount: props.requireMarking }} />\n </div>\n </div>\n )}\n </div>\n }\n {!useVideoThumbnail &&\n <>\n {'videos' in (props.object as Playlist | Series) ? (\n <CollectionThumbnail\n collection={props.object}\n imageOptions={props.imageOptions}\n appLink={props.appLink}\n analyticsData={{\n id: props.object.id,\n name: props.object.name\n }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(props.object.type),\n actionType: UserAction.Click,\n location: props.locationContext\n }}\n showMask={props.showCollectionMask}\n showVideoCount={props.showVideoCount}\n />\n ) : (\n <BaseImage\n data={image?.url}\n imageType={imageType}\n imageOptions={props.imageOptions}\n appLink={props.appLink}\n className={imageClassName}\n analyticsData={{\n id: props.object.id,\n name: props.object.name\n }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(props.object.type),\n actionType: UserAction.Click,\n location: props.locationContext\n }}\n >\n {imageFallbackComponent}\n </BaseImage>\n )}\n </>\n }\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\n\nimport { LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { SharableEntity, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nconst namespace = 'shared.sharedObjectTitle';\n\ninterface SharedObjectTitleProps {\n sharedObject: SharableEntity;\n getObjectAppLink?: (object: BaseObject) => Core.AppLink;\n titleClassName?: string;\n subTextClassName?: string;\n}\n\nexport function SharedObjectTitle(props: SharedObjectTitleProps) {\n const { sharedObject, titleClassName, subTextClassName } = props;\n const subTextPhrase = getSubTextPhrase();\n const titleAppLink = props.getObjectAppLink?.(sharedObject);\n\n if (!sharedObject.name) {\n return <Text namespace={namespace} phrase='videoUnavailable' />;\n }\n\n if (VideoHelper.isVideoType(sharedObject) && !VideoHelper.getCanBeConsumed(sharedObject)?.canNavigate) {\n return (\n <span className={`clamp-2 ${titleClassName ?? ''}`}>\n {sharedObject.name}\n </span>\n );\n }\n\n function getSubTextPhrase(): string {\n switch (sharedObject.typeId) {\n case MasterType.Series: return 'series';\n case MasterType.Playlist: return 'playlist';\n }\n }\n\n return (\n <div>\n {VideoHelper.isVideoType(sharedObject) && (\n <VideoSubText\n type='series'\n video={sharedObject}\n appLink={'series' in sharedObject && sharedObject.series ? props.getObjectAppLink?.(sharedObject.series) : null}\n analyticsOptions={{ location: LocationContext.Insights }}\n className={`d-inline clamp-1 ${subTextClassName ?? ''}`}\n />\n )}\n\n { subTextPhrase &&\n <TitleSubText>\n <Text namespace={namespace} phrase={subTextPhrase} />\n </TitleSubText>\n }\n\n { titleAppLink ? (\n <AppLink\n appLink={titleAppLink}\n className='clamp-1'\n analyticsData={{ id: sharedObject.id, name: sharedObject.name }}\n analyticsOptions={{\n entity: ShareViewHelper.getAnalyticsEntity(sharedObject.type),\n actionType: UserAction.Click,\n location: LocationContext.MyShares\n }}\n >\n <span className={`clamp-2 ${titleClassName ?? ''}`}>\n {sharedObject.name}\n </span>\n </AppLink>\n ) : (\n <span className={`clamp-2 ${titleClassName ?? ''}`}>\n {sharedObject.name}\n </span>\n )}\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"thumbnailTitle\":\"OsWjL\"};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\n\nimport styles from './collection-thumbnail-title.scss';\n\ninterface BaseCollectionThumbnailTitleProps {\n title: string;\n}\n\nfunction BaseCollectionThumbnailTitle(props: BaseCollectionThumbnailTitleProps): JSX.Element {\n return (\n <h3 title={props.title} className='h6'>{props.title}</h3>\n );\n}\n\ninterface CollectionThumbnailTitleProps extends BaseCollectionThumbnailTitleProps {\n appLink: Core.AppLink;\n}\n\nexport function CollectionThumbnailTitle(props: CollectionThumbnailTitleProps) {\n if (!props.appLink) {\n return (\n <BaseCollectionThumbnailTitle {...props} />\n );\n }\n \n return (\n <AppLink appLink={props.appLink} className={`${styles.thumbnailTitle}`}>\n <BaseCollectionThumbnailTitle {...props} />\n </AppLink>\n );\n}\n","// extracted by mini-css-extract-plugin\nexport default {\"badge\":\"M4zat\",\"mask\":\"r0Ztg\",\"thumbnailContainer\":\"uD9dz\"};","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\n\nimport { AnalyticsOptions, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { CollectionThumbnailTitle } from 'libs/shared/components/thumbnails/collection/title/CollectionThumbnailTitle';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { Playlist, Series } from 'libs/shared/interfaces';\nimport { ImageOptions } from 'libs/shared/utils/ImageHelper';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './collection-thumbnail.scss';\n\nconst namespace = 'shared.collectionThumbnail';\n\ntype SupportedContentType = Playlist | Series;\n\ninterface CollectionThumbnailProps {\n appLink?: Core.AppLink\n collection: SupportedContentType;\n imageOptions?: ImageOptions;\n analyticsData?: HashObject;\n analyticsOptions?: AnalyticsOptions;\n showMask?: boolean;\n showVideoCount?: boolean;\n title?: string;\n titleAppLink?: Core.AppLink;\n subText?: string;\n subTextAppLink?: Core.AppLink;\n hoverText?: string;\n}\n\nexport function CollectionThumbnail(props: CollectionThumbnailProps) {\n function getFirstVideo() {\n let collectionVideos = props.collection?.videos;\n\n if (!collectionVideos)\n return;\n\n if (!collectionVideos.count && props.collection.typeId === MasterType.Playlist) {\n const playlist = props.collection as Playlist;\n\n if (playlist.clips.count)\n collectionVideos = playlist.clips;\n\n if (playlist.interactives.count)\n collectionVideos = playlist.interactives;\n }\n\n return ArrayHelper.first(collectionVideos.data);\n }\n\n function getVideoCount() {\n let totalCount = 0;\n\n if (props.collection.videos && props.collection.videos.count) {\n totalCount += props.collection.videos.count;\n }\n\n if (props.collection.typeId === MasterType.Playlist) {\n const playlist = props.collection as Playlist;\n\n if (playlist.interactives?.count)\n totalCount += playlist.interactives.count;\n\n if (playlist.clips?.count)\n totalCount += playlist.clips.count;\n }\n\n return totalCount;\n }\n\n function getEntityType(collection: SupportedContentType) {\n if (MasterTypeHelper.isType<Playlist>(collection, MasterType.Playlist)) {\n return EntityType.Playlist;\n }\n\n if (MasterTypeHelper.isType<Series>(collection, MasterType.Series)) {\n return EntityType.Series;\n }\n }\n\n const firstVideo = getFirstVideo();\n const videoCount = getVideoCount();\n const showTexts = props.title?.length || props.subText?.length;\n\n const analyticsData = {\n id: props.collection.id.toString(),\n name: props.collection.name,\n\n ...props.analyticsData\n };\n\n const analyticsOptions = {\n actionType: UserAction.Click,\n entity: getEntityType(props.collection),\n \n ...props.analyticsOptions\n };\n\n return (\n <div>\n <div className={`position-relative ${styles.thumbnailContainer} z-1`}>\n <AppLink\n appLink={props.appLink}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n preventFocus\n >\n {props.showMask &&\n <div className={`${styles.mask} position-absolute w-100 h-100 rounded-3 bg-dark bg-gradient z-1 bg-opacity-50 pointer-events-none`}>\n <div className={`${styles.badge} d-flex align-items-center w-fit flex-grow-0 bg-dark rounded-pill ps-1 m-2`}>\n <SvgContainer svgName={cvSvgLibrary.Play} className='svg-container text-white' />\n <p className='d-inline fw-medium text-white mb-0'>\n {props.hoverText?.length ?\n <span>{props.hoverText}</span> :\n <Text namespace={namespace} phrase='playAll' />\n }\n </p>\n </div>\n </div>\n }\n\n {firstVideo &&\n <VideoThumbnail\n video={firstVideo}\n imageOptions={props.imageOptions}\n textPosition={ThumbnailTextPosition.Independent}\n type='cosmetic'\n hideMask\n hideRating\n hideDuration\n hideVideoTypeBadge\n />\n }\n\n {!firstVideo &&\n <div className='ratio ratio-16x9 bg-light rounded-3'>\n <div className='d-flex justify-content-center align-items-center'>\n <SvgContainer svgName={cvSvgLibrary.Play} className='w-33 opacity-25 text-gray-400' />\n </div>\n </div>\n }\n\n {props.showVideoCount &&\n <div className={`${styles.badge} d-flex align-items-center w-fit bg-dark bg-opacity-75 rounded-pill position-absolute bottom-0 end-0 ps-1 m-2`}>\n <SvgContainer svgName={cvSvgLibrary.Series} className='svg-container text-white me-1' />\n <p className='d-inline fw-semibold text-white mb-0'>\n <Text namespace={namespace} phrase='videos' options={{ count: videoCount, smartCount: videoCount }} />\n </p>\n </div>\n }\n </AppLink>\n\n </div>\n \n {showTexts &&\n <div className='mt-2 d-flex flex-column'>\n {props.subText &&\n <TitleSubText title={props.subText} appLink={props.subTextAppLink}>\n {props.subText}\n </TitleSubText>\n }\n {props.title &&\n <CollectionThumbnailTitle\n title={props.collection.name}\n appLink={props.titleAppLink}\n />\n }\n </div>\n }\n </div>\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { EventVersion, ShareDescriptors, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { AudienceQueryParams } from 'libs/shared/apps/analytics/interfaces/AudienceQueryParams';\nimport { AnalyticsFilterHelper } from 'libs/shared/apps/analytics/utils/AnalyticsFilterUtils';\nimport { PlaylistHelper } from 'libs/shared/apps/playlists/utils/PlaylistHelper';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { ActionOptions } from 'libs/shared/components/actions/Actions';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { Breakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { BaseObject } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { SeriesHelper } from 'libs/shared/utils/SeriesHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { getObjectAppLink } from 'shared/utils/ObjectAppLinkHelper';\nimport { getDeleteShareAppLink, getInsightsOverviewAppLink, getShareOptionsAppLink } from 'shared/utils/ObjectAppLinkHelper';\n\nconst namespace = 'myShares.myShares';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport function hasInsightsActions(sharedObject: BaseObject): boolean {\n return (\n MasterTypeHelper.isType(sharedObject, MasterType.Video) ||\n MasterTypeHelper.isType(sharedObject, MasterType.Clip) ||\n MasterTypeHelper.isType(sharedObject, MasterType.Interactive)\n );\n}\n\ninterface ShareObjectActionsOptions {\n share: Share;\n sharedObject: BaseObject;\n audienceParams?: AudienceQueryParams;\n hasInsights?: boolean;\n isPlugin?: boolean;\n breakpoints?: Breakpoints;\n hideShareOptionsActions?: boolean;\n}\n\nexport function getShareObjectActions(options: ShareObjectActionsOptions): ActionOptions[] {\n const { isPlugin, breakpoints } = options;\n const isMobile = breakpoints?.xs || breakpoints?.sm;\n const buttonProps = {\n button: !isMobile,\n className: 'btn btn-outline-dark'\n };\n\n const actionProviders = isPlugin ? [getActionsForPlugin] : [\n getMediaActions,\n hasInsightsActions(options.sharedObject) && getInsightsActions,\n !options.hideShareOptionsActions && getShareOptionsActions,\n getDeleteActions\n ];\n\n return actionProviders.reduce((actions, getActionFn) => {\n if (typeof getActionFn !== 'function')\n return actions;\n \n return [ ...actions, ...getActionFn({ ...options, buttonProps, isMobile }) ];\n }, [] as ActionOptions[]);\n}\n\nexport function getTypeIdParams(typeId: string | string[]): MasterType[] {\n if (!typeId) return [];\n\n if (typeof typeId === 'string')\n return [+typeId];\n\n return typeId.map(typeId => +typeId) || [];\n}\n\nexport function getSharesParams(typeId: string | string[]) {\n const typeIdAppLinkParams = getTypeIdParams(typeId);\n const audienceAppLinkParams = AnalyticsFilterHelper.getAudienceAppLinkParams();\n const currentAppLink = {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.HOME,\n params: {\n ...audienceAppLinkParams,\n typeId: typeIdAppLinkParams\n }\n };\n const sentSharesParams = {\n recipientUserId: audienceAppLinkParams?.users,\n recipientGroupId: [ ...audienceAppLinkParams?.classroomGroups || [], ...audienceAppLinkParams?.classrooms || [] ],\n objectTypeId: typeIdAppLinkParams.length ? typeIdAppLinkParams : undefined\n };\n\n return {\n typeIdAppLinkParams,\n audienceAppLinkParams,\n currentAppLink,\n sentSharesParams\n };\n}\n\ninterface ShareActionHanderOptions extends ShareObjectActionsOptions {\n isMobile: boolean;\n buttonProps: {\n button: boolean;\n className: string;\n }\n}\n\nfunction getActionsForPlugin(options: ShareActionHanderOptions): ActionOptions[] {\n const { sharedObject, buttonProps } = options;\n\n if (VideoHelper.isVideoType(sharedObject)) {\n const { canConsume } = VideoHelper.getCanBeConsumed(sharedObject);\n\n if (!canConsume)\n return [];\n\n return [{\n label: getPhrase('embedVideo'),\n appLink: {\n application: AppChannels.DEFAULT,\n action: Actions.Default.PLUGIN_SHARE,\n args: [sharedObject.id],\n params: { entityType: sharedObject.type }\n },\n ...buttonProps,\n analyticsOptions: {\n actionType: UserAction.Share,\n descriptor: ShareDescriptors.PluginEmbed,\n workflowPhase: WorkflowPhase.Start,\n eventVersion: EventVersion.V5\n }\n }];\n }\n\n return [];\n}\n\nfunction getMediaActions(options: ShareActionHanderOptions): ActionOptions[] {\n const { sharedObject, breakpoints, buttonProps } = options;\n\n if (VideoHelper.isVideoType(sharedObject)) {\n const { canConsume } = VideoHelper.getCanBeConsumed(sharedObject);\n\n if (!canConsume)\n return [];\n\n return [{\n label: !breakpoints?.md && getPhrase('viewVideo'),\n tooltip: breakpoints?.md && getPhrase('viewVideo'),\n svgName: cvSvgLibrary.Video,\n appLink: getObjectAppLink(sharedObject),\n group: 'main',\n ...buttonProps\n }];\n }\n \n if (SeriesHelper.isSeries(sharedObject)) {\n return [{\n label: !breakpoints?.md && getPhrase('viewSeries'),\n tooltip: breakpoints?.md && getPhrase('viewSeries'),\n svgName: cvSvgLibrary.Series,\n appLink: getObjectAppLink(sharedObject),\n group: 'main',\n ...buttonProps\n }];\n }\n \n if (PlaylistHelper.isPlaylist(sharedObject)) {\n return [{\n label: !breakpoints?.md && getPhrase('viewPlaylist'),\n tooltip: breakpoints?.md && getPhrase('viewPlaylist'),\n svgName: cvSvgLibrary.Playlist,\n appLink: getObjectAppLink(sharedObject),\n group: 'main',\n ...buttonProps\n }];\n }\n \n return [];\n}\n\nfunction getInsightsActions(options: ShareActionHanderOptions): ActionOptions[] {\n const { share, audienceParams, hasInsights, breakpoints, buttonProps } = options;\n\n if (!hasInsights)\n return [];\n\n return [{\n svgName: cvSvgLibrary.Analytics,\n label: !breakpoints?.md && getPhrase('viewInsights'),\n tooltip: breakpoints?.md && getPhrase('viewInsights'),\n appLink: getInsightsOverviewAppLink(share, audienceParams),\n group: 'main',\n ...buttonProps\n }];\n}\n\nfunction getShareOptionsActions(options: ShareActionHanderOptions): ActionOptions[] {\n const { share, breakpoints, buttonProps } = options;\n\n if (ShareHelper.hasShareExpired(share))\n return [];\n\n if (share.type === ShareType.Link) {\n return [{\n label: !breakpoints?.md && getPhrase('shareLink'),\n tooltip: breakpoints?.md && getPhrase('shareLink'),\n svgName: cvSvgLibrary.Link,\n appLink: getShareOptionsAppLink(share),\n group: 'main',\n ...buttonProps\n }];\n }\n\n if (share.type === ShareType.Classroom) {\n return [{\n label: !breakpoints?.md && getPhrase('shareOptions'),\n tooltip: breakpoints?.md && getPhrase('shareOptions'),\n svgName: cvSvgLibrary.Share,\n appLink: getShareOptionsAppLink(share),\n group: 'main',\n ...buttonProps\n }];\n }\n\n if (share.type === ShareType.Open) {\n return [{\n label: !breakpoints?.md && getPhrase('shareOptions'),\n tooltip: breakpoints?.md && getPhrase('shareOptions'),\n svgName: cvSvgLibrary.Share,\n appLink: getShareOptionsAppLink(share),\n group: 'main',\n ...buttonProps\n }];\n }\n\n return [];\n}\n\nfunction getDeleteActions(options: ShareActionHanderOptions): ActionOptions[] {\n const { share, breakpoints, buttonProps } = options;\n \n if (share.type === ShareType.Link) {\n return [{\n label: !breakpoints?.md && getPhrase('deleteShareLink'),\n tooltip: breakpoints?.md && getPhrase('deleteShareLink'),\n svgName: cvSvgLibrary.Delete,\n appLink: getDeleteShareAppLink(share),\n group: 'danger',\n ...buttonProps,\n className: 'btn btn-outline-dark text-danger'\n }];\n }\n\n if (share.type === ShareType.Classroom) {\n return [{\n label: !breakpoints?.md && getPhrase('deleteAssignment'),\n tooltip: breakpoints?.md && getPhrase('deleteAssignment'),\n svgName: cvSvgLibrary.Delete,\n appLink: getDeleteShareAppLink(share),\n group: 'danger',\n ...buttonProps,\n className: 'btn btn-outline-dark text-danger'\n }];\n }\n\n if (share.type === ShareType.Open) {\n return [{\n label: !breakpoints?.md && getPhrase('deleteOpenClassroom'),\n tooltip: breakpoints?.md && getPhrase('deleteOpenClassroom'),\n svgName: cvSvgLibrary.Delete,\n appLink: getDeleteShareAppLink(share),\n group: 'danger',\n ...buttonProps,\n className: 'btn btn-outline-dark text-danger'\n }];\n }\n\n return [];\n}","import { Core } from 'libs/common/backbone/index';\nimport { HashObject } from 'libs/common/react/interfaces';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { SharableEntityType } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { ShareType } from 'libs/shared/apps/share-v2/enums/ShareType';\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { ShareHelper } from 'libs/shared/apps/share-v2/utils/ShareHelper';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { BaseObject, Series } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { AssignAppLinkHelper } from 'apps/assign/utils/AssignAppLinkHelper';\nimport { SeriesAppLinkHelper } from 'apps/series/SeriesAppLinkHelper';\n\nconst INSIGHTS_WHITELIST = [\n MasterType.Video,\n MasterType.Clip,\n MasterType.Interactive\n];\n\nexport function getObjectAppLink(object: BaseObject): Core.AppLink {\n if (VideoHelper.isInteractive(object)) {\n return {\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.VIEW_INTERACTIVE,\n args: [ object.id, TextHelper.slugify(object.name) ]\n };\n }\n\n if (VideoHelper.isClip(object)) {\n return {\n application: AppChannels.CLIPS,\n action: Actions.Clips.PLAY_CLIP,\n args: [ object.id, TextHelper.slugify(object.name) ]\n };\n }\n\n if (VideoHelper.isVideo(object)) {\n return {\n application: AppChannels.VIDEOS,\n action: Actions.Videos.PLAY_VIDEO,\n args: [ object.id, TextHelper.slugify(object.name) ]\n };\n }\n\n if (object.typeId === MasterType.Playlist) {\n return {\n application: AppChannels.PLAYLISTS,\n action: Actions.Playlists.PLAYLIST,\n args: [ object.id, TextHelper.slugify(object.name) ]\n };\n }\n\n if (object.typeId === MasterType.Series) {\n return SeriesAppLinkHelper.getSeriesAppLink(object as Series);\n }\n}\n\nexport function getInsightsOverviewAppLink(share: Share, params?: HashObject): Core.AppLink {\n if (!share)\n return null;\n\n if (!INSIGHTS_WHITELIST.includes(share.objectTypeId))\n return getObjectAppLink({ id: share.objectId.toString(), typeId: share.objectTypeId });\n\n if (share.type === ShareType.Classroom) {\n const classroomId = ShareHelper.getClassroomIdFromShare(share);\n\n return {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.INSIGHTS_OVERVIEW,\n args: [ classroomId, share.shareId ],\n params\n };\n }\n\n if (share.type === ShareType.Open) {\n return {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.OPEN_CLASSROOM_INSIGHTS_OVERVIEW,\n args: [share.shareId],\n params\n };\n }\n\n return {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INSIGHTS_OVERVIEW,\n args: [share.shareId],\n params\n };\n}\n\nexport function getInsightsHeatmapAppLink(share: Share, params?: HashObject): Core.AppLink {\n if (!share)\n return null;\n\n if (!INSIGHTS_WHITELIST.includes(share.objectTypeId))\n return getObjectAppLink({ id: share.objectId.toString(), typeId: share.objectTypeId });\n\n if (share.type === ShareType.Classroom) {\n const classroomId = ShareHelper.getClassroomIdFromShare(share);\n\n return {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.INSIGHTS_HEATMAP,\n args: [ classroomId, share.shareId ],\n params\n };\n }\n\n if (share.type === ShareType.Open) {\n return {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.OPEN_CLASSROOM_INSIGHTS_HEATMAP,\n args: [share.shareId],\n params\n };\n }\n\n return {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INSIGHTS_HEATMAP,\n args: [share.shareId],\n params\n };\n}\n\nexport function getInsightsQuestionsAppLink(share: Share, params?: HashObject): Core.AppLink {\n if (!share)\n return null;\n\n if (!INSIGHTS_WHITELIST.includes(share.objectTypeId))\n return getObjectAppLink({ id: share.objectId.toString(), typeId: share.objectTypeId });\n\n if (share.type === ShareType.Classroom) {\n const classroomId = ShareHelper.getClassroomIdFromShare(share);\n\n return {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.INSIGHTS_QUESTIONS,\n args: [ classroomId, share.shareId ],\n params\n };\n }\n\n if (share.type === ShareType.Open) {\n return {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.OPEN_CLASSROOM_INSIGHTS_QUESTIONS,\n args: [share.shareId],\n params\n };\n }\n\n return {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INSIGHTS_QUESTIONS,\n args: [share.shareId],\n params\n };\n}\n\nexport function getInsightsStudentsAppLink(share: Share, params?: HashObject): Core.AppLink {\n if (!share)\n return null;\n \n if (!INSIGHTS_WHITELIST.includes(share.objectTypeId))\n return getObjectAppLink({ id: share.objectId.toString(), typeId: share.objectTypeId });\n\n if (share.type === ShareType.Classroom) {\n const classroomId = ShareHelper.getClassroomIdFromShare(share);\n\n return {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.INSIGHTS_STUDENTS,\n args: [ classroomId, share.shareId ],\n params\n };\n }\n\n if (share.type === ShareType.Open) {\n return {\n application: AppChannels.CLASSROOMS,\n action: Actions.Classrooms.OPEN_CLASSROOM_INSIGHTS_STUDENTS,\n args: [share.shareId],\n params\n };\n }\n\n return {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INSIGHTS_STUDENTS,\n args: [share.shareId],\n params\n };\n}\n\nexport function getShareOptionsAppLink(share: Share): Core.AppLink {\n if (!share) return;\n\n const entityType = getSharableEntityType(share);\n\n if (share.type === ShareType.Link) {\n return {\n application: AppChannels.SHARE,\n action: Actions.Share.SHARE,\n args: [share.objectId],\n params: { entityType }\n };\n }\n\n return AssignAppLinkHelper.assignDetails({\n objectId: share.objectId.toString(),\n shareId: share.shareId,\n entityType\n });\n}\n\nexport function getDeleteShareAppLink(share: Share): Core.AppLink {\n if (!share) return;\n\n const entityType = getSharableEntityType(share);\n\n if (share.type === ShareType.Link) {\n return {\n application: AppChannels.SHARE,\n action: Actions.Share.DELETE_SHARE_LINK,\n args: [share.objectId],\n params: {\n entityType,\n previousAppLink: {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.HOME\n } as Core.AppLink\n }\n };\n }\n\n const actions: Record<ShareType, string> = {\n [ShareType.Classroom]: Actions.Share.DELETE_ASSIGNMENT,\n [ShareType.Open]: Actions.Share.DELETE_OPEN_CLASSROOM,\n [ShareType.Link]: '',\n [ShareType.Live]: ''\n };\n\n const previousActions: Record<ShareType, string> = {\n [ShareType.Classroom]: Actions.Classrooms.CLASSROOM_HOME,\n [ShareType.Open]: Actions.Classrooms.OPEN_CLASSROOMS,\n [ShareType.Link]: '',\n [ShareType.Live]: ''\n };\n \n const action = actions[share.type];\n const previousAction = previousActions[share.type];\n\n if (!action || !previousAction) return;\n \n return {\n application: AppChannels.SHARE,\n action: action,\n args: [share.shareId],\n params: {\n previousAppLink: {\n application: AppChannels.CLASSROOMS,\n action: previousAction,\n args: [ShareHelper.getClassroomIdFromShare(share)]\n } as Core.AppLink\n }\n };\n}\n\nexport function getInsightsReportAppLink(share: Share): Core.AppLink {\n if (!share) return;\n if (share.objectTypeId !== MasterType.Interactive) return;\n\n return {\n application: AppChannels.MY_SHARES,\n action: Actions.MyShares.INTERACTIVE_GENERATE_REPORT,\n args: [share.objectId]\n };\n}\n\nfunction getSharableEntityType(share: Share): SharableEntityType {\n if (share.objectTypeId === MasterType.Video)\n return 'video';\n\n if (share.objectTypeId === MasterType.Interactive)\n return 'interactive';\n \n if (share.objectTypeId === MasterType.Clip)\n return 'clip';\n\n if (share.objectTypeId === MasterType.Series)\n return 'series';\n\n if (share.objectTypeId === MasterType.Playlist)\n return 'playlist';\n}"],"names":["AnalyticsFilterHelper","getAudienceAppLinkParams","appLink","params","users","classrooms","classroomGroups","getParam","key","param","Array","isArray","audienceFilters","getDateRangeAppLinkParams","from","to","rangeName","dateRangeFilters","PlaylistHelper","isPlaylist","obj","typeId","isOwner","playlist","currentUser","_liteOwner","id","toString","getVideoCount","count","videos","clips","interactives","ShareType","ShareHelper","getFlattenedRecipients","shares","map","s","recipients","getFlattenedUniqueScopes","r","scopeId","filter","x","getClassroomIdFromShare","share","firstRecipient","recipientId","recipientTypeId","getClassroomForShare","classroomId","find","classroom","getRecipientsCount","type","length","hasShareExpired","expireDate","now","Date","calculateDaysToExpiry","remainingDays","namespace","BASE_IMAGE_CLASS_NAME","InsightsMask","className","SharedObjectImage","props","ref","el","object","fixedHeight","style","width","offsetHeight","VideoHelper","MasterType","useVideoThumbnail","image","ImageHelper","imageType","imageClassName","imageFallbackComponent","ImageFallback","svgContainerClassName","url","getBgColorClass","name","extraClasses","getImageProps","thumbnailMetadata","showVideoMetadata","hideBottomBar","hideDuration","hideMask","hideRating","hideVideoBadgeType","showInsightsMask","AppLink","VideoThumbnail","video","size","thumbnailSize","imageOptions","textPosition","ThumbnailTextPosition","requireMarking","Text","phrase","options","smartCount","CollectionThumbnail","collection","analyticsData","analyticsOptions","entity","ShareViewHelper","actionType","location","locationContext","showMask","showCollectionMask","showVideoCount","BaseImage","data","defaultProps","SharedObjectTitle","sharedObject","titleClassName","subTextClassName","subTextPhrase","getSubTextPhrase","titleAppLink","getObjectAppLink","canNavigate","series","BaseCollectionThumbnailTitle","title","CollectionThumbnailTitle","firstVideo","collectionVideos","ArrayHelper","getFirstVideo","videoCount","totalCount","showTexts","subText","MasterTypeHelper","preventFocus","SvgContainer","svgName","hoverText","hideVideoTypeBadge","TitleSubText","subTextAppLink","getPhrase","getShareObjectActions","isPlugin","breakpoints","isMobile","xs","sm","buttonProps","button","getActionsForPlugin","getMediaActions","getInsightsActions","hideShareOptionsActions","getShareOptionsActions","getDeleteActions","reduce","actions","getActionFn","getSharesParams","typeIdAppLinkParams","getTypeIdParams","audienceAppLinkParams","currentAppLink","application","action","sentSharesParams","recipientUserId","recipientGroupId","objectTypeId","undefined","canConsume","label","args","entityType","descriptor","workflowPhase","eventVersion","md","tooltip","group","audienceParams","hasInsights","INSIGHTS_WHITELIST","getInsightsOverviewAppLink","includes","objectId","shareId","getInsightsHeatmapAppLink","getInsightsQuestionsAppLink","getInsightsStudentsAppLink","getShareOptionsAppLink","getSharableEntityType","getDeleteShareAppLink","previousAppLink","previousActions","previousAction"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[4164],{86877:(e,t,n)=>{n.d(t,{Z:()=>s});var o=n(23481);function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function i(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,u(o.key),o)}}function u(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}function c(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(c=function(){return!!e})()}function a(e){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},a(e)}function l(e,t){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},l(e,t)}var s=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=a(t),function(e,t){if(t&&("object"==r(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,c()?Reflect.construct(t,n||[],a(e).constructor):t.apply(e,n))}(this,t,[e])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&l(e,t)}(t,e),n=t,(u=[{key:"name",get:function(){return"FileTypeError"}},{key:"lang",get:function(){return"upload.fileType"}},{key:"dialogOptions",get:function(){return{title:o.T.getPhrase(this.lang,"heading"),text:o.T.getPhrase(this.lang,"body"),buttons:[{text:o.T.getPhrase(this.lang,"okay"),className:"btn btn-dark",success:!0},{text:o.T.getPhrase(this.lang,"close"),className:"btn btn-link",close:!0}]}}}])&&i(n.prototype,u),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,u}(n(47663).S)},90121:(e,t,n)=>{n.r(t),n.d(t,{BaseVideoUploadService:()=>fe,LearningResourceUploadService:()=>ye,MixedMediaUploadService:()=>de,SubtitleUploadService:()=>pe,UploadType:()=>ue});var o,r=n(43823),i=n(21161),u=n(46865),c=n(79976),a=n(37433),l=n(54149),s=n(71365),f=n(23481),p=n(70794),y=n(81886),d=n(49985),h=n(65858),b=n(29555);!function(e){e[e.Permanent=0]="Permanent",e[e.Temporary=1]="Temporary"}(o||(o={}));var g=n(86877),v=n(28046),m=n(52003),w=n(60735),S=n(53301),O=n.n(S),k=n(47663);function P(e){return P="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P(e)}function j(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,T(o.key),o)}}function T(e){var t=function(e){if("object"!=P(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=P(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==P(t)?t:t+""}function U(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(U=function(){return!!e})()}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}function _(e,t){return _=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},_(e,t)}var I="upload.internetConnectivityError",x=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=E(t),function(e,t){if(t&&("object"==P(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,U()?Reflect.construct(t,n||[],E(e).constructor):t.apply(e,n))}(this,t,[f.T.getPhrase(I,"title")])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_(e,t)}(t,e),n=t,(o=[{key:"name",get:function(){return"InternetConnectivityError"}},{key:"dialogOptions",get:function(){return{title:f.T.getPhrase(I,"heading"),text:f.T.getPhrase(I,"body"),buttons:[{text:f.T.getPhrase(I,"okay"),className:"btn btn-outline-dark",success:!0}]}}}])&&j(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(k.S),R=n(44331);function C(e){return C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},C(e)}function D(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,L(o.key),o)}}function L(e){var t=function(e){if("object"!=C(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=C(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==C(t)?t:t+""}function F(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(F=function(){return!!e})()}function A(e){return A=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},A(e)}function M(e,t){return M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},M(e,t)}var z="upload.slowInternetError",V=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){return t=A(t),function(e,t){if(t&&("object"==C(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,F()?Reflect.construct(t,n||[],A(e).constructor):t.apply(e,n))}(this,t,[f.T.getPhrase(z,"title")])}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&M(e,t)}(t,e),n=t,(o=[{key:"name",get:function(){return"SlowInternetError"}},{key:"dialogOptions",get:function(){return{title:f.T.getPhrase(z,"heading"),text:f.T.getPhrase(z,"body"),buttons:[{text:f.T.getPhrase(z,"okay"),className:"btn btn-outline-dark",success:!0}]}}}])&&D(n.prototype,o),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o}(k.S);function N(e){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(e)}function B(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Q(o.key),o)}}function Q(e){var t=function(e){if("object"!=N(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=N(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==N(t)?t:t+""}function q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(q=function(){return!!e})()}function Z(e){return Z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Z(e)}function X(e,t){return X=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},X(e,t)}var J=[],G=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=function(e,t,n){return t=Z(t),function(e,t){if(t&&("object"==N(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,q()?Reflect.construct(t,n||[],Z(e).constructor):t.apply(e,n))}(this,t,[e])).slowInternetTimeout={},n.showSlowInternetTimeout=!0,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&X(e,t)}(t,e),n=t,o=[{key:"name",get:function(){return"DropzoneWrapper"}},{key:"initialize",value:function(e){var t=this.options.loggingEnabled,n=r.Radio.channel(e.channelName),o=this;this.dropzone=new(O())(document.createElement("div"),{url:function(e){return e[0].cvUpload.ingestUrl},chunking:this.options.chunkingEnabled,chunkSize:this.options.chunkSize,forceChunking:!0,autoProcessQueue:!0,maxFilesize:this.options.maxFileSize,acceptedFiles:this.options.acceptedFiles,paramName:"content",timeout:18e4,init:function(){var e=this;t&&(i.each(J,(function(t){e.on(t,(function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];var r=n[0]instanceof File?n[0].name:n[0];console.info(t,r,n)}))})),this.on("uploadprogress",(function(e,t,r){var i=r/e.size*100;n.trigger("progress",o.getId(e),i,r)})),this.on("success",(function(e){var t=e.upload.chunks,o=i.last(t),r=o.xhr;r||(r=o.file.xhr);var u=JSON.parse(r.response);e.cvUpload.fileId=u.id,n.trigger(b.S.UPLOAD_SUCCESS,e,u)})),this.on("error",(function(e,t,n){n&&0===n.status?y.Q.Ry.throw(new x):"canceled"!==e.status&&y.Q.Ry.throw(new R.n(f.T.getPhrase("upload.services","uploadError",{fileName:e.name,message:t.message})))})),this.on("sending",(function(e){window.clearTimeout(o.slowInternetTimeout[e.path]),o.showSlowInternetTimeout&&(o.slowInternetTimeout[e.path]=window.setTimeout((function(){o.showSlowInternetTimeout&&y.Q.Ry.throw(new V),o.showSlowInternetTimeout=!1}),3e4))})),this.on("complete",(function(e){return window.clearTimeout(o.slowInternetTimeout[e.path])})))},params:function(e,t,n){if(n)return{chunk_index:n.index,upload_length:n.file.size}},addedfile:function(){},thumbnail:function(){},uploadprogress:function(){}})}},{key:"getId",value:function(e){return e.upload.uuid}},{key:"addFile",value:function(e){this.dropzone.addFile(e)}},{key:"removeFile",value:function(e){this.dropzone.removeFile(e)}},{key:"start",value:function(){this.dropzone.processQueue()}},{key:"destroy",value:function(){this.dropzone.destroy()}}],u=[{key:"isValidFile",value:function(e,t){return O().isValidFile(e,t)}}],o&&B(n.prototype,o),u&&B(n,u),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o,u}(y.Q.t6);function H(e){return H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},H(e)}function W(e,t,n){return(t=ee(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function K(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,ee(o.key),o)}}function Y(e,t,n){return t&&K(e.prototype,t),n&&K(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ee(e){var t=function(e){if("object"!=H(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=H(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==H(t)?t:t+""}function te(e,t,n){return t=oe(t),function(e,t){if(t&&("object"==H(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,ne()?Reflect.construct(t,n||[],oe(e).constructor):t.apply(e,n))}function ne(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(ne=function(){return!!e})()}function oe(e){return oe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},oe(e)}function re(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ie(e,t)}function ie(e,t){return ie=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ie(e,t)}var ue,ce=function(e){function t(){var e;return $(this,t),(e=te(this,t,[{dataProvider:s.u.getInstance(a.R.Ajax),cache:s.u.getInstance(u.p.Fifo),alertService:s.u.getInstance(c.P.ALERT)}])).incrementingUploadId=0,e}return re(t,e),Y(t,[{key:"name",get:function(){return"UploadDataService"}},{key:"channelName",get:function(){return"private:upload:data:service"}},{key:"requestUploads",value:function(e,t,n,o,r){var u=this,c=this.chain();i.each(t,(function(t){u.incrementingUploadId++,c.create({resource:e,eventPrefix:"request:upload:".concat(u.incrementingUploadId),data:u.getFileUploadRequest(t,n),callback:function(e){o(t,e)},errorHandler:u.alertService.error("Something went wrong while we were uploading your video. Please try again.")})})),c.func((function(){r()})).run()}},{key:"cancelUpload",value:function(e,t,n){this.create({resource:"/api/upload/cancel",eventPrefix:"cancel:upload",data:{uploadId:e,ingestUrl:t},callback:n})}},{key:"getFileUploadRequest",value:function(e,t){var n=e.name.split(".");return{name:n.join("."),extension:n.length>1?n.pop():"",fileSize:e.size,fileLifestyle:t}}},{key:"onDestroy",value:function(){s.u.releaseInstance(a.R.Ajax).releaseInstance(u.p.Fifo)}}])}(l.B);!function(e){e[e.Video=0]="Video",e[e.LearningResource=1]="LearningResource",e[e.Subtitle=2]="Subtitle",e[e.MixedMedia=3]="MixedMedia"}(ue||(ue={}));var ae=W(W(W(W({},ue.Video,v.l.VIDEO),ue.LearningResource,v.l.RESOURCES),ue.Subtitle,v.l.SUBTITLES),ue.MixedMedia,v.l.MIXED_MEDIA),le=W(W(W(W({},ue.Video,m.Q4.VIDEO_UPLOAD),ue.LearningResource,m.Q4.RESOURCE_UPLOAD),ue.Subtitle,m.Q4.SUBTITLE_UPLOAD),ue.MixedMedia,m.Q4.MIXED_MEDIA_UPLOAD),se=function(e){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return $(this,t),te(this,t,[Object.assign({uploadUrl:"/api/upload"},e)])}return re(t,e),Y(t,[{key:"initialize",value:function(){this.uploadDataService=new ce,this.progressViewModel=p.r.get("upload:progress:".concat(this.uploadType)),this.bindListeners()}},{key:"channelName",get:function(){return le[this.uploadType]}},{key:"lang",get:function(){return"uploadShared.services"}},{key:"initUploader",value:function(e,t){if(!this.uploader){var n=4194304;e&&n<e&&(n=e),t&&n>t&&(n=t),this.uploader=new G({chunkingEnabled:!0,loggingEnabled:!0,chunkSize:n,maxFileSize:53687091200,acceptedFiles:this.getAcceptedFiles(),channelName:this.channelName})}}},{key:"bindListeners",value:function(){this.listenTo(this.channelName,"progress",this.onProgress),this.listenTo(this.channelName,b.S.UPLOAD_SUCCESS,this.onSuccess)}},{key:"onProgress",value:function(e,t,n){var o=this.collection.get(e);o&&(o.set({progress:t>100?100:t,totalUploaded:n}),this.setOverallProgress())}},{key:"isUploading",value:function(){return!!this.getCollection().length}},{key:"getCollection",value:function(){return this.collection||(this.collection=new y.Q.FE),this.collection}},{key:"setOverallProgress",value:function(){var e=this,t=0,n=0,o=this.getCollection();if(o.length){o.each((function(e){t+=e.get("totalUploaded")||0,n+=e.get("file").size||0}));var r=t/n*100,i=r>=100,u=function(){e.progressViewModel.set({progress:i?100:r,done:i})};i?window.setTimeout(u,2e3):u()}else this.progressViewModel.set({progress:0})}},{key:"isValidFile",value:function(e){return G.isValidFile(e,this.getAcceptedFiles())}},{key:"addFiles",value:function(e,t){var n=this;i.any(e,(function(e){return!n.isValidFile(e)}))?y.Q.Ry.throw(new g.Z(f.T.getPhrase(this.lang,"invalidFileType"))):this.requestUploads(e,t)}},{key:"requestUploads",value:function(e,t){var n=this,o=this.isUploading(),i=this.getCollection();this.uploadDataService.requestUploads(this.options.uploadUrl,e,this.fileLifestyle,(function(e,t){"minChunkSize"in t||"maxChunkSize"in t?n.initUploader(1024*t.minChunkSize,1024*t.maxChunkSize):n.initUploader(t.minChunkLength,t.maxChunkLength),e.cvUpload={uploadId:t.uploadId,ingestUrl:t.ingestUrl},n.uploader.addFile(e);var o=e.name;n.uploadType===ue.Video&&(o=o.replace(/\.[^/.]+$/,"")),i.add(Object.assign({id:n.uploader.getId(e),file:e,name:o},n.getAdditionalFileInfo(e,t)),{at:i.length-1})}),(function(){t&&d.k.logUserAction({uploadCount:e.length},t),r.Radio.channel(n.channelName).trigger(b.S.FILES_ADDED,e,o)}))}},{key:"addFile",value:function(e,t){this.addFiles([e],t)}},{key:"cancelUpload",value:function(e){var t=this,n=this.getCollection(),o=n.get(e);if(o){var i=o.get("file");this.uploader.removeFile(i),n.remove(o),this.uploadDataService.cancelUpload(i.cvUpload.uploadId,i.cvUpload.ingestUrl,(function(){d.k.logUserAction(o.toJSON(),{entity:h.py.Video,actionType:h.Vw.Upload,workflowPhase:h.eu.Discard,descriptor:h.yh.Single,location:h.LZ.MyUploads}),r.Radio.channel(t.channelName).trigger(b.S.UPLOAD_CANCELLED)})),this.setOverallProgress()}}},{key:"onSuccess",value:function(e,t){var n=this.uploader.getId(e),o=this.getCollection().get(n);o.set("fileInfo",t),d.k.logUserAction({id:e.cvUpload.uploadId},{entity:h.py.Video,actionType:h.Vw.Upload,workflowPhase:h.eu.Complete,descriptor:h.yh.Single,location:h.LZ.VideoUpload}),r.Radio.channel(this.channelName).trigger(b.S.UPLOAD_COMPLETE,o)}},{key:"cancelAllUploads",value:function(){var e=this,t=this.getCollection().map((function(e){return e.get("id")}));i.each(t,(function(t){return e.cancelUpload(t)}))}},{key:"getUpload",value:function(e){var t=this.uploader.getId(e);return this.getCollection().get(t)}},{key:"getAcceptedFiles",value:function(){return ae[this.uploadType]}},{key:"getAdditionalFileInfo",value:function(e,t){return{}}}])}(y.Q.t6),fe=function(e){function t(){return $(this,t),te(this,t,arguments)}return re(t,e),Y(t,[{key:"uploadType",get:function(){return ue.Video}},{key:"name",get:function(){return w.D.VideoUpload}},{key:"fileLifestyle",get:function(){return o.Temporary}}])}(se),pe=function(e){function t(){return $(this,t),te(this,t,arguments)}return re(t,e),Y(t,[{key:"uploadType",get:function(){return ue.Subtitle}},{key:"name",get:function(){return w.D.SubtitleUpload}},{key:"fileLifestyle",get:function(){return o.Permanent}}])}(se),ye=function(e){function t(){return $(this,t),te(this,t,arguments)}return re(t,e),Y(t,[{key:"uploadType",get:function(){return ue.LearningResource}},{key:"name",get:function(){return w.D.ResourceUpload}},{key:"fileLifestyle",get:function(){return o.Permanent}}])}(se),de=function(e){function t(){return $(this,t),te(this,t,arguments)}return re(t,e),Y(t,[{key:"uploadType",get:function(){return ue.MixedMedia}},{key:"name",get:function(){return w.D.MixedMediaUpload}},{key:"fileLifestyle",get:function(){return o.Temporary}}])}(se)},28046:(e,t,n)=>{n.d(t,{l:()=>y,v:()=>d});var o=n(21161),r=["pdf"],i=["doc","docx","dotx","dot","rtf","docm","odt"],u=["csv","txt"],c=["xls","xlt","xlsx"],a=["jpg","tif","png","bmp","gif","jpeg"],l="video/*",s=["zip","rar"],f=["ppt","pot","pps","pptx"],p=["srt"],y={IMAGES:".".concat(a.join(",.")),VIDEO:l,MIXED_MEDIA:".".concat(a.join(",."),",").concat(l),RESOURCES:".".concat([].concat(i,c,f,r,u,a,s).join(",.")),SUBTITLES:".".concat(p.join(",."))},d={getResourceType:function(e){var t=e.toLowerCase();return o.contains(i,t)?"document":o.contains(c,t)?"excel":o.contains(f,t)?"powerpoint":o.contains(r,t)?"pdf":o.contains(u,t)?"text":o.contains(a,t)?"image":o.contains(s,t)?"archive":o.contains(p,t)?"subtitle":""}}}}]);
2
- //# sourceMappingURL=4164-5d3af57b67-lite.chunk.js.map