define(["require","exports","tslib","react","modules/clean/react/pass/seen_state_facepile_consumer","modules/clean/file_store/utils","modules/clean/react/pass/constants","modules/clean/react/pass/pass_helpers","modules/clean/react/pass/seen_state_helpers","modules/clean/react/pass/store","modules/clean/react/pass/types","modules/clean/sharing/stores/sharing_info","modules/core/i18n","modules/clean/react/pass/seen_state_facepile_context","modules/clean/react/pass/integration/integration_provider"],(function(e,s,t,n,r,o,a,i,p,u,l,c,f,h,d){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var m=(function(e){function s(s){var t=e.call(this,s)||this;return t.onUpdateFromStore=function(){t.setState(t.getStateFromStore())},t.state=t.getStateFromStore(),t}return t.__extends(s,e),s.prototype.componentWillMount=function(){u.passStore.add_change_listener(this.onUpdateFromStore),c.sharingInfoStore.add_change_listener(this.onUpdateFromStore);var e=this.props.isViewMetadataDisabled;i.PassHelpers.setup({user:this.props.user,fileData:this.getPassFileData(),skipSharingEndpoints:e,prevFileData:null})},s.prototype.componentWillReceiveProps=function(e){o.areFilesEqual(e.file,this.props.file)||this.setState({passInfo:{anonymousPresence:null,isPassPermissionsPending:!0,passFetchingStatus:a.PassFetchingStatus.FETCHING,passPermissions:null,presence:null,identifiedSeenStateInfo:null,userIdsWithoutSeenStateInfo:[]},sharingInfo:void 0})},s.prototype.componentWillUpdate=function(e,s){var t=s.passInfo;if(t.userIdsWithoutSeenStateInfo.length>0&&a.fetchingStatusIsSuccessful(t.passFetchingStatus)&&e.user){var n=e.file,r=this.urlFromProps(e);p.SeenStateHelpers.fetchSeenStateUsers(e.user.id,t.identifiedSeenStateInfo,t.userIdsWithoutSeenStateInfo,n.file_id,r)}},s.prototype.componentDidUpdate=function(e){if(!o.areFilesEqual(this.props.file,e.file)){var s={file:e.file,url:this.urlFromProps(e)},t=this.props.isViewMetadataDisabled;i.PassHelpers.setup({user:this.props.user,fileData:this.getPassFileData(),skipSharingEndpoints:t,prevFileData:s})}},s.prototype.componentWillUnmount=function(){u.passStore.remove_change_listener(this.onUpdateFromStore),c.sharingInfoStore.remove_change_listener(this.onUpdateFromStore),i.PassHelpers.teardown({user:this.props.user,fileData:this.getPassFileData(),async:!0})},s.prototype.getStateFromStore=function(){var e=this.props,s=e.user,t=e.file.file_id;return{passInfo:{anonymousPresence:u.passStore.anonymousPresence(t),isPassPermissionsPending:u.passStore.isPassPermissionsPending(t),passFetchingStatus:u.passStore.passFetchingStatus(t),passPermissions:u.passStore.getPassPermissions(t),presence:u.passStore.presence(t),identifiedSeenStateInfo:u.passStore.identifiedSeenStateInfo(t),userIdsWithoutSeenStateInfo:u.passStore.userIdsWithoutSeenStateInfo(t)},sharingInfo:s&&c.sharingInfoStore.getSharingInfo(s.id,t)||void 0}},s.prototype.getAnonymousPassInfo=function(){return null==this.state.passInfo.anonymousPresence?[]:this.state.passInfo.anonymousPresence.map((function(e){return{seen_state_user:{user_id:e,display_name:f._("Guest")},seen_events:[]}}))},s.prototype.getMemberInfosInPassFormat=function(e){var s=e.members();return{invitees:s?this.getInviteeMemberInfos(s):[],users:s?this.getUserMemberInfos(s):[]}},s.prototype.getUserMemberInfos=function(e){return e.users.valueSeq().toArray().reduce((function(e,s){return s.account&&e.push({seen_state_user:{user_id:s.account_id,display_name:s.account.display_name,email:s.email(),photo_circle_url:s.account.profile_photo_url||void 0,access_level:s.access_type},seen_events:[]}),e}),[])},s.prototype.getInviteeMemberInfos=function(e){return e.invitees.valueSeq().toArray().map((function(e){return{seen_state_user:{display_name:e.contact,access_level:e.access_type},seen_events:[]}}))},s.prototype.getPassFileData=function(){return{file:this.props.file,url:this.urlFromProps()}},s.prototype.urlFromProps=function(e){return void 0===e&&(e=this.props),e.sharedLinkInfo?e.sharedLinkInfo.url:void 0},s.prototype.getPropsFromPassInfo=function(){return{anonymousPresenceInfo:this.getAnonymousPassInfo(),isPassPermissionsPending:this.state.passInfo.isPassPermissionsPending,passFetchingStatus:this.state.passInfo.passFetchingStatus,passPermissions:this.state.passInfo.passPermissions,presence:this.state.passInfo.presence,identifiedSeenStateInfo:this.state.passInfo.identifiedSeenStateInfo}},s.prototype.getPropsFromSharingInfo=function(){var e={uniqueMemberCountInfo:l.FacepileInfo.createNotLoaded(),sharingStorePassInfo:l.FacepileInfo.createNotLoaded()};return this.state.sharingInfo?(null!=this.state.sharingInfo.memberCounts()&&(e.uniqueMemberCountInfo=l.FacepileInfo.create(this.state.sharingInfo.memberCounts().total_unique_users)),this.state.sharingInfo.hasDisplayableMembers()&&(e.sharingStorePassInfo=l.FacepileInfo.create(this.getMemberInfosInPassFormat(this.state.sharingInfo))),e):e},s.prototype.getPropsFromController=function(){var e=this.props,s=e.file,t=e.sizeClass,n=e.user;return{file:s,sizeClass:t,url:this.urlFromProps(),user:n}},s.prototype.render=function(){var e=this.props,s=e.children,r=e.isViewingFileSubpath,o=e.user;return null==o||r?n.default.createElement(h.SeenStateFacepileContext.Provider,{value:null},s):n.default.createElement(h.SeenStateFacepileContext.Provider,{value:t.__assign({},this.getPropsFromPassInfo(),this.getPropsFromSharingInfo(),this.getPropsFromController())},n.default.createElement(d.IntegrationProvider,{user:o},s))},s})((n=t.__importDefault(n)).default.Component);s.SeenStateFacepileProvider=m;var S=(function(e){function s(){return null!==e&&e.apply(this,arguments)||this}return t.__extends(s,e),s.prototype.render=function(){return n.default.createElement(m,t.__assign({},this.props),n.default.createElement(r.SeenStateFacepileConsumer,null))},s})(n.default.Component);s.SeenStateFacepileController=S})); //# sourceMappingURL=seen_state_facepile_controller.min.js-vfl01n4OS.map