@e-llm-studio/instant-learning 1.0.6 → 1.0.8-alpha.1

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),n=require("react"),r=require("lucide-react"),s=require("./store/useLearningTemplateStore.js"),a=require("primereact/toast"),i=require("./styles/LearningTemplateManagement.module.css.js"),o=require("./LearningTemplateLayout.js"),l=require("./components/EmptyLearningState.js"),u=require("./store/useAuthStore.js"),c=require("./apis/scopeApis.js"),d=require("./hooks/useLearningTemplateQueryParams.js"),p=require("./components/ConfirmationModal.js"),f=require("./components/LearningTemplateManagementSkeleton.js"),g=require("./utils/treeUtils.js"),S=require("./store/useEnvStore.js"),m=require("./store/useConfigStore.js"),v=require("./components/ToolTip.js"),_=require("./components/CreateRuleSetLegacyModal.js"),h=require("./store/usePermissionsStore.js"),y=require("./store/useAppSecRolesStore.js"),T=require("./queries/useApprovalQueries.js"),b=require("./RuleContent/AddScopeModal.js"),C=require("react-router-dom"),L=require("./shared/SuccessToastContent.js"),j=require("./shared/ErrorToastContent.js"),E=require("./RuleContent/RenameScopeModal.js"),A=[{id:"learnings",label:"Learnings",icon:r.BookOpen,badgeKey:"learningsCount"},{id:"access",label:"Access",icon:r.Users}],R=new Set(A.map(function(e){return e.id}));exports.default=function(r){var w,O=this,I=r.userDetails,q=r.llmStudioUrl,N=r.audacyBackendUrl,P=r.ilLabels,k=r.config,x=r.rbacConfig,D=r.app_integration_id,U=r.backwardCompatibility,M=void 0!==U&&U,B=s.useLearningTemplateStore(function(e){return e.selectedRuleSetId}),G=s.useLearningTemplateStore(function(e){return e.setSelectedRuleSetId}),F=s.useLearningTemplateStore(function(e){return e.error}),Q=s.useLearningTemplateStore(function(e){return e.setError}),Y=s.useLearningTemplateStore(function(e){return e.setStations}),K=s.useLearningTemplateStore(function(e){return e.scopeTreeData}),z=s.useLearningTemplateStore(function(e){return e.setScopeTreeData}),H=n.useState({isOpen:!1,type:"GLOBAL"}),V=H[0],W=H[1],J=n.useState(!1),X=J[0],Z=J[1],$=n.useState(!1),ee=$[0],te=$[1],ne=n.useState("learnings"),re=ne[0],se=ne[1],ae=n.useState(null),ie=ae[0],oe=ae[1],le=n.useState(null),ue=le[0],ce=le[1],de=n.useRef(null),pe=n.useRef(null),fe=n.useRef(null),ge=u.default();ge.user;var Se=ge.setUser,me=m.useConfigStore(),ve=me.setConfig,_e=me.setIlLabels,he=e.__spreadArray([{type:"GLOBAL",label:"Global",addChildLabel:"Add Scope",addChildType:"SCOPE"},e.__assign({type:"SCOPE",label:"Scope"},!M&&{addChildLabel:"Add Subscope",addChildType:"SUBSCOPE"})],M?[]:[{type:"SUBSCOPE",label:"Subscope"}],!0),ye=function(){try{return C.useLocation()}catch(e){return{search:""}}}();n.useEffect(function(){var e=new URLSearchParams(window.location.search),t=e.get(d.QUERY_PARAM_KEYS.RULESET_ID),n=e.get(d.QUERY_PARAM_KEYS.SECTION),r=n&&R.has(n)?n:"learnings";(null==t?void 0:t.length)&&G&&se&&(G(t),se(r))},[null==ye?void 0:ye.search,se,G]);var Te=h.usePermissionsStore(function(e){return e.fetchPermissions}),be=h.usePermissionsStore(function(e){return e.hasPermission}),Ce=y.useAppSecRolesStore(function(e){return e.setRoles}),Le=S.default(function(e){return e.appsecRbacUrl})===x.appsecRbacUrl,je=T.useGetAppSecRolesQuery(x.applicationId,Le).data;n.useEffect(function(){je&&Ce(je.map(function(e){return{_id:e._id,name:e.name}}))},[je,Ce]),n.useEffect(function(){var e;console.log("userDetails",I),Se(I),console.log("llmStudioUrl",q),console.log("audacyBackendUrl",N),S.default.getState().setLlmStudioUrl(q),S.default.getState().setAudacyBackendUrl(N),S.default.getState().setRbacConfig(x),ve(k),_e(P),s.useLearningTemplateStore.getState().setAppIntegrationId(null!=D?D:null),s.useLearningTemplateStore.getState().setBackwardCompatibility(M),s.useLearningTemplateStore.getState().setToken(null!==(e=I.accessToken)&&void 0!==e?e:null)},[I,Se,q,N,x,k,ve,P,_e,D,M]),n.useEffect(function(){(null==I?void 0:I.accessToken)&&q&&c.fetchTiers()},[D,null==I?void 0:I.accessToken,q]);var Ee=function(t){return void 0===t&&(t=!0),e.__awaiter(O,void 0,void 0,function(){var n,r,a,i,o,l;return e.__generator(this,function(u){switch(u.label){case 0:t&&Z(!0),Q(null),u.label=1;case 1:return u.trys.push([1,4,5,6]),[4,Te(x.applicationId)];case 2:return u.sent(),n=function(t){if(!h.usePermissionsStore.getState().hasPermission("ilotj.scope.view",t.id))return null;var r=t.children?t.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return e.__assign(e.__assign({},t),{children:r})},[4,c.fetchScopes(D,I.accessToken)];case 3:return(r=u.sent())&&r.data&&r.data.data&&(a=r.data.data,Array.isArray(a)&&(a=a.length>0?a[0]:null),a?(i=n(a))?(oe(null),z({data:i}),pe.current?(G(pe.current),se("learnings"),pe.current=null):s.useLearningTemplateStore.getState().selectedRuleSetId||G(i.id)):(oe(null!==(l=a.id)&&void 0!==l?l:null),z(null)):(oe(null),z(null))),[3,6];case 4:return o=u.sent(),console.error("Failed to fetch rule sets or permissions",o),Q("Failed to load data. Please try again later."),[3,6];case 5:return Z(!1),[7];case 6:return[2]}})})};n.useEffect(function(){var e;(null===(e=null==I?void 0:I.accessToken)||void 0===e?void 0:e.length)&&Le?Ee(!0):console.warn("Error: Trying to fetch rules without access token",I)},[null==I?void 0:I.accessToken,Q,Y,x.applicationId,Le]);var Ae=function(n){return e.__awaiter(O,void 0,void 0,function(){var r,s,a,o;return e.__generator(this,function(l){switch(l.label){case 0:te(!0),l.label=1;case 1:return l.trys.push([1,4,5,6]),V.scopeId?[4,c.renameScope({scope_id:V.scopeId,scope_name:n})]:[2];case 2:return l.sent(),[4,Ee(!0)];case 3:return l.sent(),W(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,6];case 4:throw r=l.sent(),console.error("An error occurred during scope rename.",r),null===(s=fe.current)||void 0===s||s.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:(null===(o=null===(a=null==r?void 0:r.response)||void 0===a?void 0:a.data)||void 0===o?void 0:o.message)||"There was an error renaming the scope. Please try again."})}),r;case 5:return te(!1),[7];case 6:return[2]}})})},Re=function(t,n,r){return e.__awaiter(O,void 0,void 0,function(){var n,r,a,i,o,l,u,d;return e.__generator(this,function(p){switch(p.label){case 0:te(!0),p.label=1;case 1:return p.trys.push([1,4,5,6]),[4,c.deleteRuleSet(t,I.accessToken)];case 2:return p.sent(),s.useLearningTemplateStore.getState().selectedRuleSetId===t&&(n=s.useLearningTemplateStore.getState().scopeTreeData,(r=g.findNodePathById((null==n?void 0:n.data)||null,t))&&r.length>1&&(a=r[r.length-2],G(a),se("learnings"))),[4,Ee(!0)];case 3:return p.sent(),W(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),null===(o=fe.current)||void 0===o||o.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return i=p.sent(),console.error("An error occurred during scope deletion.",i),null===(l=fe.current)||void 0===l||l.show({severity:"error",summary:"Delete Failed",detail:(null===(d=null===(u=null==i?void 0:i.response)||void 0===u?void 0:u.data)||void 0===d?void 0:d.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return te(!1),[7];case 6:return[2]}})})},we=K,Oe=ue?{data:{id:ue.stationId,name:ue.stationName,type:"STATION",metrics:{learningsCount:ue.learningsCount,stationsCount:0},children:[]}}:we,Ie=!!(null==Oe?void 0:Oe.data);null===(w=null==Oe?void 0:Oe.data)||void 0===w||w.type;var qe=h.usePermissionsStore(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",x.applicationResourceId||""),Ne=(ue?A.filter(function(e){return"stations"!==e.id}):A).filter(function(e){return!(!M&&"access"===e.id)});return t.jsx(v.TooltipProvider,{children:t.jsxs("div",e.__assign({className:i.default.learningManagementContainer},{children:[t.jsx("div",e.__assign({className:i.default.mainWrapper},{children:X?t.jsx(f.default,{}):F?t.jsxs("div",e.__assign({className:i.default.errorContainer},{children:[t.jsx("div",e.__assign({className:i.default.errorTitle},{children:"Error Loading Data"})),t.jsx("p",e.__assign({className:i.default.errorDesc},{children:F})),t.jsx("button",e.__assign({onClick:function(){return Ee(!0)},className:i.default.tryAgainBtn},{children:"Try Again"}))]})):Ie?t.jsx(o.default,{onOpenCreateModal:function(){return W({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return W({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return W({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(t,n,r){return e.__awaiter(O,void 0,void 0,function(){var a,i,o;return e.__generator(this,function(e){switch(e.label){case 0:return a=s.useLearningTemplateStore.getState().scopeTreeData,i=g.findNodePathById((null==a?void 0:a.data)||null,t),o=!!i&&3===i.length,0!==r?[3,2]:[4,Re(t)];case 1:return e.sent(),[3,3];case 2:W({isOpen:!0,type:"DELETE",scopeId:t,initialName:n,isSubscope:o}),e.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return be("ilotj.scope.delete",e)},canEditScope:function(e){return be("ilotj.scope.edit",e)},canCreateScope:function(e){return be("ilotj.scope.create",e)},onSectionSelect:function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),d.setQueryParams(((n={})[d.QUERY_PARAM_KEYS.SECTION]="learnings"===t?null:t,n)),se(t),G(e)},activeSectionId:re,scopeTreeData:Oe,sectionsConfig:Ne,onViewStation:function(e){de.current=B,ce(e),se("learnings"),G(e.stationId)},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(pe.current=t),Ee(e)},nodeTypesConfig:he,app_integration_id:D,token:I.accessToken}):t.jsx(l.default,{onCreate:function(){return W({isOpen:!0,type:"GLOBAL"})},title:"No Global Scope has been added!",desc:"Start by creating a Global scope to define base learnings that apply across all stations.",button:"Create Global Scope",canCreateRule:qe,noAccessTitle:"Access Restricted",noAccessDesc:"You do not have access to create a Global scope for this application.",onRequestAccess:function(){return e.__awaiter(O,void 0,void 0,function(){var n,r,a,o,l,u,d,p,f;return e.__generator(this,function(e){switch(e.label){case 0:if(!(n=(null===(o=null===(a=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===a?void 0:a.data)||void 0===o?void 0:o.id)||ie))return null===(l=fe.current)||void 0===l||l.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:"Unable to identify the global scope for this access request."})}),[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,c.requestAccess(n)];case 2:return e.sent(),null===(u=fe.current)||void 0===u||u.show({severity:"success",sticky:!1,life:3e3,className:i.default.successToast,content:t.jsx(L.default,{message:"Access request submitted successfully!"})}),[3,4];case 3:return r=e.sent(),null===(d=fe.current)||void 0===d||d.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:(null===(f=null===(p=null==r?void 0:r.response)||void 0===p?void 0:p.data)||void 0===f?void 0:f.detail)||"Failed to request access. Please try again."})}),[3,4];case 4:return[2]}})})}})})),t.jsx(a.Toast,{ref:fe,pt:{root:{style:{zIndex:9999}}}}),M&&V.isOpen&&"DELETE"!==V.type&&"RENAME"!==V.type?t.jsx(_.default,{isOpen:!0,onClose:function(){return W(e.__assign(e.__assign({},V),{isOpen:!1}))},onSubmit:function(t){return e.__awaiter(O,void 0,void 0,function(){var n,r,a,i,o,l,u,d,p,f,g,S,m,v,_,h,y,T,b,C;return e.__generator(this,function(L){switch(L.label){case 0:te(!0),n=s.useLearningTemplateStore.getState().backwardCompatibility,L.label=1;case 1:return L.trys.push([1,12,13,14]),r=void 0,n&&"object"==typeof t?r=t:(a=t,i="SCOPE"===V.type&&V.parentId,o=i?"genreRuleSet":V.type,r={topic:o,scope_reference_id:null,scopeDescription:"demo",parentScopeId:V.parentId||null,scopeName:a,scopeReferenceMetadata:{},applicationMappingId:D}),[4,c.createRuleSet(r,I.accessToken)];case 2:if(l=L.sent(),!(u=null===(v=null==l?void 0:l.data)||void 0===v?void 0:v.scopeId))return[3,10];if(pe.current=u,d=n&&(null===(_=r.topic)||void 0===_?void 0:_.toLowerCase().includes("genre")),p=!n&&"GLOBAL"!==V.type&&V.parentId,!d&&!p)return[3,10];if(!(f=n?null===(y=null===(h=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===h?void 0:h.data)||void 0===y?void 0:y.id:V.parentId))return[3,10];if(!M)return[3,7];L.label=3;case 3:return L.trys.push([3,5,,6]),[4,c.inheritScopeBackwardCompatible({source_scope_id:f,target_scope_id:u})];case 4:return L.sent(),[3,6];case 5:return g=L.sent(),console.error("Failed to inherit rules for the new scope:",g),[3,6];case 6:return[3,10];case 7:return L.trys.push([7,9,,10]),[4,c.inheritScope({source_scope_id:f,target_scope_id:u,application_mapping_id:D||"",is_copy_parent_variant_id:!1})];case 8:return L.sent(),[3,10];case 9:return S=L.sent(),console.error("Failed to inherit rules for the new scope:",S),[3,10];case 10:return[4,Ee(!0)];case 11:return L.sent(),W(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,14];case 12:throw m=L.sent(),console.error("An error occurred during scope creation.",m),null===(T=fe.current)||void 0===T||T.show({severity:"error",summary:"Creation Failed",detail:(null===(C=null===(b=null==m?void 0:m.response)||void 0===b?void 0:b.data)||void 0===C?void 0:C.message)||"There was an error creating the scope. Please try again."}),m;case 13:return te(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Ie,canCreateGlobal:qe}):t.jsxs(t.Fragment,{children:[t.jsx(b.default,{isOpen:V.isOpen&&"DELETE"!==V.type&&"RENAME"!==V.type,onClose:function(){return W(e.__assign(e.__assign({},V),{isOpen:!1}))},onCreate:function(e){return Ae(null!=e?e:"")},hasGlobalRuleSet:Ie}),t.jsx(E.default,{isOpen:V.isOpen&&"RENAME"===V.type,onClose:function(){return W(e.__assign(e.__assign({},V),{isOpen:!1}))},onSave:Ae,initialName:V.initialName})]}),t.jsx(p.default,{isOpen:V.isOpen&&"DELETE"===V.type,onCancel:function(){return W(e.__assign(e.__assign({},V),{isOpen:!1}))},onConfirm:function(){return Re(V.scopeId,V.initialName,V.isSubscope)},title:"Delete Scope",description:t.jsxs(t.Fragment,{children:["Deleting ",t.jsx("span",e.__assign({className:i.default.highlight},{children:V.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:ee})]}))})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),t=require("react/jsx-runtime"),n=require("react"),r=require("lucide-react"),s=require("./store/useLearningTemplateStore.js"),a=require("primereact/toast"),i=require("./styles/LearningTemplateManagement.module.css.js"),o=require("./LearningTemplateLayout.js"),l=require("./components/EmptyLearningState.js"),u=require("./store/useAuthStore.js"),c=require("./apis/scopeApis.js"),d=require("./hooks/useLearningTemplateQueryParams.js"),p=require("./components/ConfirmationModal.js"),g=require("./components/LearningTemplateManagementSkeleton.js"),f=require("./utils/treeUtils.js"),S=require("./store/useEnvStore.js"),m=require("./store/useConfigStore.js"),v=require("./components/ToolTip.js"),h=require("./components/CreateRuleSetLegacyModal.js"),_=require("./store/usePermissionsStore.js"),y=require("./store/useAppSecRolesStore.js"),T=require("./queries/useApprovalQueries.js"),b=require("./RuleContent/AddScopeModal.js"),C=require("react-router-dom"),L=require("./shared/SuccessToastContent.js"),j=require("./shared/ErrorToastContent.js"),E=require("./RuleContent/RenameScopeModal.js"),A=[{id:"learnings",label:"Learnings",icon:r.BookOpen,badgeKey:"learningsCount"},{id:"access",label:"Access",icon:r.Users},{id:"history",label:"Change History",icon:r.History}],R=new Set(A.map(function(e){return e.id}));exports.default=function(r){var w,O=this,I=r.userDetails,q=r.llmStudioUrl,N=r.audacyBackendUrl,P=r.ilLabels,k=r.config,x=r.rbacConfig,D=r.app_integration_id,U=r.backwardCompatibility,M=void 0!==U&&U,B=s.useLearningTemplateStore(function(e){return e.selectedRuleSetId}),G=s.useLearningTemplateStore(function(e){return e.setSelectedRuleSetId}),F=s.useLearningTemplateStore(function(e){return e.error}),Q=s.useLearningTemplateStore(function(e){return e.setError}),Y=s.useLearningTemplateStore(function(e){return e.setStations}),K=s.useLearningTemplateStore(function(e){return e.scopeTreeData}),H=s.useLearningTemplateStore(function(e){return e.setScopeTreeData}),z=n.useState({isOpen:!1,type:"GLOBAL"}),V=z[0],W=z[1],J=n.useState(!1),X=J[0],Z=J[1],$=n.useState(!1),ee=$[0],te=$[1],ne=n.useState("learnings"),re=ne[0],se=ne[1],ae=n.useState(null),ie=ae[0],oe=ae[1],le=n.useState(null),ue=le[0],ce=le[1],de=n.useRef(null),pe=n.useRef(null),ge=n.useRef(null),fe=u.default();fe.user;var Se=fe.setUser,me=m.useConfigStore(),ve=me.setConfig,he=me.setIlLabels,_e=e.__spreadArray([{type:"GLOBAL",label:"Global",addChildLabel:"Add Scope",addChildType:"SCOPE"},e.__assign({type:"SCOPE",label:"Scope"},!M&&{addChildLabel:"Add Subscope",addChildType:"SUBSCOPE"})],M?[]:[{type:"SUBSCOPE",label:"Subscope"}],!0),ye=function(){try{return C.useLocation()}catch(e){return{search:""}}}();n.useEffect(function(){var e=new URLSearchParams(window.location.search),t=e.get(d.QUERY_PARAM_KEYS.RULESET_ID),n=e.get(d.QUERY_PARAM_KEYS.SECTION),r=n&&R.has(n)?n:"learnings";(null==t?void 0:t.length)&&G&&se&&(G(t),se(r))},[null==ye?void 0:ye.search,se,G]);var Te=_.usePermissionsStore(function(e){return e.fetchPermissions}),be=_.usePermissionsStore(function(e){return e.hasPermission}),Ce=y.useAppSecRolesStore(function(e){return e.setRoles}),Le=S.default(function(e){return e.appsecRbacUrl})===x.appsecRbacUrl,je=T.useGetAppSecRolesQuery(x.applicationId,Le).data;n.useEffect(function(){je&&Ce(je.map(function(e){return{_id:e._id,name:e.name}}))},[je,Ce]),n.useEffect(function(){var e;console.log("userDetails",I),Se(I),console.log("llmStudioUrl",q),console.log("audacyBackendUrl",N),S.default.getState().setLlmStudioUrl(q),S.default.getState().setAudacyBackendUrl(N),S.default.getState().setRbacConfig(x),ve(k),he(P),s.useLearningTemplateStore.getState().setAppIntegrationId(null!=D?D:null),s.useLearningTemplateStore.getState().setBackwardCompatibility(M),s.useLearningTemplateStore.getState().setToken(null!==(e=I.accessToken)&&void 0!==e?e:null)},[I,Se,q,N,x,k,ve,P,he,D,M]),n.useEffect(function(){(null==I?void 0:I.accessToken)&&q&&c.fetchTiers()},[D,null==I?void 0:I.accessToken,q]);var Ee=function(t){return void 0===t&&(t=!0),e.__awaiter(O,void 0,void 0,function(){var n,r,a,i,o,l;return e.__generator(this,function(u){switch(u.label){case 0:t&&Z(!0),Q(null),u.label=1;case 1:return u.trys.push([1,4,5,6]),[4,Te(x.applicationId)];case 2:return u.sent(),n=function(t){if(!_.usePermissionsStore.getState().hasPermission("ilotj.scope.view",t.id))return null;var r=t.children?t.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return e.__assign(e.__assign({},t),{children:r})},[4,c.fetchScopes(D,I.accessToken)];case 3:return(r=u.sent())&&r.data&&r.data.data&&(a=r.data.data,Array.isArray(a)&&(a=a.length>0?a[0]:null),a?(i=n(a))?(oe(null),H({data:i}),pe.current?(G(pe.current),se("learnings"),pe.current=null):s.useLearningTemplateStore.getState().selectedRuleSetId||G(i.id)):(oe(null!==(l=a.id)&&void 0!==l?l:null),H(null)):(oe(null),H(null))),[3,6];case 4:return o=u.sent(),console.error("Failed to fetch rule sets or permissions",o),Q("Failed to load data. Please try again later."),[3,6];case 5:return Z(!1),[7];case 6:return[2]}})})};n.useEffect(function(){var e;(null===(e=null==I?void 0:I.accessToken)||void 0===e?void 0:e.length)&&Le?Ee(!0):console.warn("Error: Trying to fetch rules without access token",I)},[null==I?void 0:I.accessToken,Q,Y,x.applicationId,Le]);var Ae=function(n){return e.__awaiter(O,void 0,void 0,function(){var r,s,a,o;return e.__generator(this,function(l){switch(l.label){case 0:te(!0),l.label=1;case 1:return l.trys.push([1,4,5,6]),V.scopeId?[4,c.renameScope({scope_id:V.scopeId,scope_name:n})]:[2];case 2:return l.sent(),[4,Ee(!0)];case 3:return l.sent(),W(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,6];case 4:throw r=l.sent(),console.error("An error occurred during scope rename.",r),null===(s=ge.current)||void 0===s||s.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:(null===(o=null===(a=null==r?void 0:r.response)||void 0===a?void 0:a.data)||void 0===o?void 0:o.message)||"There was an error renaming the scope. Please try again."})}),r;case 5:return te(!1),[7];case 6:return[2]}})})},Re=function(t,n,r){return e.__awaiter(O,void 0,void 0,function(){var n,r,a,i,o,l,u,d;return e.__generator(this,function(p){switch(p.label){case 0:te(!0),p.label=1;case 1:return p.trys.push([1,4,5,6]),[4,c.deleteRuleSet(t,I.accessToken)];case 2:return p.sent(),s.useLearningTemplateStore.getState().selectedRuleSetId===t&&(n=s.useLearningTemplateStore.getState().scopeTreeData,(r=f.findNodePathById((null==n?void 0:n.data)||null,t))&&r.length>1&&(a=r[r.length-2],G(a),se("learnings"))),[4,Ee(!0)];case 3:return p.sent(),W(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),null===(o=ge.current)||void 0===o||o.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return i=p.sent(),console.error("An error occurred during scope deletion.",i),null===(l=ge.current)||void 0===l||l.show({severity:"error",summary:"Delete Failed",detail:(null===(d=null===(u=null==i?void 0:i.response)||void 0===u?void 0:u.data)||void 0===d?void 0:d.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return te(!1),[7];case 6:return[2]}})})},we=K,Oe=ue?{data:{id:ue.stationId,name:ue.stationName,type:"STATION",metrics:{learningsCount:ue.learningsCount,stationsCount:0},children:[]}}:we,Ie=!!(null==Oe?void 0:Oe.data);null===(w=null==Oe?void 0:Oe.data)||void 0===w||w.type;var qe=_.usePermissionsStore(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",x.applicationResourceId||""),Ne=(ue?A.filter(function(e){return"stations"!==e.id}):A).filter(function(e){return!(!M&&"access"===e.id)});return t.jsx(v.TooltipProvider,{children:t.jsxs("div",e.__assign({className:i.default.learningManagementContainer},{children:[t.jsx("div",e.__assign({className:i.default.mainWrapper},{children:X?t.jsx(g.default,{}):F?t.jsxs("div",e.__assign({className:i.default.errorContainer},{children:[t.jsx("div",e.__assign({className:i.default.errorTitle},{children:"Error Loading Data"})),t.jsx("p",e.__assign({className:i.default.errorDesc},{children:F})),t.jsx("button",e.__assign({onClick:function(){return Ee(!0)},className:i.default.tryAgainBtn},{children:"Try Again"}))]})):Ie?t.jsx(o.default,{onOpenCreateModal:function(){return W({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return W({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return W({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(t,n,r){return e.__awaiter(O,void 0,void 0,function(){var a,i,o;return e.__generator(this,function(e){switch(e.label){case 0:return a=s.useLearningTemplateStore.getState().scopeTreeData,i=f.findNodePathById((null==a?void 0:a.data)||null,t),o=!!i&&3===i.length,0!==r?[3,2]:[4,Re(t)];case 1:return e.sent(),[3,3];case 2:W({isOpen:!0,type:"DELETE",scopeId:t,initialName:n,isSubscope:o}),e.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return be("ilotj.scope.delete",e)},canEditScope:function(e){return be("ilotj.scope.edit",e)},canCreateScope:function(e){return be("ilotj.scope.create",e)},onSectionSelect:function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),d.setQueryParams(((n={})[d.QUERY_PARAM_KEYS.SECTION]="learnings"===t?null:t,n)),se(t),G(e)},activeSectionId:re,scopeTreeData:Oe,sectionsConfig:Ne,onViewStation:function(e){de.current=B,ce(e),se("learnings"),G(e.stationId)},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(pe.current=t),Ee(e)},nodeTypesConfig:_e,app_integration_id:D,token:I.accessToken}):t.jsx(l.default,{onCreate:function(){return W({isOpen:!0,type:"GLOBAL"})},title:"No Global Scope has been added!",desc:"Start by creating a Global scope to define base learnings that apply across all stations.",button:"Create Global Scope",canCreateRule:qe,noAccessTitle:"Access Restricted",noAccessDesc:"You do not have access to create a Global scope for this application.",onRequestAccess:function(){return e.__awaiter(O,void 0,void 0,function(){var n,r,a,o,l,u,d,p,g;return e.__generator(this,function(e){switch(e.label){case 0:if(!(n=(null===(o=null===(a=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===a?void 0:a.data)||void 0===o?void 0:o.id)||ie))return null===(l=ge.current)||void 0===l||l.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:"Unable to identify the global scope for this access request."})}),[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,c.requestAccess(n)];case 2:return e.sent(),null===(u=ge.current)||void 0===u||u.show({severity:"success",sticky:!1,life:3e3,className:i.default.successToast,content:t.jsx(L.default,{message:"Access request submitted successfully!"})}),[3,4];case 3:return r=e.sent(),null===(d=ge.current)||void 0===d||d.show({severity:"error",sticky:!1,className:i.default.errorToast,content:t.jsx(j.default,{message:(null===(g=null===(p=null==r?void 0:r.response)||void 0===p?void 0:p.data)||void 0===g?void 0:g.detail)||"Failed to request access. Please try again."})}),[3,4];case 4:return[2]}})})}})})),t.jsx(a.Toast,{ref:ge,pt:{root:{style:{zIndex:9999}}}}),M&&V.isOpen&&"DELETE"!==V.type&&"RENAME"!==V.type?t.jsx(h.default,{isOpen:!0,onClose:function(){return W(e.__assign(e.__assign({},V),{isOpen:!1}))},onSubmit:function(t){return e.__awaiter(O,void 0,void 0,function(){var n,r,a,i,o,l,u,d,p,g,f,S,m,v,h,_,y,T,b,C;return e.__generator(this,function(L){switch(L.label){case 0:te(!0),n=s.useLearningTemplateStore.getState().backwardCompatibility,L.label=1;case 1:return L.trys.push([1,12,13,14]),r=void 0,n&&"object"==typeof t?r=t:(a=t,i="SCOPE"===V.type&&V.parentId,o=i?"genreRuleSet":V.type,r={topic:o,scope_reference_id:null,scopeDescription:"demo",parentScopeId:V.parentId||null,scopeName:a,scopeReferenceMetadata:{},applicationMappingId:D}),[4,c.createRuleSet(r,I.accessToken)];case 2:if(l=L.sent(),!(u=null===(v=null==l?void 0:l.data)||void 0===v?void 0:v.scopeId))return[3,10];if(pe.current=u,d=n&&(null===(h=r.topic)||void 0===h?void 0:h.toLowerCase().includes("genre")),p=!n&&"GLOBAL"!==V.type&&V.parentId,!d&&!p)return[3,10];if(!(g=n?null===(y=null===(_=s.useLearningTemplateStore.getState().scopeTreeData)||void 0===_?void 0:_.data)||void 0===y?void 0:y.id:V.parentId))return[3,10];if(!M)return[3,7];L.label=3;case 3:return L.trys.push([3,5,,6]),[4,c.inheritScopeBackwardCompatible({source_scope_id:g,target_scope_id:u})];case 4:return L.sent(),[3,6];case 5:return f=L.sent(),console.error("Failed to inherit rules for the new scope:",f),[3,6];case 6:return[3,10];case 7:return L.trys.push([7,9,,10]),[4,c.inheritScope({source_scope_id:g,target_scope_id:u,application_mapping_id:D||"",is_copy_parent_variant_id:!1})];case 8:return L.sent(),[3,10];case 9:return S=L.sent(),console.error("Failed to inherit rules for the new scope:",S),[3,10];case 10:return[4,Ee(!0)];case 11:return L.sent(),W(function(t){return e.__assign(e.__assign({},t),{isOpen:!1})}),[3,14];case 12:throw m=L.sent(),console.error("An error occurred during scope creation.",m),null===(T=ge.current)||void 0===T||T.show({severity:"error",summary:"Creation Failed",detail:(null===(C=null===(b=null==m?void 0:m.response)||void 0===b?void 0:b.data)||void 0===C?void 0:C.message)||"There was an error creating the scope. Please try again."}),m;case 13:return te(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Ie,canCreateGlobal:qe}):t.jsxs(t.Fragment,{children:[t.jsx(b.default,{isOpen:V.isOpen&&"DELETE"!==V.type&&"RENAME"!==V.type,onClose:function(){return W(e.__assign(e.__assign({},V),{isOpen:!1}))},onCreate:function(e){return Ae(null!=e?e:"")},hasGlobalRuleSet:Ie}),t.jsx(E.default,{isOpen:V.isOpen&&"RENAME"===V.type,onClose:function(){return W(e.__assign(e.__assign({},V),{isOpen:!1}))},onSave:Ae,initialName:V.initialName})]}),t.jsx(p.default,{isOpen:V.isOpen&&"DELETE"===V.type,onCancel:function(){return W(e.__assign(e.__assign({},V),{isOpen:!1}))},onConfirm:function(){return Re(V.scopeId,V.initialName,V.isSubscope)},title:"Delete Scope",description:t.jsxs(t.Fragment,{children:["Deleting ",t.jsx("span",e.__assign({className:i.default.highlight},{children:V.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:ee})]}))})};
2
2
  //# sourceMappingURL=LearningManagement.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),r=require("react"),a=require("lucide-react"),i=require("../apis/scopeApis.js"),t=require("../styles/RuleAccordion.module.css.js"),o=require("../styles/CustomTooltip.module.css.js"),s=require("./InheritanceBreadcrumb.js"),l=require("../components/ConfirmationModal.js"),u=require("../components/CustomTooltip.js"),c=require("../store/useAuthStore.js"),d=require("../store/usePermissionsStore.js"),p=require("../store/useLearningTemplateStore.js"),v=require("./ApprovalLearningDialog.js"),g=require("./ApprovalActionButton.js"),f=require("./PendingApprovalChip.js"),m=require("../queries/useApprovalQueries.js"),h=require("../store/useEnvStore.js"),j=require("primereact/toast");exports.default=function(_){var x,b,A,S,T,C,q,w,L,y,N,I=_.rule,P=_.idx,O=_.ruleSetId,D=_.isOpen,R=_.onToggle,B=_.onDelete;_.onEdit,_.isGlobalScope;var k=_.deleteButtonLabel,E=void 0===k?"Delete":k;_.editButtonLabel;var V=_.enableLearningRuleLabel,M=void 0===V?"Enable":V,F=_.disableLearningRuleLabel,H=void 0===F?"Disable":F,z=_.onToggleSuccess,G=_.dragControls,U=c.default.getState().user,Q=d.usePermissionsStore(function(e){return e.hasPermission}),Y=Q("ilotj.rule.delete",O),J=Q("ilotj.rule.enable",O),K=Q("ilotj.rule.disable",O),W=Q("ilotj.rule.selfApprove",O),X=Q("ilotj.rule.approve",O),Z=Q("ilotj.scope.approve",O),$=Q("ilotj.rule.pendingApproval.view",O),ee=Q("ilotj.rule.variant.pendingApproval.edit",O),ne=W||X||Z||ee,re=$||ne,ae=m.useApproveOrRejectVariantsMutation(),ie=h.default(function(e){return e.rbacConfig}),te=ie?{application:null==ie?void 0:ie.applicationId,scopeLevelModuleId:null!==(x=null==ie?void 0:ie.applicationModuleId)&&void 0!==x?x:""}:void 0,oe=r.useRef(null),se=r.useState(!1),le=se[0],ue=se[1],ce=I.variants&&I.variants.length>0?!I.variants.every(function(e){return!1===e.is_enabled}):!1!==I.is_enabled,de=r.useState(!1),pe=de[0],ve=de[1],ge=null===(b=I.variants)||void 0===b?void 0:b.map(function(e){return e.inheritance||[]}).reduce(function(e,n){return n.length>e.length?n:e},[]),fe=null===(A=I.variants)||void 0===A?void 0:A.some(function(e){return null==e?void 0:e.isOverridden}),me=ce?K:J;I.inheritance&&I.inheritance.length>0&&(null===(S=I.inheritance)||void 0===S||S.length);var he=null!==(C=null===(T=I.variants)||void 0===T?void 0:T.length)&&void 0!==C?C:0,je=r.useState({isOpen:!1,mode:"approve"}),_e=je[0],xe=je[1],be=null!==(w=null===(q=I.variants)||void 0===q?void 0:q.filter(function(e){return"pending_approval"===e.approvalStatus}).length)&&void 0!==w?w:0,Ae=p.useLearningTemplateStore(function(e){return e.urlVariantId}),Se=p.useLearningTemplateStore(function(e){return e.urlApprovalAction}),Te=p.useLearningTemplateStore(function(e){return e.clearUrlApprovalParams});r.useEffect(function(){var e;if(Ae&&Se){var n=null===(e=I.variants)||void 0===e?void 0:e.find(function(e){return e.variantId===Ae});n&&"pending_approval"===(null==n?void 0:n.approvalStatus)&&ne&&(xe({isOpen:!0,mode:Se}),Te())}},[Ae,Se,I.variants,Te,ne]);var Ce=function(e,n){e.stopPropagation(),xe({isOpen:!0,mode:n})},qe=D?"".concat(t.default.accordionHeader," ").concat(t.default.accordionHeaderOpen):t.default.accordionHeader;return n.jsxs(n.Fragment,{children:[n.jsx(j.Toast,{ref:oe}),n.jsx("div",e.__assign({className:qe,onClick:R},{children:n.jsxs("div",e.__assign({className:t.default.headerContent},{children:[n.jsxs("div",e.__assign({className:t.default.headerTopRow},{children:[n.jsx("div",e.__assign({className:t.default.titleSection},{children:n.jsxs("div",e.__assign({className:t.default.titleRow},{children:[n.jsx("div",e.__assign({className:t.default.dragHandle,title:"Drag to reorder",style:{touchAction:"none"},onPointerDown:function(e){e.stopPropagation(),null==G||G.start(e)}},{children:n.jsx(a.GripVertical,{size:18})})),n.jsxs("span",e.__assign({className:t.default.ruleTitle},{children:[P+1,". ",I.ruleTitle]})),I.dataSource&&n.jsx("span",e.__assign({className:t.default.dataSourceTag},{children:null===(L=I.dataSource)||void 0===L?void 0:L.tag})),re&&n.jsx(f.default,{count:be}),fe&&n.jsx(u.default,e.__assign({content:"Inherited from the ".concat((null==ge?void 0:ge.length)>=2?ge[ge.length-2]:"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:o.default.customTooltip,sideOffset:5},{children:n.jsx("span",e.__assign({className:t.default.overriddenTag},{children:"Overridden"}))})),!ce&&n.jsx("span",e.__assign({className:t.default.learningDisabledPill},{children:"Disabled"}))]}))})),n.jsx("div",e.__assign({className:t.default.headerActions},{children:n.jsx("div",e.__assign({className:t.default.chevronIcon},{children:D?n.jsx(a.ChevronUp,{size:20}):n.jsx(a.ChevronDown,{size:20})}))}))]})),n.jsxs("div",e.__assign({className:t.default.footerRow},{children:[n.jsx(s.default,{inheritance:ge||[]}),n.jsxs("div",e.__assign({className:t.default.headerButtonGroup},{children:[me&&n.jsx("button",e.__assign({onClick:function(n){return e.__awaiter(void 0,void 0,void 0,function(){return e.__generator(this,function(e){return n.stopPropagation(),ue(!0),[2]})})},disabled:pe,className:t.default.toggleLearningButton},{children:ce?H:M})),ne&&be>1&&n.jsxs(n.Fragment,{children:[n.jsx(g.default,{variant:"approve",text:be>1?"Approve All":"Approve",onClick:function(e){return Ce(e,"approve")}}),n.jsx(g.default,{variant:"reject",text:be>1?"Reject All":"Reject",onClick:function(e){return Ce(e,"reject")}})]}),Y&&B&&n.jsx("button",e.__assign({className:t.default.deleteButton,onClick:function(e){e.stopPropagation(),null==B||B()}},{children:E}))]}))]}))]}))})),n.jsx(l.default,{isOpen:le,title:ce?"Disable Learning?":"Enable Learning?",description:"Are you sure you want to ".concat(ce?"disable":"enable"," this learning for ").concat(I.ruleTitle,"?"),warning:ce?"This learning will no longer influence upcoming schedules. You can enable it again anytime.":"This learning will start influencing upcoming schedules again.",confirmText:ce?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:ce?"#DC2626":"#16A34A",onConfirm:function(){return e.__awaiter(void 0,void 0,void 0,function(){var n,r,a;return e.__generator(this,function(e){switch(e.label){case 0:ve(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),0===(n=(null===(a=I.variants)||void 0===a?void 0:a.map(function(e){return e.variantId}))||[]).length&&I.ruleId&&n.push(I.ruleId),null==U?void 0:U.email,[4,i.toggleVariant(n,!ce)];case 2:return e.sent(),null==z||z(),[3,5];case 3:return r=e.sent(),console.error("Failed to toggle rule variants",r),[3,5];case 4:return ve(!1),ue(!1),[7];case 5:return[2]}})})},onCancel:function(){return ue(!1)},isLoading:pe}),n.jsx(v.default,{open:_e.isOpen,mode:_e.mode,onClose:function(){return xe(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})})},onSubmit:function(n){return function(n){var r,a,i=null!==(a=null===(r=I.variants)||void 0===r?void 0:r.filter(function(e){return"pending_approval"===e.approvalStatus}).map(function(e){return e.variantId}))&&void 0!==a?a:[];i.length&&O&&ae.mutate({variantIds:i,status:"approve"===_e.mode?"approved":"rejected",feedback:n.feedback,scopeId:O,appsecData:te},{onSuccess:function(){var n;xe(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})}),null==z||z(),null===(n=oe.current)||void 0===n||n.show({severity:"success",summary:"".concat(_e.mode," Successfully"),detail:"approve"===_e.mode?"Learning approved successfully":"Learning rejected successfully"})},onError:function(e){var n;console.error("An error occurred during rejecting.",e),null===(n=oe.current)||void 0===n||n.show({severity:"error",summary:"".concat(_e.mode," Failed"),detail:"There was an error ".concat("approve"===_e.mode?"approving":"rejecting"," the learning. Please try again.")})}})}(n)},variantInformation:"".concat(I.ruleTitle,"-").concat(he>1?"Variants":"Variant 1"),ruleTitle:I.ruleTitle,pendingVariants:null!==(N=null===(y=I.variants)||void 0===y?void 0:y.filter(function(e){return"pending_approval"===e.approvalStatus}))&&void 0!==N?N:[],isPending:ae.isPending})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),r=require("react"),a=require("lucide-react"),i=require("../apis/scopeApis.js"),t=require("../styles/RuleAccordion.module.css.js"),o=require("../styles/CustomTooltip.module.css.js"),s=require("./InheritanceBreadcrumb.js"),l=require("../components/ConfirmationModal.js"),u=require("../components/CustomTooltip.js"),d=require("../store/useAuthStore.js"),c=require("../store/usePermissionsStore.js"),p=require("../store/useLearningTemplateStore.js"),v=require("./ApprovalLearningDialog.js"),g=require("./ApprovalActionButton.js"),f=require("./PendingApprovalChip.js"),m=require("../queries/useApprovalQueries.js"),h=require("../store/useEnvStore.js"),j=require("primereact/toast");exports.default=function(_){var x,b,A,S,T,C,q,w,L,y,N,I=_.rule,P=_.idx,O=_.ruleSetId,D=_.isOpen,R=_.onToggle,B=_.onDelete;_.onEdit,_.isGlobalScope;var k=_.deleteButtonLabel,E=void 0===k?"Delete":k;_.editButtonLabel;var V=_.enableLearningRuleLabel,F=void 0===V?"Enable":V,H=_.disableLearningRuleLabel,M=void 0===H?"Disable":H,z=_.onToggleSuccess,G=_.dragControls,U=d.default.getState().user,Q=c.usePermissionsStore(function(e){return e.hasPermission}),Y=Q("ilotj.rule.delete",O),J=Q("ilotj.rule.enable",O),K=Q("ilotj.rule.disable",O),W=Q("ilotj.rule.selfApprove",O),X=Q("ilotj.rule.approve",O),Z=Q("ilotj.scope.approve",O),$=Q("ilotj.rule.pendingApproval.view",O),ee=Q("ilotj.rule.variant.pendingApproval.edit",O),ne=W||X||Z||ee,re=$||ne,ae=m.useApproveOrRejectVariantsMutation(),ie=h.default(function(e){return e.rbacConfig}),te=ie?{application:null==ie?void 0:ie.applicationId,scopeLevelModuleId:null!==(x=null==ie?void 0:ie.moduleId)&&void 0!==x?x:""}:void 0,oe=r.useRef(null),se=r.useState(!1),le=se[0],ue=se[1],de=I.variants&&I.variants.length>0?!I.variants.every(function(e){return!1===e.is_enabled}):!1!==I.is_enabled,ce=r.useState(!1),pe=ce[0],ve=ce[1],ge=null===(b=I.variants)||void 0===b?void 0:b.map(function(e){return e.inheritance||[]}).reduce(function(e,n){return n.length>e.length?n:e},[]),fe=null===(A=I.variants)||void 0===A?void 0:A.some(function(e){return null==e?void 0:e.isOverridden}),me=de?K:J;I.inheritance&&I.inheritance.length>0&&(null===(S=I.inheritance)||void 0===S||S.length);var he=null!==(C=null===(T=I.variants)||void 0===T?void 0:T.length)&&void 0!==C?C:0,je=r.useState({isOpen:!1,mode:"approve"}),_e=je[0],xe=je[1],be=null!==(w=null===(q=I.variants)||void 0===q?void 0:q.filter(function(e){return"pending_approval"===e.approvalStatus}).length)&&void 0!==w?w:0,Ae=p.useLearningTemplateStore(function(e){return e.urlVariantId}),Se=p.useLearningTemplateStore(function(e){return e.urlApprovalAction}),Te=p.useLearningTemplateStore(function(e){return e.clearUrlApprovalParams});r.useEffect(function(){var e;if(Ae&&Se){var n=null===(e=I.variants)||void 0===e?void 0:e.find(function(e){return e.variantId===Ae});n&&"pending_approval"===(null==n?void 0:n.approvalStatus)&&ne&&(xe({isOpen:!0,mode:Se}),Te())}},[Ae,Se,I.variants,Te,ne]);var Ce=function(e,n){e.stopPropagation(),xe({isOpen:!0,mode:n})},qe=D?"".concat(t.default.accordionHeader," ").concat(t.default.accordionHeaderOpen):t.default.accordionHeader;return n.jsxs(n.Fragment,{children:[n.jsx(j.Toast,{ref:oe}),n.jsx("div",e.__assign({className:qe,onClick:R},{children:n.jsxs("div",e.__assign({className:t.default.headerContent},{children:[n.jsxs("div",e.__assign({className:t.default.headerTopRow},{children:[n.jsx("div",e.__assign({className:t.default.titleSection},{children:n.jsxs("div",e.__assign({className:t.default.titleRow},{children:[n.jsx("div",e.__assign({className:t.default.dragHandle,title:"Drag to reorder",style:{touchAction:"none"},onPointerDown:function(e){e.stopPropagation(),null==G||G.start(e)}},{children:n.jsx(a.GripVertical,{size:18})})),n.jsxs("span",e.__assign({className:t.default.ruleTitle},{children:[P+1,". ",I.ruleTitle]})),I.dataSource&&n.jsx("span",e.__assign({className:t.default.dataSourceTag},{children:null===(L=I.dataSource)||void 0===L?void 0:L.tag})),re&&n.jsx(f.default,{count:be}),fe&&n.jsx(u.default,e.__assign({content:"Inherited from the ".concat((null==ge?void 0:ge.length)>=2?ge[ge.length-2]:"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:o.default.customTooltip,sideOffset:5},{children:n.jsx("span",e.__assign({className:t.default.overriddenTag},{children:"Overridden"}))})),!de&&n.jsx("span",e.__assign({className:t.default.learningDisabledPill},{children:"Disabled"}))]}))})),n.jsx("div",e.__assign({className:t.default.headerActions},{children:n.jsx("div",e.__assign({className:t.default.chevronIcon},{children:D?n.jsx(a.ChevronUp,{size:20}):n.jsx(a.ChevronDown,{size:20})}))}))]})),n.jsxs("div",e.__assign({className:t.default.footerRow},{children:[n.jsx(s.default,{inheritance:ge||[]}),n.jsxs("div",e.__assign({className:t.default.headerButtonGroup},{children:[me&&n.jsx("button",e.__assign({onClick:function(n){return e.__awaiter(void 0,void 0,void 0,function(){return e.__generator(this,function(e){return n.stopPropagation(),ue(!0),[2]})})},disabled:pe,className:t.default.toggleLearningButton},{children:de?M:F})),ne&&be>1&&n.jsxs(n.Fragment,{children:[n.jsx(g.default,{variant:"approve",text:be>1?"Approve All":"Approve",onClick:function(e){return Ce(e,"approve")}}),n.jsx(g.default,{variant:"reject",text:be>1?"Reject All":"Reject",onClick:function(e){return Ce(e,"reject")}})]}),Y&&B&&n.jsx("button",e.__assign({className:t.default.deleteButton,onClick:function(e){e.stopPropagation(),null==B||B()}},{children:E}))]}))]}))]}))})),n.jsx(l.default,{isOpen:le,title:de?"Disable Learning?":"Enable Learning?",description:"Are you sure you want to ".concat(de?"disable":"enable"," this learning for ").concat(I.ruleTitle,"?"),warning:de?"This learning will no longer influence upcoming schedules. You can enable it again anytime.":"This learning will start influencing upcoming schedules again.",confirmText:de?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:de?"#DC2626":"#16A34A",onConfirm:function(){return e.__awaiter(void 0,void 0,void 0,function(){var n,r,a;return e.__generator(this,function(e){switch(e.label){case 0:ve(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),0===(n=(null===(a=I.variants)||void 0===a?void 0:a.map(function(e){return e.variantId}))||[]).length&&I.ruleId&&n.push(I.ruleId),null==U?void 0:U.email,[4,i.toggleVariant(n,!de)];case 2:return e.sent(),null==z||z(),[3,5];case 3:return r=e.sent(),console.error("Failed to toggle rule variants",r),[3,5];case 4:return ve(!1),ue(!1),[7];case 5:return[2]}})})},onCancel:function(){return ue(!1)},isLoading:pe}),n.jsx(v.default,{open:_e.isOpen,mode:_e.mode,onClose:function(){return xe(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})})},onSubmit:function(n){return function(n){var r,a,i=null!==(a=null===(r=I.variants)||void 0===r?void 0:r.filter(function(e){return"pending_approval"===e.approvalStatus}).map(function(e){return e.variantId}))&&void 0!==a?a:[];i.length&&O&&ae.mutate({variantIds:i,status:"approve"===_e.mode?"approved":"rejected",feedback:n.feedback,scopeId:O,appsecData:te},{onSuccess:function(){var n;xe(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})}),null==z||z(),null===(n=oe.current)||void 0===n||n.show({severity:"success",summary:"".concat(_e.mode," Successfully"),detail:"approve"===_e.mode?"Learning approved successfully":"Learning rejected successfully"})},onError:function(e){var n;console.error("An error occurred during rejecting.",e),null===(n=oe.current)||void 0===n||n.show({severity:"error",summary:"".concat(_e.mode," Failed"),detail:"There was an error ".concat("approve"===_e.mode?"approving":"rejecting"," the learning. Please try again.")})}})}(n)},variantInformation:"".concat(I.ruleTitle,"-").concat(he>1?"Variants":"Variant 1"),ruleTitle:I.ruleTitle,pendingVariants:null!==(N=null===(y=I.variants)||void 0===y?void 0:y.filter(function(e){return"pending_approval"===e.approvalStatus}))&&void 0!==N?N:[],isPending:ae.isPending})]})};
2
2
  //# sourceMappingURL=RuleAccordionHeader.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),t=require("react"),a=require("date-fns"),i=require("lucide-react"),r=require("../apis/scopeApis.js"),s=require("./HistorySkeleton.js"),o=require("./InheritanceBreadcrumb.js"),l=require("./RuleConditionBlock.js"),d=require("../styles/VariantCard.module.css.js"),c=require("../styles/CustomTooltip.module.css.js"),u=require("../components/CustomTooltip.js"),p=require("../components/ConfirmationModal.js"),v=require("./OverrideTimeline.js"),f=require("../store/useAuthStore.js"),h=require("../store/usePermissionsStore.js"),g=require("./PendingApprovalChip.js"),m=require("./ApprovalActionButton.js"),_=require("./ApprovalLearningDialog.js"),j=require("../queries/useApprovalQueries.js"),x=require("../store/useEnvStore.js"),y=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")};exports.default=function(b){var T,A,C,N,w,I,S,L=b.ruleTitle,B=b.variant,D=b.variantIndex,O=b.totalVariants,q=b.ruleId;b.pendingApprovalCount;var F=b.ruleSetId,k=b.tierName,E=b.displayLabel,H=b.onEdit,P=b.onDelete,V=b.onFetchOverrideHistory,M=b.editButtonLabel,R=void 0===M?"Edit":M,W=b.deleteButtonLabel,z=void 0===W?"Delete":W,U=b.whenToApplyLabel,G=void 0===U?"When to Apply":U,Z=b.whenNotToApplyLabel,K=void 0===Z?"When Not to Apply":Z,Q=b.noConditionsText,Y=void 0===Q?"No conditions":Q,$=b.viewOverrideLabel,J=void 0===$?"View Override History":$,X=b.hideOverrideLabel,ee=void 0===X?"Hide Override History":X,ne=b.enableLearningVariantLabel,te=void 0===ne?"Enable":ne,ae=b.disableLearningVariantLabel,ie=void 0===ae?"Disable":ae,re=b.historyErrorMessage,se=void 0===re?"Failed to load override history.":re,oe=b.resolveGapsLabel,le=void 0===oe?"This learning has some gaps":oe,de=b.showActionsBar,ce=void 0===de||de,ue=b.showDescriptionBox,pe=void 0===ue||ue,ve=b.showConditions,fe=void 0===ve||ve,he=b.showInheritance,ge=void 0===he||he,me=b.defaultApplyOpen,_e=void 0===me||me,je=b.defaultNotApplyOpen,xe=void 0===je||je,ye=b.className,be=b.isHighlighted,Te=void 0!==be&&be,Ae=b.highlightAction,Ce=b.highlightedTierNames,Ne=b.highlightedVariantIds,we=b.headerContent,Ie=b.footerContent,Se=b.onToggleSuccess,Le=b.setDeleteConfirmationUsedFor,Be=b.onCopyToTier,De=b.onSetInitialDraftMessage,Oe=f.default.getState().user,qe=t.useState(_e),Fe=qe[0],ke=qe[1],Ee=t.useState(xe),He=Ee[0],Pe=Ee[1],Ve=t.useState(!1),Me=Ve[0],Re=Ve[1],We=t.useState(!1),ze=We[0],Ue=We[1],Ge=t.useState(null),Ze=Ge[0],Ke=Ge[1],Qe=t.useState(null),Ye=Qe[0],$e=Qe[1],Je=t.useState(!1),Xe=Je[0],en=Je[1],nn=t.useState(!1),tn=nn[0],an=nn[1],rn=t.useRef(null),sn=!1!==B.is_enabled,on=t.useState(!1),ln=on[0],dn=on[1],cn=t.useRef(null),un=t.useState({isOpen:!1,mode:"approve"}),pn=un[0],vn=un[1],fn=j.useApproveOrRejectVariantsMutation(),hn=x.default(function(e){return e.rbacConfig}),gn=hn?{application:hn.applicationId,scopeLevelModuleId:null!==(T=null==hn?void 0:hn.applicationModuleId)&&void 0!==T?T:""}:void 0,mn=h.usePermissionsStore(function(e){return e.hasPermission}),_n=F,jn=B.inheritance&&B.inheritance.length>1,xn=mn("ilotj.rule.variant.edit",_n)||mn(jn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",_n),yn=mn("ilotj.rule.variant.enable",_n)||mn(jn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",_n),bn=mn("ilotj.rule.variant.disable",_n)||mn(jn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",_n),Tn=mn("ilotj.rule.variant.delete",_n),An=mn("ilotj.rule.selfApprove",_n),Cn=mn("ilotj.rule.approve",_n),Nn=mn("ilotj.scope.approve",_n),wn=mn("ilotj.rule.pendingApproval.view",_n),In=mn("ilotj.rule.variant.pendingApproval.edit",_n),Sn=An||Cn||Nn||In,Ln=wn||Sn,Bn="pending_approval"===(null==B?void 0:B.approvalStatus),Dn="rejected"===(null==B?void 0:B.approvalStatus),On=Sn&&Bn;t.useEffect(function(){var e=function(e){rn.current&&!rn.current.contains(e.target)&&en(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var qn=(null===(A=null==Ze?void 0:Ze.wta)||void 0===A?void 0:A.changeLog)||[],Fn=(null===(C=null==Ze?void 0:Ze.wnta)||void 0===C?void 0:C.changeLog)||[],kn=Te&&Ce&&k?Ce.filter(function(e){return e!==k}):[],En=kn.length>0&&k?kn.every(function(e){return e>k})?"↓":"↑":"↓",Hn=function(){if(Ne)for(var e=Array.from(Ne),n=0;n<e.length;n++)if(e[n]!==B.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},Pn=function(e,n){e.stopPropagation(),vn({isOpen:!0,mode:n})},Vn=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=a.parseISO(n);return a.isValid(t)?a.format(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},Mn=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return n.jsxs("div",e.__assign({className:y(d.default.variantCard,Te&&d.default.variantHighlight,ye),"data-variant-id":B.variantId},{children:[n.jsxs("div",e.__assign({className:d.default.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[n.jsxs("div",e.__assign({className:d.default.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[n.jsx("span",e.__assign({className:d.default.variantLabel},{children:"Default"===B.variantType&&"Default"!==E?"Default | ".concat(E):E})),Te&&Ae&&n.jsx("span",e.__assign({className:y(d.default.actionChip,"new"===Ae?d.default.actionChipNew:d.default.actionChipUpdated)},{children:"new"===Ae?"Created":"Updated"})),(null==B?void 0:B.isOverridden)&&n.jsx(u.default,e.__assign({content:"Inherited from the ".concat((null===(N=B.inheritance)||void 0===N?void 0:N[(null===(w=B.inheritance)||void 0===w?void 0:w.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:c.default.customTooltip,sideOffset:5},{children:n.jsx("span",e.__assign({className:d.default.overriddenTag},{children:"Overridden"}))})),Ln&&Bn&&n.jsx(g.default,{}),Dn&&n.jsx("span",e.__assign({style:{backgroundColor:"#FEF2F2",color:"#EF4444",border:"1px solid #FECACA",padding:"2px 8px",borderRadius:"9999px",fontSize:"0.75rem",fontWeight:500,display:"inline-flex",alignItems:"center"}},{children:"Rejected"})),!sn&&n.jsx("span",e.__assign({className:d.default.learningDisabledPill},{children:"Disabled"})),ge&&1!==O&&0!==D&&n.jsx("div",e.__assign({className:d.default.inheritanceSection},{children:n.jsx(o.default,{inheritance:B.inheritance||[]})}))]})),ce&&n.jsxs("div",e.__assign({className:d.default.variantActions},{children:[On&&n.jsxs(n.Fragment,{children:[n.jsx(m.default,{variant:"approve",text:"Approve",onClick:function(e){return Pn(e,"approve")}}),n.jsx(m.default,{variant:"reject",text:"Reject",onClick:function(e){return Pn(e,"reject")}})]}),H&&xn&&n.jsx("button",e.__assign({className:d.default.editButton,onClick:function(){null==H||H(B,q,k,"edit")}},{children:R})),P&&Tn&&"Default"!==B.variantType&&n.jsx("button",e.__assign({className:d.default.deleteButton,onClick:function(){null==Le||Le("variantDeletion"),null==P||P(B.variantId,q)}},{children:z})),n.jsxs("div",e.__assign({className:d.default.menuWrapper,ref:rn},{children:[n.jsx("button",e.__assign({onClick:function(){return en(!Xe)},className:"".concat(d.default.menuTrigger," ").concat(Xe?d.default.menuTriggerActive:"")},{children:n.jsx(i.MoreVertical,{size:16})})),Xe&&n.jsxs("div",e.__assign({className:d.default.menuDropdown},{children:[(sn&&bn||!sn&&yn)&&n.jsxs("button",e.__assign({onClick:function(){return e.__awaiter(void 0,void 0,void 0,function(){return e.__generator(this,function(e){return en(!1),dn(!0),[2]})})},disabled:tn,className:"".concat(d.default.menuItem," ").concat(tn?d.default.menuItemDisabled:"")},{children:[sn?n.jsx(i.Pause,{size:14}):n.jsx(i.Play,{size:14}),sn?ie:te]})),k&&n.jsxs("button",e.__assign({onClick:function(){var e="Tier 1"===k?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(L,"\nLearning Description: ").concat(B.description,"\nWhen to apply: ").concat(B.whenToApply,"\nWhen not to apply: ").concat(B.whenNotToApply);null==De||De(n),en(!1),null==Be||Be(B,q,L||"",k,e)},className:d.default.menuItem},{children:[n.jsx(i.Copy,{size:14}),"Copy to ","Tier 1"===k?"Tier 2":"Tier 1"]})),V&&(null!==(S=null===(I=B.inheritance)||void 0===I?void 0:I.length)&&void 0!==S?S:0)>1&&n.jsxs("button",e.__assign({onClick:function(){en(!1),e.__awaiter(void 0,void 0,void 0,function(){var n;return e.__generator(this,function(e){switch(e.label){case 0:if(Me)return Re(!1),[2];if(Re(!0),!V)return[2];Ue(!0),$e(null),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,V(q,B.variantId)];case 2:return n=e.sent(),Ke(n),[3,5];case 3:return e.sent(),$e(se),[3,5];case 4:return Ue(!1),[7];case 5:return[2]}})})},className:d.default.menuItem},{children:[n.jsx(i.Eye,{size:14}),Me?ee:J]}))]}))]}))]}))]})),we,pe&&B.description&&n.jsxs("div",e.__assign({className:d.default.descriptionBox},{children:[n.jsx("p",e.__assign({className:d.default.descriptionText},{children:B.description})),Me&&(ze?n.jsx(s.HistorySkeleton,{}):Ye?n.jsx("p",e.__assign({className:d.default.errorText},{children:Ye})):(null==Ze?void 0:Ze.ruleDescription)?n.jsx(v.default,{changeLog:Ze.ruleDescription.changeLog}):n.jsx("p",e.__assign({className:d.default.noHistoryText},{children:"No override history found"})))]})),fe&&n.jsxs("div",e.__assign({className:d.default.conditionsContainer},{children:[n.jsx(l.default,{type:"apply",conditions:B.whenToApply||"",isOpen:Fe,onToggle:function(){return ke(!Fe)},labelText:G,noConditionsText:Y,showOverrideHistory:Me,isLoadingHistory:ze,historyError:Ye,overrideHistoryData:qn}),n.jsx(l.default,{type:"notApply",conditions:B.whenNotToApply||"",isOpen:He,onToggle:function(){return Pe(!He)},labelText:K,noConditionsText:Y,showOverrideHistory:Me,isLoadingHistory:ze,historyError:Ye,overrideHistoryData:Fn})]})),Te&&kn.length>0&&n.jsxs("div",e.__assign({className:d.default.crossTierBanner},{children:[n.jsx(i.Info,{className:d.default.crossTierBannerIcon}),n.jsxs("span",e.__assign({className:d.default.crossTierBannerText},{children:["Also created in ",kn.join(", "),"."]})),n.jsxs("span",e.__assign({className:d.default.crossTierBannerLink,onClick:Hn,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&Hn()}},{children:["Scroll to view ",En]}))]})),Ie,(B.createdBy||B.createdAt)&&n.jsxs("div",e.__assign({className:d.default.variantFooter},{children:[!0===B.is_user_accepted_risk&&n.jsxs("div",e.__assign({className:d.default.resolveGaps},{children:[n.jsx(i.TriangleAlert,{size:14,color:"#EF4444"}),n.jsx("span",e.__assign({className:d.default.resolveGapsText},{children:le})),xn&&n.jsx("button",e.__assign({onClick:function(){null==H||H(B,q,k,"resolve_gaps")},className:d.default.resolveButton},{children:"Resolve"}))]})),n.jsx("div",e.__assign({className:d.default.variantFooterContent},{children:B.updatedBy||B.updatedAt?n.jsxs(n.Fragment,{children:[B.updatedBy&&n.jsx(u.default,e.__assign({content:B.createdBy?"Created by ".concat(Mn(B.createdBy)):"",contentClassName:c.default.customTooltip,sideOffset:5,placement:"top"},{children:n.jsxs("span",e.__assign({className:d.default.variantFooterItem},{children:["Updated by ",Mn(B.updatedBy)]}))})),B.updatedBy&&B.updatedAt&&n.jsx("span",e.__assign({className:d.default.variantFooterSeparator},{children:"•"})),B.updatedAt&&n.jsx(u.default,e.__assign({content:B.createdAt?"Created at ".concat(Vn(B.createdAt)):"",contentClassName:c.default.customTooltip,sideOffset:5,placement:"top"},{children:n.jsx("span",e.__assign({className:d.default.variantFooterItem},{children:Vn(B.updatedAt)}))}))]}):n.jsxs(n.Fragment,{children:[B.createdBy&&n.jsxs("span",e.__assign({className:d.default.variantFooterItem},{children:["Created by ",Mn(B.createdBy)]})),B.createdBy&&B.createdAt&&n.jsx("span",e.__assign({className:d.default.variantFooterSeparator},{children:"•"})),B.createdAt&&n.jsx("span",e.__assign({className:d.default.variantFooterItem},{children:Vn(B.createdAt)}))]})}))]})),n.jsx(p.default,{isOpen:ln,title:sn?"Disable Learning":"Enable Learning",description:"Are you sure you want to ".concat(sn?"disable":"enable"," learning for this variant in ").concat(L,"?"),warning:sn?"This variant will no longer influence upcoming schedules. You can enable it again anytime.":"This variant will start influencing upcoming schedules again.",confirmText:sn?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:sn?"#DC2626":"#16A34A",onConfirm:function(){return e.__awaiter(void 0,void 0,void 0,function(){var n;return e.__generator(this,function(e){switch(e.label){case 0:an(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),null==Oe?void 0:Oe.email,[4,r.toggleVariant([B.variantId],!sn)];case 2:return e.sent(),null==Se||Se(),[3,5];case 3:return n=e.sent(),console.error("Failed to toggle variant",n),[3,5];case 4:return an(!1),en(!1),dn(!1),[7];case 5:return[2]}})})},onCancel:function(){return dn(!1)},isLoading:tn,position:"fixed"}),n.jsx(_.default,{open:pn.isOpen,mode:pn.mode,onClose:function(){return vn(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})})},onSubmit:function(n){F&&fn.mutate({variantIds:[B.variantId],status:"approve"===pn.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:F,appsecData:gn},{onSuccess:function(){var n;vn(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})}),null==Se||Se(),null===(n=cn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===pn.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===pn.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=cn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(L," — ").concat(E),ruleTitle:L,pendingVariants:[B],isPending:fn.isPending})]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("tslib"),n=require("react/jsx-runtime"),t=require("react"),a=require("date-fns"),i=require("lucide-react"),r=require("../apis/scopeApis.js"),s=require("./HistorySkeleton.js"),o=require("./InheritanceBreadcrumb.js"),l=require("./RuleConditionBlock.js"),d=require("../styles/VariantCard.module.css.js"),c=require("../styles/CustomTooltip.module.css.js"),u=require("../components/CustomTooltip.js"),p=require("../components/ConfirmationModal.js"),v=require("./OverrideTimeline.js"),f=require("../store/useAuthStore.js"),h=require("../store/usePermissionsStore.js"),g=require("./PendingApprovalChip.js"),m=require("./ApprovalActionButton.js"),_=require("./ApprovalLearningDialog.js"),j=require("../queries/useApprovalQueries.js"),x=require("../store/useEnvStore.js"),y=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")};exports.default=function(b){var T,A,C,N,w,I,S,L=b.ruleTitle,B=b.variant,D=b.variantIndex,O=b.totalVariants,q=b.ruleId;b.pendingApprovalCount;var F=b.ruleSetId,k=b.tierName,E=b.displayLabel,H=b.onEdit,P=b.onDelete,V=b.onFetchOverrideHistory,M=b.editButtonLabel,R=void 0===M?"Edit":M,W=b.deleteButtonLabel,z=void 0===W?"Delete":W,U=b.whenToApplyLabel,G=void 0===U?"When to Apply":U,Z=b.whenNotToApplyLabel,K=void 0===Z?"When Not to Apply":Z,Q=b.noConditionsText,Y=void 0===Q?"No conditions":Q,$=b.viewOverrideLabel,J=void 0===$?"View Override History":$,X=b.hideOverrideLabel,ee=void 0===X?"Hide Override History":X,ne=b.enableLearningVariantLabel,te=void 0===ne?"Enable":ne,ae=b.disableLearningVariantLabel,ie=void 0===ae?"Disable":ae,re=b.historyErrorMessage,se=void 0===re?"Failed to load override history.":re,oe=b.resolveGapsLabel,le=void 0===oe?"This learning has some gaps":oe,de=b.showActionsBar,ce=void 0===de||de,ue=b.showDescriptionBox,pe=void 0===ue||ue,ve=b.showConditions,fe=void 0===ve||ve,he=b.showInheritance,ge=void 0===he||he,me=b.defaultApplyOpen,_e=void 0===me||me,je=b.defaultNotApplyOpen,xe=void 0===je||je,ye=b.className,be=b.isHighlighted,Te=void 0!==be&&be,Ae=b.highlightAction,Ce=b.highlightedTierNames,Ne=b.highlightedVariantIds,we=b.headerContent,Ie=b.footerContent,Se=b.onToggleSuccess,Le=b.setDeleteConfirmationUsedFor,Be=b.onCopyToTier,De=b.onSetInitialDraftMessage,Oe=f.default.getState().user,qe=t.useState(_e),Fe=qe[0],ke=qe[1],Ee=t.useState(xe),He=Ee[0],Pe=Ee[1],Ve=t.useState(!1),Me=Ve[0],Re=Ve[1],We=t.useState(!1),ze=We[0],Ue=We[1],Ge=t.useState(null),Ze=Ge[0],Ke=Ge[1],Qe=t.useState(null),Ye=Qe[0],$e=Qe[1],Je=t.useState(!1),Xe=Je[0],en=Je[1],nn=t.useState(!1),tn=nn[0],an=nn[1],rn=t.useRef(null),sn=!1!==B.is_enabled,on=t.useState(!1),ln=on[0],dn=on[1],cn=t.useRef(null),un=t.useState({isOpen:!1,mode:"approve"}),pn=un[0],vn=un[1],fn=j.useApproveOrRejectVariantsMutation(),hn=x.default(function(e){return e.rbacConfig}),gn=hn?{application:hn.applicationId,scopeLevelModuleId:null!==(T=null==hn?void 0:hn.moduleId)&&void 0!==T?T:""}:void 0,mn=h.usePermissionsStore(function(e){return e.hasPermission}),_n=F,jn=B.inheritance&&B.inheritance.length>1,xn=mn("ilotj.rule.variant.edit",_n)||mn(jn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",_n),yn=mn("ilotj.rule.variant.enable",_n)||mn(jn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",_n),bn=mn("ilotj.rule.variant.disable",_n)||mn(jn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",_n),Tn=mn("ilotj.rule.variant.delete",_n),An=mn("ilotj.rule.selfApprove",_n),Cn=mn("ilotj.rule.approve",_n),Nn=mn("ilotj.scope.approve",_n),wn=mn("ilotj.rule.pendingApproval.view",_n),In=mn("ilotj.rule.variant.pendingApproval.edit",_n),Sn=An||Cn||Nn||In,Ln=wn||Sn,Bn="pending_approval"===(null==B?void 0:B.approvalStatus),Dn="rejected"===(null==B?void 0:B.approvalStatus),On=Sn&&Bn;t.useEffect(function(){var e=function(e){rn.current&&!rn.current.contains(e.target)&&en(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var qn=(null===(A=null==Ze?void 0:Ze.wta)||void 0===A?void 0:A.changeLog)||[],Fn=(null===(C=null==Ze?void 0:Ze.wnta)||void 0===C?void 0:C.changeLog)||[],kn=Te&&Ce&&k?Ce.filter(function(e){return e!==k}):[],En=kn.length>0&&k?kn.every(function(e){return e>k})?"↓":"↑":"↓",Hn=function(){if(Ne)for(var e=Array.from(Ne),n=0;n<e.length;n++)if(e[n]!==B.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},Pn=function(e,n){e.stopPropagation(),vn({isOpen:!0,mode:n})},Vn=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=a.parseISO(n);return a.isValid(t)?a.format(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},Mn=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return n.jsxs("div",e.__assign({className:y(d.default.variantCard,Te&&d.default.variantHighlight,ye),"data-variant-id":B.variantId},{children:[n.jsxs("div",e.__assign({className:d.default.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[n.jsxs("div",e.__assign({className:d.default.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[n.jsx("span",e.__assign({className:d.default.variantLabel},{children:"Default"===B.variantType&&"Default"!==E?"Default | ".concat(E):E})),Te&&Ae&&n.jsx("span",e.__assign({className:y(d.default.actionChip,"new"===Ae?d.default.actionChipNew:d.default.actionChipUpdated)},{children:"new"===Ae?"Created":"Updated"})),(null==B?void 0:B.isOverridden)&&n.jsx(u.default,e.__assign({content:"Inherited from the ".concat((null===(N=B.inheritance)||void 0===N?void 0:N[(null===(w=B.inheritance)||void 0===w?void 0:w.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:c.default.customTooltip,sideOffset:5},{children:n.jsx("span",e.__assign({className:d.default.overriddenTag},{children:"Overridden"}))})),Ln&&Bn&&n.jsx(g.default,{}),Dn&&n.jsx("span",e.__assign({style:{backgroundColor:"#FEF2F2",color:"#EF4444",border:"1px solid #FECACA",padding:"2px 8px",borderRadius:"9999px",fontSize:"0.75rem",fontWeight:500,display:"inline-flex",alignItems:"center"}},{children:"Rejected"})),!sn&&n.jsx("span",e.__assign({className:d.default.learningDisabledPill},{children:"Disabled"})),ge&&1!==O&&0!==D&&n.jsx("div",e.__assign({className:d.default.inheritanceSection},{children:n.jsx(o.default,{inheritance:B.inheritance||[]})}))]})),ce&&n.jsxs("div",e.__assign({className:d.default.variantActions},{children:[On&&n.jsxs(n.Fragment,{children:[n.jsx(m.default,{variant:"approve",text:"Approve",onClick:function(e){return Pn(e,"approve")}}),n.jsx(m.default,{variant:"reject",text:"Reject",onClick:function(e){return Pn(e,"reject")}})]}),H&&xn&&n.jsx("button",e.__assign({className:d.default.editButton,onClick:function(){null==H||H(B,q,k,"edit")}},{children:R})),P&&Tn&&"Default"!==B.variantType&&n.jsx("button",e.__assign({className:d.default.deleteButton,onClick:function(){null==Le||Le("variantDeletion"),null==P||P(B.variantId,q)}},{children:z})),n.jsxs("div",e.__assign({className:d.default.menuWrapper,ref:rn},{children:[n.jsx("button",e.__assign({onClick:function(){return en(!Xe)},className:"".concat(d.default.menuTrigger," ").concat(Xe?d.default.menuTriggerActive:"")},{children:n.jsx(i.MoreVertical,{size:16})})),Xe&&n.jsxs("div",e.__assign({className:d.default.menuDropdown},{children:[(sn&&bn||!sn&&yn)&&n.jsxs("button",e.__assign({onClick:function(){return e.__awaiter(void 0,void 0,void 0,function(){return e.__generator(this,function(e){return en(!1),dn(!0),[2]})})},disabled:tn,className:"".concat(d.default.menuItem," ").concat(tn?d.default.menuItemDisabled:"")},{children:[sn?n.jsx(i.Pause,{size:14}):n.jsx(i.Play,{size:14}),sn?ie:te]})),k&&n.jsxs("button",e.__assign({onClick:function(){var e="Tier 1"===k?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(L,"\nLearning Description: ").concat(B.description,"\nWhen to apply: ").concat(B.whenToApply,"\nWhen not to apply: ").concat(B.whenNotToApply);null==De||De(n),en(!1),null==Be||Be(B,q,L||"",k,e)},className:d.default.menuItem},{children:[n.jsx(i.Copy,{size:14}),"Copy to ","Tier 1"===k?"Tier 2":"Tier 1"]})),V&&(null!==(S=null===(I=B.inheritance)||void 0===I?void 0:I.length)&&void 0!==S?S:0)>1&&n.jsxs("button",e.__assign({onClick:function(){en(!1),e.__awaiter(void 0,void 0,void 0,function(){var n;return e.__generator(this,function(e){switch(e.label){case 0:if(Me)return Re(!1),[2];if(Re(!0),!V)return[2];Ue(!0),$e(null),e.label=1;case 1:return e.trys.push([1,3,4,5]),[4,V(q,B.variantId)];case 2:return n=e.sent(),Ke(n),[3,5];case 3:return e.sent(),$e(se),[3,5];case 4:return Ue(!1),[7];case 5:return[2]}})})},className:d.default.menuItem},{children:[n.jsx(i.Eye,{size:14}),Me?ee:J]}))]}))]}))]}))]})),we,pe&&B.description&&n.jsxs("div",e.__assign({className:d.default.descriptionBox},{children:[n.jsx("p",e.__assign({className:d.default.descriptionText},{children:B.description})),Me&&(ze?n.jsx(s.HistorySkeleton,{}):Ye?n.jsx("p",e.__assign({className:d.default.errorText},{children:Ye})):(null==Ze?void 0:Ze.ruleDescription)?n.jsx(v.default,{changeLog:Ze.ruleDescription.changeLog}):n.jsx("p",e.__assign({className:d.default.noHistoryText},{children:"No override history found"})))]})),fe&&n.jsxs("div",e.__assign({className:d.default.conditionsContainer},{children:[n.jsx(l.default,{type:"apply",conditions:B.whenToApply||"",isOpen:Fe,onToggle:function(){return ke(!Fe)},labelText:G,noConditionsText:Y,showOverrideHistory:Me,isLoadingHistory:ze,historyError:Ye,overrideHistoryData:qn}),n.jsx(l.default,{type:"notApply",conditions:B.whenNotToApply||"",isOpen:He,onToggle:function(){return Pe(!He)},labelText:K,noConditionsText:Y,showOverrideHistory:Me,isLoadingHistory:ze,historyError:Ye,overrideHistoryData:Fn})]})),Te&&kn.length>0&&n.jsxs("div",e.__assign({className:d.default.crossTierBanner},{children:[n.jsx(i.Info,{className:d.default.crossTierBannerIcon}),n.jsxs("span",e.__assign({className:d.default.crossTierBannerText},{children:["Also created in ",kn.join(", "),"."]})),n.jsxs("span",e.__assign({className:d.default.crossTierBannerLink,onClick:Hn,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&Hn()}},{children:["Scroll to view ",En]}))]})),Ie,(B.createdBy||B.createdAt)&&n.jsxs("div",e.__assign({className:d.default.variantFooter},{children:[!0===B.is_user_accepted_risk&&n.jsxs("div",e.__assign({className:d.default.resolveGaps},{children:[n.jsx(i.TriangleAlert,{size:14,color:"#EF4444"}),n.jsx("span",e.__assign({className:d.default.resolveGapsText},{children:le})),xn&&n.jsx("button",e.__assign({onClick:function(){null==H||H(B,q,k,"resolve_gaps")},className:d.default.resolveButton},{children:"Resolve"}))]})),n.jsx("div",e.__assign({className:d.default.variantFooterContent},{children:B.updatedBy||B.updatedAt?n.jsxs(n.Fragment,{children:[B.updatedBy&&n.jsx(u.default,e.__assign({content:B.createdBy?"Created by ".concat(Mn(B.createdBy)):"",contentClassName:c.default.customTooltip,sideOffset:5,placement:"top"},{children:n.jsxs("span",e.__assign({className:d.default.variantFooterItem},{children:["Updated by ",Mn(B.updatedBy)]}))})),B.updatedBy&&B.updatedAt&&n.jsx("span",e.__assign({className:d.default.variantFooterSeparator},{children:"•"})),B.updatedAt&&n.jsx(u.default,e.__assign({content:B.createdAt?"Created at ".concat(Vn(B.createdAt)):"",contentClassName:c.default.customTooltip,sideOffset:5,placement:"top"},{children:n.jsx("span",e.__assign({className:d.default.variantFooterItem},{children:Vn(B.updatedAt)}))}))]}):n.jsxs(n.Fragment,{children:[B.createdBy&&n.jsxs("span",e.__assign({className:d.default.variantFooterItem},{children:["Created by ",Mn(B.createdBy)]})),B.createdBy&&B.createdAt&&n.jsx("span",e.__assign({className:d.default.variantFooterSeparator},{children:"•"})),B.createdAt&&n.jsx("span",e.__assign({className:d.default.variantFooterItem},{children:Vn(B.createdAt)}))]})}))]})),n.jsx(p.default,{isOpen:ln,title:sn?"Disable Learning":"Enable Learning",description:"Are you sure you want to ".concat(sn?"disable":"enable"," learning for this variant in ").concat(L,"?"),warning:sn?"This variant will no longer influence upcoming schedules. You can enable it again anytime.":"This variant will start influencing upcoming schedules again.",confirmText:sn?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:sn?"#DC2626":"#16A34A",onConfirm:function(){return e.__awaiter(void 0,void 0,void 0,function(){var n;return e.__generator(this,function(e){switch(e.label){case 0:an(!0),e.label=1;case 1:return e.trys.push([1,3,4,5]),null==Oe?void 0:Oe.email,[4,r.toggleVariant([B.variantId],!sn)];case 2:return e.sent(),null==Se||Se(),[3,5];case 3:return n=e.sent(),console.error("Failed to toggle variant",n),[3,5];case 4:return an(!1),en(!1),dn(!1),[7];case 5:return[2]}})})},onCancel:function(){return dn(!1)},isLoading:tn,position:"fixed"}),n.jsx(_.default,{open:pn.isOpen,mode:pn.mode,onClose:function(){return vn(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})})},onSubmit:function(n){F&&fn.mutate({variantIds:[B.variantId],status:"approve"===pn.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:F,appsecData:gn},{onSuccess:function(){var n;vn(function(n){return e.__assign(e.__assign({},n),{isOpen:!1})}),null==Se||Se(),null===(n=cn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===pn.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===pn.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=cn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(L," — ").concat(E),ruleTitle:L,pendingVariants:[B],isPending:fn.isPending})]}))};
2
2
  //# sourceMappingURL=VariantCard.js.map
@@ -1,2 +1,2 @@
1
- import{__spreadArray as e,__assign as t,__awaiter as n,__generator as r}from"tslib";import{jsx as o,jsxs as s,Fragment as i}from"react/jsx-runtime";import{useState as a,useRef as l,useEffect as c}from"react";import{BookOpen as u,Users as d}from"lucide-react";import{useLearningTemplateStore as p}from"./store/useLearningTemplateStore.js";import{Toast as m}from"primereact/toast";import f from"./styles/LearningTemplateManagement.module.css.js";import v from"./LearningTemplateLayout.js";import h from"./components/EmptyLearningState.js";import g from"./store/useAuthStore.js";import{fetchTiers as y,fetchScopes as S,inheritScope as b,inheritScopeBackwardCompatible as C,createRuleSet as T,renameScope as E,deleteRuleSet as O,requestAccess as w}from"./apis/scopeApis.js";import{QUERY_PARAM_KEYS as A,setQueryParams as I}from"./hooks/useLearningTemplateQueryParams.js";import L from"./components/ConfirmationModal.js";import R from"./components/LearningTemplateManagementSkeleton.js";import{findNodePathById as j}from"./utils/treeUtils.js";import N from"./store/useEnvStore.js";import{useConfigStore as k}from"./store/useConfigStore.js";import{TooltipProvider as D}from"./components/ToolTip.js";import _ from"./components/CreateRuleSetLegacyModal.js";import{usePermissionsStore as P}from"./store/usePermissionsStore.js";import{useAppSecRolesStore as U}from"./store/useAppSecRolesStore.js";import{useGetAppSecRolesQuery as G}from"./queries/useApprovalQueries.js";import M from"./RuleContent/AddScopeModal.js";import{useLocation as B}from"react-router-dom";import F from"./shared/SuccessToastContent.js";import q from"./shared/ErrorToastContent.js";import x from"./RuleContent/RenameScopeModal.js";var Q=[{id:"learnings",label:"Learnings",icon:u,badgeKey:"learningsCount"},{id:"access",label:"Access",icon:d}],z=new Set(Q.map(function(e){return e.id}));function H(u){var d,H=this,K=u.userDetails,V=u.llmStudioUrl,W=u.audacyBackendUrl,Y=u.ilLabels,J=u.config,X=u.rbacConfig,Z=u.app_integration_id,$=u.backwardCompatibility,ee=void 0!==$&&$,te=p(function(e){return e.selectedRuleSetId}),ne=p(function(e){return e.setSelectedRuleSetId}),re=p(function(e){return e.error}),oe=p(function(e){return e.setError}),se=p(function(e){return e.setStations}),ie=p(function(e){return e.scopeTreeData}),ae=p(function(e){return e.setScopeTreeData}),le=a({isOpen:!1,type:"GLOBAL"}),ce=le[0],ue=le[1],de=a(!1),pe=de[0],me=de[1],fe=a(!1),ve=fe[0],he=fe[1],ge=a("learnings"),ye=ge[0],Se=ge[1],be=a(null),Ce=be[0],Te=be[1],Ee=a(null),Oe=Ee[0],we=Ee[1],Ae=l(null),Ie=l(null),Le=l(null),Re=g();Re.user;var je=Re.setUser,Ne=k(),ke=Ne.setConfig,De=Ne.setIlLabels,_e=e([{type:"GLOBAL",label:"Global",addChildLabel:"Add Scope",addChildType:"SCOPE"},t({type:"SCOPE",label:"Scope"},!ee&&{addChildLabel:"Add Subscope",addChildType:"SUBSCOPE"})],ee?[]:[{type:"SUBSCOPE",label:"Subscope"}],!0),Pe=function(){try{return B()}catch(e){return{search:""}}}();c(function(){var e=new URLSearchParams(window.location.search),t=e.get(A.RULESET_ID),n=e.get(A.SECTION),r=n&&z.has(n)?n:"learnings";(null==t?void 0:t.length)&&ne&&Se&&(ne(t),Se(r))},[null==Pe?void 0:Pe.search,Se,ne]);var Ue=P(function(e){return e.fetchPermissions}),Ge=P(function(e){return e.hasPermission}),Me=U(function(e){return e.setRoles}),Be=N(function(e){return e.appsecRbacUrl})===X.appsecRbacUrl,Fe=G(X.applicationId,Be).data;c(function(){Fe&&Me(Fe.map(function(e){return{_id:e._id,name:e.name}}))},[Fe,Me]),c(function(){var e;console.log("userDetails",K),je(K),console.log("llmStudioUrl",V),console.log("audacyBackendUrl",W),N.getState().setLlmStudioUrl(V),N.getState().setAudacyBackendUrl(W),N.getState().setRbacConfig(X),ke(J),De(Y),p.getState().setAppIntegrationId(null!=Z?Z:null),p.getState().setBackwardCompatibility(ee),p.getState().setToken(null!==(e=K.accessToken)&&void 0!==e?e:null)},[K,je,V,W,X,J,ke,Y,De,Z,ee]),c(function(){(null==K?void 0:K.accessToken)&&V&&y()},[Z,null==K?void 0:K.accessToken,V]);var qe=function(e){return void 0===e&&(e=!0),n(H,void 0,void 0,function(){var n,o,s,i,a,l;return r(this,function(r){switch(r.label){case 0:e&&me(!0),oe(null),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,Ue(X.applicationId)];case 2:return r.sent(),n=function(e){if(!P.getState().hasPermission("ilotj.scope.view",e.id))return null;var r=e.children?e.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return t(t({},e),{children:r})},[4,S(Z,K.accessToken)];case 3:return(o=r.sent())&&o.data&&o.data.data&&(s=o.data.data,Array.isArray(s)&&(s=s.length>0?s[0]:null),s?(i=n(s))?(Te(null),ae({data:i}),Ie.current?(ne(Ie.current),Se("learnings"),Ie.current=null):p.getState().selectedRuleSetId||ne(i.id)):(Te(null!==(l=s.id)&&void 0!==l?l:null),ae(null)):(Te(null),ae(null))),[3,6];case 4:return a=r.sent(),console.error("Failed to fetch rule sets or permissions",a),oe("Failed to load data. Please try again later."),[3,6];case 5:return me(!1),[7];case 6:return[2]}})})};c(function(){var e;(null===(e=null==K?void 0:K.accessToken)||void 0===e?void 0:e.length)&&Be?qe(!0):console.warn("Error: Trying to fetch rules without access token",K)},[null==K?void 0:K.accessToken,oe,se,X.applicationId,Be]);var xe=function(e){return n(H,void 0,void 0,function(){var n,s,i,a;return r(this,function(r){switch(r.label){case 0:he(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),ce.scopeId?[4,E({scope_id:ce.scopeId,scope_name:e})]:[2];case 2:return r.sent(),[4,qe(!0)];case 3:return r.sent(),ue(function(e){return t(t({},e),{isOpen:!1})}),[3,6];case 4:throw n=r.sent(),console.error("An error occurred during scope rename.",n),null===(s=Le.current)||void 0===s||s.show({severity:"error",sticky:!1,className:f.errorToast,content:o(q,{message:(null===(a=null===(i=null==n?void 0:n.response)||void 0===i?void 0:i.data)||void 0===a?void 0:a.message)||"There was an error renaming the scope. Please try again."})}),n;case 5:return he(!1),[7];case 6:return[2]}})})},Qe=function(e,o,s){return n(H,void 0,void 0,function(){var n,o,s,i,a,l,c,u;return r(this,function(r){switch(r.label){case 0:he(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,O(e,K.accessToken)];case 2:return r.sent(),p.getState().selectedRuleSetId===e&&(n=p.getState().scopeTreeData,(o=j((null==n?void 0:n.data)||null,e))&&o.length>1&&(s=o[o.length-2],ne(s),Se("learnings"))),[4,qe(!0)];case 3:return r.sent(),ue(function(e){return t(t({},e),{isOpen:!1})}),null===(a=Le.current)||void 0===a||a.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return i=r.sent(),console.error("An error occurred during scope deletion.",i),null===(l=Le.current)||void 0===l||l.show({severity:"error",summary:"Delete Failed",detail:(null===(u=null===(c=null==i?void 0:i.response)||void 0===c?void 0:c.data)||void 0===u?void 0:u.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return he(!1),[7];case 6:return[2]}})})},ze=ie,He=Oe?{data:{id:Oe.stationId,name:Oe.stationName,type:"STATION",metrics:{learningsCount:Oe.learningsCount,stationsCount:0},children:[]}}:ze,Ke=!!(null==He?void 0:He.data);null===(d=null==He?void 0:He.data)||void 0===d||d.type;var Ve=P(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",X.applicationResourceId||""),We=(Oe?Q.filter(function(e){return"stations"!==e.id}):Q).filter(function(e){return!(!ee&&"access"===e.id)});return o(D,{children:s("div",t({className:f.learningManagementContainer},{children:[o("div",t({className:f.mainWrapper},{children:pe?o(R,{}):re?s("div",t({className:f.errorContainer},{children:[o("div",t({className:f.errorTitle},{children:"Error Loading Data"})),o("p",t({className:f.errorDesc},{children:re})),o("button",t({onClick:function(){return qe(!0)},className:f.tryAgainBtn},{children:"Try Again"}))]})):Ke?o(v,{onOpenCreateModal:function(){return ue({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return ue({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return ue({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(e,t,o){return n(H,void 0,void 0,function(){var n,s,i;return r(this,function(r){switch(r.label){case 0:return n=p.getState().scopeTreeData,s=j((null==n?void 0:n.data)||null,e),i=!!s&&3===s.length,0!==o?[3,2]:[4,Qe(e)];case 1:return r.sent(),[3,3];case 2:ue({isOpen:!0,type:"DELETE",scopeId:e,initialName:t,isSubscope:i}),r.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return Ge("ilotj.scope.delete",e)},canEditScope:function(e){return Ge("ilotj.scope.edit",e)},canCreateScope:function(e){return Ge("ilotj.scope.create",e)},onSectionSelect:function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),I(((n={})[A.SECTION]="learnings"===t?null:t,n)),Se(t),ne(e)},activeSectionId:ye,scopeTreeData:He,sectionsConfig:We,onViewStation:function(e){Ae.current=te,we(e),Se("learnings"),ne(e.stationId)},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(Ie.current=t),qe(e)},nodeTypesConfig:_e,app_integration_id:Z,token:K.accessToken}):o(h,{onCreate:function(){return ue({isOpen:!0,type:"GLOBAL"})},title:"No Global Scope has been added!",desc:"Start by creating a Global scope to define base learnings that apply across all stations.",button:"Create Global Scope",canCreateRule:Ve,noAccessTitle:"Access Restricted",noAccessDesc:"You do not have access to create a Global scope for this application.",onRequestAccess:function(){return n(H,void 0,void 0,function(){var e,t,n,s,i,a,l,c,u;return r(this,function(r){switch(r.label){case 0:if(!(e=(null===(s=null===(n=p.getState().scopeTreeData)||void 0===n?void 0:n.data)||void 0===s?void 0:s.id)||Ce))return null===(i=Le.current)||void 0===i||i.show({severity:"error",sticky:!1,className:f.errorToast,content:o(q,{message:"Unable to identify the global scope for this access request."})}),[2];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,w(e)];case 2:return r.sent(),null===(a=Le.current)||void 0===a||a.show({severity:"success",sticky:!1,life:3e3,className:f.successToast,content:o(F,{message:"Access request submitted successfully!"})}),[3,4];case 3:return t=r.sent(),null===(l=Le.current)||void 0===l||l.show({severity:"error",sticky:!1,className:f.errorToast,content:o(q,{message:(null===(u=null===(c=null==t?void 0:t.response)||void 0===c?void 0:c.data)||void 0===u?void 0:u.detail)||"Failed to request access. Please try again."})}),[3,4];case 4:return[2]}})})}})})),o(m,{ref:Le,pt:{root:{style:{zIndex:9999}}}}),ee&&ce.isOpen&&"DELETE"!==ce.type&&"RENAME"!==ce.type?o(_,{isOpen:!0,onClose:function(){return ue(t(t({},ce),{isOpen:!1}))},onSubmit:function(e){return n(H,void 0,void 0,function(){var n,o,s,i,a,l,c,u,d,m,f,v,h,g,y,S,E,O,w,A;return r(this,function(r){switch(r.label){case 0:he(!0),n=p.getState().backwardCompatibility,r.label=1;case 1:return r.trys.push([1,12,13,14]),o=void 0,n&&"object"==typeof e?o=e:(s=e,i="SCOPE"===ce.type&&ce.parentId,a=i?"genreRuleSet":ce.type,o={topic:a,scope_reference_id:null,scopeDescription:"demo",parentScopeId:ce.parentId||null,scopeName:s,scopeReferenceMetadata:{},applicationMappingId:Z}),[4,T(o,K.accessToken)];case 2:if(l=r.sent(),!(c=null===(g=null==l?void 0:l.data)||void 0===g?void 0:g.scopeId))return[3,10];if(Ie.current=c,u=n&&(null===(y=o.topic)||void 0===y?void 0:y.toLowerCase().includes("genre")),d=!n&&"GLOBAL"!==ce.type&&ce.parentId,!u&&!d)return[3,10];if(!(m=n?null===(E=null===(S=p.getState().scopeTreeData)||void 0===S?void 0:S.data)||void 0===E?void 0:E.id:ce.parentId))return[3,10];if(!ee)return[3,7];r.label=3;case 3:return r.trys.push([3,5,,6]),[4,C({source_scope_id:m,target_scope_id:c})];case 4:return r.sent(),[3,6];case 5:return f=r.sent(),console.error("Failed to inherit rules for the new scope:",f),[3,6];case 6:return[3,10];case 7:return r.trys.push([7,9,,10]),[4,b({source_scope_id:m,target_scope_id:c,application_mapping_id:Z||"",is_copy_parent_variant_id:!1})];case 8:return r.sent(),[3,10];case 9:return v=r.sent(),console.error("Failed to inherit rules for the new scope:",v),[3,10];case 10:return[4,qe(!0)];case 11:return r.sent(),ue(function(e){return t(t({},e),{isOpen:!1})}),[3,14];case 12:throw h=r.sent(),console.error("An error occurred during scope creation.",h),null===(O=Le.current)||void 0===O||O.show({severity:"error",summary:"Creation Failed",detail:(null===(A=null===(w=null==h?void 0:h.response)||void 0===w?void 0:w.data)||void 0===A?void 0:A.message)||"There was an error creating the scope. Please try again."}),h;case 13:return he(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Ke,canCreateGlobal:Ve}):s(i,{children:[o(M,{isOpen:ce.isOpen&&"DELETE"!==ce.type&&"RENAME"!==ce.type,onClose:function(){return ue(t(t({},ce),{isOpen:!1}))},onCreate:function(e){return xe(null!=e?e:"")},hasGlobalRuleSet:Ke}),o(x,{isOpen:ce.isOpen&&"RENAME"===ce.type,onClose:function(){return ue(t(t({},ce),{isOpen:!1}))},onSave:xe,initialName:ce.initialName})]}),o(L,{isOpen:ce.isOpen&&"DELETE"===ce.type,onCancel:function(){return ue(t(t({},ce),{isOpen:!1}))},onConfirm:function(){return Qe(ce.scopeId,ce.initialName,ce.isSubscope)},title:"Delete Scope",description:s(i,{children:["Deleting ",o("span",t({className:f.highlight},{children:ce.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:ve})]}))})}export{H as default};
1
+ import{__spreadArray as e,__assign as t,__awaiter as n,__generator as r}from"tslib";import{jsx as o,jsxs as s,Fragment as i}from"react/jsx-runtime";import{useState as a,useRef as l,useEffect as c}from"react";import{BookOpen as u,Users as d,History as p}from"lucide-react";import{useLearningTemplateStore as m}from"./store/useLearningTemplateStore.js";import{Toast as f}from"primereact/toast";import v from"./styles/LearningTemplateManagement.module.css.js";import h from"./LearningTemplateLayout.js";import g from"./components/EmptyLearningState.js";import y from"./store/useAuthStore.js";import{fetchTiers as S,fetchScopes as b,inheritScope as C,inheritScopeBackwardCompatible as T,createRuleSet as E,renameScope as O,deleteRuleSet as w,requestAccess as A}from"./apis/scopeApis.js";import{QUERY_PARAM_KEYS as I,setQueryParams as L}from"./hooks/useLearningTemplateQueryParams.js";import R from"./components/ConfirmationModal.js";import j from"./components/LearningTemplateManagementSkeleton.js";import{findNodePathById as N}from"./utils/treeUtils.js";import k from"./store/useEnvStore.js";import{useConfigStore as D}from"./store/useConfigStore.js";import{TooltipProvider as _}from"./components/ToolTip.js";import P from"./components/CreateRuleSetLegacyModal.js";import{usePermissionsStore as U}from"./store/usePermissionsStore.js";import{useAppSecRolesStore as G}from"./store/useAppSecRolesStore.js";import{useGetAppSecRolesQuery as M}from"./queries/useApprovalQueries.js";import B from"./RuleContent/AddScopeModal.js";import{useLocation as F}from"react-router-dom";import q from"./shared/SuccessToastContent.js";import x from"./shared/ErrorToastContent.js";import H from"./RuleContent/RenameScopeModal.js";var Q=[{id:"learnings",label:"Learnings",icon:u,badgeKey:"learningsCount"},{id:"access",label:"Access",icon:d},{id:"history",label:"Change History",icon:p}],z=new Set(Q.map(function(e){return e.id}));function K(u){var d,p=this,K=u.userDetails,V=u.llmStudioUrl,W=u.audacyBackendUrl,Y=u.ilLabels,J=u.config,X=u.rbacConfig,Z=u.app_integration_id,$=u.backwardCompatibility,ee=void 0!==$&&$,te=m(function(e){return e.selectedRuleSetId}),ne=m(function(e){return e.setSelectedRuleSetId}),re=m(function(e){return e.error}),oe=m(function(e){return e.setError}),se=m(function(e){return e.setStations}),ie=m(function(e){return e.scopeTreeData}),ae=m(function(e){return e.setScopeTreeData}),le=a({isOpen:!1,type:"GLOBAL"}),ce=le[0],ue=le[1],de=a(!1),pe=de[0],me=de[1],fe=a(!1),ve=fe[0],he=fe[1],ge=a("learnings"),ye=ge[0],Se=ge[1],be=a(null),Ce=be[0],Te=be[1],Ee=a(null),Oe=Ee[0],we=Ee[1],Ae=l(null),Ie=l(null),Le=l(null),Re=y();Re.user;var je=Re.setUser,Ne=D(),ke=Ne.setConfig,De=Ne.setIlLabels,_e=e([{type:"GLOBAL",label:"Global",addChildLabel:"Add Scope",addChildType:"SCOPE"},t({type:"SCOPE",label:"Scope"},!ee&&{addChildLabel:"Add Subscope",addChildType:"SUBSCOPE"})],ee?[]:[{type:"SUBSCOPE",label:"Subscope"}],!0),Pe=function(){try{return F()}catch(e){return{search:""}}}();c(function(){var e=new URLSearchParams(window.location.search),t=e.get(I.RULESET_ID),n=e.get(I.SECTION),r=n&&z.has(n)?n:"learnings";(null==t?void 0:t.length)&&ne&&Se&&(ne(t),Se(r))},[null==Pe?void 0:Pe.search,Se,ne]);var Ue=U(function(e){return e.fetchPermissions}),Ge=U(function(e){return e.hasPermission}),Me=G(function(e){return e.setRoles}),Be=k(function(e){return e.appsecRbacUrl})===X.appsecRbacUrl,Fe=M(X.applicationId,Be).data;c(function(){Fe&&Me(Fe.map(function(e){return{_id:e._id,name:e.name}}))},[Fe,Me]),c(function(){var e;console.log("userDetails",K),je(K),console.log("llmStudioUrl",V),console.log("audacyBackendUrl",W),k.getState().setLlmStudioUrl(V),k.getState().setAudacyBackendUrl(W),k.getState().setRbacConfig(X),ke(J),De(Y),m.getState().setAppIntegrationId(null!=Z?Z:null),m.getState().setBackwardCompatibility(ee),m.getState().setToken(null!==(e=K.accessToken)&&void 0!==e?e:null)},[K,je,V,W,X,J,ke,Y,De,Z,ee]),c(function(){(null==K?void 0:K.accessToken)&&V&&S()},[Z,null==K?void 0:K.accessToken,V]);var qe=function(e){return void 0===e&&(e=!0),n(p,void 0,void 0,function(){var n,o,s,i,a,l;return r(this,function(r){switch(r.label){case 0:e&&me(!0),oe(null),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,Ue(X.applicationId)];case 2:return r.sent(),n=function(e){if(!U.getState().hasPermission("ilotj.scope.view",e.id))return null;var r=e.children?e.children.map(function(e){return n(e)}).filter(function(e){return null!==e}):[];return t(t({},e),{children:r})},[4,b(Z,K.accessToken)];case 3:return(o=r.sent())&&o.data&&o.data.data&&(s=o.data.data,Array.isArray(s)&&(s=s.length>0?s[0]:null),s?(i=n(s))?(Te(null),ae({data:i}),Ie.current?(ne(Ie.current),Se("learnings"),Ie.current=null):m.getState().selectedRuleSetId||ne(i.id)):(Te(null!==(l=s.id)&&void 0!==l?l:null),ae(null)):(Te(null),ae(null))),[3,6];case 4:return a=r.sent(),console.error("Failed to fetch rule sets or permissions",a),oe("Failed to load data. Please try again later."),[3,6];case 5:return me(!1),[7];case 6:return[2]}})})};c(function(){var e;(null===(e=null==K?void 0:K.accessToken)||void 0===e?void 0:e.length)&&Be?qe(!0):console.warn("Error: Trying to fetch rules without access token",K)},[null==K?void 0:K.accessToken,oe,se,X.applicationId,Be]);var xe=function(e){return n(p,void 0,void 0,function(){var n,s,i,a;return r(this,function(r){switch(r.label){case 0:he(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),ce.scopeId?[4,O({scope_id:ce.scopeId,scope_name:e})]:[2];case 2:return r.sent(),[4,qe(!0)];case 3:return r.sent(),ue(function(e){return t(t({},e),{isOpen:!1})}),[3,6];case 4:throw n=r.sent(),console.error("An error occurred during scope rename.",n),null===(s=Le.current)||void 0===s||s.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:(null===(a=null===(i=null==n?void 0:n.response)||void 0===i?void 0:i.data)||void 0===a?void 0:a.message)||"There was an error renaming the scope. Please try again."})}),n;case 5:return he(!1),[7];case 6:return[2]}})})},He=function(e,o,s){return n(p,void 0,void 0,function(){var n,o,s,i,a,l,c,u;return r(this,function(r){switch(r.label){case 0:he(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,w(e,K.accessToken)];case 2:return r.sent(),m.getState().selectedRuleSetId===e&&(n=m.getState().scopeTreeData,(o=N((null==n?void 0:n.data)||null,e))&&o.length>1&&(s=o[o.length-2],ne(s),Se("learnings"))),[4,qe(!0)];case 3:return r.sent(),ue(function(e){return t(t({},e),{isOpen:!1})}),null===(a=Le.current)||void 0===a||a.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return i=r.sent(),console.error("An error occurred during scope deletion.",i),null===(l=Le.current)||void 0===l||l.show({severity:"error",summary:"Delete Failed",detail:(null===(u=null===(c=null==i?void 0:i.response)||void 0===c?void 0:c.data)||void 0===u?void 0:u.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return he(!1),[7];case 6:return[2]}})})},Qe=ie,ze=Oe?{data:{id:Oe.stationId,name:Oe.stationName,type:"STATION",metrics:{learningsCount:Oe.learningsCount,stationsCount:0},children:[]}}:Qe,Ke=!!(null==ze?void 0:ze.data);null===(d=null==ze?void 0:ze.data)||void 0===d||d.type;var Ve=U(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",X.applicationResourceId||""),We=(Oe?Q.filter(function(e){return"stations"!==e.id}):Q).filter(function(e){return!(!ee&&"access"===e.id)});return o(_,{children:s("div",t({className:v.learningManagementContainer},{children:[o("div",t({className:v.mainWrapper},{children:pe?o(j,{}):re?s("div",t({className:v.errorContainer},{children:[o("div",t({className:v.errorTitle},{children:"Error Loading Data"})),o("p",t({className:v.errorDesc},{children:re})),o("button",t({onClick:function(){return qe(!0)},className:v.tryAgainBtn},{children:"Try Again"}))]})):Ke?o(h,{onOpenCreateModal:function(){return ue({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,t,n){return ue({isOpen:!0,type:t,parentId:e,parentName:n})},onRenameChild:function(e,t){return ue({isOpen:!0,type:"RENAME",scopeId:e,initialName:t})},onDeleteChild:function(e,t,o){return n(p,void 0,void 0,function(){var n,s,i;return r(this,function(r){switch(r.label){case 0:return n=m.getState().scopeTreeData,s=N((null==n?void 0:n.data)||null,e),i=!!s&&3===s.length,0!==o?[3,2]:[4,He(e)];case 1:return r.sent(),[3,3];case 2:ue({isOpen:!0,type:"DELETE",scopeId:e,initialName:t,isSubscope:i}),r.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return Ge("ilotj.scope.delete",e)},canEditScope:function(e){return Ge("ilotj.scope.edit",e)},canCreateScope:function(e){return Ge("ilotj.scope.create",e)},onSectionSelect:function(e,t){var n;console.log("Section Selected:",{scopeId:e,sectionId:t}),L(((n={})[I.SECTION]="learnings"===t?null:t,n)),Se(t),ne(e)},activeSectionId:ye,scopeTreeData:ze,sectionsConfig:We,onViewStation:function(e){Ae.current=te,we(e),Se("learnings"),ne(e.stationId)},onRefreshRuleSets:function(e,t){void 0===e&&(e=!0),t&&(Ie.current=t),qe(e)},nodeTypesConfig:_e,app_integration_id:Z,token:K.accessToken}):o(g,{onCreate:function(){return ue({isOpen:!0,type:"GLOBAL"})},title:"No Global Scope has been added!",desc:"Start by creating a Global scope to define base learnings that apply across all stations.",button:"Create Global Scope",canCreateRule:Ve,noAccessTitle:"Access Restricted",noAccessDesc:"You do not have access to create a Global scope for this application.",onRequestAccess:function(){return n(p,void 0,void 0,function(){var e,t,n,s,i,a,l,c,u;return r(this,function(r){switch(r.label){case 0:if(!(e=(null===(s=null===(n=m.getState().scopeTreeData)||void 0===n?void 0:n.data)||void 0===s?void 0:s.id)||Ce))return null===(i=Le.current)||void 0===i||i.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:"Unable to identify the global scope for this access request."})}),[2];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,A(e)];case 2:return r.sent(),null===(a=Le.current)||void 0===a||a.show({severity:"success",sticky:!1,life:3e3,className:v.successToast,content:o(q,{message:"Access request submitted successfully!"})}),[3,4];case 3:return t=r.sent(),null===(l=Le.current)||void 0===l||l.show({severity:"error",sticky:!1,className:v.errorToast,content:o(x,{message:(null===(u=null===(c=null==t?void 0:t.response)||void 0===c?void 0:c.data)||void 0===u?void 0:u.detail)||"Failed to request access. Please try again."})}),[3,4];case 4:return[2]}})})}})})),o(f,{ref:Le,pt:{root:{style:{zIndex:9999}}}}),ee&&ce.isOpen&&"DELETE"!==ce.type&&"RENAME"!==ce.type?o(P,{isOpen:!0,onClose:function(){return ue(t(t({},ce),{isOpen:!1}))},onSubmit:function(e){return n(p,void 0,void 0,function(){var n,o,s,i,a,l,c,u,d,p,f,v,h,g,y,S,b,O,w,A;return r(this,function(r){switch(r.label){case 0:he(!0),n=m.getState().backwardCompatibility,r.label=1;case 1:return r.trys.push([1,12,13,14]),o=void 0,n&&"object"==typeof e?o=e:(s=e,i="SCOPE"===ce.type&&ce.parentId,a=i?"genreRuleSet":ce.type,o={topic:a,scope_reference_id:null,scopeDescription:"demo",parentScopeId:ce.parentId||null,scopeName:s,scopeReferenceMetadata:{},applicationMappingId:Z}),[4,E(o,K.accessToken)];case 2:if(l=r.sent(),!(c=null===(g=null==l?void 0:l.data)||void 0===g?void 0:g.scopeId))return[3,10];if(Ie.current=c,u=n&&(null===(y=o.topic)||void 0===y?void 0:y.toLowerCase().includes("genre")),d=!n&&"GLOBAL"!==ce.type&&ce.parentId,!u&&!d)return[3,10];if(!(p=n?null===(b=null===(S=m.getState().scopeTreeData)||void 0===S?void 0:S.data)||void 0===b?void 0:b.id:ce.parentId))return[3,10];if(!ee)return[3,7];r.label=3;case 3:return r.trys.push([3,5,,6]),[4,T({source_scope_id:p,target_scope_id:c})];case 4:return r.sent(),[3,6];case 5:return f=r.sent(),console.error("Failed to inherit rules for the new scope:",f),[3,6];case 6:return[3,10];case 7:return r.trys.push([7,9,,10]),[4,C({source_scope_id:p,target_scope_id:c,application_mapping_id:Z||"",is_copy_parent_variant_id:!1})];case 8:return r.sent(),[3,10];case 9:return v=r.sent(),console.error("Failed to inherit rules for the new scope:",v),[3,10];case 10:return[4,qe(!0)];case 11:return r.sent(),ue(function(e){return t(t({},e),{isOpen:!1})}),[3,14];case 12:throw h=r.sent(),console.error("An error occurred during scope creation.",h),null===(O=Le.current)||void 0===O||O.show({severity:"error",summary:"Creation Failed",detail:(null===(A=null===(w=null==h?void 0:h.response)||void 0===w?void 0:w.data)||void 0===A?void 0:A.message)||"There was an error creating the scope. Please try again."}),h;case 13:return he(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Ke,canCreateGlobal:Ve}):s(i,{children:[o(B,{isOpen:ce.isOpen&&"DELETE"!==ce.type&&"RENAME"!==ce.type,onClose:function(){return ue(t(t({},ce),{isOpen:!1}))},onCreate:function(e){return xe(null!=e?e:"")},hasGlobalRuleSet:Ke}),o(H,{isOpen:ce.isOpen&&"RENAME"===ce.type,onClose:function(){return ue(t(t({},ce),{isOpen:!1}))},onSave:xe,initialName:ce.initialName})]}),o(R,{isOpen:ce.isOpen&&"DELETE"===ce.type,onCancel:function(){return ue(t(t({},ce),{isOpen:!1}))},onConfirm:function(){return He(ce.scopeId,ce.initialName,ce.isSubscope)},title:"Delete Scope",description:s(i,{children:["Deleting ",o("span",t({className:v.highlight},{children:ce.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:ve})]}))})}export{K as default};
2
2
  //# sourceMappingURL=LearningManagement.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as e,__awaiter as n,__generator as r}from"tslib";import{jsxs as o,Fragment as i,jsx as t}from"react/jsx-runtime";import{useRef as a,useState as l,useEffect as s}from"react";import{GripVertical as c,ChevronUp as u,ChevronDown as d}from"lucide-react";import{toggleVariant as p}from"../apis/scopeApis.js";import v from"../styles/RuleAccordion.module.css.js";import m from"../styles/CustomTooltip.module.css.js";import f from"./InheritanceBreadcrumb.js";import g from"../components/ConfirmationModal.js";import h from"../components/CustomTooltip.js";import b from"../store/useAuthStore.js";import{usePermissionsStore as j}from"../store/usePermissionsStore.js";import{useLearningTemplateStore as A}from"../store/useLearningTemplateStore.js";import T from"./ApprovalLearningDialog.js";import C from"./ApprovalActionButton.js";import S from"./PendingApprovalChip.js";import{useApproveOrRejectVariantsMutation as N}from"../queries/useApprovalQueries.js";import y from"../store/useEnvStore.js";import{Toast as I}from"primereact/toast";var w=function(w){var L,P,D,O,B,R,k,x,E,_,H,V=w.rule,M=w.idx,z=w.ruleSetId,F=w.isOpen,G=w.onToggle,q=w.onDelete;w.onEdit,w.isGlobalScope;var Q=w.deleteButtonLabel,U=void 0===Q?"Delete":Q;w.editButtonLabel;var Y=w.enableLearningRuleLabel,J=void 0===Y?"Enable":Y,K=w.disableLearningRuleLabel,W=void 0===K?"Disable":K,X=w.onToggleSuccess,Z=w.dragControls,$=b.getState().user,ee=j(function(e){return e.hasPermission}),ne=ee("ilotj.rule.delete",z),re=ee("ilotj.rule.enable",z),oe=ee("ilotj.rule.disable",z),ie=ee("ilotj.rule.selfApprove",z),te=ee("ilotj.rule.approve",z),ae=ee("ilotj.scope.approve",z),le=ee("ilotj.rule.pendingApproval.view",z),se=ee("ilotj.rule.variant.pendingApproval.edit",z),ce=ie||te||ae||se,ue=le||ce,de=N(),pe=y(function(e){return e.rbacConfig}),ve=pe?{application:null==pe?void 0:pe.applicationId,scopeLevelModuleId:null!==(L=null==pe?void 0:pe.applicationModuleId)&&void 0!==L?L:""}:void 0,me=a(null),fe=l(!1),ge=fe[0],he=fe[1],be=V.variants&&V.variants.length>0?!V.variants.every(function(e){return!1===e.is_enabled}):!1!==V.is_enabled,je=l(!1),Ae=je[0],Te=je[1],Ce=null===(P=V.variants)||void 0===P?void 0:P.map(function(e){return e.inheritance||[]}).reduce(function(e,n){return n.length>e.length?n:e},[]),Se=null===(D=V.variants)||void 0===D?void 0:D.some(function(e){return null==e?void 0:e.isOverridden}),Ne=be?oe:re;V.inheritance&&V.inheritance.length>0&&(null===(O=V.inheritance)||void 0===O||O.length);var ye=null!==(R=null===(B=V.variants)||void 0===B?void 0:B.length)&&void 0!==R?R:0,Ie=l({isOpen:!1,mode:"approve"}),we=Ie[0],Le=Ie[1],Pe=null!==(x=null===(k=V.variants)||void 0===k?void 0:k.filter(function(e){return"pending_approval"===e.approvalStatus}).length)&&void 0!==x?x:0,De=A(function(e){return e.urlVariantId}),Oe=A(function(e){return e.urlApprovalAction}),Be=A(function(e){return e.clearUrlApprovalParams});s(function(){var e;if(De&&Oe){var n=null===(e=V.variants)||void 0===e?void 0:e.find(function(e){return e.variantId===De});n&&"pending_approval"===(null==n?void 0:n.approvalStatus)&&ce&&(Le({isOpen:!0,mode:Oe}),Be())}},[De,Oe,V.variants,Be,ce]);var Re=function(e,n){e.stopPropagation(),Le({isOpen:!0,mode:n})},ke=F?"".concat(v.accordionHeader," ").concat(v.accordionHeaderOpen):v.accordionHeader;return o(i,{children:[t(I,{ref:me}),t("div",e({className:ke,onClick:G},{children:o("div",e({className:v.headerContent},{children:[o("div",e({className:v.headerTopRow},{children:[t("div",e({className:v.titleSection},{children:o("div",e({className:v.titleRow},{children:[t("div",e({className:v.dragHandle,title:"Drag to reorder",style:{touchAction:"none"},onPointerDown:function(e){e.stopPropagation(),null==Z||Z.start(e)}},{children:t(c,{size:18})})),o("span",e({className:v.ruleTitle},{children:[M+1,". ",V.ruleTitle]})),V.dataSource&&t("span",e({className:v.dataSourceTag},{children:null===(E=V.dataSource)||void 0===E?void 0:E.tag})),ue&&t(S,{count:Pe}),Se&&t(h,e({content:"Inherited from the ".concat((null==Ce?void 0:Ce.length)>=2?Ce[Ce.length-2]:"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:m.customTooltip,sideOffset:5},{children:t("span",e({className:v.overriddenTag},{children:"Overridden"}))})),!be&&t("span",e({className:v.learningDisabledPill},{children:"Disabled"}))]}))})),t("div",e({className:v.headerActions},{children:t("div",e({className:v.chevronIcon},{children:t(F?u:d,{size:20})}))}))]})),o("div",e({className:v.footerRow},{children:[t(f,{inheritance:Ce||[]}),o("div",e({className:v.headerButtonGroup},{children:[Ne&&t("button",e({onClick:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(n){return e.stopPropagation(),he(!0),[2]})})},disabled:Ae,className:v.toggleLearningButton},{children:be?W:J})),ce&&Pe>1&&o(i,{children:[t(C,{variant:"approve",text:Pe>1?"Approve All":"Approve",onClick:function(e){return Re(e,"approve")}}),t(C,{variant:"reject",text:Pe>1?"Reject All":"Reject",onClick:function(e){return Re(e,"reject")}})]}),ne&&q&&t("button",e({className:v.deleteButton,onClick:function(e){e.stopPropagation(),null==q||q()}},{children:U}))]}))]}))]}))})),t(g,{isOpen:ge,title:be?"Disable Learning?":"Enable Learning?",description:"Are you sure you want to ".concat(be?"disable":"enable"," this learning for ").concat(V.ruleTitle,"?"),warning:be?"This learning will no longer influence upcoming schedules. You can enable it again anytime.":"This learning will start influencing upcoming schedules again.",confirmText:be?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:be?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e,n,o;return r(this,function(r){switch(r.label){case 0:Te(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),0===(e=(null===(o=V.variants)||void 0===o?void 0:o.map(function(e){return e.variantId}))||[]).length&&V.ruleId&&e.push(V.ruleId),null==$?void 0:$.email,[4,p(e,!be)];case 2:return r.sent(),null==X||X(),[3,5];case 3:return n=r.sent(),console.error("Failed to toggle rule variants",n),[3,5];case 4:return Te(!1),he(!1),[7];case 5:return[2]}})})},onCancel:function(){return he(!1)},isLoading:Ae}),t(T,{open:we.isOpen,mode:we.mode,onClose:function(){return Le(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){return function(n){var r,o,i=null!==(o=null===(r=V.variants)||void 0===r?void 0:r.filter(function(e){return"pending_approval"===e.approvalStatus}).map(function(e){return e.variantId}))&&void 0!==o?o:[];i.length&&z&&de.mutate({variantIds:i,status:"approve"===we.mode?"approved":"rejected",feedback:n.feedback,scopeId:z,appsecData:ve},{onSuccess:function(){var n;Le(function(n){return e(e({},n),{isOpen:!1})}),null==X||X(),null===(n=me.current)||void 0===n||n.show({severity:"success",summary:"".concat(we.mode," Successfully"),detail:"approve"===we.mode?"Learning approved successfully":"Learning rejected successfully"})},onError:function(e){var n;console.error("An error occurred during rejecting.",e),null===(n=me.current)||void 0===n||n.show({severity:"error",summary:"".concat(we.mode," Failed"),detail:"There was an error ".concat("approve"===we.mode?"approving":"rejecting"," the learning. Please try again.")})}})}(n)},variantInformation:"".concat(V.ruleTitle,"-").concat(ye>1?"Variants":"Variant 1"),ruleTitle:V.ruleTitle,pendingVariants:null!==(H=null===(_=V.variants)||void 0===_?void 0:_.filter(function(e){return"pending_approval"===e.approvalStatus}))&&void 0!==H?H:[],isPending:de.isPending})]})};export{w as default};
1
+ import{__assign as e,__awaiter as n,__generator as r}from"tslib";import{jsxs as o,Fragment as i,jsx as t}from"react/jsx-runtime";import{useRef as a,useState as l,useEffect as s}from"react";import{GripVertical as c,ChevronUp as u,ChevronDown as d}from"lucide-react";import{toggleVariant as p}from"../apis/scopeApis.js";import v from"../styles/RuleAccordion.module.css.js";import m from"../styles/CustomTooltip.module.css.js";import f from"./InheritanceBreadcrumb.js";import g from"../components/ConfirmationModal.js";import h from"../components/CustomTooltip.js";import b from"../store/useAuthStore.js";import{usePermissionsStore as j}from"../store/usePermissionsStore.js";import{useLearningTemplateStore as A}from"../store/useLearningTemplateStore.js";import T from"./ApprovalLearningDialog.js";import C from"./ApprovalActionButton.js";import S from"./PendingApprovalChip.js";import{useApproveOrRejectVariantsMutation as N}from"../queries/useApprovalQueries.js";import y from"../store/useEnvStore.js";import{Toast as I}from"primereact/toast";var w=function(w){var L,P,D,O,B,R,k,x,E,_,H,V=w.rule,z=w.idx,F=w.ruleSetId,G=w.isOpen,M=w.onToggle,q=w.onDelete;w.onEdit,w.isGlobalScope;var Q=w.deleteButtonLabel,U=void 0===Q?"Delete":Q;w.editButtonLabel;var Y=w.enableLearningRuleLabel,J=void 0===Y?"Enable":Y,K=w.disableLearningRuleLabel,W=void 0===K?"Disable":K,X=w.onToggleSuccess,Z=w.dragControls,$=b.getState().user,ee=j(function(e){return e.hasPermission}),ne=ee("ilotj.rule.delete",F),re=ee("ilotj.rule.enable",F),oe=ee("ilotj.rule.disable",F),ie=ee("ilotj.rule.selfApprove",F),te=ee("ilotj.rule.approve",F),ae=ee("ilotj.scope.approve",F),le=ee("ilotj.rule.pendingApproval.view",F),se=ee("ilotj.rule.variant.pendingApproval.edit",F),ce=ie||te||ae||se,ue=le||ce,de=N(),pe=y(function(e){return e.rbacConfig}),ve=pe?{application:null==pe?void 0:pe.applicationId,scopeLevelModuleId:null!==(L=null==pe?void 0:pe.moduleId)&&void 0!==L?L:""}:void 0,me=a(null),fe=l(!1),ge=fe[0],he=fe[1],be=V.variants&&V.variants.length>0?!V.variants.every(function(e){return!1===e.is_enabled}):!1!==V.is_enabled,je=l(!1),Ae=je[0],Te=je[1],Ce=null===(P=V.variants)||void 0===P?void 0:P.map(function(e){return e.inheritance||[]}).reduce(function(e,n){return n.length>e.length?n:e},[]),Se=null===(D=V.variants)||void 0===D?void 0:D.some(function(e){return null==e?void 0:e.isOverridden}),Ne=be?oe:re;V.inheritance&&V.inheritance.length>0&&(null===(O=V.inheritance)||void 0===O||O.length);var ye=null!==(R=null===(B=V.variants)||void 0===B?void 0:B.length)&&void 0!==R?R:0,Ie=l({isOpen:!1,mode:"approve"}),we=Ie[0],Le=Ie[1],Pe=null!==(x=null===(k=V.variants)||void 0===k?void 0:k.filter(function(e){return"pending_approval"===e.approvalStatus}).length)&&void 0!==x?x:0,De=A(function(e){return e.urlVariantId}),Oe=A(function(e){return e.urlApprovalAction}),Be=A(function(e){return e.clearUrlApprovalParams});s(function(){var e;if(De&&Oe){var n=null===(e=V.variants)||void 0===e?void 0:e.find(function(e){return e.variantId===De});n&&"pending_approval"===(null==n?void 0:n.approvalStatus)&&ce&&(Le({isOpen:!0,mode:Oe}),Be())}},[De,Oe,V.variants,Be,ce]);var Re=function(e,n){e.stopPropagation(),Le({isOpen:!0,mode:n})},ke=G?"".concat(v.accordionHeader," ").concat(v.accordionHeaderOpen):v.accordionHeader;return o(i,{children:[t(I,{ref:me}),t("div",e({className:ke,onClick:M},{children:o("div",e({className:v.headerContent},{children:[o("div",e({className:v.headerTopRow},{children:[t("div",e({className:v.titleSection},{children:o("div",e({className:v.titleRow},{children:[t("div",e({className:v.dragHandle,title:"Drag to reorder",style:{touchAction:"none"},onPointerDown:function(e){e.stopPropagation(),null==Z||Z.start(e)}},{children:t(c,{size:18})})),o("span",e({className:v.ruleTitle},{children:[z+1,". ",V.ruleTitle]})),V.dataSource&&t("span",e({className:v.dataSourceTag},{children:null===(E=V.dataSource)||void 0===E?void 0:E.tag})),ue&&t(S,{count:Pe}),Se&&t(h,e({content:"Inherited from the ".concat((null==Ce?void 0:Ce.length)>=2?Ce[Ce.length-2]:"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:m.customTooltip,sideOffset:5},{children:t("span",e({className:v.overriddenTag},{children:"Overridden"}))})),!be&&t("span",e({className:v.learningDisabledPill},{children:"Disabled"}))]}))})),t("div",e({className:v.headerActions},{children:t("div",e({className:v.chevronIcon},{children:t(G?u:d,{size:20})}))}))]})),o("div",e({className:v.footerRow},{children:[t(f,{inheritance:Ce||[]}),o("div",e({className:v.headerButtonGroup},{children:[Ne&&t("button",e({onClick:function(e){return n(void 0,void 0,void 0,function(){return r(this,function(n){return e.stopPropagation(),he(!0),[2]})})},disabled:Ae,className:v.toggleLearningButton},{children:be?W:J})),ce&&Pe>1&&o(i,{children:[t(C,{variant:"approve",text:Pe>1?"Approve All":"Approve",onClick:function(e){return Re(e,"approve")}}),t(C,{variant:"reject",text:Pe>1?"Reject All":"Reject",onClick:function(e){return Re(e,"reject")}})]}),ne&&q&&t("button",e({className:v.deleteButton,onClick:function(e){e.stopPropagation(),null==q||q()}},{children:U}))]}))]}))]}))})),t(g,{isOpen:ge,title:be?"Disable Learning?":"Enable Learning?",description:"Are you sure you want to ".concat(be?"disable":"enable"," this learning for ").concat(V.ruleTitle,"?"),warning:be?"This learning will no longer influence upcoming schedules. You can enable it again anytime.":"This learning will start influencing upcoming schedules again.",confirmText:be?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:be?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e,n,o;return r(this,function(r){switch(r.label){case 0:Te(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),0===(e=(null===(o=V.variants)||void 0===o?void 0:o.map(function(e){return e.variantId}))||[]).length&&V.ruleId&&e.push(V.ruleId),null==$?void 0:$.email,[4,p(e,!be)];case 2:return r.sent(),null==X||X(),[3,5];case 3:return n=r.sent(),console.error("Failed to toggle rule variants",n),[3,5];case 4:return Te(!1),he(!1),[7];case 5:return[2]}})})},onCancel:function(){return he(!1)},isLoading:Ae}),t(T,{open:we.isOpen,mode:we.mode,onClose:function(){return Le(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){return function(n){var r,o,i=null!==(o=null===(r=V.variants)||void 0===r?void 0:r.filter(function(e){return"pending_approval"===e.approvalStatus}).map(function(e){return e.variantId}))&&void 0!==o?o:[];i.length&&F&&de.mutate({variantIds:i,status:"approve"===we.mode?"approved":"rejected",feedback:n.feedback,scopeId:F,appsecData:ve},{onSuccess:function(){var n;Le(function(n){return e(e({},n),{isOpen:!1})}),null==X||X(),null===(n=me.current)||void 0===n||n.show({severity:"success",summary:"".concat(we.mode," Successfully"),detail:"approve"===we.mode?"Learning approved successfully":"Learning rejected successfully"})},onError:function(e){var n;console.error("An error occurred during rejecting.",e),null===(n=me.current)||void 0===n||n.show({severity:"error",summary:"".concat(we.mode," Failed"),detail:"There was an error ".concat("approve"===we.mode?"approving":"rejecting"," the learning. Please try again.")})}})}(n)},variantInformation:"".concat(V.ruleTitle,"-").concat(ye>1?"Variants":"Variant 1"),ruleTitle:V.ruleTitle,pendingVariants:null!==(H=null===(_=V.variants)||void 0===_?void 0:_.filter(function(e){return"pending_approval"===e.approvalStatus}))&&void 0!==H?H:[],isPending:de.isPending})]})};export{w as default};
2
2
  //# sourceMappingURL=RuleAccordionHeader.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as e,__awaiter as n,__generator as t}from"tslib";import{jsxs as i,jsx as r,Fragment as o}from"react/jsx-runtime";import{useState as a,useRef as l,useEffect as s}from"react";import{parseISO as c,isValid as d,format as u}from"date-fns";import{MoreVertical as p,Pause as v,Play as m,Copy as h,Eye as f,Info as g,TriangleAlert as y}from"lucide-react";import{toggleVariant as b}from"../apis/scopeApis.js";import{HistorySkeleton as T}from"./HistorySkeleton.js";import N from"./InheritanceBreadcrumb.js";import A from"./RuleConditionBlock.js";import C from"../styles/VariantCard.module.css.js";import j from"../styles/CustomTooltip.module.css.js";import w from"../components/CustomTooltip.js";import I from"../components/ConfirmationModal.js";import L from"./OverrideTimeline.js";import x from"../store/useAuthStore.js";import{usePermissionsStore as B}from"../store/usePermissionsStore.js";import D from"./PendingApprovalChip.js";import O from"./ApprovalActionButton.js";import k from"./ApprovalLearningDialog.js";import{useApproveOrRejectVariantsMutation as S}from"../queries/useApprovalQueries.js";import F from"../store/useEnvStore.js";var E=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")},H=function(H){var M,P,V,W,_,z,R,U=H.ruleTitle,G=H.variant,q=H.variantIndex,Z=H.totalVariants,K=H.ruleId;H.pendingApprovalCount;var Q=H.ruleSetId,Y=H.tierName,$=H.displayLabel,J=H.onEdit,X=H.onDelete,ee=H.onFetchOverrideHistory,ne=H.editButtonLabel,te=void 0===ne?"Edit":ne,ie=H.deleteButtonLabel,re=void 0===ie?"Delete":ie,oe=H.whenToApplyLabel,ae=void 0===oe?"When to Apply":oe,le=H.whenNotToApplyLabel,se=void 0===le?"When Not to Apply":le,ce=H.noConditionsText,de=void 0===ce?"No conditions":ce,ue=H.viewOverrideLabel,pe=void 0===ue?"View Override History":ue,ve=H.hideOverrideLabel,me=void 0===ve?"Hide Override History":ve,he=H.enableLearningVariantLabel,fe=void 0===he?"Enable":he,ge=H.disableLearningVariantLabel,ye=void 0===ge?"Disable":ge,be=H.historyErrorMessage,Te=void 0===be?"Failed to load override history.":be,Ne=H.resolveGapsLabel,Ae=void 0===Ne?"This learning has some gaps":Ne,Ce=H.showActionsBar,je=void 0===Ce||Ce,we=H.showDescriptionBox,Ie=void 0===we||we,Le=H.showConditions,xe=void 0===Le||Le,Be=H.showInheritance,De=void 0===Be||Be,Oe=H.defaultApplyOpen,ke=void 0===Oe||Oe,Se=H.defaultNotApplyOpen,Fe=void 0===Se||Se,Ee=H.className,He=H.isHighlighted,Me=void 0!==He&&He,Pe=H.highlightAction,Ve=H.highlightedTierNames,We=H.highlightedVariantIds,_e=H.headerContent,ze=H.footerContent,Re=H.onToggleSuccess,Ue=H.setDeleteConfirmationUsedFor,Ge=H.onCopyToTier,qe=H.onSetInitialDraftMessage,Ze=x.getState().user,Ke=a(ke),Qe=Ke[0],Ye=Ke[1],$e=a(Fe),Je=$e[0],Xe=$e[1],en=a(!1),nn=en[0],tn=en[1],rn=a(!1),on=rn[0],an=rn[1],ln=a(null),sn=ln[0],cn=ln[1],dn=a(null),un=dn[0],pn=dn[1],vn=a(!1),mn=vn[0],hn=vn[1],fn=a(!1),gn=fn[0],yn=fn[1],bn=l(null),Tn=!1!==G.is_enabled,Nn=a(!1),An=Nn[0],Cn=Nn[1],jn=l(null),wn=a({isOpen:!1,mode:"approve"}),In=wn[0],Ln=wn[1],xn=S(),Bn=F(function(e){return e.rbacConfig}),Dn=Bn?{application:Bn.applicationId,scopeLevelModuleId:null!==(M=null==Bn?void 0:Bn.applicationModuleId)&&void 0!==M?M:""}:void 0,On=B(function(e){return e.hasPermission}),kn=Q,Sn=G.inheritance&&G.inheritance.length>1,Fn=On("ilotj.rule.variant.edit",kn)||On(Sn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",kn),En=On("ilotj.rule.variant.enable",kn)||On(Sn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",kn),Hn=On("ilotj.rule.variant.disable",kn)||On(Sn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",kn),Mn=On("ilotj.rule.variant.delete",kn),Pn=On("ilotj.rule.selfApprove",kn),Vn=On("ilotj.rule.approve",kn),Wn=On("ilotj.scope.approve",kn),_n=On("ilotj.rule.pendingApproval.view",kn),zn=On("ilotj.rule.variant.pendingApproval.edit",kn),Rn=Pn||Vn||Wn||zn,Un=_n||Rn,Gn="pending_approval"===(null==G?void 0:G.approvalStatus),qn="rejected"===(null==G?void 0:G.approvalStatus),Zn=Rn&&Gn;s(function(){var e=function(e){bn.current&&!bn.current.contains(e.target)&&hn(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var Kn=(null===(P=null==sn?void 0:sn.wta)||void 0===P?void 0:P.changeLog)||[],Qn=(null===(V=null==sn?void 0:sn.wnta)||void 0===V?void 0:V.changeLog)||[],Yn=Me&&Ve&&Y?Ve.filter(function(e){return e!==Y}):[],$n=Yn.length>0&&Y?Yn.every(function(e){return e>Y})?"↓":"↑":"↓",Jn=function(){if(We)for(var e=Array.from(We),n=0;n<e.length;n++)if(e[n]!==G.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},Xn=function(e,n){e.stopPropagation(),Ln({isOpen:!0,mode:n})},et=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=c(n);return d(t)?u(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},nt=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return i("div",e({className:E(C.variantCard,Me&&C.variantHighlight,Ee),"data-variant-id":G.variantId},{children:[i("div",e({className:C.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[i("div",e({className:C.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[r("span",e({className:C.variantLabel},{children:"Default"===G.variantType&&"Default"!==$?"Default | ".concat($):$})),Me&&Pe&&r("span",e({className:E(C.actionChip,"new"===Pe?C.actionChipNew:C.actionChipUpdated)},{children:"new"===Pe?"Created":"Updated"})),(null==G?void 0:G.isOverridden)&&r(w,e({content:"Inherited from the ".concat((null===(W=G.inheritance)||void 0===W?void 0:W[(null===(_=G.inheritance)||void 0===_?void 0:_.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:j.customTooltip,sideOffset:5},{children:r("span",e({className:C.overriddenTag},{children:"Overridden"}))})),Un&&Gn&&r(D,{}),qn&&r("span",e({style:{backgroundColor:"#FEF2F2",color:"#EF4444",border:"1px solid #FECACA",padding:"2px 8px",borderRadius:"9999px",fontSize:"0.75rem",fontWeight:500,display:"inline-flex",alignItems:"center"}},{children:"Rejected"})),!Tn&&r("span",e({className:C.learningDisabledPill},{children:"Disabled"})),De&&1!==Z&&0!==q&&r("div",e({className:C.inheritanceSection},{children:r(N,{inheritance:G.inheritance||[]})}))]})),je&&i("div",e({className:C.variantActions},{children:[Zn&&i(o,{children:[r(O,{variant:"approve",text:"Approve",onClick:function(e){return Xn(e,"approve")}}),r(O,{variant:"reject",text:"Reject",onClick:function(e){return Xn(e,"reject")}})]}),J&&Fn&&r("button",e({className:C.editButton,onClick:function(){null==J||J(G,K,Y,"edit")}},{children:te})),X&&Mn&&"Default"!==G.variantType&&r("button",e({className:C.deleteButton,onClick:function(){null==Ue||Ue("variantDeletion"),null==X||X(G.variantId,K)}},{children:re})),i("div",e({className:C.menuWrapper,ref:bn},{children:[r("button",e({onClick:function(){return hn(!mn)},className:"".concat(C.menuTrigger," ").concat(mn?C.menuTriggerActive:"")},{children:r(p,{size:16})})),mn&&i("div",e({className:C.menuDropdown},{children:[(Tn&&Hn||!Tn&&En)&&i("button",e({onClick:function(){return n(void 0,void 0,void 0,function(){return t(this,function(e){return hn(!1),Cn(!0),[2]})})},disabled:gn,className:"".concat(C.menuItem," ").concat(gn?C.menuItemDisabled:"")},{children:[r(Tn?v:m,{size:14}),Tn?ye:fe]})),Y&&i("button",e({onClick:function(){var e="Tier 1"===Y?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(U,"\nLearning Description: ").concat(G.description,"\nWhen to apply: ").concat(G.whenToApply,"\nWhen not to apply: ").concat(G.whenNotToApply);null==qe||qe(n),hn(!1),null==Ge||Ge(G,K,U||"",Y,e)},className:C.menuItem},{children:[r(h,{size:14}),"Copy to ","Tier 1"===Y?"Tier 2":"Tier 1"]})),ee&&(null!==(R=null===(z=G.inheritance)||void 0===z?void 0:z.length)&&void 0!==R?R:0)>1&&i("button",e({onClick:function(){hn(!1),n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:if(nn)return tn(!1),[2];if(tn(!0),!ee)return[2];an(!0),pn(null),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,ee(K,G.variantId)];case 2:return e=n.sent(),cn(e),[3,5];case 3:return n.sent(),pn(Te),[3,5];case 4:return an(!1),[7];case 5:return[2]}})})},className:C.menuItem},{children:[r(f,{size:14}),nn?me:pe]}))]}))]}))]}))]})),_e,Ie&&G.description&&i("div",e({className:C.descriptionBox},{children:[r("p",e({className:C.descriptionText},{children:G.description})),nn&&(on?r(T,{}):un?r("p",e({className:C.errorText},{children:un})):(null==sn?void 0:sn.ruleDescription)?r(L,{changeLog:sn.ruleDescription.changeLog}):r("p",e({className:C.noHistoryText},{children:"No override history found"})))]})),xe&&i("div",e({className:C.conditionsContainer},{children:[r(A,{type:"apply",conditions:G.whenToApply||"",isOpen:Qe,onToggle:function(){return Ye(!Qe)},labelText:ae,noConditionsText:de,showOverrideHistory:nn,isLoadingHistory:on,historyError:un,overrideHistoryData:Kn}),r(A,{type:"notApply",conditions:G.whenNotToApply||"",isOpen:Je,onToggle:function(){return Xe(!Je)},labelText:se,noConditionsText:de,showOverrideHistory:nn,isLoadingHistory:on,historyError:un,overrideHistoryData:Qn})]})),Me&&Yn.length>0&&i("div",e({className:C.crossTierBanner},{children:[r(g,{className:C.crossTierBannerIcon}),i("span",e({className:C.crossTierBannerText},{children:["Also created in ",Yn.join(", "),"."]})),i("span",e({className:C.crossTierBannerLink,onClick:Jn,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&Jn()}},{children:["Scroll to view ",$n]}))]})),ze,(G.createdBy||G.createdAt)&&i("div",e({className:C.variantFooter},{children:[!0===G.is_user_accepted_risk&&i("div",e({className:C.resolveGaps},{children:[r(y,{size:14,color:"#EF4444"}),r("span",e({className:C.resolveGapsText},{children:Ae})),Fn&&r("button",e({onClick:function(){null==J||J(G,K,Y,"resolve_gaps")},className:C.resolveButton},{children:"Resolve"}))]})),r("div",e({className:C.variantFooterContent},{children:G.updatedBy||G.updatedAt?i(o,{children:[G.updatedBy&&r(w,e({content:G.createdBy?"Created by ".concat(nt(G.createdBy)):"",contentClassName:j.customTooltip,sideOffset:5,placement:"top"},{children:i("span",e({className:C.variantFooterItem},{children:["Updated by ",nt(G.updatedBy)]}))})),G.updatedBy&&G.updatedAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),G.updatedAt&&r(w,e({content:G.createdAt?"Created at ".concat(et(G.createdAt)):"",contentClassName:j.customTooltip,sideOffset:5,placement:"top"},{children:r("span",e({className:C.variantFooterItem},{children:et(G.updatedAt)}))}))]}):i(o,{children:[G.createdBy&&i("span",e({className:C.variantFooterItem},{children:["Created by ",nt(G.createdBy)]})),G.createdBy&&G.createdAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),G.createdAt&&r("span",e({className:C.variantFooterItem},{children:et(G.createdAt)}))]})}))]})),r(I,{isOpen:An,title:Tn?"Disable Learning":"Enable Learning",description:"Are you sure you want to ".concat(Tn?"disable":"enable"," learning for this variant in ").concat(U,"?"),warning:Tn?"This variant will no longer influence upcoming schedules. You can enable it again anytime.":"This variant will start influencing upcoming schedules again.",confirmText:Tn?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:Tn?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:yn(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),null==Ze?void 0:Ze.email,[4,b([G.variantId],!Tn)];case 2:return n.sent(),null==Re||Re(),[3,5];case 3:return e=n.sent(),console.error("Failed to toggle variant",e),[3,5];case 4:return yn(!1),hn(!1),Cn(!1),[7];case 5:return[2]}})})},onCancel:function(){return Cn(!1)},isLoading:gn,position:"fixed"}),r(k,{open:In.isOpen,mode:In.mode,onClose:function(){return Ln(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){Q&&xn.mutate({variantIds:[G.variantId],status:"approve"===In.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:Q,appsecData:Dn},{onSuccess:function(){var n;Ln(function(n){return e(e({},n),{isOpen:!1})}),null==Re||Re(),null===(n=jn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===In.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===In.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=jn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(U," — ").concat($),ruleTitle:U,pendingVariants:[G],isPending:xn.isPending})]}))};export{H as default};
1
+ import{__assign as e,__awaiter as n,__generator as t}from"tslib";import{jsxs as i,jsx as r,Fragment as o}from"react/jsx-runtime";import{useState as a,useRef as l,useEffect as s}from"react";import{parseISO as c,isValid as d,format as u}from"date-fns";import{MoreVertical as p,Pause as v,Play as m,Copy as h,Eye as f,Info as g,TriangleAlert as y}from"lucide-react";import{toggleVariant as b}from"../apis/scopeApis.js";import{HistorySkeleton as T}from"./HistorySkeleton.js";import N from"./InheritanceBreadcrumb.js";import A from"./RuleConditionBlock.js";import C from"../styles/VariantCard.module.css.js";import j from"../styles/CustomTooltip.module.css.js";import w from"../components/CustomTooltip.js";import I from"../components/ConfirmationModal.js";import L from"./OverrideTimeline.js";import x from"../store/useAuthStore.js";import{usePermissionsStore as B}from"../store/usePermissionsStore.js";import D from"./PendingApprovalChip.js";import O from"./ApprovalActionButton.js";import k from"./ApprovalLearningDialog.js";import{useApproveOrRejectVariantsMutation as S}from"../queries/useApprovalQueries.js";import F from"../store/useEnvStore.js";var E=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return e.filter(Boolean).join(" ")},H=function(H){var P,V,W,M,_,z,R,U=H.ruleTitle,G=H.variant,q=H.variantIndex,Z=H.totalVariants,K=H.ruleId;H.pendingApprovalCount;var Q=H.ruleSetId,Y=H.tierName,$=H.displayLabel,J=H.onEdit,X=H.onDelete,ee=H.onFetchOverrideHistory,ne=H.editButtonLabel,te=void 0===ne?"Edit":ne,ie=H.deleteButtonLabel,re=void 0===ie?"Delete":ie,oe=H.whenToApplyLabel,ae=void 0===oe?"When to Apply":oe,le=H.whenNotToApplyLabel,se=void 0===le?"When Not to Apply":le,ce=H.noConditionsText,de=void 0===ce?"No conditions":ce,ue=H.viewOverrideLabel,pe=void 0===ue?"View Override History":ue,ve=H.hideOverrideLabel,me=void 0===ve?"Hide Override History":ve,he=H.enableLearningVariantLabel,fe=void 0===he?"Enable":he,ge=H.disableLearningVariantLabel,ye=void 0===ge?"Disable":ge,be=H.historyErrorMessage,Te=void 0===be?"Failed to load override history.":be,Ne=H.resolveGapsLabel,Ae=void 0===Ne?"This learning has some gaps":Ne,Ce=H.showActionsBar,je=void 0===Ce||Ce,we=H.showDescriptionBox,Ie=void 0===we||we,Le=H.showConditions,xe=void 0===Le||Le,Be=H.showInheritance,De=void 0===Be||Be,Oe=H.defaultApplyOpen,ke=void 0===Oe||Oe,Se=H.defaultNotApplyOpen,Fe=void 0===Se||Se,Ee=H.className,He=H.isHighlighted,Pe=void 0!==He&&He,Ve=H.highlightAction,We=H.highlightedTierNames,Me=H.highlightedVariantIds,_e=H.headerContent,ze=H.footerContent,Re=H.onToggleSuccess,Ue=H.setDeleteConfirmationUsedFor,Ge=H.onCopyToTier,qe=H.onSetInitialDraftMessage,Ze=x.getState().user,Ke=a(ke),Qe=Ke[0],Ye=Ke[1],$e=a(Fe),Je=$e[0],Xe=$e[1],en=a(!1),nn=en[0],tn=en[1],rn=a(!1),on=rn[0],an=rn[1],ln=a(null),sn=ln[0],cn=ln[1],dn=a(null),un=dn[0],pn=dn[1],vn=a(!1),mn=vn[0],hn=vn[1],fn=a(!1),gn=fn[0],yn=fn[1],bn=l(null),Tn=!1!==G.is_enabled,Nn=a(!1),An=Nn[0],Cn=Nn[1],jn=l(null),wn=a({isOpen:!1,mode:"approve"}),In=wn[0],Ln=wn[1],xn=S(),Bn=F(function(e){return e.rbacConfig}),Dn=Bn?{application:Bn.applicationId,scopeLevelModuleId:null!==(P=null==Bn?void 0:Bn.moduleId)&&void 0!==P?P:""}:void 0,On=B(function(e){return e.hasPermission}),kn=Q,Sn=G.inheritance&&G.inheritance.length>1,Fn=On("ilotj.rule.variant.edit",kn)||On(Sn?"ilotj.rule.variant.inherited.edit":"ilotj.rule.variant.nonInherited.edit",kn),En=On("ilotj.rule.variant.enable",kn)||On(Sn?"ilotj.rule.variant.inherited.enable":"ilotj.rule.variant.nonInherited.enable",kn),Hn=On("ilotj.rule.variant.disable",kn)||On(Sn?"ilotj.rule.variant.inherited.disable":"ilotj.rule.variant.nonInherited.disable",kn),Pn=On("ilotj.rule.variant.delete",kn),Vn=On("ilotj.rule.selfApprove",kn),Wn=On("ilotj.rule.approve",kn),Mn=On("ilotj.scope.approve",kn),_n=On("ilotj.rule.pendingApproval.view",kn),zn=On("ilotj.rule.variant.pendingApproval.edit",kn),Rn=Vn||Wn||Mn||zn,Un=_n||Rn,Gn="pending_approval"===(null==G?void 0:G.approvalStatus),qn="rejected"===(null==G?void 0:G.approvalStatus),Zn=Rn&&Gn;s(function(){var e=function(e){bn.current&&!bn.current.contains(e.target)&&hn(!1)};return document.addEventListener("mousedown",e),function(){return document.removeEventListener("mousedown",e)}},[]);var Kn=(null===(V=null==sn?void 0:sn.wta)||void 0===V?void 0:V.changeLog)||[],Qn=(null===(W=null==sn?void 0:sn.wnta)||void 0===W?void 0:W.changeLog)||[],Yn=Pe&&We&&Y?We.filter(function(e){return e!==Y}):[],$n=Yn.length>0&&Y?Yn.every(function(e){return e>Y})?"↓":"↑":"↓",Jn=function(){if(Me)for(var e=Array.from(Me),n=0;n<e.length;n++)if(e[n]!==G.variantId){var t=document.querySelector('[data-variant-id="'.concat(e[n],'"]'));if(t){t.scrollIntoView({behavior:"smooth",block:"center"});break}}},Xn=function(e,n){e.stopPropagation(),Ln({isOpen:!0,mode:n})},et=function(e){if(!e)return"";try{var n=e.endsWith("Z")||/[+-]\d{2}:\d{2}$/.test(e)?e:"".concat(e,"Z"),t=c(n);return d(t)?u(t,"MMM d, yyyy 'at' h:mm a"):e}catch(n){return e}},nt=function(e){return e?e.includes("@")?e.split("@")[0].split(".").map(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}).join(" "):e:""};return i("div",e({className:E(C.variantCard,Pe&&C.variantHighlight,Ee),"data-variant-id":G.variantId},{children:[i("div",e({className:C.variantHeader,style:{alignItems:"flex-start",gap:"0.75rem"}},{children:[i("div",e({className:C.variantLabelSection,style:{display:"flex",flexWrap:"wrap"}},{children:[r("span",e({className:C.variantLabel},{children:"Default"===G.variantType&&"Default"!==$?"Default | ".concat($):$})),Pe&&Ve&&r("span",e({className:E(C.actionChip,"new"===Ve?C.actionChipNew:C.actionChipUpdated)},{children:"new"===Ve?"Created":"Updated"})),(null==G?void 0:G.isOverridden)&&r(w,e({content:"Inherited from the ".concat((null===(M=G.inheritance)||void 0===M?void 0:M[(null===(_=G.inheritance)||void 0===_?void 0:_.length)-2])||"parent"," scope and overridden in this scope."),placement:"top",withArrow:!0,contentClassName:j.customTooltip,sideOffset:5},{children:r("span",e({className:C.overriddenTag},{children:"Overridden"}))})),Un&&Gn&&r(D,{}),qn&&r("span",e({style:{backgroundColor:"#FEF2F2",color:"#EF4444",border:"1px solid #FECACA",padding:"2px 8px",borderRadius:"9999px",fontSize:"0.75rem",fontWeight:500,display:"inline-flex",alignItems:"center"}},{children:"Rejected"})),!Tn&&r("span",e({className:C.learningDisabledPill},{children:"Disabled"})),De&&1!==Z&&0!==q&&r("div",e({className:C.inheritanceSection},{children:r(N,{inheritance:G.inheritance||[]})}))]})),je&&i("div",e({className:C.variantActions},{children:[Zn&&i(o,{children:[r(O,{variant:"approve",text:"Approve",onClick:function(e){return Xn(e,"approve")}}),r(O,{variant:"reject",text:"Reject",onClick:function(e){return Xn(e,"reject")}})]}),J&&Fn&&r("button",e({className:C.editButton,onClick:function(){null==J||J(G,K,Y,"edit")}},{children:te})),X&&Pn&&"Default"!==G.variantType&&r("button",e({className:C.deleteButton,onClick:function(){null==Ue||Ue("variantDeletion"),null==X||X(G.variantId,K)}},{children:re})),i("div",e({className:C.menuWrapper,ref:bn},{children:[r("button",e({onClick:function(){return hn(!mn)},className:"".concat(C.menuTrigger," ").concat(mn?C.menuTriggerActive:"")},{children:r(p,{size:16})})),mn&&i("div",e({className:C.menuDropdown},{children:[(Tn&&Hn||!Tn&&En)&&i("button",e({onClick:function(){return n(void 0,void 0,void 0,function(){return t(this,function(e){return hn(!1),Cn(!0),[2]})})},disabled:gn,className:"".concat(C.menuItem," ").concat(gn?C.menuItemDisabled:"")},{children:[r(Tn?v:m,{size:14}),Tn?ye:fe]})),Y&&i("button",e({onClick:function(){var e="Tier 1"===Y?"Tier 2":"Tier 1",n="Add a new learning in ".concat(e," with the following details:\nLearning Title: ").concat(U,"\nLearning Description: ").concat(G.description,"\nWhen to apply: ").concat(G.whenToApply,"\nWhen not to apply: ").concat(G.whenNotToApply);null==qe||qe(n),hn(!1),null==Ge||Ge(G,K,U||"",Y,e)},className:C.menuItem},{children:[r(h,{size:14}),"Copy to ","Tier 1"===Y?"Tier 2":"Tier 1"]})),ee&&(null!==(R=null===(z=G.inheritance)||void 0===z?void 0:z.length)&&void 0!==R?R:0)>1&&i("button",e({onClick:function(){hn(!1),n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:if(nn)return tn(!1),[2];if(tn(!0),!ee)return[2];an(!0),pn(null),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,ee(K,G.variantId)];case 2:return e=n.sent(),cn(e),[3,5];case 3:return n.sent(),pn(Te),[3,5];case 4:return an(!1),[7];case 5:return[2]}})})},className:C.menuItem},{children:[r(f,{size:14}),nn?me:pe]}))]}))]}))]}))]})),_e,Ie&&G.description&&i("div",e({className:C.descriptionBox},{children:[r("p",e({className:C.descriptionText},{children:G.description})),nn&&(on?r(T,{}):un?r("p",e({className:C.errorText},{children:un})):(null==sn?void 0:sn.ruleDescription)?r(L,{changeLog:sn.ruleDescription.changeLog}):r("p",e({className:C.noHistoryText},{children:"No override history found"})))]})),xe&&i("div",e({className:C.conditionsContainer},{children:[r(A,{type:"apply",conditions:G.whenToApply||"",isOpen:Qe,onToggle:function(){return Ye(!Qe)},labelText:ae,noConditionsText:de,showOverrideHistory:nn,isLoadingHistory:on,historyError:un,overrideHistoryData:Kn}),r(A,{type:"notApply",conditions:G.whenNotToApply||"",isOpen:Je,onToggle:function(){return Xe(!Je)},labelText:se,noConditionsText:de,showOverrideHistory:nn,isLoadingHistory:on,historyError:un,overrideHistoryData:Qn})]})),Pe&&Yn.length>0&&i("div",e({className:C.crossTierBanner},{children:[r(g,{className:C.crossTierBannerIcon}),i("span",e({className:C.crossTierBannerText},{children:["Also created in ",Yn.join(", "),"."]})),i("span",e({className:C.crossTierBannerLink,onClick:Jn,role:"button",tabIndex:0,onKeyDown:function(e){return"Enter"===e.key&&Jn()}},{children:["Scroll to view ",$n]}))]})),ze,(G.createdBy||G.createdAt)&&i("div",e({className:C.variantFooter},{children:[!0===G.is_user_accepted_risk&&i("div",e({className:C.resolveGaps},{children:[r(y,{size:14,color:"#EF4444"}),r("span",e({className:C.resolveGapsText},{children:Ae})),Fn&&r("button",e({onClick:function(){null==J||J(G,K,Y,"resolve_gaps")},className:C.resolveButton},{children:"Resolve"}))]})),r("div",e({className:C.variantFooterContent},{children:G.updatedBy||G.updatedAt?i(o,{children:[G.updatedBy&&r(w,e({content:G.createdBy?"Created by ".concat(nt(G.createdBy)):"",contentClassName:j.customTooltip,sideOffset:5,placement:"top"},{children:i("span",e({className:C.variantFooterItem},{children:["Updated by ",nt(G.updatedBy)]}))})),G.updatedBy&&G.updatedAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),G.updatedAt&&r(w,e({content:G.createdAt?"Created at ".concat(et(G.createdAt)):"",contentClassName:j.customTooltip,sideOffset:5,placement:"top"},{children:r("span",e({className:C.variantFooterItem},{children:et(G.updatedAt)}))}))]}):i(o,{children:[G.createdBy&&i("span",e({className:C.variantFooterItem},{children:["Created by ",nt(G.createdBy)]})),G.createdBy&&G.createdAt&&r("span",e({className:C.variantFooterSeparator},{children:"•"})),G.createdAt&&r("span",e({className:C.variantFooterItem},{children:et(G.createdAt)}))]})}))]})),r(I,{isOpen:An,title:Tn?"Disable Learning":"Enable Learning",description:"Are you sure you want to ".concat(Tn?"disable":"enable"," learning for this variant in ").concat(U,"?"),warning:Tn?"This variant will no longer influence upcoming schedules. You can enable it again anytime.":"This variant will start influencing upcoming schedules again.",confirmText:Tn?"Disable":"Enable",cancelText:"Cancel",confirmBgColor:Tn?"#DC2626":"#16A34A",onConfirm:function(){return n(void 0,void 0,void 0,function(){var e;return t(this,function(n){switch(n.label){case 0:yn(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),null==Ze?void 0:Ze.email,[4,b([G.variantId],!Tn)];case 2:return n.sent(),null==Re||Re(),[3,5];case 3:return e=n.sent(),console.error("Failed to toggle variant",e),[3,5];case 4:return yn(!1),hn(!1),Cn(!1),[7];case 5:return[2]}})})},onCancel:function(){return Cn(!1)},isLoading:gn,position:"fixed"}),r(k,{open:In.isOpen,mode:In.mode,onClose:function(){return Ln(function(n){return e(e({},n),{isOpen:!1})})},onSubmit:function(n){Q&&xn.mutate({variantIds:[G.variantId],status:"approve"===In.mode?"approved":"rejected",feedback:n.feedback,is_deleted:n.deleteLearning,scopeId:Q,appsecData:Dn},{onSuccess:function(){var n;Ln(function(n){return e(e({},n),{isOpen:!1})}),null==Re||Re(),null===(n=jn.current)||void 0===n||n.show({severity:"success",summary:"".concat("approve"===In.mode?"Approved":"Rejected"," Successfully"),detail:"Learning ".concat("approve"===In.mode?"approved":"rejected"," successfully.")})},onError:function(e){var n;console.error("An error occurred.",e),null===(n=jn.current)||void 0===n||n.show({severity:"error",summary:"Action Failed",detail:"There was an error processing the learning. Please try again."})}})},variantInformation:"".concat(U," — ").concat($),ruleTitle:U,pendingVariants:[G],isPending:xn.isPending})]}))};export{H as default};
2
2
  //# sourceMappingURL=VariantCard.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e-llm-studio/instant-learning",
3
- "version": "1.0.6",
3
+ "version": "1.0.8-alpha.1",
4
4
  "author": "Devesh Patel",
5
5
  "description": "",
6
6
  "license": "MIT",