@ -3,47 +3,17 @@ define([
'/bower_components/nthen/index.js' ,
'/api/config' ,
'/common/dom-ready.js' ,
'/common/requireconfig.js' ,
'/common/sframe-common-outer.js' ,
] , function ( nThen , ApiConfig , DomReady , RequireConfig , SFCommonO ) {
var requireConfig = RequireConfig ( ) ;
] , function ( nThen , ApiConfig , DomReady , SFCommonO ) {
// Loaded in load #2
var hash , href ;
nThen ( function ( waitFor ) {
DomReady . onReady ( waitFor ( ) ) ;
} ) . nThen ( function ( waitFor ) {
var req = {
cfg : requireConfig ,
req : [ '/common/loading.js' ] ,
pfx : window . location . origin
} ;
window . rc = requireConfig ;
window . apiconf = ApiConfig ;
// Hidden hash
hash = window . location . hash ;
href = window . location . href ;
if ( window . history && window . history . replaceState && hash ) {
window . history . replaceState ( { } , window . document . title , '#' ) ;
}
document . getElementById ( 'sbox-iframe' ) . setAttribute ( 'src' ,
ApiConfig . httpSafeOrigin + '/teams/inner.html?' + requireConfig . urlArgs +
'#' + encodeURIComponent ( JSON . stringify ( req ) ) ) ;
// This is a cheap trick to avoid loading sframe-channel in parallel with the
// loading screen setup.
var done = waitFor ( ) ;
var onMsg = function ( msg ) {
var data = JSON . parse ( msg . data ) ;
if ( data . q !== 'READY' ) { return ; }
window . removeEventListener ( 'message' , onMsg ) ;
var _done = done ;
done = function ( ) { } ;
_done ( ) ;
} ;
window . addEventListener ( 'message' , onMsg ) ;
var obj = SFCommonO . initIframe ( waitFor , true ) ;
href = obj . href ;
hash = obj . hash ;
} ) . nThen ( function ( /*waitFor*/ ) {
var teamId ;
var addRpc = function ( sframeChan , Cryptpad , Utils ) {
@ -127,9 +97,12 @@ define([
var secret = Hash . getSecrets ( 'team' , hash ) ;
cb ( null , secret ) ;
} ;
var addData = function ( meta ) {
if ( ! hash ) { return ; }
meta . teamInviteHash = hash . slice ( 1 ) ;
var addData = function ( meta , Cryptpad , user , Utils ) {
if ( ! Utils . currentPad . hash ) { return ; }
var _hash = Utils . currentPad . hash . replace ( /^#/ , '' ) ;
var parsed = Utils . Hash . parseTypeHash ( 'invite' , _hash ) ;
if ( parsed . app !== 'invite' ) { return ; }
meta . teamInviteHash = _hash ;
} ;
SFCommonO . start ( {
getSecrets : getSecrets ,