@clickview/lite 0.75.0-rc.7 → 0.75.0-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles.json +1 -1
- package/dist/scripts/{9634-f10e5980bd-lite.chunk.js → 9634-0a07635b99-lite.chunk.js} +2 -2
- package/dist/scripts/9634-0a07635b99-lite.chunk.js.map +1 -0
- package/dist/scripts/{bundle-67a8b81035.min.js → bundle-58c25f6529.min.js} +3 -3
- package/dist/scripts/{bundle-67a8b81035.min.js.map → bundle-58c25f6529.min.js.map} +1 -1
- package/package.json +1 -1
- package/dist/scripts/9634-f10e5980bd-lite.chunk.js.map +0 -1
- /package/dist/scripts/{bundle-67a8b81035.min.js.LICENSE.txt → bundle-58c25f6529.min.js.LICENSE.txt} +0 -0
package/dist/bundles.json
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9634],{30357:(e,t,n)=>{n.d(t,{V:()=>s});var a=n(32735),r=n(23999),i=n(89965),o=n(83345),l="share.embedSize";function s(e){var t=e.autoplay,n=e.setAutoplay,s=e.videoSize,c=e.setVideoSize,u=e.videoSizes;return a.createElement("div",{className:"d-flex align-items-center"},!!u.length&&a.createElement(a.Fragment,null,a.createElement("div",{className:"me-1"},a.createElement(o.x,{namespace:l,phrase:"videoSize"})),a.createElement("div",{className:"pe-3"},a.createElement(r.Z,null,a.createElement(r.Z.Toggle,{id:"embed-resolution",variant:"outline-dark"},s.label),a.createElement(r.Z.Menu,null,u.map(function(e){return a.createElement(r.Z.Item,{key:"".concat(e.width,"x").concat(e.height),onClick:function(){return c(e)}},e.label)}))))),a.createElement("div",{className:"me-2"},a.createElement(o.x,{namespace:l,phrase:"autoplay"})),a.createElement(i.X,{id:"autoplay-checkbox",checked:t,onChange:function(){return n(!t)}}))}},41661:(e,t,n)=>{var a;n.d(t,{D:()=>a}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(a||(a={}))},40841:(e,t,n)=>{n.d(t,{_:()=>l});var a=n(23481),r=n(41661),i=n(65728),o=a.T.encloseNamespace("shared.shared-utils"),l={getShareIntegrations:function(e,t){return[{id:r.D.GoogleClassroom,name:o("googleClassroom"),enabled:e,settingName:i.E.ShareToGoogleClassroom},{id:r.D.MicrosoftTeams,name:o("msftTeams"),enabled:t,settingName:i.E.ShareToMicrosoftTeams}]}}},83351:(e,t,n)=>{n.d(t,{P:()=>s});var a=n(32735),r=n(23481),i=n(13876),o=n(36532),l=r.T.encloseNamespace("assign.flowControls");function s(e){var t=e.hideBackButton||!e.onClickBack,n=e.hideNextButton||!e.onClickNext,r=e.hideCreateClassroomButton||!e.onClickCreateClassroom;return t&&n&&r?a.createElement(a.Fragment,null):a.createElement(i.u,{className:"justify-content-between"},a.createElement("div",null,!!e.leftComponent&&e.leftComponent,!r&&a.createElement(i.u.Submit,{variant:"link",onClick:e.onClickCreateClassroom,text:l("createClassroom"),className:"text-info p-0"})),a.createElement("div",{className:"d-flex"},!t&&a.createElement(i.u.Cancel,{variant:"link",onClick:e.onClickBack,text:e.backButtonText||l("back")}),!n&&a.createElement(o.u,{title:e.nextButtonTooltip,disable:!e.nextButtonTooltip,placement:"top",spanHack:!0},a.createElement(i.u.Submit,{variant:"dark",onClick:e.onClickNext,text:e.nextButtonText||l("next"),disabled:e.disableNextButton,showSpinner:e.showSpinner}))))}},89547:(e,t,n)=>{n.r(t),n.d(t,{PluginShareStageView:()=>Re});var a=n(32735),r=n(37802),i=n(70680),o=n(23481),l=n(81886),s=n(20354),c=n(110),u=n(28400),d=n(49985),p=n(65858),m=n(30439),y=n(38648),f=n(64249),v=n(9111),h=n(5960),b=n(4594),S=n(16714),E=n(39151),g=n(1666),k=n(31949),C=n(69883),T=n(22902),P=n(26450),I=n(45778),w=n(14070),x=n(97291),O=n(46390),A=n(13876),N=n(50023),z=n(83345),j=n(99742),V="share.postMessageSuccess",L=o.T.encloseNamespace(V);function G(e){return(0,O.G)().params.singleSelectMode?a.createElement("div",null,a.createElement("img",{className:"img-fluid mx-auto d-block",alt:"Success",src:j.W.SUCCESS,style:{maxWidth:"14rem"}}),a.createElement("p",{className:"text-center"},a.createElement("strong",null,a.createElement(z.x,{namespace:V,phrase:"success"}))),a.createElement(A.u,null,a.createElement(A.u.Submit,{onClick:e.closePopup,text:L("close"),variant:"outline-dark"}))):a.createElement(N.E,null)}var B=n(86348),R=n(70872),F=n(26339),_=n(54610),D=n(68626),M="share.smartEmbedConfirmation",U=o.T.encloseNamespace(M);function Z(e){return a.createElement(a.Fragment,null,a.createElement("div",{className:"row mb-3"},a.createElement("div",{className:"col-4"},a.createElement(B.u,{video:e.entity,type:"cosmetic",imageOptions:{size:_.h2.Small},textPosition:D.z.Independent,preload:!0})),a.createElement("div",{className:"col-8"},a.createElement(F.$,{type:"series",analyticsOptions:{},video:e.entity}),a.createElement(R.u,{video:e.entity,analyticsOptions:{},appLink:null,yearGroups:null,showPadlock:!1}))),a.createElement("p",null,a.createElement(z.x,{namespace:M,phrase:"prompt"})),a.createElement(A.u,null,a.createElement(A.u.Cancel,{onClick:e.closePopup}),a.createElement(A.u.Submit,{text:U("embed"),onClick:e.embed,variant:"dark"})))}var $=n(47663);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 Q(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,q(a.key),a)}}function q(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 W(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(W=function(){return!!e})()}function X(e){return X=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},X(e)}function Y(e,t){return Y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Y(e,t)}var J="share.embedUnpublishedInteractiveError",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=X(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,W()?Reflect.construct(t,n||[],X(e).constructor):t.apply(e,n))}(this,t,["Embed unpublished interactive error"])).externalLink=e,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&&Y(e,t)}(t,e),n=t,(a=[{key:"name",get:function(){return"EmbedUnpublishedInteractiveError"}},{key:"dialogOptions",get:function(){return{title:o.T.getPhrase(J,"title"),text:o.T.getPhrase(J,"body",{externalLink:this.externalLink}),buttons:[{text:o.T.getPhrase(J,"close"),className:"btn btn-dark",success:!0}]}}}])&&Q(n.prototype,a),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,a}($.S),ee=n(98269),te=n(80247),ne=n(92802),ae=n(30357),re=n(97330),ie=n(61193),oe=n(82644),le="share.pluginShareSettings";function se(e){var t=(0,ne.u6)(),n=(0,T.T)().hasPermissions,r=(0,O.G)(),i=r.params.sizeSelector,o=r.consumerName;return a.createElement(ne.l0,null,a.createElement("div",{className:"d-flex justify-content-between align-items-center mb-2"},a.createElement(re.s,{linkExpireDate:e.shareLink.linkExpireDate,isPasswordProtected:e.shareLink.isPasswordProtected,privacy:e.privacy,entityTypeId:e.shareLink.objectTypeId,status:e.shareLink.status,onClickSavePrivacy:e.onClickSavePrivacy,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups,shareOverrideRestrictions:e.shareOverrideRestrictions})),a.createElement("div",{className:"mb-2"},a.createElement(ae.V,{autoplay:e.autoplay,setAutoplay:e.setAutoplay,videoSize:e.videoSize,setVideoSize:e.setVideoSize,videoSizes:i?e.videoSizes:[]})),n(S.C.ManageShareLinkSettings)&&a.createElement(ee.Z,{type:"button",variant:"link",className:"text-info ps-0",onClick:e.onClickShowAdvanced},a.createElement(z.x,{namespace:le,phrase:"showAdvanced"})),a.createElement(A.u,null,a.createElement(ee.Z,{className:"me-2",variant:"link",onClick:e.onClickCancel},"Cancel"),a.createElement(ee.Z,{variant:"dark",type:"submit"},t.isSubmitting?a.createElement(te.Z,{as:"span",animation:"border",role:"status",size:"sm"}):a.createElement(z.x,{namespace:le,phrase:o?"embedInto":"embed",options:{consumerName:o}}))))}function ce(e){var t,n,r={password:"",removePassword:!1,linkExpireDate:null===(t=e.shareLink)||void 0===t?void 0:t.linkExpireDate,overrideRestrictions:null===(n=e.shareLink)||void 0===n?void 0:n.overrideRestrictions};return a.createElement(oe.n,{initialValues:r,onSubmit:e.onClickEmbed,castInitialValues:!1,validationSchema:ie.d},a.createElement(se,{shareLink:e.shareLink,onClickCancel:e.onClickCancel,autoplay:e.autoplay,setAutoplay:e.setAutoplay,videoSize:e.videoSize,setVideoSize:e.setVideoSize,videoSizes:e.videoSizes,privacy:e.privacy,entityType:e.entityType,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups,shareOverrideRestrictions:e.shareOverrideRestrictions,onClickSavePrivacy:e.onClickSavePrivacy,onClickShowAdvanced:e.onClickShowAdvanced}))}function ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return de(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)?de(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 de(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var pe=o.T.encloseNamespace("share.pluginShare");function me(e){var t,n,o,A,N=(0,i.I0)(),z=(0,C.Z)(),j=(0,T.T)().hasPermissions,V=(0,r.r)(null),L=V.shareOverrideRestrictions,B=V.isLoadingSettings,R=(0,O.G)(),F=R.embed,_=R.smartEmbed,D=(0,R.isConsumer)(O.A.SmartEmbed),M=s.a.useBasicFetch(E.L.config()),U=s.a.useBasicFetch(k.N.currentUser()),$=f.I.getFetchFunctionByType(e.entityType)(e.entityId,null===(t=U.data)||void 0===t?void 0:t.id),H=s.a.useBasicFetch(m.o.getShareLinkByObjectId(e.entityId)),Q=s.a.useBasicFetch(m.o.getPrivacy(e.entityId)),q=s.a.useBasicFetch((null===(n=U.data)||void 0===n?void 0:n.isAuthenticated)&&g.h.yearGroups(U.data.customerId)),W=P.i.getEmbedResolutions(!1),X=ue(a.useState(W[0]),2),Y=X[0],J=X[1],ee=ue(a.useState(!1),2),te=ee[0],ne=ee[1],ae=ue(a.useState(D?"smart-embed-main":"main"),2),re=ae[0],ie=ae[1];function oe(t){f.I.updateLink(N,$.data,e.entityType,H.data,t,z,function(){return ie("main")})}function le(){f.I.deleteLink(N,$.data,e.entityType,H.data,z,function(){return ie("main")})}function se(){var t;t=H.data,F({entity:$.data,entityType:e.entityType,shareLink:t,videoSize:Y,autoplay:te,liteUrl:M.data.liteUrl}),d.k.logUserAction(Object.assign(Object.assign({},$.data),{shareLink:t}),d.k.mergeOptions(f.I.getAnalyticsOptions(e.entityType),{actionType:p.Vw.Share,descriptor:p.YM.PluginEmbed,workflowPhase:p.eu.Complete,eventVersion:p.eq.V4})),ie("post-message-sent")}function de(){_($.data),ie("post-message-sent")}function me(e,t){s.a.fetch(N,m.o.updatePrivacy(H.data.id,e,t,function(){return z.success(pe("privaciesSuccess",{name:$.data.name}))},function(){return z.error(pe("privaciesError",{name:$.data.name}))}))}a.useEffect(function(){if($.hasCompleted&&I.G.isType($.data,b.E.Interactive)&&$.data.status!==h.X.Published){var e=l.Q.C$.getHref({application:x.O.INTERACTIVES,action:w.e.Interactives.EDIT_INTERACTIVE,args:[$.data.id,u.m.slugify($.data.name)]});l.Q.Ry.throw(new K(e))}},[$.hasCompleted]),a.useEffect(function(){D||$.hasCompleted&&H.hasCompleted&&(H.data||f.I.createLink({dispatch:N,entity:$.data,entityType:e.entityType,alerts:z}))},[H.data,$.data]);var ye=(null===(o=H.data)||void 0===o?void 0:o.linkExpireDate)&&c.O.isBefore(null===(A=H.data)||void 0===A?void 0:A.linkExpireDate,new Date),fe=M.data&&U.data&&$.data&&(D||H.data)&&Q.data&&q.hasCompleted&&!B;return a.createElement(v.G,{title:pe("title"),closePopup:e.closePopup,showLoadingSpinner:!fe||null===re},function(){if(!fe)return a.createElement(a.Fragment,null);switch(re){case"post-message-sent":return a.createElement(G,{closePopup:e.closePopup});case"main":return a.createElement(ce,{shareLink:H.data,analyticsOptions:f.I.getAnalyticsOptions(e.entityType),onClickCancel:e.closePopup,onClickEmbed:se,videoSize:Y,setVideoSize:J,videoSizes:W,autoplay:te,setAutoplay:ne,privacy:Q.data,entityType:e.entityType,hasStudentExp:j(S.C.StudentExperience),entity:$.data,yearGroups:q.data,shareOverrideRestrictions:L,onClickSavePrivacy:me,onClickShowAdvanced:function(){return ie("link-settings")}});case"link-settings":return a.createElement(y.G,{entity:$.data,entityType:e.entityType,config:M.data,shareLink:H.data,entityId:e.entityId,analyticsOptions:f.I.getAnalyticsOptions(e.entityType),onClickSaveLink:oe,onClickCancel:function(){return ie("main")},privacy:Q.data,hasStudentExp:j(S.C.StudentExperience),shareOverrideRestrictions:L,onClickDeleteLink:ye&&le});case"smart-embed-main":return a.createElement(Z,{entity:$.data,closePopup:e.closePopup,embed:de})}}())}var ye=n(89067),fe=o.T.encloseNamespace("shareV2.pluginShareConfirmation");function ve(e){return a.createElement(v.G,{size:"md",title:fe("title"),closePopup:e.closePopup},a.createElement(G,{closePopup:e.closePopup}))}var he=n(25752),be=n(81192),Se=n(93563),Ee=n(31138),ge=n(2267),ke=n(83351),Ce=n(31121),Te=n(28161),Pe=n(2867);function Ie(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return we(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)?we(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 we(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function xe(e){var t=P.i.getEmbedResolutions(!1),n=Ie(a.useState(!1),2),r=n[0],i=n[1],o=Ie(a.useState(t.find(function(e){return"100%"===e.width})),2),l=o[0],s=o[1],c=(0,Ce.j)({data:{entity:{id:e.entityId,type:e.entityType}},analyticsOptions:{location:p.LZ.Popup,productArea:"plugin-embed",eventVersion:p.eq.V5}}).log,u=(0,Te.F)({entityId:e.entityId,entityType:e.entityType,log:c}),d=u.data,m=u.onClickSavePrivacy,y=d.entity,f=d.loaded,v=d.privacy,h=d.share,b=d.shareOverrideRestrictions,E=d.yearGroups,g=d.config,k=(0,Pe.W)({entityId:e.entityId,entityType:e.entityType,log:c}),C=(0,O.G)(),I=C.embedV2,w=C.smartEmbed,x=C.isConsumer,A=(0,(0,T.T)().hasPermissions)(S.C.StudentExperience),N=x(O.A.SmartEmbed),z=f&&!!E.data&&k.data.loaded;return{data:{entity:y,share:h,privacy:v,yearGroups:E,loaded:z},autoplay:r,setAutoplay:i,videoSizes:t,videoSize:l,setVideoSize:s,hasStudentExp:A,shareOverrideRestrictions:b,initialSettings:k.initialValues,onSaveSettings:k.onClickSaveLink,onClickSavePrivacy:m,onSmartEmbed:function(){w(y.data)},postMessage:function(t){I({entity:y.data,entityType:e.entityType,share:h.data||t,videoSize:l,autoplay:r,liteUrl:g.data.liteUrl}),c({type:"plugin-share-embed",share:h.data||t,embedDetails:{autoplay:r,size:l}},{entity:ge.I.getAnalyticsEntity(e.entityType)})},isSmartEmbed:N}}function Oe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ae(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)?Ae(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 Ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Ne=o.T.encloseNamespace("shareV2.pluginShareEmbed");function ze(e){var t,n,r=xe({entityId:e.entityId,entityType:e.entityType}),i=r.data,o=r.autoplay,s=r.hasStudentExp,c=r.initialSettings,d=r.onSaveSettings,p=r.setAutoplay,m=r.setVideoSize,y=r.shareOverrideRestrictions,f=r.videoSize,S=r.isSmartEmbed,E=r.videoSizes,g=r.onClickSavePrivacy,k=r.postMessage,C=i.entity,T=i.privacy,P=i.yearGroups,O=i.share,A=(0,Se._)({entityId:e.entityId}),N=A.createShareLink,z=A.loaded,j=O.hasCompleted&&!!C.data&&!!P.data&&!!T.data&&!!z,V=Oe(a.useState(),2),L=V[0],G=V[1],B=Oe(a.useState(c),2),R=B[0],F=B[1],_=O.hasCompleted&&!!O.data,D=_?null===(t=O.data)||void 0===t?void 0:t.privacy:L,M=_?c:R,U=ge.I.getEnabledSettingsField(e.entityType),Z=U.showImmediateFeedbackField,$=U.showPreventScrubbingField;return a.useEffect(function(){if(j&&!_){var e=(0,Ee.B)({entity:C.data,entityPrivacy:T.data,yearGroups:P.data,hasStudentExp:s});e&&G(e)}},[C.data,T.data,P.data,s,_,j]),a.useEffect(function(){if(C.hasCompleted&&I.G.isType(C.data,b.E.Interactive)&&C.data.status!==h.X.Published){var e=l.Q.C$.getHref({application:x.O.INTERACTIVES,action:w.e.Interactives.EDIT_INTERACTIVE,args:[C.data.id,u.m.slugify(C.data.name)]});l.Q.Ry.throw(new K(e))}},[C.hasCompleted]),a.createElement(v.G,{size:"md",showLoadingSpinner:!j,closePopup:e.closePopup,title:Ne("title")},a.createElement("div",{className:"d-flex flex-column gap-2 align-items-start mb-3"},a.createElement(he.q,{entity:C.data,entityPrivacy:T.data,entityTypeId:null===(n=C.data)||void 0===n?void 0:n.typeId,hasStudentExp:s,sharePrivacy:D,shareOverrideRestrictions:y,yearGroups:P.data,onClickSavePrivacy:function(e){_?g(e):G(e)}}),a.createElement(ae.V,{autoplay:o,setAutoplay:p,videoSize:f,setVideoSize:m,videoSizes:E}),a.createElement(be.Z,{hideFormHeading:!0,onSubmit:function(e,t){_?d({options:{immediateFeedback:e.immediateFeedback,preventScrubbing:e.preventScrubbing}},t):F(e)},initialValues:M,showImmediateFeedbackField:Z,showPreventScrubbingField:$})),a.createElement(ke.P,{backButtonText:Ne("cancel"),nextButtonText:Ne("embed"),hideCreateClassroomButton:!0,onClickBack:e.closePopup,onClickNext:function(){_||S?(k(),e.goToConfirmationStep()):N(L).then(function(t){k(t),e.goToConfirmationStep()})}}))}var je=o.T.encloseNamespace("shareV2.pluginShareSmartEmbed");function Ve(e){var t=xe({entityId:e.entityId,entityType:e.entityType}),n=t.data,r=t.onSmartEmbed,i=n.entity,o=n.loaded;return a.createElement(v.G,{size:"md",title:je("title"),closePopup:e.closePopup,showLoadingSpinner:!o},a.createElement(Z,{embed:function(){r(),e.goToConfirmationStep()},entity:i.data,closePopup:e.closePopup}))}function Le(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ge(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)?Ge(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 Ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function Be(e){var t=(0,(0,O.G)().isConsumer)(O.A.SmartEmbed)?"smart-embed":"main-embed",n=Le(a.useState(!0),2),r=n[0],i=n[1],o=Le(a.useState(t),2),l=o[0],s=o[1];function c(e){i(!1),s(e)}var u={entityId:e.entityId,entityType:e.entityType,closePopup:e.closePopup,goToConfirmationStep:function(){return c("confirmation")}};return a.createElement(ye.r,{animate:r,data:u,step:l,setStep:c,steps:{"main-embed":{view:ze},"smart-embed":{view:Ve},confirmation:{view:ve}},closePopup:e.closePopup})}function Re(e){return(0,r.r)(null).hasShareFlowV2?a.createElement(Be,{entityId:e.entityId,entityType:e.entityType,closePopup:e.closePopup}):a.createElement(me,{entityId:e.entityId,entityType:e.entityType,closePopup:e.closePopup})}}}]);
|
|
2
|
-
//# sourceMappingURL=9634-
|
|
1
|
+
"use strict";(self.webpackChunk_clickview_lite=self.webpackChunk_clickview_lite||[]).push([[9634],{30357:(e,t,n)=>{n.d(t,{V:()=>s});var a=n(32735),r=n(23999),i=n(89965),o=n(83345),l="share.embedSize";function s(e){var t=e.autoplay,n=e.setAutoplay,s=e.videoSize,c=e.setVideoSize,u=e.videoSizes;return a.createElement("div",{className:"d-flex align-items-center"},!!u.length&&a.createElement(a.Fragment,null,a.createElement("div",{className:"me-1"},a.createElement(o.x,{namespace:l,phrase:"videoSize"})),a.createElement("div",{className:"pe-3"},a.createElement(r.Z,null,a.createElement(r.Z.Toggle,{id:"embed-resolution",variant:"outline-dark"},s.label),a.createElement(r.Z.Menu,null,u.map(function(e){return a.createElement(r.Z.Item,{key:"".concat(e.width,"x").concat(e.height),onClick:function(){return c(e)}},e.label)}))))),a.createElement("div",{className:"me-2"},a.createElement(o.x,{namespace:l,phrase:"autoplay"})),a.createElement(i.X,{id:"autoplay-checkbox",checked:t,onChange:function(){return n(!t)}}))}},41661:(e,t,n)=>{var a;n.d(t,{D:()=>a}),function(e){e.GoogleClassroom="google-classroom",e.MicrosoftTeams="microsoft-teams",e.Vivi="vivi",e.AppleTv="apply-tv"}(a||(a={}))},40841:(e,t,n)=>{n.d(t,{_:()=>l});var a=n(23481),r=n(41661),i=n(65728),o=a.T.encloseNamespace("shared.shared-utils"),l={getShareIntegrations:function(e,t){return[{id:r.D.GoogleClassroom,name:o("googleClassroom"),enabled:e,settingName:i.E.ShareToGoogleClassroom},{id:r.D.MicrosoftTeams,name:o("msftTeams"),enabled:t,settingName:i.E.ShareToMicrosoftTeams}]}}},83351:(e,t,n)=>{n.d(t,{P:()=>s});var a=n(32735),r=n(23481),i=n(13876),o=n(36532),l=r.T.encloseNamespace("assign.flowControls");function s(e){var t=e.hideBackButton||!e.onClickBack,n=e.hideNextButton||!e.onClickNext,r=e.hideCreateClassroomButton||!e.onClickCreateClassroom;return t&&n&&r?a.createElement(a.Fragment,null):a.createElement(i.u,{className:"justify-content-between"},a.createElement("div",null,!!e.leftComponent&&e.leftComponent,!r&&a.createElement(i.u.Submit,{variant:"link",onClick:e.onClickCreateClassroom,text:l("createClassroom"),className:"text-info p-0"})),a.createElement("div",{className:"d-flex"},!t&&a.createElement(i.u.Cancel,{variant:"link",onClick:e.onClickBack,text:e.backButtonText||l("back")}),!n&&a.createElement(o.u,{title:e.nextButtonTooltip,disable:!e.nextButtonTooltip,placement:"top",spanHack:!0},a.createElement(i.u.Submit,{variant:"dark",onClick:e.onClickNext,text:e.nextButtonText||l("next"),disabled:e.disableNextButton,showSpinner:e.showSpinner}))))}},89547:(e,t,n)=>{n.r(t),n.d(t,{PluginShareStageView:()=>Re});var a=n(32735),r=n(37802),i=n(70680),o=n(23481),l=n(81886),s=n(20354),c=n(110),u=n(28400),d=n(49985),p=n(65858),m=n(30439),y=n(38648),f=n(64249),v=n(9111),h=n(5960),b=n(4594),S=n(16714),E=n(39151),g=n(1666),k=n(31949),C=n(69883),T=n(22902),P=n(26450),I=n(45778),w=n(14070),x=n(97291),O=n(46390),A=n(13876),N=n(50023),z=n(83345),j=n(99742),V="share.postMessageSuccess",L=o.T.encloseNamespace(V);function G(e){return(0,O.G)().params.singleSelectMode?a.createElement("div",null,a.createElement("img",{className:"img-fluid mx-auto d-block",alt:"Success",src:j.W.SUCCESS,style:{maxWidth:"14rem"}}),a.createElement("p",{className:"text-center"},a.createElement("strong",null,a.createElement(z.x,{namespace:V,phrase:"success"}))),a.createElement(A.u,null,a.createElement(A.u.Submit,{onClick:e.closePopup,text:L("close"),variant:"outline-dark"}))):a.createElement(N.E,null)}var B=n(86348),R=n(70872),F=n(26339),_=n(54610),D=n(68626),M="share.smartEmbedConfirmation",U=o.T.encloseNamespace(M);function Z(e){return a.createElement(a.Fragment,null,a.createElement("div",{className:"row mb-3"},a.createElement("div",{className:"col-4"},a.createElement(B.u,{video:e.entity,type:"cosmetic",imageOptions:{size:_.h2.Small},textPosition:D.z.Independent,preload:!0})),a.createElement("div",{className:"col-8"},a.createElement(F.$,{type:"series",analyticsOptions:{},video:e.entity}),a.createElement(R.u,{video:e.entity,analyticsOptions:{},appLink:null,yearGroups:null,showPadlock:!1}))),a.createElement("p",null,a.createElement(z.x,{namespace:M,phrase:"prompt"})),a.createElement(A.u,null,a.createElement(A.u.Cancel,{onClick:e.closePopup}),a.createElement(A.u.Submit,{text:U("embed"),onClick:e.embed,variant:"dark"})))}var $=n(47663);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 Q(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,q(a.key),a)}}function q(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 W(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(W=function(){return!!e})()}function X(e){return X=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},X(e)}function Y(e,t){return Y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Y(e,t)}var J="share.embedUnpublishedInteractiveError",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=X(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,W()?Reflect.construct(t,n||[],X(e).constructor):t.apply(e,n))}(this,t,["Embed unpublished interactive error"])).externalLink=e,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&&Y(e,t)}(t,e),n=t,(a=[{key:"name",get:function(){return"EmbedUnpublishedInteractiveError"}},{key:"dialogOptions",get:function(){return{title:o.T.getPhrase(J,"title"),text:o.T.getPhrase(J,"body",{externalLink:this.externalLink}),buttons:[{text:o.T.getPhrase(J,"close"),className:"btn btn-dark",success:!0}]}}}])&&Q(n.prototype,a),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,a}($.S),ee=n(98269),te=n(80247),ne=n(92802),ae=n(30357),re=n(97330),ie=n(61193),oe=n(82644),le="share.pluginShareSettings";function se(e){var t=(0,ne.u6)(),n=(0,T.T)().hasPermissions,r=(0,O.G)(),i=r.params.sizeSelector,o=r.consumerName;return a.createElement(ne.l0,null,a.createElement("div",{className:"d-flex justify-content-between align-items-center mb-2"},a.createElement(re.s,{linkExpireDate:e.shareLink.linkExpireDate,isPasswordProtected:e.shareLink.isPasswordProtected,privacy:e.privacy,entityTypeId:e.shareLink.objectTypeId,status:e.shareLink.status,onClickSavePrivacy:e.onClickSavePrivacy,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups,shareOverrideRestrictions:e.shareOverrideRestrictions})),a.createElement("div",{className:"mb-2"},a.createElement(ae.V,{autoplay:e.autoplay,setAutoplay:e.setAutoplay,videoSize:e.videoSize,setVideoSize:e.setVideoSize,videoSizes:i?e.videoSizes:[]})),n(S.C.ManageShareLinkSettings)&&a.createElement(ee.Z,{type:"button",variant:"link",className:"text-info ps-0",onClick:e.onClickShowAdvanced},a.createElement(z.x,{namespace:le,phrase:"showAdvanced"})),a.createElement(A.u,null,a.createElement(ee.Z,{className:"me-2",variant:"link",onClick:e.onClickCancel},"Cancel"),a.createElement(ee.Z,{variant:"dark",type:"submit"},t.isSubmitting?a.createElement(te.Z,{as:"span",animation:"border",role:"status",size:"sm"}):a.createElement(z.x,{namespace:le,phrase:o?"embedInto":"embed",options:{consumerName:o}}))))}function ce(e){var t,n,r={password:"",removePassword:!1,linkExpireDate:null===(t=e.shareLink)||void 0===t?void 0:t.linkExpireDate,overrideRestrictions:null===(n=e.shareLink)||void 0===n?void 0:n.overrideRestrictions};return a.createElement(oe.n,{initialValues:r,onSubmit:e.onClickEmbed,castInitialValues:!1,validationSchema:ie.d},a.createElement(se,{shareLink:e.shareLink,onClickCancel:e.onClickCancel,autoplay:e.autoplay,setAutoplay:e.setAutoplay,videoSize:e.videoSize,setVideoSize:e.setVideoSize,videoSizes:e.videoSizes,privacy:e.privacy,entityType:e.entityType,hasStudentExp:e.hasStudentExp,entity:e.entity,yearGroups:e.yearGroups,shareOverrideRestrictions:e.shareOverrideRestrictions,onClickSavePrivacy:e.onClickSavePrivacy,onClickShowAdvanced:e.onClickShowAdvanced}))}function ue(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return de(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)?de(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 de(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var pe=o.T.encloseNamespace("share.pluginShare");function me(e){var t,n,o,A,N=(0,i.I0)(),z=(0,C.Z)(),j=(0,T.T)().hasPermissions,V=(0,r.r)(null),L=V.shareOverrideRestrictions,B=V.isLoadingSettings,R=(0,O.G)(),F=R.embed,_=R.smartEmbed,D=(0,R.isConsumer)(O.A.SmartEmbed),M=s.a.useBasicFetch(E.L.config()),U=s.a.useBasicFetch(k.N.currentUser()),$=f.I.getFetchFunctionByType(e.entityType)(e.entityId,null===(t=U.data)||void 0===t?void 0:t.id),H=s.a.useBasicFetch(m.o.getShareLinkByObjectId(e.entityId)),Q=s.a.useBasicFetch(m.o.getPrivacy(e.entityId)),q=s.a.useBasicFetch((null===(n=U.data)||void 0===n?void 0:n.isAuthenticated)&&g.h.yearGroups(U.data.customerId)),W=P.i.getEmbedResolutions(!1),X=ue(a.useState(W[0]),2),Y=X[0],J=X[1],ee=ue(a.useState(!1),2),te=ee[0],ne=ee[1],ae=ue(a.useState(D?"smart-embed-main":"main"),2),re=ae[0],ie=ae[1];function oe(t){f.I.updateLink(N,$.data,e.entityType,H.data,t,z,function(){return ie("main")})}function le(){f.I.deleteLink(N,$.data,e.entityType,H.data,z,function(){return ie("main")})}function se(){var t;t=H.data,F({entity:$.data,entityType:e.entityType,shareLink:t,videoSize:Y,autoplay:te,liteUrl:M.data.liteUrl}),d.k.logUserAction(Object.assign(Object.assign({},$.data),{shareLink:t}),d.k.mergeOptions(f.I.getAnalyticsOptions(e.entityType),{actionType:p.Vw.Share,descriptor:p.YM.PluginEmbed,workflowPhase:p.eu.Complete,eventVersion:p.eq.V4})),ie("post-message-sent")}function de(){_($.data),ie("post-message-sent")}function me(e,t){s.a.fetch(N,m.o.updatePrivacy(H.data.id,e,t,function(){return z.success(pe("privaciesSuccess",{name:$.data.name}))},function(){return z.error(pe("privaciesError",{name:$.data.name}))}))}a.useEffect(function(){if($.hasCompleted&&I.G.isType($.data,b.E.Interactive)&&$.data.status!==h.X.Published){var e=l.Q.C$.getHref({application:x.O.INTERACTIVES,action:w.e.Interactives.EDIT_INTERACTIVE,args:[$.data.id,u.m.slugify($.data.name)]});l.Q.Ry.throw(new K(e))}},[$.hasCompleted]),a.useEffect(function(){D||$.hasCompleted&&H.hasCompleted&&(H.data||f.I.createLink({dispatch:N,entity:$.data,entityType:e.entityType,alerts:z}))},[H.data,$.data]);var ye=(null===(o=H.data)||void 0===o?void 0:o.linkExpireDate)&&c.O.isBefore(null===(A=H.data)||void 0===A?void 0:A.linkExpireDate,new Date),fe=M.data&&U.data&&$.data&&(D||H.data)&&Q.data&&q.hasCompleted&&!B;return a.createElement(v.G,{title:pe("title"),closePopup:e.closePopup,showLoadingSpinner:!fe||null===re},function(){if(!fe)return a.createElement(a.Fragment,null);switch(re){case"post-message-sent":return a.createElement(G,{closePopup:e.closePopup});case"main":return a.createElement(ce,{shareLink:H.data,analyticsOptions:f.I.getAnalyticsOptions(e.entityType),onClickCancel:e.closePopup,onClickEmbed:se,videoSize:Y,setVideoSize:J,videoSizes:W,autoplay:te,setAutoplay:ne,privacy:Q.data,entityType:e.entityType,hasStudentExp:j(S.C.StudentExperience),entity:$.data,yearGroups:q.data,shareOverrideRestrictions:L,onClickSavePrivacy:me,onClickShowAdvanced:function(){return ie("link-settings")}});case"link-settings":return a.createElement(y.G,{entity:$.data,entityType:e.entityType,config:M.data,shareLink:H.data,entityId:e.entityId,analyticsOptions:f.I.getAnalyticsOptions(e.entityType),onClickSaveLink:oe,onClickCancel:function(){return ie("main")},privacy:Q.data,hasStudentExp:j(S.C.StudentExperience),shareOverrideRestrictions:L,onClickDeleteLink:ye&&le});case"smart-embed-main":return a.createElement(Z,{entity:$.data,closePopup:e.closePopup,embed:de})}}())}var ye=n(89067),fe=o.T.encloseNamespace("shareV2.pluginShareConfirmation");function ve(e){return a.createElement(v.G,{size:"md",title:fe("title"),closePopup:e.closePopup},a.createElement(G,{closePopup:e.closePopup}))}var he=n(25752),be=n(81192),Se=n(93563),Ee=n(31138),ge=n(2267),ke=n(83351),Ce=n(31121),Te=n(28161),Pe=n(2867);function Ie(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return we(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)?we(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 we(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function xe(e){var t=P.i.getEmbedResolutions(!1),n=Ie(a.useState(!1),2),r=n[0],i=n[1],o=Ie(a.useState(t[0]),2),l=o[0],s=o[1],c=(0,Ce.j)({data:{entity:{id:e.entityId,type:e.entityType}},analyticsOptions:{location:p.LZ.Popup,productArea:"plugin-embed",eventVersion:p.eq.V5}}).log,u=(0,Te.F)({entityId:e.entityId,entityType:e.entityType,log:c}),d=u.data,m=u.onClickSavePrivacy,y=d.entity,f=d.loaded,v=d.privacy,h=d.share,b=d.shareOverrideRestrictions,E=d.yearGroups,g=d.config,k=(0,Pe.W)({entityId:e.entityId,entityType:e.entityType,log:c}),C=(0,O.G)(),I=C.embedV2,w=C.smartEmbed,x=C.isConsumer,A=(0,(0,T.T)().hasPermissions)(S.C.StudentExperience),N=x(O.A.SmartEmbed),z=f&&!!E.data&&k.data.loaded;return{data:{entity:y,share:h,privacy:v,yearGroups:E,loaded:z},autoplay:r,setAutoplay:i,videoSizes:t,videoSize:l,setVideoSize:s,hasStudentExp:A,shareOverrideRestrictions:b,initialSettings:k.initialValues,onSaveSettings:k.onClickSaveLink,onClickSavePrivacy:m,onSmartEmbed:function(){w(y.data)},postMessage:function(t){I({entity:y.data,entityType:e.entityType,share:h.data||t,videoSize:l,autoplay:r,liteUrl:g.data.liteUrl}),c({type:"plugin-share-embed",share:h.data||t,embedDetails:{autoplay:r,size:l}},{entity:ge.I.getAnalyticsEntity(e.entityType)})},isSmartEmbed:N}}function Oe(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ae(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)?Ae(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 Ae(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}var Ne=o.T.encloseNamespace("shareV2.pluginShareEmbed");function ze(e){var t,n,r=xe({entityId:e.entityId,entityType:e.entityType}),i=r.data,o=r.autoplay,s=r.hasStudentExp,c=r.initialSettings,d=r.onSaveSettings,p=r.setAutoplay,m=r.setVideoSize,y=r.shareOverrideRestrictions,f=r.videoSize,S=r.isSmartEmbed,E=r.videoSizes,g=r.onClickSavePrivacy,k=r.postMessage,C=i.entity,T=i.privacy,P=i.yearGroups,O=i.share,A=(0,Se._)({entityId:e.entityId}),N=A.createShareLink,z=A.loaded,j=O.hasCompleted&&!!C.data&&!!P.data&&!!T.data&&!!z,V=Oe(a.useState(),2),L=V[0],G=V[1],B=Oe(a.useState(c),2),R=B[0],F=B[1],_=O.hasCompleted&&!!O.data,D=_?null===(t=O.data)||void 0===t?void 0:t.privacy:L,M=_?c:R,U=ge.I.getEnabledSettingsField(e.entityType),Z=U.showImmediateFeedbackField,$=U.showPreventScrubbingField;return a.useEffect(function(){if(j&&!_){var e=(0,Ee.B)({entity:C.data,entityPrivacy:T.data,yearGroups:P.data,hasStudentExp:s});e&&G(e)}},[C.data,T.data,P.data,s,_,j]),a.useEffect(function(){if(C.hasCompleted&&I.G.isType(C.data,b.E.Interactive)&&C.data.status!==h.X.Published){var e=l.Q.C$.getHref({application:x.O.INTERACTIVES,action:w.e.Interactives.EDIT_INTERACTIVE,args:[C.data.id,u.m.slugify(C.data.name)]});l.Q.Ry.throw(new K(e))}},[C.hasCompleted]),a.createElement(v.G,{size:"md",showLoadingSpinner:!j,closePopup:e.closePopup,title:Ne("title")},a.createElement("div",{className:"d-flex flex-column gap-2 align-items-start mb-3"},a.createElement(he.q,{entity:C.data,entityPrivacy:T.data,entityTypeId:null===(n=C.data)||void 0===n?void 0:n.typeId,hasStudentExp:s,sharePrivacy:D,shareOverrideRestrictions:y,yearGroups:P.data,onClickSavePrivacy:function(e){_?g(e):G(e)}}),a.createElement(ae.V,{autoplay:o,setAutoplay:p,videoSize:f,setVideoSize:m,videoSizes:E}),a.createElement(be.Z,{hideFormHeading:!0,onSubmit:function(e,t){_?d({options:{immediateFeedback:e.immediateFeedback,preventScrubbing:e.preventScrubbing}},t):F(e)},initialValues:M,showImmediateFeedbackField:Z,showPreventScrubbingField:$})),a.createElement(ke.P,{backButtonText:Ne("cancel"),nextButtonText:Ne("embed"),hideCreateClassroomButton:!0,onClickBack:e.closePopup,onClickNext:function(){_||S?(k(),e.goToConfirmationStep()):N(L).then(function(t){k(t),e.goToConfirmationStep()})}}))}var je=o.T.encloseNamespace("shareV2.pluginShareSmartEmbed");function Ve(e){var t=xe({entityId:e.entityId,entityType:e.entityType}),n=t.data,r=t.onSmartEmbed,i=n.entity,o=n.loaded;return a.createElement(v.G,{size:"md",title:je("title"),closePopup:e.closePopup,showLoadingSpinner:!o},a.createElement(Z,{embed:function(){r(),e.goToConfirmationStep()},entity:i.data,closePopup:e.closePopup}))}function Le(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var a,r,i,o,l=[],s=!0,c=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;s=!1}else for(;!(s=(a=i.call(n)).done)&&(l.push(a.value),l.length!==t);s=!0);}catch(e){c=!0,r=e}finally{try{if(!s&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Ge(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)?Ge(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 Ge(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,a=Array(t);n<t;n++)a[n]=e[n];return a}function Be(e){var t=(0,(0,O.G)().isConsumer)(O.A.SmartEmbed)?"smart-embed":"main-embed",n=Le(a.useState(!0),2),r=n[0],i=n[1],o=Le(a.useState(t),2),l=o[0],s=o[1];function c(e){i(!1),s(e)}var u={entityId:e.entityId,entityType:e.entityType,closePopup:e.closePopup,goToConfirmationStep:function(){return c("confirmation")}};return a.createElement(ye.r,{animate:r,data:u,step:l,setStep:c,steps:{"main-embed":{view:ze},"smart-embed":{view:Ve},confirmation:{view:ve}},closePopup:e.closePopup})}function Re(e){return(0,r.r)(null).hasShareFlowV2?a.createElement(Be,{entityId:e.entityId,entityType:e.entityType,closePopup:e.closePopup}):a.createElement(me,{entityId:e.entityId,entityType:e.entityType,closePopup:e.closePopup})}}}]);
|
|
2
|
+
//# sourceMappingURL=9634-0a07635b99-lite.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scripts/9634-0a07635b99-lite.chunk.js","mappings":"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","sources":["file:///app/packages/libs/shared/src/apps/share/components/embed-size/EmbedSize.tsx","file:///app/packages/libs/shared/src/enums/IntegrationId.ts","file:///app/packages/libs/shared/src/utils/IntegrationHelper.ts","file:///app/packages/projects/lite/src/apps/assign/components/flow-controls/FlowControls.tsx","file:///app/packages/projects/lite/src/apps/share/components/post-message-sent/PostMessageSent.tsx","file:///app/packages/projects/lite/src/apps/share/components/smart-embed-confirmation/SmartEmbedConfirmation.tsx","file:///app/packages/projects/lite/src/apps/share/errors/embed-unpublished-interactive/EmbedUnpublishedInteractiveError.ts","file:///app/packages/projects/lite/src/apps/share/views/plugin-share/components/plugin-share-settings/PluginShareSettings.tsx","file:///app/packages/projects/lite/src/apps/share/views/plugin-share/PluginShareView.tsx","file:///app/packages/projects/lite/src/apps/share/views/v2/plugin-share-confirmation-view/PluginShareConfirmationView.tsx","file:///app/packages/projects/lite/src/apps/share/views/v2/hooks/usePluginShareData.ts","file:///app/packages/projects/lite/src/apps/share/views/v2/plugin-share-embed-view/PluginShareEmbedView.tsx","file:///app/packages/projects/lite/src/apps/share/views/v2/plugin-share-smart-embed-view/PluginShareSmartEmbedView.tsx","file:///app/packages/projects/lite/src/apps/share/views/v2/plugin-share/PluginShareView.tsx","file:///app/packages/projects/lite/src/apps/share/views/v2/PluginShareStageView.tsx"],"sourcesContent":["import React from 'react';\nimport { Dropdown } from 'react-bootstrap';\n\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nconst namespace = 'share.embedSize';\n\ninterface EmbedSizeProps {\n autoplay: boolean;\n setAutoplay: (autoplay: boolean) => void;\n videoSize: EmbedResolution;\n setVideoSize: (videoSize: EmbedResolution) => void;\n videoSizes: EmbedResolution[];\n}\n\nexport function EmbedSize(props: EmbedSizeProps): React.ReactElement {\n const {\n autoplay,\n setAutoplay,\n videoSize,\n setVideoSize,\n videoSizes\n } = props;\n\n return (\n <div className='d-flex align-items-center'>\n {!!videoSizes.length &&\n <>\n <div className='me-1'>\n <Text namespace={namespace} phrase='videoSize' />\n </div>\n <div className='pe-3'>\n <Dropdown>\n <Dropdown.Toggle id='embed-resolution' variant='outline-dark'>\n {videoSize.label}\n </Dropdown.Toggle>\n\n <Dropdown.Menu>\n {videoSizes.map(size => (\n <Dropdown.Item\n key={`${size.width}x${size.height}`}\n onClick={() => setVideoSize(size)}\n >\n {size.label}\n </Dropdown.Item>\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </div>\n </>\n }\n <div className='me-2'>\n <Text namespace={namespace} phrase='autoplay' />\n </div>\n <Checkbox id='autoplay-checkbox' checked={autoplay} onChange={() => setAutoplay(!autoplay)} />\n </div>\n );\n}","export enum IntegrationId {\n GoogleClassroom = 'google-classroom',\n MicrosoftTeams = 'microsoft-teams',\n Vivi = 'vivi',\n AppleTv = 'apply-tv'\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { IntegrationId } from 'libs/shared/enums/IntegrationId';\nimport { SettingName } from 'libs/shared/enums/SettingName';\nimport { Integration } from 'libs/shared/interfaces';\n\nconst namespace = 'shared.shared-utils';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport const IntegrationHelper = {\n getShareIntegrations(googleClassroomSetting: boolean, msftTeamsSetting: boolean): Integration[] {\n return [\n {\n id: IntegrationId.GoogleClassroom,\n name: getPhrase('googleClassroom'),\n enabled: googleClassroomSetting,\n settingName: SettingName.ShareToGoogleClassroom\n },\n {\n id: IntegrationId.MicrosoftTeams,\n name: getPhrase('msftTeams'),\n enabled: msftTeamsSetting,\n settingName: SettingName.ShareToMicrosoftTeams\n }\n ];\n }\n};\n","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\n\nconst namespace = 'assign.flowControls';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface FlowControlsProps {\n showSpinner?: boolean;\n hideNextButton?: boolean;\n hideBackButton?: boolean;\n disableNextButton?: boolean;\n disableBackButton?: boolean;\n backButtonText?: string;\n hideCreateClassroomButton?: boolean;\n nextButtonText?: string;\n nextButtonTooltip?: string;\n onClickNext?: () => void;\n onClickBack?: () => void;\n onClickCreateClassroom?: () => void;\n leftComponent?: JSX.Element;\n}\n\nexport function FlowControls(props: FlowControlsProps): JSX.Element {\n const hideBackButton = props.hideBackButton || !props.onClickBack;\n const hideNextButton = props.hideNextButton || !props.onClickNext;\n const hideCreateClassroomButton = props.hideCreateClassroomButton || !props.onClickCreateClassroom;\n \n if (hideBackButton && hideNextButton && hideCreateClassroomButton)\n return <></>;\n \n return (\n <PopupButtons className='justify-content-between'>\n <div>\n {!!props.leftComponent && props.leftComponent}\n {!hideCreateClassroomButton && (\n <PopupButtons.Submit variant='link' onClick={props.onClickCreateClassroom} text={getPhrase('createClassroom')} className='text-info p-0' />\n )}\n </div>\n <div className='d-flex'>\n {!hideBackButton && (\n <PopupButtons.Cancel variant='link' onClick={props.onClickBack} text={props.backButtonText || getPhrase('back')} />\n )}\n {!hideNextButton && (\n <Tooltip title={props.nextButtonTooltip} disable={!props.nextButtonTooltip} placement='top' spanHack>\n <PopupButtons.Submit\n variant='dark'\n onClick={props.onClickNext}\n text={props.nextButtonText || getPhrase('next')}\n disabled={props.disableNextButton}\n showSpinner={props.showSpinner}\n />\n </Tooltip>\n )}\n </div>\n </PopupButtons>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { PopupLoadingSpinner } from 'libs/shared/components/popup/PopupLoadingSpinner';\nimport { Text } from 'libs/shared/components/text/Text';\n\nimport { ImageUrls } from 'shared/constants/ImageUrls';\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\n\nconst namespace = 'share.postMessageSuccess';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PostMessageSentProps {\n closePopup: () => void;\n}\n\nexport function PostMessageSent(props: PostMessageSentProps): React.ReactElement {\n const { params: { singleSelectMode } } = usePluginHelper();\n\n if (!singleSelectMode)\n return <PopupLoadingSpinner />;\n\n return (\n <div>\n <img\n className='img-fluid mx-auto d-block'\n alt='Success'\n src={ImageUrls.SUCCESS}\n style={{ maxWidth: '14rem' }}\n />\n <p className='text-center'>\n <strong><Text namespace={namespace} phrase='success' /></strong>\n </p>\n <PopupButtons>\n <PopupButtons.Submit onClick={props.closePopup} text={getPhrase('close')} variant='outline-dark' />\n </PopupButtons>\n </div>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoItemTitle } from 'libs/shared/components/video-list/components/video-item-title/VideoItemTitle';\nimport { VideoSubText } from 'libs/shared/components/video-sub-text/VideoSubText';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nconst namespace = 'share.smartEmbedConfirmation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface SmartEmbedConfirmation {\n closePopup: () => void;\n embed: () => void;\n entity: VideoTypes;\n}\n\nexport function SmartEmbedConfirmation(props: SmartEmbedConfirmation): JSX.Element {\n return (\n <>\n <div className='row mb-3'>\n <div className='col-4'>\n <VideoThumbnail\n video={props.entity}\n type='cosmetic'\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n preload\n />\n </div>\n <div className='col-8'>\n <VideoSubText type='series' analyticsOptions={{}} video={props.entity} />\n <VideoItemTitle\n video={props.entity}\n analyticsOptions={{}}\n appLink={null}\n yearGroups={null}\n showPadlock={false}\n />\n </div>\n </div>\n <p><Text namespace={namespace} phrase='prompt' /></p>\n <PopupButtons>\n <PopupButtons.Cancel onClick={props.closePopup} />\n <PopupButtons.Submit\n text={getPhrase('embed')}\n onClick={props.embed}\n variant='dark'\n />\n </PopupButtons>\n </>\n );\n}","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { DialogError } from 'libs/shared/errors/primitives/DialogError';\nimport { DialogOptions } from 'libs/shared/interfaces';\n\nconst namespace = 'share.embedUnpublishedInteractiveError';\n\nexport class EmbedUnpublishedInteractiveError extends DialogError {\n private externalLink: string;\n\n constructor(externalLink: string) {\n super('Embed unpublished interactive error');\n\n this.externalLink = externalLink;\n }\n\n // @ts-ignore\n public get name(): string {\n return 'EmbedUnpublishedInteractiveError';\n }\n\n // @ts-ignore\n public get dialogOptions(): DialogOptions {\n return {\n title: LanguageService.getPhrase(namespace, 'title'),\n text: LanguageService.getPhrase(namespace, 'body', {\n externalLink: this.externalLink\n }),\n buttons: [{\n text: LanguageService.getPhrase(namespace, 'close'),\n className: `btn btn-dark`,\n success: true\n }]\n };\n }\n}","import React from 'react';\nimport { Button, Spinner } from 'react-bootstrap';\nimport { Form, useFormikContext } from 'formik';\n\nimport { EmbedSize } from 'libs/shared/apps/share/components/embed-size/EmbedSize';\nimport { ShareLinkInfo } from 'libs/shared/apps/share/components/share-link-info/ShareLinkInfo';\nimport { EditShareLinkRequest } from 'libs/shared/apps/share/interfaces/requests/EditShareLinkRequest';\nimport { SharePrivacyResponse } from 'libs/shared/apps/share/interfaces/responses/SharePrivacyResponse';\nimport { SharePrivacy } from 'libs/shared/apps/share/interfaces/SharePrivacy';\nimport { ShareLinkSettingsValidationSchema } from 'libs/shared/apps/share/validation/ShareLinkSettingsValidationSchema';\nimport { SharableEntityType } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { BaseObject, PropsWithAnalyticsOptions, ShareLink, YearGroup } from 'libs/shared/interfaces';\nimport { EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nimport { usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\n\nconst namespace = 'share.pluginShareSettings';\n\ninterface PluginShareSettingsFormProps {\n shareLink: ShareLink;\n privacy: SharePrivacyResponse;\n onClickCancel: () => void;\n videoSize: EmbedResolution;\n setVideoSize: (videoSize: EmbedResolution) => void;\n videoSizes: EmbedResolution[];\n autoplay: boolean;\n setAutoplay: (autoplay: boolean) => void;\n entityType: SharableEntityType;\n hasStudentExp: boolean;\n entity: BaseObject;\n yearGroups: YearGroup[];\n shareOverrideRestrictions: boolean;\n onClickSavePrivacy: (privacy: SharePrivacy, overrideRestrictions: boolean) => void;\n onClickShowAdvanced: () => void;\n}\n\nfunction PluginShareSettingsForm(props: PluginShareSettingsFormProps): React.ReactElement {\n const formikProps = useFormikContext<EditShareLinkRequest>();\n \n const { hasPermissions } = usePermissions();\n\n const { params: { sizeSelector }, consumerName } = usePluginHelper();\n\n return (\n <Form>\n <div className='d-flex justify-content-between align-items-center mb-2'>\n <ShareLinkInfo\n linkExpireDate={props.shareLink.linkExpireDate}\n isPasswordProtected={props.shareLink.isPasswordProtected}\n privacy={props.privacy}\n entityTypeId={props.shareLink.objectTypeId}\n status={props.shareLink.status}\n onClickSavePrivacy={props.onClickSavePrivacy}\n hasStudentExp={props.hasStudentExp}\n entity={props.entity}\n yearGroups={props.yearGroups}\n shareOverrideRestrictions={props.shareOverrideRestrictions}\n />\n </div>\n <div className='mb-2'>\n <EmbedSize\n autoplay={props.autoplay}\n setAutoplay={props.setAutoplay}\n videoSize={props.videoSize}\n setVideoSize={props.setVideoSize}\n videoSizes={sizeSelector ? props.videoSizes : []}\n />\n </div>\n {hasPermissions(PermissionName.ManageShareLinkSettings) && (\n <Button type='button' variant='link' className='text-info ps-0' onClick={props.onClickShowAdvanced}>\n <Text namespace={namespace} phrase='showAdvanced' />\n </Button>\n )}\n <PopupButtons>\n <Button className='me-2' variant='link' onClick={props.onClickCancel}>Cancel</Button>\n <Button\n variant='dark'\n type='submit'\n >\n {formikProps.isSubmitting\n ? <Spinner as='span' animation='border' role='status' size='sm' />\n : <Text namespace={namespace} phrase={consumerName ? 'embedInto' : 'embed'} options={{ consumerName }} />}\n </Button>\n </PopupButtons>\n </Form>\n );\n}\n\ninterface PluginShareSettingsProps {\n shareLink: ShareLink;\n videoSize: EmbedResolution;\n setVideoSize: (videoSize: EmbedResolution) => void;\n videoSizes: EmbedResolution[];\n autoplay: boolean;\n setAutoplay: (autoplay: boolean) => void;\n onClickEmbed: (data: EditShareLinkRequest) => void;\n onClickCancel: () => void;\n privacy: SharePrivacyResponse;\n entityType: SharableEntityType;\n hasStudentExp: boolean;\n entity: BaseObject;\n yearGroups: YearGroup[];\n shareOverrideRestrictions: boolean;\n onClickSavePrivacy: (privacy: SharePrivacy, overrideRestrictions: boolean) => void;\n onClickShowAdvanced: () => void;\n}\n\nexport function PluginShareSettings(\n props: PropsWithAnalyticsOptions<PluginShareSettingsProps>\n): React.ReactElement {\n const initialValues: EditShareLinkRequest = {\n password: '',\n removePassword: false,\n linkExpireDate: props.shareLink?.linkExpireDate,\n overrideRestrictions: props.shareLink?.overrideRestrictions\n };\n\n return (\n <FormWrapper<EditShareLinkRequest>\n initialValues={initialValues}\n onSubmit={props.onClickEmbed}\n castInitialValues={false}\n validationSchema={ShareLinkSettingsValidationSchema}\n >\n <PluginShareSettingsForm\n shareLink={props.shareLink}\n onClickCancel={props.onClickCancel}\n autoplay={props.autoplay}\n setAutoplay={props.setAutoplay}\n videoSize={props.videoSize}\n setVideoSize={props.setVideoSize}\n videoSizes={props.videoSizes}\n privacy={props.privacy}\n entityType={props.entityType}\n hasStudentExp={props.hasStudentExp}\n entity={props.entity}\n yearGroups={props.yearGroups}\n shareOverrideRestrictions={props.shareOverrideRestrictions}\n onClickSavePrivacy={props.onClickSavePrivacy}\n onClickShowAdvanced={props.onClickShowAdvanced}\n />\n </FormWrapper>\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';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { EventVersion, ShareDescriptors, UserAction, WorkflowPhase } from 'libs/analytics/interfaces';\n\nimport { ShareRequests } from 'libs/shared/apps/share/flight-requests/ShareRequests';\nimport { EditShareLinkRequest } from 'libs/shared/apps/share/interfaces/requests/EditShareLinkRequest';\nimport { SharePrivacyResponse } from 'libs/shared/apps/share/interfaces/responses/SharePrivacyResponse';\nimport { SharePrivacy } from 'libs/shared/apps/share/interfaces/SharePrivacy';\nimport { ShareSettings } from 'libs/shared/apps/share/views/share/components/share-settings/ShareSettings';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share/views/share/ShareViewHelper';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { ConfigRequests } from 'libs/shared/flight-requests/ConfigRequests';\nimport { CustomerRequests } from 'libs/shared/flight-requests/CustomerRequests';\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { Config, CurrentUser, InteractiveMetadata, PopupViewProps, ShareLink, VideoTypes, YearGroup } from 'libs/shared/interfaces';\nimport { EmbedHelper, EmbedResolution } from 'libs/shared/utils/EmbedHelper';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\nimport { PluginConsumers, usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\n\nimport { PostMessageSent } from 'apps/share/components/post-message-sent/PostMessageSent';\nimport { SmartEmbedConfirmation } from 'apps/share/components/smart-embed-confirmation/SmartEmbedConfirmation';\nimport { EmbedUnpublishedInteractiveError } from 'apps/share/errors/embed-unpublished-interactive/EmbedUnpublishedInteractiveError';\n\nimport { PluginShareSettings } from './components/plugin-share-settings/PluginShareSettings';\n\nconst namespace = 'share.pluginShare';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface PluginShareViewProps extends PopupViewProps {\n entityId: string;\n entityType: SharableEntityType;\n}\n\ntype ShareScreen = 'main' | 'post-message-sent' | 'restriction-warning' | 'smart-embed-main' | 'link-settings';\n\nexport function PluginShareView(props: PluginShareViewProps): React.ReactElement {\n const dispatch = useDispatch();\n\n const alerts = useAlerts();\n\n const { hasPermissions } = usePermissions();\n const { shareOverrideRestrictions, isLoadingSettings } = useSettings(null);\n\n const { embed, smartEmbed, isConsumer } = usePluginHelper();\n const isSmartEmbed = isConsumer(PluginConsumers.SmartEmbed);\n\n const config = Flight.useBasicFetch<Config>(ConfigRequests.config());\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser());\n const entity = ShareViewHelper.getFetchFunctionByType(props.entityType)(props.entityId, currentUser.data?.id);\n const shareLink = Flight.useBasicFetch<ShareLink>(ShareRequests.getShareLinkByObjectId(props.entityId));\n\n const privacy = Flight.useBasicFetch<SharePrivacyResponse>(ShareRequests.getPrivacy(props.entityId));\n\n const yearGroups = Flight.useBasicFetch<YearGroup[]>(\n currentUser.data?.isAuthenticated && CustomerRequests.yearGroups(currentUser.data.customerId)\n );\n\n const videoSizes = EmbedHelper.getEmbedResolutions(false);\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes[0]);\n const [ autoplay, setAutoplay ] = React.useState(false);\n const [ screen, setScreen ] = React.useState<ShareScreen>(isSmartEmbed ? 'smart-embed-main' : 'main');\n\n function postMessage(updatedShareLink: ShareLink): void {\n embed({\n entity: entity.data,\n entityType: props.entityType,\n shareLink: updatedShareLink,\n videoSize,\n autoplay,\n liteUrl: config.data.liteUrl\n });\n\n AnalyticsHelper.logUserAction({\n ...entity.data,\n shareLink: updatedShareLink\n }, AnalyticsHelper.mergeOptions(ShareViewHelper.getAnalyticsOptions(props.entityType), {\n actionType: UserAction.Share,\n descriptor: ShareDescriptors.PluginEmbed,\n workflowPhase: WorkflowPhase.Complete,\n eventVersion: EventVersion.V4\n }));\n\n setScreen('post-message-sent');\n }\n\n function onClickSave(data: EditShareLinkRequest): void {\n ShareViewHelper.updateLink(\n dispatch,\n entity.data,\n props.entityType,\n shareLink.data,\n data,\n alerts,\n () => setScreen('main')\n );\n }\n\n function onClickDeleteLink(): void {\n ShareViewHelper.deleteLink(\n dispatch,\n entity.data,\n props.entityType,\n shareLink.data,\n alerts,\n () => setScreen('main')\n );\n }\n\n function onClickEmbed(): void {\n postMessage(shareLink.data);\n }\n\n function onClickSmartEmbed(): void {\n smartEmbed(entity.data as VideoTypes);\n\n // TODO: Log analytics.\n\n setScreen('post-message-sent');\n }\n\n function onClickSavePrivacy(privacy: SharePrivacy, overrideRestrictions: boolean): void {\n Flight.fetch(\n dispatch,\n ShareRequests.updatePrivacy(\n shareLink.data.id,\n privacy,\n overrideRestrictions,\n () => alerts.success(getPhrase('privaciesSuccess', { name: entity.data.name })),\n () => alerts.error(getPhrase('privaciesError', { name: entity.data.name }))\n )\n );\n }\n\n React.useEffect(() => {\n if (!entity.hasCompleted)\n return;\n\n // If the user is attempting to share an unpublished interactive, throw an error.\n if (\n MasterTypeHelper.isType<InteractiveMetadata>(entity.data, MasterType.Interactive) &&\n entity.data.status !== CurationStatus.Published\n ) {\n const interactiveUrl = Core.AppLinkHelper.getHref({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.EDIT_INTERACTIVE,\n args: [ entity.data.id, TextHelper.slugify(entity.data.name) ]\n });\n\n Core.ErrorHelper.throw(new EmbedUnpublishedInteractiveError(interactiveUrl));\n }\n }, [entity.hasCompleted]);\n\n React.useEffect(() => {\n // Don't need to create a share link for smart embeds\n if (isSmartEmbed)\n return;\n\n // Data not loaded\n if (!entity.hasCompleted || !shareLink.hasCompleted)\n return;\n\n // Share link already exists\n if (shareLink.data)\n return;\n\n // Create a share link\n ShareViewHelper.createLink({\n dispatch,\n entity: entity.data,\n entityType: props.entityType,\n alerts\n });\n }, [ shareLink.data, entity.data ]);\n\n const isExpired = shareLink.data?.linkExpireDate && DateHelper.isBefore(shareLink.data?.linkExpireDate, new Date());\n\n const loaded = config.data\n && currentUser.data\n && entity.data\n && (isSmartEmbed || shareLink.data)\n && privacy.data\n && yearGroups.hasCompleted\n && !isLoadingSettings;\n\n return (\n <Popup\n title={getPhrase('title')}\n closePopup={props.closePopup}\n showLoadingSpinner={!loaded || screen === null}\n >\n {(() => {\n if (!loaded)\n return <></>;\n\n switch (screen) {\n case 'post-message-sent':\n return <PostMessageSent closePopup={props.closePopup} />;\n case 'main':\n return (\n <PluginShareSettings\n shareLink={shareLink.data}\n analyticsOptions={ShareViewHelper.getAnalyticsOptions(props.entityType)}\n onClickCancel={props.closePopup}\n onClickEmbed={onClickEmbed}\n videoSize={videoSize}\n setVideoSize={setVideoSize}\n videoSizes={videoSizes}\n autoplay={autoplay}\n setAutoplay={setAutoplay}\n privacy={privacy.data}\n entityType={props.entityType}\n hasStudentExp={hasPermissions(PermissionName.StudentExperience)}\n entity={entity.data}\n yearGroups={yearGroups.data}\n shareOverrideRestrictions={shareOverrideRestrictions}\n onClickSavePrivacy={onClickSavePrivacy}\n onClickShowAdvanced={() => setScreen('link-settings')}\n />\n );\n case 'link-settings':\n return (\n <ShareSettings\n entity={entity.data}\n entityType={props.entityType}\n config={config.data}\n shareLink={shareLink.data}\n entityId={props.entityId}\n analyticsOptions={ShareViewHelper.getAnalyticsOptions(props.entityType)}\n onClickSaveLink={onClickSave}\n onClickCancel={() => setScreen('main')}\n privacy={privacy.data}\n hasStudentExp={hasPermissions(PermissionName.StudentExperience)}\n shareOverrideRestrictions={shareOverrideRestrictions}\n onClickDeleteLink={isExpired && onClickDeleteLink}\n />\n );\n case 'smart-embed-main':\n return (\n <SmartEmbedConfirmation\n entity={entity.data as VideoTypes}\n closePopup={props.closePopup}\n embed={onClickSmartEmbed}\n />\n );\n }\n })()}\n </Popup>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { MultiStepPopupViewProps } from 'libs/shared/components/multistep-popup/MultiStepPopup';\nimport { Popup } from 'libs/shared/components/popup/Popup';\n\nimport { PostMessageSent } from 'apps/share/components/post-message-sent/PostMessageSent';\n\nconst namespace = 'shareV2.pluginShareConfirmation';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface PluginShareConfirmationViewProps extends MultiStepPopupViewProps {}\n\nexport function PluginShareConfirmationView(props: PluginShareConfirmationViewProps): JSX.Element {\n return (\n <Popup\n size='md'\n title={getPhrase('title')}\n closePopup={props.closePopup}\n >\n <PostMessageSent closePopup={props.closePopup} />\n </Popup>\n );\n}","import React from 'react';\n\nimport { EventVersion, LocationContext } from 'libs/analytics/interfaces';\n\nimport { Share } from 'libs/shared/apps/share-v2/interfaces/Share';\nimport { getShareEventLogger } from 'libs/shared/apps/share-v2/utils/get-share-event-logger/getShareEventLogger';\nimport { SharableEntityType, ShareViewHelper } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { useMainShareData } from 'libs/shared/apps/share-v2/views/main-share-view/hooks/use-main-share-data/useMainShareData';\nimport { useShareSettingsData } from 'libs/shared/apps/share-v2/views/share-settings-view/hooks/use-share-settings-data/useShareSettingsData';\nimport { PermissionName } from 'libs/shared/enums/PermissionName';\nimport { usePermissions } from 'libs/shared/hooks/usePermissions';\nimport { VideoTypes } from 'libs/shared/interfaces';\nimport { EmbedHelper, EmbedResolution } from 'libs/shared/utils/EmbedHelper';\n\nimport { PluginConsumers, usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\n\ninterface UsePluginShareDataOptions {\n entityId: string;\n entityType: SharableEntityType;\n}\n\nexport function usePluginShareData(options: UsePluginShareDataOptions) {\n const videoSizes = EmbedHelper.getEmbedResolutions(false);\n const [ autoplay, setAutoplay ] = React.useState(false);\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes[0]);\n\n const { log } = getShareEventLogger({\n data: {\n entity: {\n id: options.entityId,\n type: options.entityType\n }\n },\n analyticsOptions: {\n location: LocationContext.Popup,\n productArea: 'plugin-embed',\n eventVersion: EventVersion.V5\n }\n });\n\n const { data, onClickSavePrivacy } = useMainShareData({\n entityId: options.entityId,\n entityType: options.entityType,\n log\n });\n\n const { entity, loaded: dataLoaded, privacy, share, shareOverrideRestrictions, yearGroups, config } = data;\n \n const shareSettings = useShareSettingsData({\n entityId: options.entityId,\n entityType: options.entityType,\n log\n });\n\n const { embedV2, smartEmbed, isConsumer } = usePluginHelper();\n \n const { hasPermissions } = usePermissions();\n const hasStudentExp = hasPermissions(PermissionName.StudentExperience);\n\n const isSmartEmbed = isConsumer(PluginConsumers.SmartEmbed);\n\n function postMessage(newShare?: Share) {\n embedV2({\n entity: entity.data,\n entityType: options.entityType,\n share: share.data || newShare,\n videoSize,\n autoplay,\n liteUrl: config.data.liteUrl\n });\n\n log({\n type: 'plugin-share-embed',\n share: share.data || newShare,\n embedDetails: {\n autoplay,\n size: videoSize\n }\n }, {\n entity: ShareViewHelper.getAnalyticsEntity(options.entityType)\n });\n }\n\n function onSmartEmbed() {\n smartEmbed(entity.data as VideoTypes);\n }\n \n const loaded = dataLoaded && !!yearGroups.data && shareSettings.data.loaded;\n\n return {\n data: {\n entity,\n share,\n privacy,\n yearGroups,\n loaded\n },\n autoplay,\n setAutoplay,\n videoSizes,\n videoSize,\n setVideoSize,\n hasStudentExp,\n shareOverrideRestrictions,\n initialSettings: shareSettings.initialValues,\n onSaveSettings: shareSettings.onClickSaveLink,\n onClickSavePrivacy,\n onSmartEmbed,\n postMessage,\n isSmartEmbed\n };\n}","import React from 'react';\n\nimport { Core } from 'libs/common/backbone/index';\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { TextHelper } from 'libs/common/react/utils/TextHelper';\n\nimport { EmbedSize } from 'libs/shared/apps/share/components/embed-size/EmbedSize';\nimport { ShareLinkPrivacy } from 'libs/shared/apps/share-v2/components/share-link-privacy/ShareLinkPrivacy';\nimport { ShareSettingsForm } from 'libs/shared/apps/share-v2/components/share-settings-form/ShareSettingsForm';\nimport { SharePrivacy } from 'libs/shared/apps/share-v2/enums/SharePrivacy';\nimport { useShareLinkActions } from 'libs/shared/apps/share-v2/hooks/useShareLinkActions';\nimport { getDefaultSharePrivacy } from 'libs/shared/apps/share-v2/utils/get-share-privacy-config/getSharePrivacyConfig';\nimport { SharableEntityType, ShareSettingsFormFields, ShareViewHelper } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { FormSubmissionOptions } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\nimport { MultiStepPopupViewProps } from 'libs/shared/components/multistep-popup/MultiStepPopup';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { CurationStatus } from 'libs/shared/enums/CurationStatus';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { InteractiveMetadata } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\n\nimport { Actions } from 'shared/constants/LiteActions';\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\n\nimport { FlowControls } from 'apps/assign/components/flow-controls/FlowControls';\nimport { EmbedUnpublishedInteractiveError } from 'apps/share/errors/embed-unpublished-interactive/EmbedUnpublishedInteractiveError';\n\nimport { usePluginShareData } from '../hooks/usePluginShareData';\n\nconst namespace = 'shareV2.pluginShareEmbed';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface PluginShareEmbedViewProps extends MultiStepPopupViewProps {\n entityId: string;\n entityType: SharableEntityType;\n goToConfirmationStep: () => void;\n}\n\nexport function PluginShareEmbedView(props: PluginShareEmbedViewProps): JSX.Element {\n const {\n data,\n autoplay,\n hasStudentExp,\n initialSettings,\n onSaveSettings,\n setAutoplay,\n setVideoSize,\n shareOverrideRestrictions,\n videoSize,\n isSmartEmbed,\n videoSizes,\n onClickSavePrivacy,\n postMessage\n } = usePluginShareData({\n entityId: props.entityId,\n entityType: props.entityType\n });\n\n const {\n entity,\n privacy,\n yearGroups,\n share\n } = data;\n\n const { createShareLink, loaded: shareActionsLoaded } = useShareLinkActions({\n entityId: props.entityId\n });\n\n const loaded = share.hasCompleted\n && !!entity.data\n && !!yearGroups.data\n && !!privacy.data\n && !!shareActionsLoaded;\n\n const [ localPrivacy, setLocalPrivacy ] = React.useState<SharePrivacy>();\n const [ localSettings, setLocalSettings ] = React.useState<ShareSettingsFormFields>(initialSettings);\n\n const hasShareData = share.hasCompleted && !!share.data;\n const sharePrivacy = hasShareData ? share.data?.privacy : localPrivacy;\n const shareSettings = hasShareData ? initialSettings : localSettings;\n const {\n showImmediateFeedbackField,\n showPreventScrubbingField\n } = ShareViewHelper.getEnabledSettingsField(props.entityType);\n\n function onChangePrivacy(updatedPrivacy: SharePrivacy) {\n if (hasShareData) {\n onClickSavePrivacy(updatedPrivacy);\n return;\n }\n\n setLocalPrivacy(updatedPrivacy);\n }\n \n function onClickEmbed() {\n if (!hasShareData && !isSmartEmbed) {\n createShareLink(localPrivacy).then(share => {\n postMessage(share);\n props.goToConfirmationStep();\n });\n return;\n }\n \n postMessage();\n props.goToConfirmationStep();\n }\n\n function onSubmitSettings(\n data: ShareSettingsFormFields,\n onDone: (options?: FormSubmissionOptions<ShareSettingsFormFields>) => void\n ): void {\n if (!hasShareData) {\n setLocalSettings(data);\n return;\n }\n \n onSaveSettings({\n options: {\n immediateFeedback: data.immediateFeedback,\n preventScrubbing: data.preventScrubbing\n }\n }, onDone);\n }\n\n /**\n * Side effects below\n */\n\n React.useEffect(() => {\n if (!loaded || hasShareData)\n return;\n \n const defaultPrivacy = getDefaultSharePrivacy({\n entity: entity.data,\n entityPrivacy: privacy.data,\n yearGroups: yearGroups.data,\n hasStudentExp\n });\n\n if (!defaultPrivacy)\n return;\n\n setLocalPrivacy(defaultPrivacy);\n }, [ entity.data, privacy.data, yearGroups.data, hasStudentExp, hasShareData, loaded ]);\n\n React.useEffect(() => {\n if (!entity.hasCompleted)\n return;\n \n // If the user is attempting to share an unpublished interactive, throw an error.\n if (\n MasterTypeHelper.isType<InteractiveMetadata>(entity.data, MasterType.Interactive) &&\n entity.data.status !== CurationStatus.Published\n ) {\n const interactiveUrl = Core.AppLinkHelper.getHref({\n application: AppChannels.INTERACTIVES,\n action: Actions.Interactives.EDIT_INTERACTIVE,\n args: [ entity.data.id, TextHelper.slugify(entity.data.name) ]\n });\n \n Core.ErrorHelper.throw(new EmbedUnpublishedInteractiveError(interactiveUrl));\n }\n }, [entity.hasCompleted]);\n\n return (\n <Popup\n size='md'\n showLoadingSpinner={!loaded}\n closePopup={props.closePopup}\n title={getPhrase('title')}\n >\n <div className='d-flex flex-column gap-2 align-items-start mb-3'>\n <ShareLinkPrivacy\n entity={entity.data}\n entityPrivacy={privacy.data}\n entityTypeId={entity.data?.typeId}\n hasStudentExp={hasStudentExp}\n sharePrivacy={sharePrivacy}\n shareOverrideRestrictions={shareOverrideRestrictions}\n yearGroups={yearGroups.data}\n onClickSavePrivacy={onChangePrivacy}\n />\n <EmbedSize\n autoplay={autoplay}\n setAutoplay={setAutoplay}\n videoSize={videoSize}\n setVideoSize={setVideoSize}\n videoSizes={videoSizes}\n />\n <ShareSettingsForm\n hideFormHeading\n onSubmit={onSubmitSettings}\n initialValues={shareSettings}\n showImmediateFeedbackField={showImmediateFeedbackField}\n showPreventScrubbingField={showPreventScrubbingField}\n />\n </div>\n\n <FlowControls\n backButtonText={getPhrase('cancel')}\n nextButtonText={getPhrase('embed')}\n hideCreateClassroomButton\n onClickBack={props.closePopup}\n onClickNext={onClickEmbed}\n />\n </Popup>\n );\n}","import React from 'react';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\n\nimport { SharableEntityType } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { MultiStepPopupViewProps } from 'libs/shared/components/multistep-popup/MultiStepPopup';\nimport { Popup } from 'libs/shared/components/popup/Popup';\nimport { VideoTypes } from 'libs/shared/interfaces';\n\nimport { SmartEmbedConfirmation } from 'apps/share/components/smart-embed-confirmation/SmartEmbedConfirmation';\n\nimport { usePluginShareData } from '../hooks/usePluginShareData';\n\nconst namespace = 'shareV2.pluginShareSmartEmbed';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\nexport interface PluginShareSmartEmbedViewProps extends MultiStepPopupViewProps {\n entityId: string;\n entityType: SharableEntityType;\n goToConfirmationStep: () => void;\n}\n\nexport function PluginShareSmartEmbedView(props: PluginShareSmartEmbedViewProps): JSX.Element {\n const { data, onSmartEmbed } = usePluginShareData({\n entityId: props.entityId,\n entityType: props.entityType\n });\n\n const { entity, loaded } = data;\n\n function onEmbed() {\n onSmartEmbed();\n \n props.goToConfirmationStep();\n }\n\n return (\n <Popup\n size='md'\n title={getPhrase('title')}\n closePopup={props.closePopup}\n showLoadingSpinner={!loaded}\n >\n <SmartEmbedConfirmation\n embed={onEmbed}\n entity={entity.data as VideoTypes}\n closePopup={props.closePopup}\n />\n </Popup>\n );\n}","import React from 'react';\n\nimport { SharableEntityType } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { MultiStepPopup } from 'libs/shared/components/multistep-popup/MultiStepPopup';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nimport { PluginConsumers, usePluginHelper } from 'shared/hooks/use-plugin-helper/usePluginHelper';\n\nimport { PluginShareConfirmationView, PluginShareConfirmationViewProps } from '../plugin-share-confirmation-view/PluginShareConfirmationView';\nimport { PluginShareEmbedView, PluginShareEmbedViewProps } from '../plugin-share-embed-view/PluginShareEmbedView';\nimport { PluginShareSmartEmbedView, PluginShareSmartEmbedViewProps } from '../plugin-share-smart-embed-view/PluginShareSmartEmbedView';\n\ninterface PluginShareViewProps extends PopupViewProps {\n entityId: string;\n entityType: SharableEntityType;\n}\n\ntype AllPluginShareStepProps =\n | PluginShareEmbedViewProps\n | PluginShareSmartEmbedViewProps\n | PluginShareConfirmationViewProps;\n \ntype PluginShareSteps = 'main-embed' | 'smart-embed' | 'confirmation';\n\nexport function PluginShareView(props: PluginShareViewProps): JSX.Element {\n const { isConsumer } = usePluginHelper();\n const isSmartEmbed = isConsumer(PluginConsumers.SmartEmbed);\n\n const mainStep: PluginShareSteps = isSmartEmbed ? 'smart-embed' : 'main-embed';\n\n const [ animate, setAnimate ] = React.useState(true);\n const [ screen, setScreen ] = React.useState<PluginShareSteps>(mainStep);\n \n function setStep(step: PluginShareSteps) {\n setAnimate(false);\n setScreen(step);\n }\n\n const data: AllPluginShareStepProps = {\n entityId: props.entityId,\n entityType: props.entityType,\n closePopup: props.closePopup,\n goToConfirmationStep: () => setStep('confirmation')\n };\n \n return (\n <MultiStepPopup<AllPluginShareStepProps, PluginShareSteps>\n animate={animate}\n data={data}\n step={screen}\n setStep={setStep}\n steps={{\n 'main-embed': { view: PluginShareEmbedView },\n 'smart-embed': { view: PluginShareSmartEmbedView },\n 'confirmation': { view: PluginShareConfirmationView }\n }}\n closePopup={props.closePopup}\n />\n );\n}","/**\n * Temporary view to switch to v2 plugin share view.\n * Will be removed once we have completely migrated to share v2.\n * - Nish\n */\n\nimport React from 'react';\n\nimport { SharableEntityType } from 'libs/shared/apps/share-v2/utils/ShareViewHelper';\nimport { useSettings } from 'libs/shared/hooks/useSettings';\nimport { PopupViewProps } from 'libs/shared/interfaces';\n\nimport { PluginShareView as OldPluginShareView } from '../plugin-share/PluginShareView';\n\nimport { PluginShareView as NewPluginShareView } from './plugin-share/PluginShareView';\n\ninterface PluginShareStageView extends PopupViewProps {\n entityId: string;\n entityType: SharableEntityType;\n}\n\n// eslint-disable-next-line rulesdir/require-view-title\nexport function PluginShareStageView(props: PluginShareStageView): JSX.Element {\n const { hasShareFlowV2 } = useSettings(null);\n\n if (hasShareFlowV2) {\n return (\n <NewPluginShareView\n entityId={props.entityId}\n entityType={props.entityType}\n closePopup={props.closePopup}\n />\n );\n }\n\n return (\n <OldPluginShareView\n entityId={props.entityId}\n entityType={props.entityType}\n closePopup={props.closePopup}\n />\n );\n}"],"names":["namespace","EmbedSize","props","autoplay","setAutoplay","videoSize","setVideoSize","videoSizes","className","length","phrase","id","variant","label","map","size","key","width","height","onClick","checked","onChange","IntegrationId","getPhrase","IntegrationHelper","getShareIntegrations","googleClassroomSetting","msftTeamsSetting","name","enabled","settingName","FlowControls","hideBackButton","onClickBack","hideNextButton","onClickNext","hideCreateClassroomButton","onClickCreateClassroom","leftComponent","text","backButtonText","title","nextButtonTooltip","disable","placement","spanHack","nextButtonText","disabled","disableNextButton","showSpinner","LanguageService","PostMessageSent","usePluginHelper","params","singleSelectMode","alt","src","ImageUrls","style","maxWidth","Text","PopupButtons","closePopup","PopupLoadingSpinner","SmartEmbedConfirmation","VideoThumbnail","video","entity","type","imageOptions","textPosition","ThumbnailTextPosition","preload","VideoSubText","analyticsOptions","VideoItemTitle","appLink","yearGroups","showPadlock","embed","EmbedUnpublishedInteractiveError","externalLink","this","buttons","success","DialogError","PluginShareSettingsForm","formikProps","hasPermissions","usePermissions","sizeSelector","consumerName","ShareLinkInfo","linkExpireDate","shareLink","isPasswordProtected","privacy","entityTypeId","objectTypeId","status","onClickSavePrivacy","hasStudentExp","shareOverrideRestrictions","PermissionName","Button","onClickShowAdvanced","onClickCancel","isSubmitting","Spinner","as","animation","role","options","PluginShareSettings","initialValues","password","removePassword","overrideRestrictions","FormWrapper","onSubmit","onClickEmbed","castInitialValues","validationSchema","ShareLinkSettingsValidationSchema","entityType","PluginShareView","dispatch","alerts","useSettings","isLoadingSettings","smartEmbed","isSmartEmbed","isConsumer","config","ConfigRequests","currentUser","UserRequests","ShareViewHelper","entityId","data","ShareRequests","isAuthenticated","CustomerRequests","customerId","EmbedHelper","screen","setScreen","onClickSave","onClickDeleteLink","updatedShareLink","liteUrl","AnalyticsHelper","actionType","descriptor","workflowPhase","eventVersion","onClickSmartEmbed","error","hasCompleted","MasterTypeHelper","MasterType","CurationStatus","interactiveUrl","application","action","args","TextHelper","isExpired","DateHelper","Date","loaded","Popup","showLoadingSpinner","ShareSettings","onClickSaveLink","PluginShareConfirmationView","usePluginShareData","log","getShareEventLogger","location","productArea","useMainShareData","dataLoaded","share","shareSettings","useShareSettingsData","embedV2","initialSettings","onSaveSettings","onSmartEmbed","postMessage","newShare","embedDetails","PluginShareEmbedView","useShareLinkActions","createShareLink","shareActionsLoaded","localPrivacy","setLocalPrivacy","localSettings","setLocalSettings","hasShareData","sharePrivacy","showImmediateFeedbackField","showPreventScrubbingField","defaultPrivacy","entityPrivacy","ShareLinkPrivacy","typeId","updatedPrivacy","ShareSettingsForm","hideFormHeading","onDone","immediateFeedback","preventScrubbing","goToConfirmationStep","then","PluginShareSmartEmbedView","mainStep","animate","setAnimate","setStep","step","MultiStepPopup","steps","view","PluginShareStageView","hasShareFlowV2"],"sourceRoot":""}
|