@e-llm-studio/instant-learning 1.3.0-alpha.131 → 1.3.0-alpha.133
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/features/LearningManagement/LearningManagement.js +1 -1
- package/dist/cjs/features/LearningManagement/LearningManagementTest.js +1 -1
- package/dist/cjs/features/LearningManagement/RuleContent/RuleContent.js +1 -1
- package/dist/cjs/features/LearningManagement/components/InstantLearningModal.js +1 -1
- package/dist/cjs/features/LearningManagement/hooks/useLearningTemplateQueryParams.js +1 -1
- package/dist/cjs/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js +1 -1
- package/dist/features/LearningManagement/LearningManagement.js +1 -1
- package/dist/features/LearningManagement/LearningManagementTest.js +1 -1
- package/dist/features/LearningManagement/RuleContent/RuleContent.js +1 -1
- package/dist/features/LearningManagement/components/InstantLearningModal.js +1 -1
- package/dist/features/LearningManagement/hooks/useLearningTemplateQueryParams.js +1 -1
- package/dist/features/LearningManagement/store/useLearningTemplateStore.js +1 -1
- package/dist/plugins/ValueTypes/RadioTrafficLearning/RadioTrafficLearningRenderer.js +1 -1
- package/dist/types/src/features/LearningManagement/LearningManagement.d.ts.map +1 -1
- package/dist/types/src/features/LearningManagement/hooks/useLearningTemplateQueryParams.d.ts +11 -0
- package/dist/types/src/features/LearningManagement/hooks/useLearningTemplateQueryParams.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0})
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),a={TAB:"tab",RULESET_ID:"rulesetid",SECTION:"section",OPEN_IL:"openil",ONBOARD_STATION:"onboardstation",STATION_NAME:"stationname",VARIANT_ID:"variantid",APPROVAL_ACTION:"approval"},t=Object.values(a),n=function(e){return new URLSearchParams(window.location.search).get(e)},r=function(e){var a=new URLSearchParams(window.location.search);Object.entries(e).forEach(function(e){var t=e[0],n=e[1];null==n||""===n?a.delete(t):a.set(t,n)});var t=a.toString(),n="".concat(window.location.pathname).concat(t?"?".concat(t):"");window.history.replaceState({},"",n)};exports.QUERY_PARAM_KEYS=a,exports.getQueryParam=n,exports.setQueryParams=r,exports.useRuleTemplateQueryParams=function(){var o=e.useCallback(function(){var e=n(a.TAB);return"rule-sets"===e||"stations"===e?e:null},[]),c=e.useCallback(function(){return n(a.RULESET_ID)},[]),i=e.useCallback(function(){var e={};t.forEach(function(a){e[a]=null}),r(e)},[]);return{getInitialTab:o,getInitialRuleSetId:c,syncTab:e.useCallback(function(e){var t;r(((t={})[a.TAB]=e,t))},[]),syncRuleSetId:e.useCallback(function(e){var t;r(((t={})[a.RULESET_ID]=e,t))},[]),clearLearningParams:i}};
|
|
2
2
|
//# sourceMappingURL=useLearningTemplateQueryParams.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../../features/LearningManagement/components/InstantLearningModal.js");exports.default=function(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../../features/LearningManagement/components/InstantLearningModal.js");exports.default=function(a){var i=a.pluginPayload||{},n=i.editingRule,r=i.editingTier,o=i.editingVariants,d=i.focusedVariantIndex,u=i.setFocusedVariantIndex,c=i.triggerAddVariant,l=i.triggerFixGaps,s=i.copiedRule,p=i.copiedSourceTier,g=i.copiedTargetTier,I=i.initialDraftMessage,m=i.app_integration_id,w=i.modeId,x={"Separation rule":"I would want to add a separation rule","Max priority rule":"I would want to set a max priority rule","Break code matching":"I would want to add a break code matching rule","Inventory code matching":"I would want to add a inventory window matching rule","Enter a rule description":"I want to add a rule description"},y="<p><span>Hi! 👋 I'm your Instant Learning Concierge.</span>\n <span>How would you like to get started? You can select an option below or describe the rule you’d like to create.</span>\n ".concat(["Separation rule","Max priority rule","Break code matching","Inventory code matching","Enter a rule description"].map(function(e){return'<button class="clickable-button" data-value="'.concat(x[e],'">').concat(e,"</button>")}).join(""),"</p>");return e.jsx(t.default,{isOpen:a.isOpen,onClose:a.onClose,initialScope:a.initialScope,ruleSet:a.ruleSet,editingRule:n,editingTier:r,editingVariants:o,focusedVariantIndex:d,setFocusedVariantIndex:u,triggerAddVariant:c,triggerFixGaps:l,copiedRule:s,copiedSourceTier:p,copiedTargetTier:g,initialDraftMessage:I,initialChatMessage:y,applicationIntegrationId:m,modeId:w})};
|
|
2
2
|
//# sourceMappingURL=RadioTrafficLearningRenderer.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign as e,__spreadArray as n,__awaiter as t,__generator as r}from"tslib";import{jsx as o,jsxs as s,Fragment as a}from"react/jsx-runtime";import{useState as i,useRef as c,useEffect as l}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 g from"./LearningTemplateLayout.js";import h from"./components/EmptyLearningState.js";import S from"./store/useAuthStore.js";import{fetchTiers as y,getILInstance as b,fetchScopes as C,inheritScope as T,inheritScopeBackwardCompatible as I,createRuleSet as A,renameScope as L,deleteRuleSet as E,requestAccess as R}from"./apis/scopeApis.js";import{QUERY_PARAM_KEYS as O,setQueryParams as w}from"./hooks/useLearningTemplateQueryParams.js";import N from"./components/ConfirmationModal.js";import _ from"./components/LearningTemplateManagementSkeleton.js";import{findNodePathById as j,findNodeById as D}from"./utils/treeUtils.js";import k from"./store/useEnvStore.js";import{useConfigStore as M}from"./store/useConfigStore.js";import{TooltipProvider as P}from"./components/ToolTip.js";import B from"./components/CreateRuleSetLegacyModal.js";import{usePermissionsStore as U}from"./store/usePermissionsStore.js";import{useAppSecRolesStore as q}from"./store/useAppSecRolesStore.js";import{useGetAppSecRolesQuery as G}from"./queries/useApprovalQueries.js";import{useLMSConfigQuery as F}from"./queries/useLMSConfigQuery.js";import x from"./RuleContent/AddScopeModal.js";import H from"./components/RuleContentSkeleton.js";import Q from"./components/ErrorStateDisplay.js";import{useLocation as z}from"react-router-dom";import K from"./shared/SuccessToastContent.js";import V from"./shared/ErrorToastContent.js";import W from"./RuleContent/RenameScopeModal.js";import{useLMSConfigStore as Y,dt as J}from"./store/useLMSConfigStore.js";import{MIDDLE_DRAWER_DT_PATH as X,MIDDLE_DRAWER_CONTEXT_MENU_DT_PATH as Z,EMPTY_STATE_DT_PATH as $}from"./constants.js";function ee(ee){var ne,te,re,oe=this,se=ee.userDetails,ae=ee.llmStudioUrl,ie=ee.audacyBackendUrl,ce=ee.ilLabels,le=ee.config,ue=ee.rbacConfig,de=ee.auditLogConfig,pe=ee.app_integration_id,me=ee.backwardCompatibility,fe=void 0!==me&&me,ve=ee.cognitiveCompareCompatibility,ge=void 0!==ve&&ve,he=ee.modeId,Se=ee.modeDetails,ye=ee.pluginPayload,be=m(function(e){return e.selectedRuleSetId}),Ce=m(function(e){return e.setSelectedRuleSetId}),Te=m(function(e){return e.setIlInstanceId}),Ie=m(function(e){return e.error}),Ae=m(function(e){return e.setError}),Le=m(function(e){return e.setStations}),Ee=m(function(e){return e.scopeTreeData}),Re=m(function(e){return e.setScopeTreeData}),Oe=i({isOpen:!1,type:"GLOBAL"}),we=Oe[0],Ne=Oe[1],_e=i(!1),je=_e[0],De=_e[1],ke=i(!1),Me=ke[0],Pe=ke[1],Be=i("learnings"),Ue=Be[0],qe=Be[1],Ge=i(null),Fe=Ge[0],xe=Ge[1],He=i(!1),Qe=He[0],ze=He[1],Ke=i(null),Ve=Ke[0];Ke[1];var We=i(!1),Ye=We[0],Je=We[1],Xe=i(!1),Ze=Xe[0],$e=Xe[1];c(null);var en=c(null),nn=c(!1),tn=c(null),rn=S();rn.user;var on=rn.setUser,sn=M(),an=sn.setConfig,cn=sn.setIlLabels,ln=function(){try{return z()}catch(e){return{search:""}}}();l(function(){if(!nn.current){var e=new URLSearchParams(window.location.search),n=e.get(O.RULESET_ID),t=e.get(O.SECTION),r=t&&jn.has(t)?t:"learnings";(null==n?void 0:n.length)&&Ce&&qe&&(Ce(n),qe(r),nn.current=!0)}},[null==ln?void 0:ln.search,qe,Ce]),l(function(){var e;be&&w(((e={})[O.RULESET_ID]=be,e))},[be]),l(function(){var n;(null==ye?void 0:ye.learningManagement)&&Y.getState().setLMSConfig(e(e({},ye.learningManagement),{agents:null!==(n=ye.agents)&&void 0!==n?n:{}}))},[ye]);var un=U(function(e){return e.fetchPermissions}),dn=U(function(e){return e.hasPermission}),pn=q(function(e){return e.setRoles}),mn=k(function(e){return e.appsecRbacUrl})===ue.appsecRbacUrl,fn=G(ue.applicationId,mn).data,vn=F(null!=pe?pe:"",fe),gn=vn.isLoading,hn=vn.isError,Sn=vn.refetch;vn.isSuccess;var yn=i(0),bn=yn[0],Cn=yn[1];l(function(){if(!fe&&pe&&ae){t(oe,void 0,void 0,function(){var e,n,t,o,s,a,i;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,b(pe)];case 1:return e=r.sent(),(null===(o=null==e?void 0:e.data)||void 0===o?void 0:o.ILInstanceId)&&Te(e.data.ILInstanceId),"number"==typeof(n=null===(i=null===(a=null===(s=null==e?void 0:e.data)||void 0===s?void 0:s.learningManagement)||void 0===a?void 0:a.scopeAndHierarchy)||void 0===i?void 0:i.maxHierarchyLevels)&&n>0&&Cn(n-1),[3,3];case 2:return t=r.sent(),console.error("Failed to fetch IL instance for hierarchy levels:",t),[3,3];case 3:return[2]}})})}},[pe,ae]),l(function(){fn&&pn(fn.map(function(e){return{_id:e._id,name:e.name}}))},[fn,pn]),l(function(){var e;console.log("userDetails",se),on(se),console.log("llmStudioUrl",ae),console.log("audacyBackendUrl",ie),k.getState().setLlmStudioUrl(ae),k.getState().setAudacyBackendUrl(ie),k.getState().setRbacConfig(ue),k.getState().setAuditLogConfig(de),k.getState().setBaseModeName((null==Se?void 0:Se.modeNameFromURL)||null),an(le),cn(ce),m.getState().setAppIntegrationId(null!=pe?pe:null),m.getState().setBackwardCompatibility(fe),m.getState().setCognitiveCompareCompatibility(null!=ge&&ge),m.getState().setToken(null!==(e=null==se?void 0:se.accessToken)&&void 0!==e?e:null)},[se,on,ae,ie,ue,de,le,an,ce,cn,pe,fe,ge,Se]),l(function(){(null==se?void 0:se.accessToken)&&ae&&y()},[pe,null==se?void 0:se.accessToken,ae]);var Tn=function(n){return void 0===n&&(n=!0),t(oe,void 0,void 0,function(){var t,o,s,a,i,c,l,u,d,p,f,v;return r(this,function(r){switch(r.label){case 0:n&&De(!0),Ae(null),r.label=1;case 1:return r.trys.push([1,7,8,9]),[4,un(ue.applicationId)];case 2:r.sent(),t=function(n){var r=U.getState().hasPermission("ilotj.scope.view",n.id),o=n.children?n.children.map(function(e){return t(e)}).filter(function(e){return null!==e}):[];return r||0!==o.length?e(e({},n),{hasAccess:r,children:o}):null},o=void 0,r.label=3;case 3:return r.trys.push([3,5,,6]),[4,C(pe,se.accessToken)];case 4:return o=r.sent(),[3,6];case 5:if(s=r.sent(),403===(null===(f=null==s?void 0:s.response)||void 0===f?void 0:f.status))return Re(null),xe(ue.applicationResourceId||null),ze(!0),[2];throw s;case 6:return o&&o.data&&o.data.data&&(a=o.data.data,Array.isArray(a)&&(a=a.length>0?a[0]:null),a?(i=t(a))?(xe(null),ze(!1),Re({data:i}),en.current?(Ce(en.current),qe("learnings"),en.current=null):(c=m.getState().selectedRuleSetId,l=c?D(i,c):null,c&&l||(u=function(e){if(e.hasAccess)return e;for(var n=0,t=e.children||[];n<t.length;n++){var r=t[n],o=u(r);if(o)return o}return null},d=u(i),Ce(d?d.id:i.id)))):(xe(null!==(v=a.id)&&void 0!==v?v:null),ze(!1),Re(null)):(xe(null),ze(!1),Re(null))),[3,9];case 7:return p=r.sent(),console.error("Failed to fetch rule sets or permissions",p),Ae("Failed to load data. Please try again later."),[3,9];case 8:return De(!1),[7];case 9:return[2]}})})};l(function(){var e;(null===(e=null==se?void 0:se.accessToken)||void 0===e?void 0:e.length)&&mn?Tn(!0):console.warn("Error: Trying to fetch rules without access token",se)},[null==se?void 0:se.accessToken,Ae,Le,ue.applicationId,mn]);var In=function(n,o,s){return t(oe,void 0,void 0,function(){var t,o,s,a,i,c,l,u;return r(this,function(r){switch(r.label){case 0:Pe(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,E(n,se.accessToken)];case 2:return r.sent(),m.getState().selectedRuleSetId===n&&(t=m.getState().scopeTreeData,(o=j((null==t?void 0:t.data)||null,n))&&o.length>1&&(s=o[o.length-2],Ce(s),qe("learnings"))),[4,Tn(!0)];case 3:return r.sent(),Ne(function(n){return e(e({},n),{isOpen:!1})}),null===(i=tn.current)||void 0===i||i.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return a=r.sent(),console.error("An error occurred during scope deletion.",a),null===(c=tn.current)||void 0===c||c.show({severity:"error",summary:"Delete Failed",detail:(null===(u=null===(l=null==a?void 0:a.response)||void 0===l?void 0:l.data)||void 0===u?void 0:u.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return Pe(!1),[7];case 6:return[2]}})})},An=function(e,n){var t;console.log("Section Selected:",{scopeId:e,sectionId:n}),w(((t={})[O.SECTION]="learnings"===n?null:n,t)),qe(n),Ce(e),$e(!1)},Ln=Ee,En=Ve?{data:{id:Ve.stationId,name:Ve.stationName,type:"STATION",metrics:{learningsCount:Ve.learningsCount,stationsCount:0},children:[]}}:Ln,Rn=!!(null==En?void 0:En.data);null===(ne=null==En?void 0:En.data)||void 0===ne||ne.type;var On=U(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",ue.applicationResourceId||""),wn=function(e){return t(oe,void 0,void 0,function(){var n,t,s,a,i,c,l,u,d,p;return r(this,function(r){switch(r.label){case 0:if(!(n="string"==typeof e?e:(null===(c=null===(i=m.getState().scopeTreeData)||void 0===i?void 0:i.data)||void 0===c?void 0:c.id)||Fe)&&!Qe)return null===(l=tn.current)||void 0===l||l.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:"Unable to identify the global scope for this access request."})}),[2];Je(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,R(n,Qe)];case 2:return r.sent(),$e(!0),null===(u=tn.current)||void 0===u||u.show({severity:"success",sticky:!1,life:3e3,className:v.successToast,content:o(K,{message:"Access request submitted successfully!"})}),[3,5];case 3:return t=r.sent(),s=null===(d=null==t?void 0:t.response)||void 0===d?void 0:d.data,a="GLOBAL_SCOPE_NOT_FOUND"===(null==s?void 0:s.code)?"Unable to identify the global scope for this access request.":(null==s?void 0:s.detail)||(null==s?void 0:s.message)||"Failed to request access. Please try again.",null===(p=tn.current)||void 0===p||p.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:a})}),[3,5];case 4:return Je(!1),[7];case 5:return[2]}})})};if(gn)return o("div",e({className:v.learningManagementContainer},{children:o(H,{})}));if(hn)return o("div",e({className:v.learningManagementContainer},{children:o(Q,{errorMessage:"Failed to load configuration. Please try again.",onRetry:function(){return Sn()},title:"Error Loading Configuration"})}));var Nn=n(n([{type:"GLOBAL",label:"Global",addChildLabel:"".concat(J("".concat(X,".addScope"),"Add Scope")),addChildType:"SCOPE"}],Array.from({length:bn},function(){return e({type:"SCOPE",label:J("".concat(X,".scope"),"Scope")},!fe&&{addChildLabel:J("".concat(Z,".addSubScope"),"Add Subscope"),addChildType:"SUBSCOPE"})}),!0),fe?[]:[{type:"SUBSCOPE",label:J("".concat(X,".subScope"),"Subscope")}],!0),_n=[{id:"learnings",label:J("".concat(X,".treeMenu.submenu.learnings"),"Learnings"),icon:u,badgeKey:"learningsCount"},{id:"access",label:J("".concat(X,".treeMenu.submenu.access"),"Access"),icon:d},{id:"history",label:J("".concat(X,".treeMenu.submenu.changeHistory"),"Change History"),icon:p}],jn=new Set(_n.map(function(e){return e.id})),Dn=Ve?_n.filter(function(e){return"stations"!==e.id}):_n;return o(P,{children:s("div",e({className:v.learningManagementContainer},{children:[o("div",e({className:v.mainWrapper},{children:je?o(_,{}):Ie?s("div",e({className:v.errorContainer},{children:[o("div",e({className:v.errorTitle},{children:"Error Loading Data"})),o("p",e({className:v.errorDesc},{children:Ie})),o("button",e({onClick:function(){return Tn(!0)},className:v.tryAgainBtn},{children:"Try Again"}))]})):Rn?o(g,{onOpenCreateModal:function(){return Ne({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,n,t){return Ne({isOpen:!0,type:n,parentId:e,parentName:t})},onRenameChild:function(e,n){return Ne({isOpen:!0,type:"RENAME",scopeId:e,initialName:n})},onDeleteChild:function(e,n,o){return t(oe,void 0,void 0,function(){var t,s,a;return r(this,function(r){switch(r.label){case 0:return t=m.getState().scopeTreeData,s=j((null==t?void 0:t.data)||null,e),a=!!s&&3===s.length,0!==o?[3,2]:[4,In(e)];case 1:return r.sent(),[3,3];case 2:Ne({isOpen:!0,type:"DELETE",scopeId:e,initialName:n,isSubscope:a}),r.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return dn("ilotj.scope.delete",e)},canEditScope:function(e){return dn("ilotj.scope.edit",e)},canCreateScope:function(e){return dn("ilotj.scope.create",e)},onSectionSelect:An,activeSectionId:Ue,scopeTreeData:En,sectionsConfig:Dn,onViewStation:function(e){An(e.stationId,"learnings")},onRefreshRuleSets:function(e,n){void 0===e&&(e=!0),n&&(en.current=n),Tn(e)},nodeTypesConfig:Nn,app_integration_id:pe,token:se.accessToken,modeId:he,onRequestAccess:wn,isRequestingAccess:Ye,isAccessRequested:Ze}):o(h,{onCreate:function(){return Ne({isOpen:!0,type:"GLOBAL"})},title:J("".concat($,".title"),"No Global Scope has been added!"),desc:J("".concat($,".desc"),"Start by creating a Global scope to define base learnings that apply across all stations."),button:J("".concat($,".createGlobalScope"),"Create Global Scope"),canCreateRule:On,noAccessTitle:J("".concat($,".noAccessTitle"),"Access Restricted"),noAccessDesc:J("".concat($,".noAccessDesc"),"You do not have access for this application."),requestAccessButton:J("".concat($,".requestAccessButton"),"Request Access"),requestSentButton:J("".concat($,".requestSentButton"),"Request Sent"),onRequestAccess:wn,isRequestingAccess:Ye,isAccessRequested:Ze})})),o(f,{ref:tn,pt:{root:{style:{zIndex:9999}}}}),fe&&we.isOpen&&"DELETE"!==we.type&&"RENAME"!==we.type?o(B,{isOpen:!0,onClose:function(){return Ne(e(e({},we),{isOpen:!1}))},onSubmit:function(n){return t(oe,void 0,void 0,function(){var t,o,s,a,i,c,l,u,d,p,f,v,g,h,S,y,b,C,L,E;return r(this,function(r){switch(r.label){case 0:Pe(!0),t=m.getState().backwardCompatibility,r.label=1;case 1:return r.trys.push([1,12,13,14]),o=void 0,t&&"object"==typeof n?o=n:(s=n,a="SCOPE"===we.type&&we.parentId,i=a?"genreRuleSet":we.type,o={topic:i,scope_reference_id:null,scopeDescription:"demo",parentScopeId:we.parentId||null,scopeName:s,scopeReferenceMetadata:{},applicationMappingId:pe}),[4,A(o,se.accessToken)];case 2:if(c=r.sent(),!(l=null===(h=null==c?void 0:c.data)||void 0===h?void 0:h.scopeId))return[3,10];if(en.current=l,u=t&&(null===(S=o.topic)||void 0===S?void 0:S.toLowerCase().includes("genre")),d=!t&&"GLOBAL"!==we.type&&we.parentId,!u&&!d)return[3,10];if(!(p=t?null===(b=null===(y=m.getState().scopeTreeData)||void 0===y?void 0:y.data)||void 0===b?void 0:b.id:we.parentId))return[3,10];if(!fe)return[3,7];r.label=3;case 3:return r.trys.push([3,5,,6]),[4,I({source_scope_id:p,target_scope_id:l})];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,T({source_scope_id:p,target_scope_id:l,application_mapping_id:pe||"",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,Tn(!0)];case 11:return r.sent(),Ne(function(n){return e(e({},n),{isOpen:!1})}),[3,14];case 12:throw g=r.sent(),console.error("An error occurred during scope creation.",g),null===(C=tn.current)||void 0===C||C.show({severity:"error",summary:"Creation Failed",detail:(null===(E=null===(L=null==g?void 0:g.response)||void 0===L?void 0:L.data)||void 0===E?void 0:E.message)||"There was an error creating the scope. Please try again."}),g;case 13:return Pe(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:Rn,canCreateGlobal:On,globalScopeId:null!==(re=null===(te=null==Ee?void 0:Ee.data)||void 0===te?void 0:te.id)&&void 0!==re?re:null}):s(a,{children:[o(x,{isOpen:we.isOpen&&"DELETE"!==we.type&&"RENAME"!==we.type,onClose:function(){return Ne(e(e({},we),{isOpen:!1}))},onCreate:function(e){e&&(en.current=e),Tn(!0)},hasGlobalRuleSet:Rn,parentId:we.parentId}),o(W,{isOpen:we.isOpen&&"RENAME"===we.type,onClose:function(){return Ne(e(e({},we),{isOpen:!1}))},onSave:function(n){return t(oe,void 0,void 0,function(){var t,s,a,i,c,l;return r(this,function(r){switch(r.label){case 0:Pe(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),we.scopeId?(t=m.getState().backwardCompatibility,s=t?{scope_id:we.scopeId,scope_name:n}:{scope_id:we.scopeId,scope_type:"Custom",scope_name:n,application_mapping_id:pe},[4,L(s,se.accessToken)]):[2];case 2:return r.sent(),[4,Tn(!0)];case 3:return r.sent(),Ne(function(n){return e(e({},n),{isOpen:!1})}),[3,6];case 4:throw a=r.sent(),console.error("An error occurred during scope rename.",a),null===(i=tn.current)||void 0===i||i.show({severity:"error",sticky:!1,className:v.errorToast,content:o(V,{message:(null===(l=null===(c=null==a?void 0:a.response)||void 0===c?void 0:c.data)||void 0===l?void 0:l.message)||"There was an error renaming the scope. Please try again."})}),a;case 5:return Pe(!1),[7];case 6:return[2]}})})},initialName:we.initialName})]}),o(N,{isOpen:we.isOpen&&"DELETE"===we.type,onCancel:function(){return Ne(e(e({},we),{isOpen:!1}))},onConfirm:function(){return In(we.scopeId,we.initialName,we.isSubscope)},title:"Delete Scope",description:s(a,{children:["Deleting ",o("span",e({className:v.highlight},{children:we.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:Me})]}))})}export{ee as default};
|
|
1
|
+
import{__assign as e,__spreadArray as n,__awaiter as t,__generator as r}from"tslib";import{jsx as o,jsxs as s,Fragment as a}from"react/jsx-runtime";import{useState as i,useRef as c,useEffect as l}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 g from"./LearningTemplateLayout.js";import h from"./components/EmptyLearningState.js";import S from"./store/useAuthStore.js";import{fetchTiers as y,getILInstance as b,fetchScopes as C,inheritScope as T,inheritScopeBackwardCompatible as I,createRuleSet as A,renameScope as L,deleteRuleSet as E,requestAccess as R}from"./apis/scopeApis.js";import{useRuleTemplateQueryParams as O,QUERY_PARAM_KEYS as w,setQueryParams as N}from"./hooks/useLearningTemplateQueryParams.js";import _ from"./components/ConfirmationModal.js";import j from"./components/LearningTemplateManagementSkeleton.js";import{findNodePathById as D,findNodeById as k}from"./utils/treeUtils.js";import M from"./store/useEnvStore.js";import{useConfigStore as P}from"./store/useConfigStore.js";import{TooltipProvider as B}from"./components/ToolTip.js";import U from"./components/CreateRuleSetLegacyModal.js";import{usePermissionsStore as q}from"./store/usePermissionsStore.js";import{useAppSecRolesStore as G}from"./store/useAppSecRolesStore.js";import{useGetAppSecRolesQuery as F}from"./queries/useApprovalQueries.js";import{useLMSConfigQuery as x}from"./queries/useLMSConfigQuery.js";import H from"./RuleContent/AddScopeModal.js";import Q from"./components/RuleContentSkeleton.js";import z from"./components/ErrorStateDisplay.js";import{useLocation as K}from"react-router-dom";import V from"./shared/SuccessToastContent.js";import W from"./shared/ErrorToastContent.js";import Y from"./RuleContent/RenameScopeModal.js";import{dt as J,useLMSConfigStore as X}from"./store/useLMSConfigStore.js";import{MIDDLE_DRAWER_DT_PATH as Z,MIDDLE_DRAWER_CONTEXT_MENU_DT_PATH as $,EMPTY_STATE_DT_PATH as ee}from"./constants.js";function ne(ne){var te,re,oe,se=this,ae=ne.userDetails,ie=ne.llmStudioUrl,ce=ne.audacyBackendUrl,le=ne.ilLabels,ue=ne.config,de=ne.rbacConfig,pe=ne.auditLogConfig,me=ne.app_integration_id,fe=ne.backwardCompatibility,ve=void 0!==fe&&fe,ge=ne.cognitiveCompareCompatibility,he=void 0!==ge&&ge,Se=ne.modeId,ye=ne.modeDetails,be=ne.pluginPayload,Ce=[{id:"learnings",label:J("".concat(Z,".treeMenu.submenu.learnings"),"Learnings"),icon:u,badgeKey:"learningsCount"},{id:"access",label:J("".concat(Z,".treeMenu.submenu.access"),"Access"),icon:d},{id:"history",label:J("".concat(Z,".treeMenu.submenu.changeHistory"),"Change History"),icon:p}],Te=new Set(Ce.map(function(e){return e.id})),Ie=O().clearLearningParams,Ae=m(function(e){return e.selectedRuleSetId}),Le=m(function(e){return e.setSelectedRuleSetId}),Ee=m(function(e){return e.setIlInstanceId}),Re=m(function(e){return e.error}),Oe=m(function(e){return e.setError}),we=m(function(e){return e.setStations}),Ne=m(function(e){return e.scopeTreeData}),_e=m(function(e){return e.setScopeTreeData}),je=i({isOpen:!1,type:"GLOBAL"}),De=je[0],ke=je[1],Me=i(!1),Pe=Me[0],Be=Me[1],Ue=i(!1),qe=Ue[0],Ge=Ue[1],Fe=i("learnings"),xe=Fe[0],He=Fe[1],Qe=i(null),ze=Qe[0],Ke=Qe[1],Ve=i(!1),We=Ve[0],Ye=Ve[1],Je=i(null),Xe=Je[0];Je[1];var Ze=i(!1),$e=Ze[0],en=Ze[1],nn=i(!1),tn=nn[0],rn=nn[1];c(null);var on=c(null),sn=c(!1),an=c(null),cn=S();cn.user;var ln=cn.setUser,un=P(),dn=un.setConfig,pn=un.setIlLabels,mn=function(){try{return K()}catch(e){return{search:""}}}();l(function(){if(!sn.current){var e=new URLSearchParams(window.location.search),n=e.get(w.RULESET_ID),t=e.get(w.SECTION),r=t&&(null==Te?void 0:Te.has(t))?t:"learnings";(null==n?void 0:n.length)&&Le&&He&&(Le(n),He(r),sn.current=!0)}},[null==mn?void 0:mn.search,He,Le]),l(function(){return function(){Ie()}},[Ie]),l(function(){var e;Ae&&N(((e={})[w.RULESET_ID]=Ae,e))},[Ae]),l(function(){var n;(null==be?void 0:be.learningManagement)&&X.getState().setLMSConfig(e(e({},be.learningManagement),{agents:null!==(n=be.agents)&&void 0!==n?n:{}}))},[be]);var fn=q(function(e){return e.fetchPermissions}),vn=q(function(e){return e.hasPermission}),gn=G(function(e){return e.setRoles}),hn=M(function(e){return e.appsecRbacUrl})===de.appsecRbacUrl,Sn=F(de.applicationId,hn).data,yn=x(null!=me?me:"",ve),bn=yn.isLoading,Cn=yn.isError,Tn=yn.refetch;yn.isSuccess;var In=i(0),An=In[0],Ln=In[1];l(function(){if(!ve&&me&&ie){t(se,void 0,void 0,function(){var e,n,t,o,s,a,i;return r(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,b(me)];case 1:return e=r.sent(),(null===(o=null==e?void 0:e.data)||void 0===o?void 0:o.ILInstanceId)&&Ee(e.data.ILInstanceId),"number"==typeof(n=null===(i=null===(a=null===(s=null==e?void 0:e.data)||void 0===s?void 0:s.learningManagement)||void 0===a?void 0:a.scopeAndHierarchy)||void 0===i?void 0:i.maxHierarchyLevels)&&n>0&&Ln(n-1),[3,3];case 2:return t=r.sent(),console.error("Failed to fetch IL instance for hierarchy levels:",t),[3,3];case 3:return[2]}})})}},[me,ie]),l(function(){Sn&&gn(Sn.map(function(e){return{_id:e._id,name:e.name}}))},[Sn,gn]),l(function(){var e;console.log("userDetails",ae),ln(ae),console.log("llmStudioUrl",ie),console.log("audacyBackendUrl",ce),M.getState().setLlmStudioUrl(ie),M.getState().setAudacyBackendUrl(ce),M.getState().setRbacConfig(de),M.getState().setAuditLogConfig(pe),M.getState().setBaseModeName((null==ye?void 0:ye.modeNameFromURL)||null),dn(ue),pn(le),m.getState().setAppIntegrationId(null!=me?me:null),m.getState().setBackwardCompatibility(ve),m.getState().setCognitiveCompareCompatibility(null!=he&&he),m.getState().setToken(null!==(e=null==ae?void 0:ae.accessToken)&&void 0!==e?e:null)},[ae,ln,ie,ce,de,pe,ue,dn,le,pn,me,ve,he,ye]),l(function(){(null==ae?void 0:ae.accessToken)&&ie&&y()},[me,null==ae?void 0:ae.accessToken,ie]);var En=function(n){return void 0===n&&(n=!0),t(se,void 0,void 0,function(){var t,o,s,a,i,c,l,u,d,p,f,v;return r(this,function(r){switch(r.label){case 0:n&&Be(!0),Oe(null),r.label=1;case 1:return r.trys.push([1,7,8,9]),[4,fn(de.applicationId)];case 2:r.sent(),t=function(n){var r=q.getState().hasPermission("ilotj.scope.view",n.id),o=n.children?n.children.map(function(e){return t(e)}).filter(function(e){return null!==e}):[];return r||0!==o.length?e(e({},n),{hasAccess:r,children:o}):null},o=void 0,r.label=3;case 3:return r.trys.push([3,5,,6]),[4,C(me,ae.accessToken)];case 4:return o=r.sent(),[3,6];case 5:if(s=r.sent(),403===(null===(f=null==s?void 0:s.response)||void 0===f?void 0:f.status))return _e(null),Ke(de.applicationResourceId||null),Ye(!0),[2];throw s;case 6:return o&&o.data&&o.data.data&&(a=o.data.data,Array.isArray(a)&&(a=a.length>0?a[0]:null),a?(i=t(a))?(Ke(null),Ye(!1),_e({data:i}),on.current?(Le(on.current),He("learnings"),on.current=null):(c=m.getState().selectedRuleSetId,l=c?k(i,c):null,c&&l||(u=function(e){if(e.hasAccess)return e;for(var n=0,t=e.children||[];n<t.length;n++){var r=t[n],o=u(r);if(o)return o}return null},d=u(i),Le(d?d.id:i.id)))):(Ke(null!==(v=a.id)&&void 0!==v?v:null),Ye(!1),_e(null)):(Ke(null),Ye(!1),_e(null))),[3,9];case 7:return p=r.sent(),console.error("Failed to fetch rule sets or permissions",p),Oe("Failed to load data. Please try again later."),[3,9];case 8:return Be(!1),[7];case 9:return[2]}})})};l(function(){var e;(null===(e=null==ae?void 0:ae.accessToken)||void 0===e?void 0:e.length)&&hn?En(!0):console.warn("Error: Trying to fetch rules without access token",ae)},[null==ae?void 0:ae.accessToken,Oe,we,de.applicationId,hn]);var Rn=function(n,o,s){return t(se,void 0,void 0,function(){var t,o,s,a,i,c,l,u;return r(this,function(r){switch(r.label){case 0:Ge(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,E(n,ae.accessToken)];case 2:return r.sent(),m.getState().selectedRuleSetId===n&&(t=m.getState().scopeTreeData,(o=D((null==t?void 0:t.data)||null,n))&&o.length>1&&(s=o[o.length-2],Le(s),He("learnings"))),[4,En(!0)];case 3:return r.sent(),ke(function(n){return e(e({},n),{isOpen:!1})}),null===(i=an.current)||void 0===i||i.show({severity:"success",summary:"Deleted Successfully",detail:"The scope was permanently removed."}),[3,6];case 4:return a=r.sent(),console.error("An error occurred during scope deletion.",a),null===(c=an.current)||void 0===c||c.show({severity:"error",summary:"Delete Failed",detail:(null===(u=null===(l=null==a?void 0:a.response)||void 0===l?void 0:l.data)||void 0===u?void 0:u.message)||"There was an error deleting the scope. Please try again."}),[3,6];case 5:return Ge(!1),[7];case 6:return[2]}})})},On=function(e,n){var t;console.log("Section Selected:",{scopeId:e,sectionId:n}),N(((t={})[w.SECTION]="learnings"===n?null:n,t)),He(n),Le(e),rn(!1)},wn=Ne,Nn=Xe?{data:{id:Xe.stationId,name:Xe.stationName,type:"STATION",metrics:{learningsCount:Xe.learningsCount,stationsCount:0},children:[]}}:wn,_n=!!(null==Nn?void 0:Nn.data);null===(te=null==Nn?void 0:Nn.data)||void 0===te||te.type;var jn=q(function(e){return e.hasGlobalPermission})("ilotj.scope.global.create",de.applicationResourceId||""),Dn=function(e){return t(se,void 0,void 0,function(){var n,t,s,a,i,c,l,u,d,p;return r(this,function(r){switch(r.label){case 0:if(!(n="string"==typeof e?e:(null===(c=null===(i=m.getState().scopeTreeData)||void 0===i?void 0:i.data)||void 0===c?void 0:c.id)||ze)&&!We)return null===(l=an.current)||void 0===l||l.show({severity:"error",sticky:!1,className:v.errorToast,content:o(W,{message:"Unable to identify the global scope for this access request."})}),[2];en(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,R(n,We)];case 2:return r.sent(),rn(!0),null===(u=an.current)||void 0===u||u.show({severity:"success",sticky:!1,life:3e3,className:v.successToast,content:o(V,{message:"Access request submitted successfully!"})}),[3,5];case 3:return t=r.sent(),s=null===(d=null==t?void 0:t.response)||void 0===d?void 0:d.data,a="GLOBAL_SCOPE_NOT_FOUND"===(null==s?void 0:s.code)?"Unable to identify the global scope for this access request.":(null==s?void 0:s.detail)||(null==s?void 0:s.message)||"Failed to request access. Please try again.",null===(p=an.current)||void 0===p||p.show({severity:"error",sticky:!1,className:v.errorToast,content:o(W,{message:a})}),[3,5];case 4:return en(!1),[7];case 5:return[2]}})})};if(bn)return o("div",e({className:v.learningManagementContainer},{children:o(Q,{})}));if(Cn)return o("div",e({className:v.learningManagementContainer},{children:o(z,{errorMessage:"Failed to load configuration. Please try again.",onRetry:function(){return Tn()},title:"Error Loading Configuration"})}));var kn=n(n([{type:"GLOBAL",label:"Global",addChildLabel:"".concat(J("".concat(Z,".addScope"),"Add Scope")),addChildType:"SCOPE"}],Array.from({length:An},function(){return e({type:"SCOPE",label:J("".concat(Z,".scope"),"Scope")},!ve&&{addChildLabel:J("".concat($,".addSubScope"),"Add Subscope"),addChildType:"SUBSCOPE"})}),!0),ve?[]:[{type:"SUBSCOPE",label:J("".concat(Z,".subScope"),"Subscope")}],!0),Mn=Xe?Ce.filter(function(e){return"stations"!==e.id}):Ce;return o(B,{children:s("div",e({className:v.learningManagementContainer},{children:[o("div",e({className:v.mainWrapper},{children:Pe?o(j,{}):Re?s("div",e({className:v.errorContainer},{children:[o("div",e({className:v.errorTitle},{children:"Error Loading Data"})),o("p",e({className:v.errorDesc},{children:Re})),o("button",e({onClick:function(){return En(!0)},className:v.tryAgainBtn},{children:"Try Again"}))]})):_n?o(g,{onOpenCreateModal:function(){return ke({isOpen:!0,type:"GLOBAL"})},onAddChild:function(e,n,t){return ke({isOpen:!0,type:n,parentId:e,parentName:t})},onRenameChild:function(e,n){return ke({isOpen:!0,type:"RENAME",scopeId:e,initialName:n})},onDeleteChild:function(e,n,o){return t(se,void 0,void 0,function(){var t,s,a;return r(this,function(r){switch(r.label){case 0:return t=m.getState().scopeTreeData,s=D((null==t?void 0:t.data)||null,e),a=!!s&&3===s.length,0!==o?[3,2]:[4,Rn(e)];case 1:return r.sent(),[3,3];case 2:ke({isOpen:!0,type:"DELETE",scopeId:e,initialName:n,isSubscope:a}),r.label=3;case 3:return[2]}})})},canDeleteScope:function(e){return vn("ilotj.scope.delete",e)},canEditScope:function(e){return vn("ilotj.scope.edit",e)},canCreateScope:function(e){return vn("ilotj.scope.create",e)},onSectionSelect:On,activeSectionId:xe,scopeTreeData:Nn,sectionsConfig:Mn,onViewStation:function(e){On(e.stationId,"learnings")},onRefreshRuleSets:function(e,n){void 0===e&&(e=!0),n&&(on.current=n),En(e)},nodeTypesConfig:kn,app_integration_id:me,token:ae.accessToken,modeId:Se,onRequestAccess:Dn,isRequestingAccess:$e,isAccessRequested:tn}):o(h,{onCreate:function(){return ke({isOpen:!0,type:"GLOBAL"})},title:J("".concat(ee,".title"),"No Global Scope has been added!"),desc:J("".concat(ee,".desc"),"Start by creating a Global scope to define base learnings that apply across all stations."),button:J("".concat(ee,".createGlobalScope"),"Create Global Scope"),canCreateRule:jn,noAccessTitle:J("".concat(ee,".noAccessTitle"),"Access Restricted"),noAccessDesc:J("".concat(ee,".noAccessDesc"),"You do not have access for this application."),requestAccessButton:J("".concat(ee,".requestAccessButton"),"Request Access"),requestSentButton:J("".concat(ee,".requestSentButton"),"Request Sent"),onRequestAccess:Dn,isRequestingAccess:$e,isAccessRequested:tn})})),o(f,{ref:an,pt:{root:{style:{zIndex:9999}}}}),ve&&De.isOpen&&"DELETE"!==De.type&&"RENAME"!==De.type?o(U,{isOpen:!0,onClose:function(){return ke(e(e({},De),{isOpen:!1}))},onSubmit:function(n){return t(se,void 0,void 0,function(){var t,o,s,a,i,c,l,u,d,p,f,v,g,h,S,y,b,C,L,E;return r(this,function(r){switch(r.label){case 0:Ge(!0),t=m.getState().backwardCompatibility,r.label=1;case 1:return r.trys.push([1,12,13,14]),o=void 0,t&&"object"==typeof n?o=n:(s=n,a="SCOPE"===De.type&&De.parentId,i=a?"genreRuleSet":De.type,o={topic:i,scope_reference_id:null,scopeDescription:"demo",parentScopeId:De.parentId||null,scopeName:s,scopeReferenceMetadata:{},applicationMappingId:me}),[4,A(o,ae.accessToken)];case 2:if(c=r.sent(),!(l=null===(h=null==c?void 0:c.data)||void 0===h?void 0:h.scopeId))return[3,10];if(on.current=l,u=t&&(null===(S=o.topic)||void 0===S?void 0:S.toLowerCase().includes("genre")),d=!t&&"GLOBAL"!==De.type&&De.parentId,!u&&!d)return[3,10];if(!(p=t?null===(b=null===(y=m.getState().scopeTreeData)||void 0===y?void 0:y.data)||void 0===b?void 0:b.id:De.parentId))return[3,10];if(!ve)return[3,7];r.label=3;case 3:return r.trys.push([3,5,,6]),[4,I({source_scope_id:p,target_scope_id:l})];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,T({source_scope_id:p,target_scope_id:l,application_mapping_id:me||"",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,En(!0)];case 11:return r.sent(),ke(function(n){return e(e({},n),{isOpen:!1})}),[3,14];case 12:throw g=r.sent(),console.error("An error occurred during scope creation.",g),null===(C=an.current)||void 0===C||C.show({severity:"error",summary:"Creation Failed",detail:(null===(E=null===(L=null==g?void 0:g.response)||void 0===L?void 0:L.data)||void 0===E?void 0:E.message)||"There was an error creating the scope. Please try again."}),g;case 13:return Ge(!1),[7];case 14:return[2]}})})},hasGlobalRuleSet:_n,canCreateGlobal:jn,globalScopeId:null!==(oe=null===(re=null==Ne?void 0:Ne.data)||void 0===re?void 0:re.id)&&void 0!==oe?oe:null}):s(a,{children:[o(H,{isOpen:De.isOpen&&"DELETE"!==De.type&&"RENAME"!==De.type,onClose:function(){return ke(e(e({},De),{isOpen:!1}))},onCreate:function(e){e&&(on.current=e),En(!0)},hasGlobalRuleSet:_n,parentId:De.parentId}),o(Y,{isOpen:De.isOpen&&"RENAME"===De.type,onClose:function(){return ke(e(e({},De),{isOpen:!1}))},onSave:function(n){return t(se,void 0,void 0,function(){var t,s,a,i,c,l;return r(this,function(r){switch(r.label){case 0:Ge(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),De.scopeId?(t=m.getState().backwardCompatibility,s=t?{scope_id:De.scopeId,scope_name:n}:{scope_id:De.scopeId,scope_type:"Custom",scope_name:n,application_mapping_id:me},[4,L(s,ae.accessToken)]):[2];case 2:return r.sent(),[4,En(!0)];case 3:return r.sent(),ke(function(n){return e(e({},n),{isOpen:!1})}),[3,6];case 4:throw a=r.sent(),console.error("An error occurred during scope rename.",a),null===(i=an.current)||void 0===i||i.show({severity:"error",sticky:!1,className:v.errorToast,content:o(W,{message:(null===(l=null===(c=null==a?void 0:a.response)||void 0===c?void 0:c.data)||void 0===l?void 0:l.message)||"There was an error renaming the scope. Please try again."})}),a;case 5:return Ge(!1),[7];case 6:return[2]}})})},initialName:De.initialName})]}),o(_,{isOpen:De.isOpen&&"DELETE"===De.type,onCancel:function(){return ke(e(e({},De),{isOpen:!1}))},onConfirm:function(){return Rn(De.scopeId,De.initialName,De.isSubscope)},title:"Delete Scope",description:s(a,{children:["Deleting ",o("span",e({className:v.highlight},{children:De.initialName||"this scope"}))," will permanently remove all Learnings, Access rules, and Change History inside it. This cannot be undone."]}),confirmText:"Delete",confirmBgColor:"#EF4444",isLoading:qe})]}))})}export{ne as default};
|
|
2
2
|
//# sourceMappingURL=LearningManagement.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"tslib";import"react/jsx-runtime";import"react";import"lucide-react";import"./store/useLearningTemplateStore.js";import"primereact/toast";import"./apis/scopeApis.js";import"./store/usePermissionsStore.js";import"./store/useLMSConfigStore.js";import"./components/ToolTip.js";import"./store/useAuthStore.js";import"@mui/material";import"@mui/icons-material/Check";import"@mui/icons-material/CloseRounded";import{QueryClient as t}from"@tanstack/react-query";import"./store/useEnvStore.js";import"date-fns/format";import"date-fns/isValid";import"date-fns/parseISO";import"framer-motion";import"../IL-OTJ/_components/atoms/Textarea/Textarea.js";import"../IL-OTJ/_components/InputDataReasoningCard.js";import"../IL-OTJ/_components/TooltipComponent.js";import"../IL-OTJ/_components/templates/TemplatesMap/templatesMap.js";import"../IL-OTJ/store/CitationsContext.js";import"uuid";import"@mui/material/Tooltip";import"react-markdown";import"rehype-raw";import"axios";import"@e-llm-studio/streaming-response";import"@e-llm-studio/watch-me-work";import"../IL-OTJ/_components/ChatComponents/ChatHeader.js";import"remark-gfm";import"../IL-OTJ/_components/MarkdownComponents/MarkdownElements.js";import"../IL-OTJ/_components/CitationLink.js";import"@e-llm-studio/citation";import"../IL-OTJ/ValueTypeWrappers/TeachMePlugin.js";import"./store/useConfigStore.js";import"appsec-ui";import"react-dom";import"@radix-ui/react-tooltip";import"./components/StationOnboarding/InputField.js";import"./config.js";import"./store/useAppSecRolesStore.js";import"@e-llm-studio/audit-log";import"@e-llm-studio/audit-log/dist/styles.css";import"./AuditLog/ChangeLogDiff.js";import"react-router-dom";new t;
|
|
1
|
+
import"tslib";import"react/jsx-runtime";import"react";import"lucide-react";import"./store/useLearningTemplateStore.js";import"primereact/toast";import"./apis/scopeApis.js";import"./store/usePermissionsStore.js";import"./store/useLMSConfigStore.js";import"./components/ToolTip.js";import"./store/useAuthStore.js";import"@mui/material";import"@mui/icons-material/Check";import"@mui/icons-material/CloseRounded";import{QueryClient as t}from"@tanstack/react-query";import"./store/useEnvStore.js";import"date-fns/format";import"date-fns/isValid";import"date-fns/parseISO";import"framer-motion";import"../IL-OTJ/_components/atoms/Textarea/Textarea.js";import"../IL-OTJ/_components/InputDataReasoningCard.js";import"../IL-OTJ/_components/TooltipComponent.js";import"../IL-OTJ/_components/templates/TemplatesMap/templatesMap.js";import"../IL-OTJ/store/CitationsContext.js";import"uuid";import"@mui/material/Tooltip";import"react-markdown";import"rehype-raw";import"axios";import"@e-llm-studio/streaming-response";import"@e-llm-studio/watch-me-work";import"../IL-OTJ/_components/ChatComponents/ChatHeader.js";import"remark-gfm";import"../IL-OTJ/_components/MarkdownComponents/MarkdownElements.js";import"../IL-OTJ/_components/CitationLink.js";import"@e-llm-studio/citation";import"../IL-OTJ/ValueTypeWrappers/TeachMePlugin.js";import"./store/useConfigStore.js";import"appsec-ui";import"react-dom";import"@radix-ui/react-tooltip";import"./components/StationOnboarding/InputField.js";import"./config.js";import"./store/useAppSecRolesStore.js";import"@e-llm-studio/audit-log";import"@e-llm-studio/audit-log/dist/styles.css";import"./AuditLog/ChangeLogDiff.js";import"./hooks/useLearningTemplateQueryParams.js";import"react-router-dom";new t;
|
|
2
2
|
//# sourceMappingURL=LearningManagementTest.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter as e,__generator as t,__spreadArray as n,__assign as r}from"tslib";import{jsx as o,jsxs as i,Fragment as l}from"react/jsx-runtime";import{useRef as a,useState as s,useEffect as u}from"react";import{useLearningTemplateStore as c}from"../store/useLearningTemplateStore.js";import d from"../components/EmptyLearningState.js";import{getRulesInRuleSetById as p,exportRuleSet as m,deleteRule as f,deleteQuestion as v,alterQuestionPriority as g}from"../apis/scopeApis.js";import h from"../components/RuleContentSkeleton.js";import{Toast as T}from"primereact/toast";import y from"./ContentLogic.js";import w from"../components/ErrorStateDisplay.js";import S from"../shared/SuccessToastContent.js";import C from"../shared/ErrorToastContent.js";import{findNodeById as j}from"../utils/treeUtils.js";import R from"../styles/LearningContent.module.css.js";import b from"../components/ConfirmationModal.js";import{dt as I}from"../store/useLMSConfigStore.js";import"../../IL-OTJ/_components/atoms/Textarea/Textarea.js";import"lucide-react";import"../../IL-OTJ/_components/InputDataReasoningCard.js";import"../../IL-OTJ/_components/TooltipComponent.js";import"../../IL-OTJ/_components/templates/TemplatesMap/templatesMap.js";import{CitationProvider as D}from"../../IL-OTJ/store/CitationsContext.js";import"@mui/material";import"uuid";import"@mui/material/Tooltip";import"react-markdown";import"rehype-raw";import"axios";import"@e-llm-studio/streaming-response";import"@e-llm-studio/watch-me-work";import"../../IL-OTJ/_components/ChatComponents/ChatHeader.js";import"remark-gfm";import"../../IL-OTJ/_components/MarkdownComponents/MarkdownElements.js";import"../../IL-OTJ/_components/CitationLink.js";import"@e-llm-studio/citation";import x from"../../IL-OTJ/ValueTypeWrappers/TeachMePlugin.js";import{LEARNING_DT_PATH as _,VARIANT_DT_PATH as L,TIER_DT_PATH as k}from"../constants.js";import{useConfigStore as O}from"../store/useConfigStore.js";import"../store/usePermissionsStore.js";import"appsec-ui";import"../store/useAuthStore.js";import"../store/useEnvStore.js";import"react-dom";import"@radix-ui/react-tooltip";import"../components/StationOnboarding/InputField.js";import"../config.js";import"../store/useAppSecRolesStore.js";import"@tanstack/react-query";import"@e-llm-studio/audit-log";import"@e-llm-studio/audit-log/dist/styles.css";import"../AuditLog/ChangeLogDiff.js";import"../components/ToolTip.js";import"react-router-dom";import"../LearningManagementTest.js";var M=function(M){var A,N=M.noRulesTitle,E=void 0===N?"No rules have been added !":N,V=M.noRulesDesc,F=void 0===V?"Start by adding rules that should apply across all stations.":V,P=M.noRulesButtonText,B=void 0===P?"Create New Rule":P,J=M.deleteRuleSuccessMessage,U=void 0===J?"Rule deleted successfully!":J,W=M.deleteVariantSuccessMessage,q=void 0===W?"Variant deleted successfully!":W,G=M.deleteRuleErrorMessage,H=void 0===G?"Failed to delete rule. Please try again.":G,$=M.deleteVariantErrorMessage,z=void 0===$?"Failed to delete variant. Please try again.":$,K=M.deleteModalTitle,Q=void 0===K?"Delete":K,X=M.deleteRuleModalWarning,Y=void 0===X?"This will permanently delete the rule configuration.":X,Z=M.deleteVariantModalWarning,ee=void 0===Z?"This will permanently delete the variant configuration.":Z,te=M.deleteConfirmText,ne=void 0===te?"Delete":te,re=M.onRefreshRuleSets,oe=M.app_integration_id,ie=M.token,le=M.modeId,ae=c(function(e){return e.selectedRuleSetId}),se=c(function(e){return e.scopeTreeData}),ue=c(function(e){return e.sidebarTab}),ce=c(function(e){return e.setInitialRules}),de=c(function(e){return e.currentRules}),pe=c(function(e){return e.setRawAuditRuleData});c(function(e){return e.createdVariantInfo});var me=c(function(e){return e.resetCreatedVariantInfo}),fe=c(function(e){return e.isILModalTriggered}),ve=c(function(e){return e.setIsILModalTriggered}),ge=a(null),he=O.getState().configuration,Te=s(!1),ye=Te[0],we=Te[1],Se=s(null),Ce=Se[0],je=Se[1],Re=s(null),be=Re[0],Ie=Re[1],De=s(null),xe=De[0],_e=De[1],Le=s(null),ke=Le[0],Oe=Le[1],Me=s(!1),Ae=Me[0],Ne=Me[1],Ee=s(null),Ve=Ee[0],Fe=Ee[1],Pe=s(!1),Be=Pe[0],Je=Pe[1],Ue=s(""),We=Ue[0],qe=Ue[1],Ge=s(null),He=Ge[0],$e=Ge[1],ze=s(!1),Ke=ze[0],Qe=ze[1],Xe=s(!1),Ye=Xe[0],Ze=Xe[1],et=s("ruleDeletion"),tt=et[0],nt=et[1],rt=s(null),ot=rt[0],it=rt[1],lt=s(!1),at=lt[0],st=lt[1],ut=s(!1),ct=ut[0],dt=ut[1],pt=c.getState().tiers,mt=s(null),ft=mt[0],vt=mt[1],gt=s(null),ht=gt[0],Tt=gt[1],yt=s(null),wt=yt[0],St=yt[1],Ct=function(){je(null),Ie(null),we(!0),Oe(0)},jt=function(){we(!1),ve(!1),je(null),Ie(null),_e(null),Oe(null),Ze(!1),dt(!1),Rt(),vt(null),Tt(null),St(null),re&&re(!1,ae||void 0)};u(function(){Rt()},[ae,ce]),u(function(){fe&&we(!0)},[fe]);var Rt=function(o){return void 0===o&&(o=!1),e(void 0,void 0,void 0,function(){var e,i,l,a,s,u,d,m,f,v,g,h,T,y,w,S,C,j,R;return t(this,function(t){switch(t.label){case 0:if(!ae)return ce([]),[2];o||Ne(!0),Fe(null),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,p(ae,ie)];case 2:return e=t.sent(),console.log("response==",e),(null==e?void 0:e.data)&&0!==Object.keys(e.data).length?(pe(e),i=e.data,console.log("rulesData==",i),l=new Set(["ruleSetName","ruleSetDesc","created_at","updated_at","created_by","updated_by"]),a=Array.isArray(i.tiers)?n([],i.tiers,!0).sort(function(e,t){var n,r;return(null!==(n=e.tier_priority)&&void 0!==n?n:0)-(null!==(r=t.tier_priority)&&void 0!==r?r:0)}).map(function(e){return[e.name,e.value]}):Object.entries(i).filter(function(e){var t=e[0],n=e[1];return!l.has(t)&&Array.isArray(n)}),s=a.map(function(e){var t=e[1];return new Set(t.flatMap(function(e){var t,n;return null!==(n=null===(t=e.variants)||void 0===t?void 0:t.map(function(e){return e.link_id}).filter(Boolean))&&void 0!==n?n:[]}))}),u=s.flatMap(function(e){return Array.from(e)}),d=u.reduce(function(e,t){var n;return e[t]=(null!==(n=e[t])&&void 0!==n?n:0)+1,e},{}),m=new Set(Object.entries(d).filter(function(e){return e[1]>1}).map(function(e){return e[0]})),f=function(e){return e.map(function(e){var t;return r(r({},e),{variants:null===(t=e.variants)||void 0===t?void 0:t.map(function(e){return r(r({},e),{isLinked:!!e.link_id&&m.has(e.link_id)})})})})},v=a.map(function(e,t){var n,r=e[0],o=e[1],i=pt.find(function(e){return e.tier_name===r}),l=r.replace(/tier(\d+)/i,"tier_$1");return{id:null!==(n=null==i?void 0:i.tier_id)&&void 0!==n?n:String(t+1),name:l.replace(/_/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()}),ruleCount:o.length,description:0===t?"".concat(I("tier.subtitle","These are the system-wide learnings applied across all stations.")):"These learnings apply after higher-priority tiers and may refine or relax default behavior.",isOpen:0===t,rules:f(o)}}),(g=c.getState().createdVariantInfo)&&g.length>0?(h=Object.fromEntries(a.map(function(e,t){return[e[0],String(t+1)]})),T=new Set(g.map(function(e){return h[e.tierName]}).filter(Boolean)),y=v.map(function(e){return r(r({},e),{isOpen:e.isOpen||T.has(e.id)})}),ce(y),(w=null===(R=null===(j=null===(C=g[0])||void 0===C?void 0:C.variants)||void 0===j?void 0:j[0])||void 0===R?void 0:R.id)?setTimeout(function(){var e=document.querySelector('[data-variant-id="'.concat(w,'"]'));e&&e.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(function(){return me()},1e4)},500):me()):ce(v),[3,5]):(ce([]),[2]);case 3:return S=t.sent(),console.error("Failed to fetch rule details",S),404!==(null==S?void 0:S.status)&&Fe((null==S?void 0:S.message)||"Failed to load rules. Please try again."),ce([]),[3,5];case 4:return o||Ne(!1),[7];case 5:return[2]}})})},bt=ae?j((null==se?void 0:se.data)||null,ae):null,It=bt?{ruleSetId:bt.id,ruleSetName:bt.name,ruleSetDesc:"",ruleCount:null===(A=null==bt?void 0:bt.metrics)||void 0===A?void 0:A.learningsCount}:void 0,Dt=Boolean(null==se?void 0:se.data),xt=Boolean(ae&&!bt&&Dt),_t=function(){if("stations"===ue)return"custom";if(!bt)return"global";switch(bt.type){case"GLOBAL":default:return"global";case"SCOPE":return"genre";case"SUBSCOPE":case"Custom":return"custom"}},Lt=function(e){var t;if(!e)return o("p",{children:I("".concat(k,".deleteDialog.description"),"Are you sure you want to delete this rule? This action cannot be undone.")});var n=null==de?void 0:de.flatMap(function(e){var t;return null!==(t=e.rules)&&void 0!==t?t:[]}).find(function(t){return t.ruleId===e});return o("p",{children:I("".concat(k,".deleteDialog.description"),"Are you sure you want to delete ".concat(null==n?void 0:n.ruleTitle," rule? This action cannot be undone."),{rule_title:null!==(t=null==n?void 0:n.ruleTitle)&&void 0!==t?t:""})})},kt={editingRule:Ce,editingTier:be,editingVariants:xe,focusedVariantIndex:ke,setFocusedVariantIndex:Oe,triggerAddVariant:Ye,triggerFixGaps:ct,copiedRule:ft,copiedSourceTier:ht,copiedTargetTier:wt,initialDraftMessage:We,app_integration_id:oe,modeId:le};return It?i(l,{children:[o(T,{ref:ge}),o("div",r({className:R.container},{children:Ae?o(h,{}):Ve?o(w,{errorMessage:Ve,onRetry:Rt}):o(y,{onAddRule:Ct,onDeleteRule:function(e){$e(e)},onEditRule:function(e,t){je(e),Ie(t||null),_e(e.variants||null),Oe(null),Ze(!0),we(!0)},onEditVariant:function(e,t,n,r){var o,i,l,a,s=null!==(l=null===(i=null===(o=null==de?void 0:de.find(function(e){return e.name===n}))||void 0===o?void 0:o.rules)||void 0===i?void 0:i.find(function(e){return e.ruleId===t}))&&void 0!==l?l:null==de?void 0:de.flatMap(function(e){return e.rules}).find(function(e){return e.ruleId===t});if(s){var u=null===(a=s.variants)||void 0===a?void 0:a.findIndex(function(t){return t.variantId===e.variantId}),c=void 0!==u&&-1!==u?u:0;je(s),Ie(n||null),_e(s.variants||null),Oe(c),we(!0),"resolve_gaps"===r&&dt(!0)}},onDeleteVariant:function(e,t){it({variantId:e,ruleId:t})},onExportRule:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l,a,s;return t(this,function(t){switch(t.label){case 0:if(!ae)return[2];Je(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,m(ae)];case 2:return e=t.sent(),n=window.URL.createObjectURL(e),(r=document.createElement("a")).href=n,i=(null==It?void 0:It.ruleSetName)?"".concat(It.ruleSetName.replace(/\s+/g,"_"),"_rules.csv"):"ruleset_".concat(ae,".csv"),r.download=i,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(n),null===(a=ge.current)||void 0===a||a.show({severity:"success",sticky:!1,life:3e3,className:R.successToast,content:o(S,{message:"Ruleset exported successfully!"})}),[3,5];case 3:return l=t.sent(),console.error("Export error:",l),null===(s=ge.current)||void 0===s||s.show({severity:"error",sticky:!1,className:R.errorToast,content:o(C,{message:l.message||"Failed to export ruleset. Please try again."})}),[3,5];case 4:return Je(!1),[7];case 5:return[2]}})})},isExporting:Be,onToggleSuccess:function(){return Rt(!0)},onReorderRules:function(n,r,i,l,a){return e(void 0,void 0,void 0,function(){var e,s,u;return t(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,g(n,r,i,l,a)];case 1:return t.sent(),Rt(!0),null===(s=ge.current)||void 0===s||s.show({severity:"success",sticky:!1,life:3e3,className:R.successToast,content:o(S,{message:"Rule order changed successfully. Future rule applications will follow the updated order."})}),[3,3];case 2:return e=t.sent(),console.error("Failed to reorder rules:",e),Rt(!0),null===(u=ge.current)||void 0===u||u.show({severity:"error",sticky:!1,className:R.errorToast,content:o(C,{message:"Failed to update rule order. Please try again."})}),[3,3];case 3:return[2]}})})},onRefreshRuleSets:re,setDeleteConfirmationUsedFor:nt,onCopyToTier:function(e,t,n,r,o){var i,l,a=null===(l=null===(i=null==de?void 0:de.find(function(e){return e.name===r}))||void 0===i?void 0:i.rules)||void 0===l?void 0:l.find(function(e){return e.ruleId===t});if(a){var s=["Add a new learning with the following details:","- Rule Title: ".concat(n),"- Description: ".concat(e.description),"- When to apply: ".concat(e.whenToApply),"- When NOT to apply: ".concat(e.whenNotToApply),"- Tier information: ".concat(o)].join("\n");qe(s),vt(a),Tt(r),St(o),je(null),Ie(null),_e(null),Oe(null),we(!0)}}})})),ye&&o(D,{children:o(x,{isOpen:ye,onClose:jt,app_integration_id:oe,token:ie,mode:"ADD",config:he,pluginPayload:r(r({},kt),{initialScope:_t(),ruleSet:It})})}),o(b,{isOpen:!!He,title:I("".concat(_,".deleteDialog.title"),Q),description:Lt(He),warning:I("".concat(_,".deleteDialog.warningText"),Y),confirmText:I("".concat(_,".deleteDialog.deleteText"),ne),cancelText:I("".concat(_,".deleteDialog.cancelText"),"Cancel"),loadingText:I("".concat(_,".deleteDialog.loadingText"),"Deleting..."),confirmBgColor:"#EF4444",onConfirm:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l;return t(this,function(t){switch(t.label){case 0:if(!He)return[2];Qe(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,f(He)];case 2:return t.sent(),$e(null),null===(n=ge.current)||void 0===n||n.show({severity:"success",sticky:!1,life:3e3,className:R.successToast,content:o(S,{message:U})}),Rt(),re&&re(!1,ae||void 0),[3,5];case 3:return e=t.sent(),console.error("Failed to delete rule",e),null===(r=ge.current)||void 0===r||r.show({severity:"error",sticky:!1,className:R.errorToast,content:o(C,{message:(null===(l=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.data)||void 0===l?void 0:l.detail)||H})}),[3,5];case 4:return Qe(!1),[7];case 5:return[2]}})})},onCancel:function(){return $e(null)},isLoading:Ke}),o(b,{isOpen:!!ot,title:I("".concat(L,".deleteVariant.title"),Q),description:"variantDeletion"===tt?o("span",{children:I("".concat(L,".deleteVariant.desc"),"Are you sure you want to delete this variant? This action cannot be undone.")}):Lt((null==ot?void 0:ot.ruleId)||null),warning:I("".concat(L,".deleteVariant.warningText"),"ruleDeletion"===tt?Y:ee),confirmText:I("".concat(L,".deleteDialog.deleteText"),ne),cancelText:I("".concat(L,".cancelText"),"Cancel"),loadingText:I("".concat(L,".loadingText"),"Deleting..."),confirmBgColor:"#EF4444",onConfirm:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l;return t(this,function(t){switch(t.label){case 0:if(!ot)return[2];st(!0),t.label=1;case 1:return t.trys.push([1,6,7,8]),"ruleDeletion"!==tt?[3,3]:[4,v(ot.ruleId)];case 2:return t.sent(),[3,5];case 3:return[4,f(ot.variantId)];case 4:t.sent(),t.label=5;case 5:return it(null),null===(n=ge.current)||void 0===n||n.show({severity:"success",sticky:!1,life:3e3,className:R.successToast,content:o(S,{message:"ruleDeletion"===tt?U:q})}),Rt(),re&&re(!1,ae||void 0),[3,8];case 6:return e=t.sent(),console.error("Failed to delete variant",e),null===(r=ge.current)||void 0===r||r.show({severity:"error",sticky:!1,className:R.errorToast,content:o(C,{message:(null===(l=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.data)||void 0===l?void 0:l.detail)||("ruleDeletion"===tt?H:z)})}),[3,8];case 7:return st(!1),[7];case 8:return[2]}})})},onCancel:function(){return it(null)},isLoading:at})]}):xt?o(w,{title:"Scope Not Found",errorMessage:"The selected scope does not exist. Please refresh the page or choose a valid scope.",onRetry:function(){return null==re?void 0:re(!0)},retryButtonText:"Refresh"}):i(l,{children:[o(d,{onCreate:Ct,title:E,desc:F,button:B}),ye&&o(D,{children:o(x,{isOpen:ye,onClose:jt,app_integration_id:oe,token:ie,mode:"ADD",config:he,pluginPayload:r(r({},kt),{initialScope:_t(),ruleSet:It})})})]})};export{M as default};
|
|
1
|
+
import{__awaiter as e,__generator as t,__spreadArray as n,__assign as r}from"tslib";import{jsx as o,jsxs as i,Fragment as l}from"react/jsx-runtime";import{useRef as a,useState as s,useEffect as u}from"react";import{useLearningTemplateStore as c}from"../store/useLearningTemplateStore.js";import d from"../components/EmptyLearningState.js";import{getRulesInRuleSetById as p,exportRuleSet as m,deleteRule as f,deleteQuestion as v,alterQuestionPriority as g}from"../apis/scopeApis.js";import h from"../components/RuleContentSkeleton.js";import{Toast as T}from"primereact/toast";import y from"./ContentLogic.js";import w from"../components/ErrorStateDisplay.js";import S from"../shared/SuccessToastContent.js";import C from"../shared/ErrorToastContent.js";import{findNodeById as j}from"../utils/treeUtils.js";import R from"../styles/LearningContent.module.css.js";import b from"../components/ConfirmationModal.js";import{dt as I}from"../store/useLMSConfigStore.js";import"../../IL-OTJ/_components/atoms/Textarea/Textarea.js";import"lucide-react";import"../../IL-OTJ/_components/InputDataReasoningCard.js";import"../../IL-OTJ/_components/TooltipComponent.js";import"../../IL-OTJ/_components/templates/TemplatesMap/templatesMap.js";import{CitationProvider as D}from"../../IL-OTJ/store/CitationsContext.js";import"@mui/material";import"uuid";import"@mui/material/Tooltip";import"react-markdown";import"rehype-raw";import"axios";import"@e-llm-studio/streaming-response";import"@e-llm-studio/watch-me-work";import"../../IL-OTJ/_components/ChatComponents/ChatHeader.js";import"remark-gfm";import"../../IL-OTJ/_components/MarkdownComponents/MarkdownElements.js";import"../../IL-OTJ/_components/CitationLink.js";import"@e-llm-studio/citation";import x from"../../IL-OTJ/ValueTypeWrappers/TeachMePlugin.js";import{LEARNING_DT_PATH as _,VARIANT_DT_PATH as L,TIER_DT_PATH as k}from"../constants.js";import{useConfigStore as O}from"../store/useConfigStore.js";import"../store/usePermissionsStore.js";import"appsec-ui";import"../store/useAuthStore.js";import"../store/useEnvStore.js";import"react-dom";import"@radix-ui/react-tooltip";import"../components/StationOnboarding/InputField.js";import"../config.js";import"../store/useAppSecRolesStore.js";import"@tanstack/react-query";import"@e-llm-studio/audit-log";import"@e-llm-studio/audit-log/dist/styles.css";import"../AuditLog/ChangeLogDiff.js";import"../hooks/useLearningTemplateQueryParams.js";import"../components/ToolTip.js";import"react-router-dom";import"../LearningManagementTest.js";var M=function(M){var A,N=M.noRulesTitle,E=void 0===N?"No rules have been added !":N,V=M.noRulesDesc,F=void 0===V?"Start by adding rules that should apply across all stations.":V,P=M.noRulesButtonText,B=void 0===P?"Create New Rule":P,J=M.deleteRuleSuccessMessage,U=void 0===J?"Rule deleted successfully!":J,W=M.deleteVariantSuccessMessage,q=void 0===W?"Variant deleted successfully!":W,G=M.deleteRuleErrorMessage,H=void 0===G?"Failed to delete rule. Please try again.":G,Q=M.deleteVariantErrorMessage,$=void 0===Q?"Failed to delete variant. Please try again.":Q,z=M.deleteModalTitle,K=void 0===z?"Delete":z,X=M.deleteRuleModalWarning,Y=void 0===X?"This will permanently delete the rule configuration.":X,Z=M.deleteVariantModalWarning,ee=void 0===Z?"This will permanently delete the variant configuration.":Z,te=M.deleteConfirmText,ne=void 0===te?"Delete":te,re=M.onRefreshRuleSets,oe=M.app_integration_id,ie=M.token,le=M.modeId,ae=c(function(e){return e.selectedRuleSetId}),se=c(function(e){return e.scopeTreeData}),ue=c(function(e){return e.sidebarTab}),ce=c(function(e){return e.setInitialRules}),de=c(function(e){return e.currentRules}),pe=c(function(e){return e.setRawAuditRuleData});c(function(e){return e.createdVariantInfo});var me=c(function(e){return e.resetCreatedVariantInfo}),fe=c(function(e){return e.isILModalTriggered}),ve=c(function(e){return e.setIsILModalTriggered}),ge=a(null),he=O.getState().configuration,Te=s(!1),ye=Te[0],we=Te[1],Se=s(null),Ce=Se[0],je=Se[1],Re=s(null),be=Re[0],Ie=Re[1],De=s(null),xe=De[0],_e=De[1],Le=s(null),ke=Le[0],Oe=Le[1],Me=s(!1),Ae=Me[0],Ne=Me[1],Ee=s(null),Ve=Ee[0],Fe=Ee[1],Pe=s(!1),Be=Pe[0],Je=Pe[1],Ue=s(""),We=Ue[0],qe=Ue[1],Ge=s(null),He=Ge[0],Qe=Ge[1],$e=s(!1),ze=$e[0],Ke=$e[1],Xe=s(!1),Ye=Xe[0],Ze=Xe[1],et=s("ruleDeletion"),tt=et[0],nt=et[1],rt=s(null),ot=rt[0],it=rt[1],lt=s(!1),at=lt[0],st=lt[1],ut=s(!1),ct=ut[0],dt=ut[1],pt=c.getState().tiers,mt=s(null),ft=mt[0],vt=mt[1],gt=s(null),ht=gt[0],Tt=gt[1],yt=s(null),wt=yt[0],St=yt[1],Ct=function(){je(null),Ie(null),we(!0),Oe(0)},jt=function(){we(!1),ve(!1),je(null),Ie(null),_e(null),Oe(null),Ze(!1),dt(!1),Rt(),vt(null),Tt(null),St(null),re&&re(!1,ae||void 0)};u(function(){Rt()},[ae,ce]),u(function(){fe&&we(!0)},[fe]);var Rt=function(o){return void 0===o&&(o=!1),e(void 0,void 0,void 0,function(){var e,i,l,a,s,u,d,m,f,v,g,h,T,y,w,S,C,j,R;return t(this,function(t){switch(t.label){case 0:if(!ae)return ce([]),[2];o||Ne(!0),Fe(null),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,p(ae,ie)];case 2:return e=t.sent(),console.log("response==",e),(null==e?void 0:e.data)&&0!==Object.keys(e.data).length?(pe(e),i=e.data,console.log("rulesData==",i),l=new Set(["ruleSetName","ruleSetDesc","created_at","updated_at","created_by","updated_by"]),a=Array.isArray(i.tiers)?n([],i.tiers,!0).sort(function(e,t){var n,r;return(null!==(n=e.tier_priority)&&void 0!==n?n:0)-(null!==(r=t.tier_priority)&&void 0!==r?r:0)}).map(function(e){return[e.name,e.value]}):Object.entries(i).filter(function(e){var t=e[0],n=e[1];return!l.has(t)&&Array.isArray(n)}),s=a.map(function(e){var t=e[1];return new Set(t.flatMap(function(e){var t,n;return null!==(n=null===(t=e.variants)||void 0===t?void 0:t.map(function(e){return e.link_id}).filter(Boolean))&&void 0!==n?n:[]}))}),u=s.flatMap(function(e){return Array.from(e)}),d=u.reduce(function(e,t){var n;return e[t]=(null!==(n=e[t])&&void 0!==n?n:0)+1,e},{}),m=new Set(Object.entries(d).filter(function(e){return e[1]>1}).map(function(e){return e[0]})),f=function(e){return e.map(function(e){var t;return r(r({},e),{variants:null===(t=e.variants)||void 0===t?void 0:t.map(function(e){return r(r({},e),{isLinked:!!e.link_id&&m.has(e.link_id)})})})})},v=a.map(function(e,t){var n,r=e[0],o=e[1],i=pt.find(function(e){return e.tier_name===r}),l=r.replace(/tier(\d+)/i,"tier_$1");return{id:null!==(n=null==i?void 0:i.tier_id)&&void 0!==n?n:String(t+1),name:l.replace(/_/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()}),ruleCount:o.length,description:0===t?"".concat(I("tier.subtitle","These are the system-wide learnings applied across all stations.")):"These learnings apply after higher-priority tiers and may refine or relax default behavior.",isOpen:0===t,rules:f(o)}}),(g=c.getState().createdVariantInfo)&&g.length>0?(h=Object.fromEntries(a.map(function(e,t){return[e[0],String(t+1)]})),T=new Set(g.map(function(e){return h[e.tierName]}).filter(Boolean)),y=v.map(function(e){return r(r({},e),{isOpen:e.isOpen||T.has(e.id)})}),ce(y),(w=null===(R=null===(j=null===(C=g[0])||void 0===C?void 0:C.variants)||void 0===j?void 0:j[0])||void 0===R?void 0:R.id)?setTimeout(function(){var e=document.querySelector('[data-variant-id="'.concat(w,'"]'));e&&e.scrollIntoView({behavior:"smooth",block:"center"}),setTimeout(function(){return me()},1e4)},500):me()):ce(v),[3,5]):(ce([]),[2]);case 3:return S=t.sent(),console.error("Failed to fetch rule details",S),404!==(null==S?void 0:S.status)&&Fe((null==S?void 0:S.message)||"Failed to load rules. Please try again."),ce([]),[3,5];case 4:return o||Ne(!1),[7];case 5:return[2]}})})},bt=ae?j((null==se?void 0:se.data)||null,ae):null,It=bt?{ruleSetId:bt.id,ruleSetName:bt.name,ruleSetDesc:"",ruleCount:null===(A=null==bt?void 0:bt.metrics)||void 0===A?void 0:A.learningsCount}:void 0,Dt=Boolean(null==se?void 0:se.data),xt=Boolean(ae&&!bt&&Dt),_t=function(){if("stations"===ue)return"custom";if(!bt)return"global";switch(bt.type){case"GLOBAL":default:return"global";case"SCOPE":return"genre";case"SUBSCOPE":case"Custom":return"custom"}},Lt=function(e){var t;if(!e)return o("p",{children:I("".concat(k,".deleteDialog.description"),"Are you sure you want to delete this rule? This action cannot be undone.")});var n=null==de?void 0:de.flatMap(function(e){var t;return null!==(t=e.rules)&&void 0!==t?t:[]}).find(function(t){return t.ruleId===e});return o("p",{children:I("".concat(k,".deleteDialog.description"),"Are you sure you want to delete ".concat(null==n?void 0:n.ruleTitle," rule? This action cannot be undone."),{rule_title:null!==(t=null==n?void 0:n.ruleTitle)&&void 0!==t?t:""})})},kt={editingRule:Ce,editingTier:be,editingVariants:xe,focusedVariantIndex:ke,setFocusedVariantIndex:Oe,triggerAddVariant:Ye,triggerFixGaps:ct,copiedRule:ft,copiedSourceTier:ht,copiedTargetTier:wt,initialDraftMessage:We,app_integration_id:oe,modeId:le};return It?i(l,{children:[o(T,{ref:ge}),o("div",r({className:R.container},{children:Ae?o(h,{}):Ve?o(w,{errorMessage:Ve,onRetry:Rt}):o(y,{onAddRule:Ct,onDeleteRule:function(e){Qe(e)},onEditRule:function(e,t){je(e),Ie(t||null),_e(e.variants||null),Oe(null),Ze(!0),we(!0)},onEditVariant:function(e,t,n,r){var o,i,l,a,s=null!==(l=null===(i=null===(o=null==de?void 0:de.find(function(e){return e.name===n}))||void 0===o?void 0:o.rules)||void 0===i?void 0:i.find(function(e){return e.ruleId===t}))&&void 0!==l?l:null==de?void 0:de.flatMap(function(e){return e.rules}).find(function(e){return e.ruleId===t});if(s){var u=null===(a=s.variants)||void 0===a?void 0:a.findIndex(function(t){return t.variantId===e.variantId}),c=void 0!==u&&-1!==u?u:0;je(s),Ie(n||null),_e(s.variants||null),Oe(c),we(!0),"resolve_gaps"===r&&dt(!0)}},onDeleteVariant:function(e,t){it({variantId:e,ruleId:t})},onExportRule:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l,a,s;return t(this,function(t){switch(t.label){case 0:if(!ae)return[2];Je(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,m(ae)];case 2:return e=t.sent(),n=window.URL.createObjectURL(e),(r=document.createElement("a")).href=n,i=(null==It?void 0:It.ruleSetName)?"".concat(It.ruleSetName.replace(/\s+/g,"_"),"_rules.csv"):"ruleset_".concat(ae,".csv"),r.download=i,document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(n),null===(a=ge.current)||void 0===a||a.show({severity:"success",sticky:!1,life:3e3,className:R.successToast,content:o(S,{message:"Ruleset exported successfully!"})}),[3,5];case 3:return l=t.sent(),console.error("Export error:",l),null===(s=ge.current)||void 0===s||s.show({severity:"error",sticky:!1,className:R.errorToast,content:o(C,{message:l.message||"Failed to export ruleset. Please try again."})}),[3,5];case 4:return Je(!1),[7];case 5:return[2]}})})},isExporting:Be,onToggleSuccess:function(){return Rt(!0)},onReorderRules:function(n,r,i,l,a){return e(void 0,void 0,void 0,function(){var e,s,u;return t(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,g(n,r,i,l,a)];case 1:return t.sent(),Rt(!0),null===(s=ge.current)||void 0===s||s.show({severity:"success",sticky:!1,life:3e3,className:R.successToast,content:o(S,{message:"Rule order changed successfully. Future rule applications will follow the updated order."})}),[3,3];case 2:return e=t.sent(),console.error("Failed to reorder rules:",e),Rt(!0),null===(u=ge.current)||void 0===u||u.show({severity:"error",sticky:!1,className:R.errorToast,content:o(C,{message:"Failed to update rule order. Please try again."})}),[3,3];case 3:return[2]}})})},onRefreshRuleSets:re,setDeleteConfirmationUsedFor:nt,onCopyToTier:function(e,t,n,r,o){var i,l,a=null===(l=null===(i=null==de?void 0:de.find(function(e){return e.name===r}))||void 0===i?void 0:i.rules)||void 0===l?void 0:l.find(function(e){return e.ruleId===t});if(a){var s=["Add a new learning with the following details:","- Rule Title: ".concat(n),"- Description: ".concat(e.description),"- When to apply: ".concat(e.whenToApply),"- When NOT to apply: ".concat(e.whenNotToApply),"- Tier information: ".concat(o)].join("\n");qe(s),vt(a),Tt(r),St(o),je(null),Ie(null),_e(null),Oe(null),we(!0)}}})})),ye&&o(D,{children:o(x,{isOpen:ye,onClose:jt,app_integration_id:oe,token:ie,mode:"ADD",config:he,pluginPayload:r(r({},kt),{initialScope:_t(),ruleSet:It})})}),o(b,{isOpen:!!He,title:I("".concat(_,".deleteDialog.title"),K),description:Lt(He),warning:I("".concat(_,".deleteDialog.warningText"),Y),confirmText:I("".concat(_,".deleteDialog.deleteText"),ne),cancelText:I("".concat(_,".deleteDialog.cancelText"),"Cancel"),loadingText:I("".concat(_,".deleteDialog.loadingText"),"Deleting..."),confirmBgColor:"#EF4444",onConfirm:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l;return t(this,function(t){switch(t.label){case 0:if(!He)return[2];Ke(!0),t.label=1;case 1:return t.trys.push([1,3,4,5]),[4,f(He)];case 2:return t.sent(),Qe(null),null===(n=ge.current)||void 0===n||n.show({severity:"success",sticky:!1,life:3e3,className:R.successToast,content:o(S,{message:U})}),Rt(),re&&re(!1,ae||void 0),[3,5];case 3:return e=t.sent(),console.error("Failed to delete rule",e),null===(r=ge.current)||void 0===r||r.show({severity:"error",sticky:!1,className:R.errorToast,content:o(C,{message:(null===(l=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.data)||void 0===l?void 0:l.detail)||H})}),[3,5];case 4:return Ke(!1),[7];case 5:return[2]}})})},onCancel:function(){return Qe(null)},isLoading:ze}),o(b,{isOpen:!!ot,title:I("".concat(L,".deleteVariant.title"),K),description:"variantDeletion"===tt?o("span",{children:I("".concat(L,".deleteVariant.desc"),"Are you sure you want to delete this variant? This action cannot be undone.")}):Lt((null==ot?void 0:ot.ruleId)||null),warning:I("".concat(L,".deleteVariant.warningText"),"ruleDeletion"===tt?Y:ee),confirmText:I("".concat(L,".deleteDialog.deleteText"),ne),cancelText:I("".concat(L,".cancelText"),"Cancel"),loadingText:I("".concat(L,".loadingText"),"Deleting..."),confirmBgColor:"#EF4444",onConfirm:function(){return e(void 0,void 0,void 0,function(){var e,n,r,i,l;return t(this,function(t){switch(t.label){case 0:if(!ot)return[2];st(!0),t.label=1;case 1:return t.trys.push([1,6,7,8]),"ruleDeletion"!==tt?[3,3]:[4,v(ot.ruleId)];case 2:return t.sent(),[3,5];case 3:return[4,f(ot.variantId)];case 4:t.sent(),t.label=5;case 5:return it(null),null===(n=ge.current)||void 0===n||n.show({severity:"success",sticky:!1,life:3e3,className:R.successToast,content:o(S,{message:"ruleDeletion"===tt?U:q})}),Rt(),re&&re(!1,ae||void 0),[3,8];case 6:return e=t.sent(),console.error("Failed to delete variant",e),null===(r=ge.current)||void 0===r||r.show({severity:"error",sticky:!1,className:R.errorToast,content:o(C,{message:(null===(l=null===(i=null==e?void 0:e.response)||void 0===i?void 0:i.data)||void 0===l?void 0:l.detail)||("ruleDeletion"===tt?H:$)})}),[3,8];case 7:return st(!1),[7];case 8:return[2]}})})},onCancel:function(){return it(null)},isLoading:at})]}):xt?o(w,{title:"Scope Not Found",errorMessage:"The selected scope does not exist. Please refresh the page or choose a valid scope.",onRetry:function(){return null==re?void 0:re(!0)},retryButtonText:"Refresh"}):i(l,{children:[o(d,{onCreate:Ct,title:E,desc:F,button:B}),ye&&o(D,{children:o(x,{isOpen:ye,onClose:jt,app_integration_id:oe,token:ie,mode:"ADD",config:he,pluginPayload:r(r({},kt),{initialScope:_t(),ruleSet:It})})})]})};export{M as default};
|
|
2
2
|
//# sourceMappingURL=RuleContent.js.map
|