Build 541864stable
Module 61881
2,320 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>m}),n(321073);var i=n(735438),r=n.n(i),s=n(17928),a=n(228366),o=n(287809),l=n(841595);let u=null,c=null,d=!1,_={suggestedGamesIds:[],suggestedWishlistGamesIds:[]},f=!1,h=!1,p=!1;class E extends s.Ay.Store{initialize(){this.waitFor(o.default)}getPendingWidgets(){return u}getSaveablePendingWidgets(){return null==u?null:u.filter(e=>!e.isDiscardable())}hasPendingChanges(){return null!==u&&(null===c||!r().isEqual(u,c))}getWidgetUpdates(){let e=this.getSaveablePendingWidgets();if(null==e||null==c)return{changedWidgets:e??[],removedWidgets:[],hasOrderChanges:!1};let t=new Map(c.map(e=>[e.id,e])),n=new Map(e.map(e=>[e.id,e])),i=[],r=[];for(let[e,r]of n){let n=t.get(e);null!=n&&r.isEqual(n)||i.push(r)}for(let[e,i]of t)n.has(e)||r.push(i);let s=!1;for(let t=0;t<e.length;t++)if(e[t]?.id!==c[t]?.id){s=!0;break}return{changedWidgets:i,removedWidgets:r,hasOrderChanges:s}}getChangedWidgets(){let{changedWidgets:e}=this.getWidgetUpdates();return e}getRemovedWidgets(){let{removedWidgets:e}=this.getWidgetUpdates();return e}hasUnsavedChanges(){let{changedWidgets:e,removedWidgets:t,hasOrderChanges:n}=this.getWidgetUpdates();return e.length>0||t.length>0||n}canSaveChanges(){let e=this.getSaveablePendingWidgets();return null!=e&&e.every(e=>e.isValid())}get isSubmitting(){return d}get suggestedFetchError(){return f}get suggestedFetchIsLoading(){return h}get suggestedFetchAttempted(){return p}get suggestedGameIds(){return _}}let m=new E(a.h,{WIDGET_PENDING_SET:function(e){let{widgets:t}=e;if(u=t,null===c){let e=o.default.getCurrentUser();if(null!=e){let t=l.A.getUserProfile(e.id);c=t?.widgets??[]}}},WIDGET_PENDING_SAVE_START:function(e){d=!0},WIDGET_PENDING_SAVE_SUCCESS:function(e){d=!1,null!==u&&(c=null,u=null)},WIDGET_PENDING_SAVE_FAILURE:function(e){d=!1},WIDGET_SUGGESTED_FETCH_SUCCESS:function(e){let{suggestedGamesIds:t,suggestedWishlistGamesIds:n}=e;_.suggestedGamesIds=t,_.suggestedWishlistGamesIds=n,h=!1,f=!1},WIDGET_SUGGESTED_FETCH_FAILURE:function(){f=!0,h=!1},WIDGET_SUGGESTED_FETCH_START:function(){h=!0,f=!1,p=!0},WIDGET_PENDING_CLEAR:function(){u=null,c=null},WIDGET_SUGGESTED_REMOVE_GAME:function(e){let{applicationId:t}=e;_.suggestedGamesIds=_.suggestedGamesIds.filter(e=>e!==t),_.suggestedWishlistGamesIds=_.suggestedWishlistGamesIds.filter(e=>e!==t)}})}