Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
web-apps
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
web-apps
Commits
4efab810
Commit
4efab810
authored
Jul 29, 2016
by
Boris Kocherov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
remove gateway dependence as gadget changes requeried
parent
e7385210
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
700 additions
and
258 deletions
+700
-258
apps/common/Gateway.js
apps/common/Gateway.js
+0
-252
apps/common/main/gadget_ooffice.html
apps/common/main/gadget_ooffice.html
+78
-0
apps/common/main/gadget_ooffice.js
apps/common/main/gadget_ooffice.js
+619
-0
apps/documenteditor/main/app/view/DocumentHolder.js
apps/documenteditor/main/app/view/DocumentHolder.js
+1
-2
apps/presentationeditor/main/app/view/DocumentHolder.js
apps/presentationeditor/main/app/view/DocumentHolder.js
+1
-2
apps/spreadsheeteditor/main/app/view/DocumentHolder.js
apps/spreadsheeteditor/main/app/view/DocumentHolder.js
+1
-2
No files found.
apps/common/Gateway.js
deleted
100644 → 0
View file @
e7385210
/*
*
* (c) Copyright Ascensio System Limited 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
if
(
Common
===
undefined
)
{
var
Common
=
{};
}
Common
.
Gateway
=
new
(
function
()
{
var
me
=
this
,
$me
=
$
(
me
);
var
commandMap
=
{
'
init
'
:
function
(
data
)
{
$me
.
trigger
(
'
init
'
,
data
);
},
'
openDocument
'
:
function
(
data
)
{
$me
.
trigger
(
'
opendocument
'
,
data
);
},
'
showMessage
'
:
function
(
data
)
{
$me
.
trigger
(
'
showmessage
'
,
data
);
},
'
applyEditRights
'
:
function
(
data
)
{
$me
.
trigger
(
'
applyeditrights
'
,
data
);
},
'
processSaveResult
'
:
function
(
data
)
{
$me
.
trigger
(
'
processsaveresult
'
,
data
);
},
'
processRightsChange
'
:
function
(
data
)
{
$me
.
trigger
(
'
processrightschange
'
,
data
);
},
'
refreshHistory
'
:
function
(
data
)
{
$me
.
trigger
(
'
refreshhistory
'
,
data
);
},
'
setHistoryData
'
:
function
(
data
)
{
$me
.
trigger
(
'
sethistorydata
'
,
data
);
},
'
setEmailAddresses
'
:
function
(
data
)
{
$me
.
trigger
(
'
setemailaddresses
'
,
data
);
},
'
processMailMerge
'
:
function
(
data
)
{
$me
.
trigger
(
'
processmailmerge
'
,
data
);
},
'
downloadAs
'
:
function
()
{
$me
.
trigger
(
'
downloadas
'
);
},
'
processMouse
'
:
function
(
data
)
{
$me
.
trigger
(
'
processmouse
'
,
data
);
},
'
internalCommand
'
:
function
(
data
)
{
$me
.
trigger
(
'
internalcommand
'
,
data
);
},
'
resetFocus
'
:
function
(
data
)
{
$me
.
trigger
(
'
resetfocus
'
,
data
);
}
};
var
_postMessage
=
function
(
msg
)
{
// TODO: specify explicit origin
if
(
window
.
parent
&&
window
.
JSON
)
{
msg
.
frameEditorId
=
window
.
frameEditorId
;
window
.
parent
.
postMessage
(
window
.
JSON
.
stringify
(
msg
),
"
*
"
);
}
};
var
_onMessage
=
function
(
msg
)
{
// TODO: check message origin
var
data
=
msg
.
data
;
if
(
Object
.
prototype
.
toString
.
apply
(
data
)
!==
'
[object String]
'
||
!
window
.
JSON
)
{
return
;
}
var
cmd
,
handler
;
try
{
cmd
=
window
.
JSON
.
parse
(
data
)
}
catch
(
e
)
{
cmd
=
''
;
}
if
(
cmd
)
{
handler
=
commandMap
[
cmd
.
command
];
if
(
handler
)
{
handler
.
call
(
this
,
cmd
.
data
);
}
}
};
var
fn
=
function
(
e
)
{
_onMessage
(
e
);
};
if
(
window
.
attachEvent
)
{
window
.
attachEvent
(
'
onmessage
'
,
fn
);
}
else
{
window
.
addEventListener
(
'
message
'
,
fn
,
false
);
}
return
{
appReady
:
function
()
{
_postMessage
({
event
:
'
onAppReady
'
});
},
requestEditRights
:
function
()
{
_postMessage
({
event
:
'
onRequestEditRights
'
});
},
requestHistory
:
function
()
{
_postMessage
({
event
:
'
onRequestHistory
'
});
},
requestHistoryData
:
function
(
revision
)
{
_postMessage
({
event
:
'
onRequestHistoryData
'
,
data
:
revision
});
},
requestRestore
:
function
(
version
,
url
)
{
_postMessage
({
event
:
'
onRequestRestore
'
,
data
:
{
version
:
version
,
url
:
url
}
});
},
requestEmailAddresses
:
function
()
{
_postMessage
({
event
:
'
onRequestEmailAddresses
'
});
},
requestStartMailMerge
:
function
()
{
_postMessage
({
event
:
'
onRequestStartMailMerge
'
});
},
requestHistoryClose
:
function
(
revision
)
{
_postMessage
({
event
:
'
onRequestHistoryClose
'
});
},
reportError
:
function
(
code
,
description
)
{
_postMessage
({
event
:
'
onError
'
,
data
:
{
errorCode
:
code
,
errorDescription
:
description
}
});
},
sendInfo
:
function
(
info
)
{
_postMessage
({
event
:
'
onInfo
'
,
data
:
info
});
},
setDocumentModified
:
function
(
modified
)
{
_postMessage
({
event
:
'
onDocumentStateChange
'
,
data
:
modified
});
},
internalMessage
:
function
(
type
,
data
)
{
_postMessage
({
event
:
'
onInternalMessage
'
,
data
:
{
type
:
type
,
data
:
data
}
});
},
updateVersion
:
function
()
{
_postMessage
({
event
:
'
onOutdatedVersion
'
});
},
downloadAs
:
function
(
url
)
{
_postMessage
({
event
:
'
onDownloadAs
'
,
data
:
url
});
},
collaborativeChanges
:
function
()
{
_postMessage
({
event
:
'
onCollaborativeChanges
'
});
},
requestRename
:
function
(
title
)
{
_postMessage
({
event
:
'
onRequestRename
'
,
data
:
title
});
},
metaChange
:
function
(
meta
)
{
_postMessage
({
event
:
'
onMetaChange
'
,
data
:
meta
});
},
documentReady
:
function
()
{
_postMessage
({
event
:
'
onDocumentReady
'
});
},
on
:
function
(
event
,
handler
){
var
localHandler
=
function
(
event
,
data
){
handler
.
call
(
me
,
data
)
};
$me
.
on
(
event
,
localHandler
);
}
}
})();
apps/common/main/gadget_ooffice.html
0 → 100644
View file @
4efab810
<!DOCTYPE html>
<html>
<head>
<base
href=
"./"
>
<title>
OFFICE Document Editor
</title>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=utf-8"
/>
<meta
http-equiv=
"X-UA-Compatible"
content=
"IE=edge,chrome=IE8"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"
>
<meta
name=
"description"
content=
""
/>
<meta
name=
"keywords"
content=
""
/>
<style
type=
"text/css"
>
.loadmask
{
left
:
0
;
top
:
0
;
position
:
absolute
;
height
:
100%
;
width
:
100%
;
overflow
:
hidden
;
border
:
none
;
background-color
:
#f4f4f4
;
z-index
:
100
;
}
.loader-page
{
width
:
100%
;
height
:
170px
;
bottom
:
42%
;
margin-bottom
:
50px
;
position
:
absolute
;
text-align
:
center
;
}
.loader-page-text
{
width
:
100%
;
bottom
:
42%
;
position
:
absolute
;
text-align
:
center
;
color
:
#888
;
font-family
:
"Helvetica Neue"
,
Helvetica
,
Arial
,
sans-serif
;
line-height
:
20px
;
}
.loader-page-text-loading
{
font-size
:
14px
;
}
.loader-page-text-customer
{
font-size
:
16px
;
margin-bottom
:
5px
;
}
</style>
<script
src=
"../rsvp.js"
type=
"text/javascript"
></script>
<script
src=
"../renderjs.js"
type=
"text/javascript"
></script>
<script
src=
"../jiodev.js"
type=
"text/javascript"
></script>
<script
src=
"../zipfilestorage-with-jszip.js"
type=
"text/javascript"
></script>
<script
src=
"../Xmla.js"
type=
"text/javascript"
></script>
<script
src=
"./vendor/requirejs/require.js"
type=
"text/javascript"
></script>
<!--script src="./sdkjs/common/applyDocumentChanges.js" type="text/javascript"></script-->
<script
src=
"./gadget_ooffice.js"
type=
"text/javascript"
></script>
</head>
<body>
<div
id=
"loading-mask"
class=
"loadmask"
>
<div
class=
"loader-page"
>
<div
class=
"loader-page-text"
>
<div
class=
"loader-page-text-customer"
>
OFFICE
</div>
<div
class=
"loader-page-text-loading"
>
Loading...
</div>
</div>
</div>
</div>
<div
id=
"viewport"
></div>
</body>
</html>
\ No newline at end of file
apps/common/main/gadget_ooffice.js
0 → 100644
View file @
4efab810
/*global window, rJS, RSVP, DocsAPI, console, document,
Common, require, jIO, URL, FileReader, atob, ArrayBuffer,
Uint8Array, XMLHttpRequest, Blob, Rusha*/
/*jslint nomen: true, maxlen:80, indent:2*/
if
(
Common
===
undefined
)
{
var
Common
=
{};
}
var
DocsAPI
=
{
DocEditor
:
{}};
DocsAPI
.
DocEditor
.
version
=
function
()
{
return
null
;
};
(
function
(
rJS
,
RSVP
,
require
,
jIO
)
{
"
use strict
"
;
var
rusha
=
new
Rusha
();
function
hexdigest
(
blob
)
{
return
new
RSVP
.
Queue
()
.
push
(
function
()
{
return
jIO
.
util
.
readBlobAsArrayBuffer
(
blob
)
.
then
(
function
(
evt
)
{
return
rusha
.
digest
(
evt
.
target
.
result
);
});
});
}
function
display_error
(
gadget
,
error
)
{
var
display_error_element
;
display_error_element
=
gadget
.
props
.
element
;
display_error_element
.
innerHTML
=
'
<br/><p style="color: red"></p><br/><br/>
'
;
display_error_element
.
querySelector
(
'
p
'
).
textContent
=
error
;
throw
error
;
}
function
dataURLtoBlob
(
url
)
{
if
(
url
===
'
data:
'
)
{
return
new
Blob
();
}
var
byteString
=
atob
(
url
.
split
(
'
,
'
)[
1
]),
mimeString
=
url
.
split
(
'
,
'
)[
0
].
split
(
'
:
'
)[
1
].
split
(
'
;
'
)[
0
],
ab
=
new
ArrayBuffer
(
byteString
.
length
),
ia
=
new
Uint8Array
(
ab
),
i
;
for
(
i
=
0
;
i
<
byteString
.
length
;
i
+=
1
)
{
ia
[
i
]
=
byteString
.
charCodeAt
(
i
);
}
return
new
Blob
([
ab
],
{
type
:
mimeString
});
}
rJS
(
window
)
.
ready
(
function
(
g
)
{
g
.
props
=
{
save_defer
:
null
,
handlers
:
{}
};
})
.
ready
(
function
(
g
)
{
return
g
.
getElement
()
.
push
(
function
(
element
)
{
g
.
props
.
element
=
element
;
return
{};
});
})
.
declareAcquiredMethod
(
"
triggerSubmit
"
,
"
triggerSubmit
"
)
.
declareAcquiredMethod
(
"
triggerMaximize
"
,
"
triggerMaximize
"
)
.
declareAcquiredMethod
(
"
setFillStyle
"
,
"
setFillStyle
"
)
.
declareAcquiredMethod
(
'
getSetting
'
,
'
getSetting
'
)
.
declareMethod
(
"
jio_getAttachment
"
,
function
(
docId
,
attId
,
opt
)
{
var
g
=
this
,
queue
;
if
(
attId
===
'
body.txt
'
)
{
opt
=
'
asText
'
;
if
(
!
docId
)
{
docId
=
'
/
'
;
}
}
else
{
if
(
!
docId
)
{
docId
=
'
/media/
'
;
}
}
queue
=
g
.
props
.
value_zip_storage
.
getAttachment
(
docId
,
attId
)
.
push
(
function
(
blob
)
{
var
data
;
if
(
opt
===
"
asText
"
)
{
data
=
jIO
.
util
.
readBlobAsText
(
blob
)
.
then
(
function
(
evt
)
{
return
evt
.
target
.
result
;
});
}
else
if
(
opt
===
"
asBlobURL
"
)
{
data
=
URL
.
createObjectURL
(
blob
);
}
else
if
(
opt
===
"
asDataURL
"
)
{
data
=
new
RSVP
.
Promise
(
function
(
resolve
,
reject
)
{
var
reader
=
new
FileReader
();
reader
.
addEventListener
(
'
load
'
,
function
()
{
resolve
(
reader
.
result
);
});
reader
.
addEventListener
(
'
error
'
,
reject
);
reader
.
readAsDataURL
(
blob
);
});
}
else
{
data
=
blob
;
}
return
data
;
});
return
queue
;
})
.
declareMethod
(
"
jio_putAttachment
"
,
function
(
docId
,
atId
,
data
)
{
var
g
=
this
,
zip
=
g
.
props
.
value_zip_storage
,
queue
,
content_type
,
start
=
data
.
slice
(
0
,
5
);
if
(
!
docId
)
{
docId
=
'
/media/
'
;
}
if
(
typeof
data
===
'
string
'
&&
start
===
"
data:
"
)
{
data
=
dataURLtoBlob
(
data
);
}
if
(
atId
)
{
queue
=
zip
.
putAttachment
(
docId
,
atId
,
data
)
.
push
(
undefined
,
function
(
error
)
{
if
(
error
.
status_code
===
404
)
{
// make dir
return
zip
.
put
(
docId
,
{})
.
push
(
function
()
{
return
zip
.
putAttachment
(
docId
,
atId
,
data
);
});
}
throw
error
;
});
}
else
{
queue
=
hexdigest
(
data
)
.
push
(
function
(
digest
)
{
content_type
=
data
.
type
;
if
(
!
content_type
)
{
content_type
=
"
application/binary
"
;
}
content_type
=
content_type
.
split
(
'
/
'
);
atId
=
content_type
[
0
]
+
'
,
'
+
digest
+
'
.
'
+
content_type
[
1
];
return
zip
.
allAttachments
(
docId
)
.
push
(
undefined
,
function
(
error
)
{
if
(
error
.
status_code
===
404
)
{
// make dir
return
zip
.
put
(
docId
,
{});
}
throw
error
;
})
.
push
(
function
(
list
)
{
if
(
list
.
hasOwnProperty
(
atId
))
{
return
{};
}
return
zip
.
putAttachment
(
docId
,
atId
,
data
);
});
})
.
push
(
function
()
{
return
atId
;
});
}
return
queue
;
})
// methods emulating Gateway used for connection with ooffice begin.
.
declareMethod
(
'
appReady
'
,
function
()
{
var
g
=
this
;
console
.
log
(
'
appReady
'
);
g
.
props
.
handlers
.
init
({
config
:
{
lang
:
'
en
'
,
canAutosave
:
false
,
canCoAuthoring
:
false
,
canBackToFolder
:
true
,
canCreateNew
:
false
,
canAnalytics
:
false
,
customization
:
{
about
:
false
,
feedback
:
false
}
}
});
g
.
props
.
handlers
.
opendocument
({
doc
:
{
key
:
g
.
props
.
jio_key
,
//title: g.props.doc.title || "",
//fileType: undefined,
//vkey: undefined,
url
:
"
_offline_
"
,
permissions
:
{
edit
:
true
,
download
:
true
,
reader
:
true
}
}
});
})
.
declareMethod
(
'
documentReady
'
,
function
()
{
console
.
log
();
})
.
declareMethod
(
'
goBack
'
,
function
(
new_window
)
{
var
g
=
this
;
g
.
triggerMaximize
()
.
push
(
function
(
size
)
{
var
iframe
=
g
.
props
.
element
.
querySelector
(
'
iframe
'
);
iframe
.
style
.
height
=
size
.
height
;
iframe
.
style
.
width
=
size
.
width
;
});
})
.
declareMethod
(
'
requestEditRights
'
,
function
()
{
var
g
=
this
;
g
.
props
.
handlers
.
applyEditRights
({
allowed
:
true
,
message
:
""
});
})
.
declareMethod
(
'
requestHistory
'
,
function
()
{
})
.
declareMethod
(
'
requestHistoryData
'
,
function
(
revision
)
{
})
.
declareMethod
(
'
requestHistoryClose
'
,
function
()
{
})
.
declareMethod
(
'
reportError
'
,
function
(
code
,
description
)
{
console
.
log
([
'
reportError
'
,
code
,
description
]);
})
.
declareMethod
(
'
sendInfo
'
,
function
(
info
)
{
console
.
log
([
'
sendInfo
'
,
info
]);
})
.
declareMethod
(
'
setDocumentModified
'
,
function
(
modified
)
{
})
.
declareMethod
(
'
internalMessage
'
,
function
(
event_name
,
data
)
{
console
.
log
([
'
internalMessage
'
,
event_name
,
data
]);
})
.
declareMethod
(
'
updateVersion
'
,
function
()
{
})
.
declareMethod
(
'
on
'
,
function
(
event_name
,
handler
)
{
var
g
=
this
;
g
.
props
.
handlers
[
event_name
]
=
handler
;
})
// methods emulating Gateway used for connection with ooffice end.
.
declareMethod
(
'
render
'
,
function
(
options
)
{
console
.
log
(
'
begin render
'
);
var
g
=
this
,
queue
=
new
RSVP
.
Queue
();
return
queue
.
push
(
function
()
{
return
g
.
getSetting
(
'
portal_type
'
);
})
.
push
(
undefined
,
function
(
error
)
{
return
""
;
})
.
push
(
function
(
portal_type
)
{
var
value
;
g
.
props
.
jio_key
=
options
.
jio_key
;
g
.
props
.
key
=
options
.
key
||
"
text_content
"
;
g
.
props
.
documentType
=
portal_type
.
toLowerCase
();
value
=
options
.
value
;
if
(
value
===
"
data:
"
||
value
===
undefined
)
{
// fix empty value
value
=
""
;
}
if
(
value
)
{
if
(
value
.
slice
===
undefined
)
{
throw
"
not suported type of variable containing the document:
"
+
typeof
value
;
}
if
(
value
.
slice
(
0
,
5
)
===
"
data:
"
)
{
value
=
atob
(
value
.
split
(
'
,
'
)[
1
]);
}
}
if
(
value
)
{
switch
(
value
.
slice
(
0
,
4
))
{
case
"
PK
\
x03
\
x04
"
:
case
"
PK
\
x05
\
x06
"
:
g
.
props
.
value_zip_storage
=
jIO
.
createJIO
({
type
:
"
zipfile
"
,
file
:
value
});
return
g
.
props
.
value_zip_storage
.
getAttachment
(
'
/
'
,
'
body.txt
'
)
.
push
(
undefined
,
function
(
error
)
{
if
(
error
.
status_code
===
404
)
{
throw
'
not supported format of document: "
'
+
value
.
slice
(
0
,
100
)
+
'
"
'
;
}
throw
error
;
})
.
push
(
jIO
.
util
.
readBlobAsText
)
.
push
(
function
(
evt
)
{
return
evt
.
target
.
result
;
});
}
}
return
value
;
})
.
push
(
function
(
value
)
{
var
magic
,
documentType
;
g
.
props
.
value
=
value
;
if
(
!
g
.
props
.
documentType
&&
value
===
""
)
{
throw
"
can not create empty document because portal_type is unknown
"
;
}
if
(
value
)
{
magic
=
g
.
props
.
value
.
slice
(
0
,
4
);
switch
(
magic
)
{
case
'
XLSY
'
:
documentType
=
"
spreadsheet
"
;
break
;
case
'
PPTY
'
:
documentType
=
"
presentation
"
;
break
;
case
'
DOCY
'
:
documentType
=
"
text
"
;
break
;
default
:
throw
"
can not detect document type by magic:
"
+
magic
;
}
if
(
g
.
props
.
documentType
)
{
if
(
documentType
!==
g
.
props
.
documentType
)
{
throw
"
editor not fit the document type
"
;
}
}
else
{
//set editor type by docuementType
g
.
props
.
documentType
=
documentType
;
}
}
if
(
!
g
.
props
.
value_zip_storage
)
{
g
.
props
.
value_zip_storage
=
jIO
.
createJIO
({
type
:
"
zipfile
"
});
}
return
g
.
setFillStyle
();
})
.
push
(
function
(
size
)
{
var
element
=
g
.
props
.
element
,
sdkPath
,
nameSpace
,
backboneControllers
,
styles
;
element
.
style
.
height
=
size
.
height
;
element
.
style
.
width
=
size
.
width
;
// g.fullscreen();
switch
(
g
.
props
.
documentType
)
{
case
'
spreadsheet
'
:
sdkPath
=
'
cell
'
;
nameSpace
=
'
SSE
'
;
backboneControllers
=
[
'
Viewport
'
,
'
DocumentHolder
'
,
'
CellEditor
'
,
'
FormulaDialog
'
,
'
Print
'
,
'
Toolbar
'
,
'
Statusbar
'
,
'
RightMenu
'
,
'
LeftMenu
'
,
'
Main
'
,
'
Common.Controllers.Fonts
'
,
'
Common.Controllers.Chat
'
,
'
Common.Controllers.Comments
'
,
'
Common.Controllers.Plugins
'
];
styles
=
[
// sdk changed to sdk/Excel/sdk-all
'
css!sdk/../css/main.css
'
,
'
css!spreadsheeteditor/main/resources/css/app.css
'
];
break
;
case
'
text
'
:
sdkPath
=
'
word
'
;
nameSpace
=
'
DE
'
;
backboneControllers
=
[
'
Viewport
'
,
'
DocumentHolder
'
,
'
Toolbar
'
,
'
Statusbar
'
,
'
RightMenu
'
,
'
LeftMenu
'
,
'
Main
'
,
'
Common.Controllers.Fonts
'
,
'
Common.Controllers.History
'
,
'
Common.Controllers.Chat
'
,
'
Common.Controllers.Comments
'
,
'
Common.Controllers.Plugins
'
,
'
Common.Controllers.ExternalDiagramEditor
'
,
'
Common.Controllers.ExternalMergeEditor
'
,
'
Common.Controllers.ReviewChanges
'
];
styles
=
[
'
css!documenteditor/main/resources/css/app.css
'
];
break
;
case
'
presentation
'
:
sdkPath
=
'
slide
'
;
nameSpace
=
'
PE
'
;
backboneControllers
=
[
'
Viewport
'
,
'
DocumentHolder
'
,
'
Toolbar
'
,
'
Statusbar
'
,
'
RightMenu
'
,
'
LeftMenu
'
,
'
Main
'
,
'
Common.Controllers.Fonts
'
,
'
Common.Controllers.Chat
'
,
'
Common.Controllers.Comments
'
,
'
Common.Controllers.ExternalDiagramEditor
'
];
styles
=
[
'
css!presentationeditor/main/resources/css/app.css
'
];
break
;
}
Common
.
Gateway
=
g
;
require
.
config
({
baseUrl
:
"
apps/
"
,
waitSeconds
:
360
,
paths
:
{
jquery
:
'
../vendor/jquery/jquery
'
,
underscore
:
'
../vendor/underscore/underscore
'
,
backbone
:
'
../vendor/backbone/backbone
'
,
bootstrap
:
'
../vendor/bootstrap/dist/js/bootstrap
'
,
text
:
'
../vendor/requirejs-text/text
'
,
perfectscrollbar
:
'
common/main/lib/mods/perfect-scrollbar
'
,
jmousewheel
:
'
../vendor/perfect-scrollbar/src/jquery.mousewheel
'
,
xregexp
:
'
../vendor/xregexp/xregexp-all-min
'
,
sockjs
:
'
../vendor/sockjs/sockjs.min
'
,
jsziputils
:
'
../vendor/jszip-utils/jszip-utils.min
'
,
jsrsasign
:
'
../vendor/jsrsasign/jsrsasign-latest-all-min
'
,
allfonts
:
'
../sdkjs/common/AllFonts
'
,
sdk
:
'
../sdkjs/
'
+
sdkPath
+
'
/sdk-all-min
'
,
api
:
'
api/documents/api
'
,
core
:
'
common/main/lib/core/application
'
,
notification
:
'
common/main/lib/core/NotificationCenter
'
,
keymaster
:
'
common/main/lib/core/keymaster
'
,
tip
:
'
common/main/lib/util/Tip
'
,
localstorage
:
'
common/main/lib/util/LocalStorage
'
,
analytics
:
'
common/Analytics
'
,
locale
:
'
common/locale
'
,
irregularstack
:
'
common/IrregularStack
'
},
shim
:
{
underscore
:
{
exports
:
"
_
"
},
backbone
:
{
deps
:
[
"
underscore
"
,
"
jquery
"
],
exports
:
"
Backbone
"
},
bootstrap
:
{
deps
:
[
'
jquery
'
]
},
perfectscrollbar
:
{
deps
:
[
'
jmousewheel
'
]
},
notification
:
{
deps
:
[
'
backbone
'
]
},
core
:
{
deps
:
[
'
backbone
'
,
'
notification
'
,
'
irregularstack
'
]
},
sdk
:
{
deps
:
[
'
jquery
'
,
'
underscore
'
,
'
allfonts
'
,
'
xregexp
'
,
'
sockjs
'
,
'
jsziputils
'
,
'
jsrsasign
'
]
}
}
});
require
([
'
backbone
'
,
'
bootstrap
'
,
'
core
'
,
'
analytics
'
,
'
locale
'
].
concat
(
styles
),
function
(
Backbone
)
{
Backbone
.
history
.
start
();
var
app
=
new
Backbone
.
Application
({
nameSpace
:
nameSpace
,
autoCreate
:
false
,
controllers
:
backboneControllers
});
Common
.
Locale
.
apply
();
switch
(
g
.
props
.
documentType
)
{
case
'
spreadsheet
'
:
require
([
'
spreadsheeteditor/main/app/controller/Viewport
'
,
'
spreadsheeteditor/main/app/controller/DocumentHolder
'
,
'
spreadsheeteditor/main/app/controller/CellEditor
'
,
'
spreadsheeteditor/main/app/controller/Toolbar
'
,
'
spreadsheeteditor/main/app/controller/Statusbar
'
,
'
spreadsheeteditor/main/app/controller/RightMenu
'
,
'
spreadsheeteditor/main/app/controller/LeftMenu
'
,
'
spreadsheeteditor/main/app/controller/Main
'
,
'
spreadsheeteditor/main/app/controller/Print
'
,
'
spreadsheeteditor/main/app/view/ParagraphSettings
'
,
'
spreadsheeteditor/main/app/view/ImageSettings
'
,
'
spreadsheeteditor/main/app/view/ChartSettings
'
,
'
spreadsheeteditor/main/app/view/ShapeSettings
'
,
'
spreadsheeteditor/main/app/view/TextArtSettings
'
,
'
common/main/lib/util/utils
'
,
'
common/main/lib/util/LocalStorage
'
,
'
common/main/lib/controller/Fonts
'
,
'
common/main/lib/controller/Comments
'
,
'
common/main/lib/controller/Chat
'
,
'
common/main/lib/controller/Plugins
'
],
function
()
{
app
.
start
();
});
break
;
case
'
text
'
:
require
([
'
documenteditor/main/app/controller/Viewport
'
,
'
documenteditor/main/app/controller/DocumentHolder
'
,
'
documenteditor/main/app/controller/Toolbar
'
,
'
documenteditor/main/app/controller/Statusbar
'
,
'
documenteditor/main/app/controller/RightMenu
'
,
'
documenteditor/main/app/controller/LeftMenu
'
,
'
documenteditor/main/app/controller/Main
'
,
'
documenteditor/main/app/view/ParagraphSettings
'
,
'
documenteditor/main/app/view/HeaderFooterSettings
'
,
'
documenteditor/main/app/view/ImageSettings
'
,
'
documenteditor/main/app/view/TableSettings
'
,
'
documenteditor/main/app/view/ShapeSettings
'
,
'
common/main/lib/util/utils
'
,
'
common/main/lib/util/LocalStorage
'
,
'
common/main/lib/controller/Fonts
'
,
'
common/main/lib/controller/History
'
,
'
common/main/lib/controller/Comments
'
,
'
common/main/lib/controller/Chat
'
,
'
common/main/lib/controller/Plugins
'
,
'
documenteditor/main/app/view/ChartSettings
'
,
'
common/main/lib/controller/ExternalDiagramEditor
'
,
'
common/main/lib/controller/ExternalMergeEditor
'
,
'
common/main/lib/controller/ReviewChanges
'
],
function
()
{
app
.
start
();
});
break
;
case
'
presentation
'
:
require
([
'
presentationeditor/main/app/controller/Viewport
'
,
'
presentationeditor/main/app/controller/DocumentHolder
'
,
'
presentationeditor/main/app/controller/Toolbar
'
,
'
presentationeditor/main/app/controller/Statusbar
'
,
'
presentationeditor/main/app/controller/RightMenu
'
,
'
presentationeditor/main/app/controller/LeftMenu
'
,
'
presentationeditor/main/app/controller/Main
'
,
'
presentationeditor/main/app/view/ParagraphSettings
'
,
'
presentationeditor/main/app/view/ImageSettings
'
,
'
presentationeditor/main/app/view/ShapeSettings
'
,
'
presentationeditor/main/app/view/SlideSettings
'
,
'
presentationeditor/main/app/view/TableSettings
'
,
'
presentationeditor/main/app/view/TextArtSettings
'
,
'
common/main/lib/util/utils
'
,
'
common/main/lib/util/LocalStorage
'
,
'
common/main/lib/controller/Fonts
'
,
'
common/main/lib/controller/Comments
'
,
'
common/main/lib/controller/Chat
'
,
'
presentationeditor/main/app/view/ChartSettings
'
,
'
common/main/lib/controller/ExternalDiagramEditor
'
],
function
()
{
window
.
compareVersions
=
true
;
app
.
start
();
});
break
;
}
},
function
(
err
)
{
throw
err
;
});
return
{};
})
.
push
(
undefined
,
function
(
error
)
{
display_error
(
g
,
error
);
});
})
.
declareMethod
(
'
getContent
'
,
function
()
{
var
g
=
this
,
zip
=
g
.
props
.
value_zip_storage
,
queue
=
new
RSVP
.
Queue
(),
save_defer
=
RSVP
.
defer
();
g
.
props
.
save_defer
=
save_defer
;
g
.
props
.
handlers
.
save
();
return
queue
.
push
(
function
()
{
return
save_defer
.
promise
;
})
.
push
(
function
(
data
)
{
var
body
=
data
[
g
.
props
.
key
];
return
zip
.
putAttachment
(
'
/
'
,
'
body.txt
'
,
body
);
})
.
push
(
function
()
{
return
zip
.
getAttachment
(
'
/
'
,
'
/
'
);
})
.
push
(
function
(
zip_blob
)
{
return
jIO
.
util
.
readBlobAsDataURL
(
zip_blob
);
})
.
push
(
function
(
evt
)
{
var
data
=
{};
data
[
g
.
props
.
key
]
=
evt
.
target
.
result
;
return
data
;
});
});
}(
rJS
,
RSVP
,
require
,
jIO
));
\ No newline at end of file
apps/documenteditor/main/app/view/DocumentHolder.js
View file @
4efab810
...
...
@@ -44,7 +44,6 @@ define([
'
jquery
'
,
'
underscore
'
,
'
backbone
'
,
'
gateway
'
,
'
common/main/lib/util/utils
'
,
'
common/main/lib/component/Menu
'
,
'
common/main/lib/view/InsertTableDialog
'
,
...
...
@@ -53,7 +52,7 @@ define([
'
documenteditor/main/app/view/HyperlinkSettingsDialog
'
,
'
documenteditor/main/app/view/ParagraphSettingsAdvanced
'
,
'
documenteditor/main/app/view/TableSettingsAdvanced
'
],
function
(
$
,
_
,
Backbone
,
gateway
)
{
'
use strict
'
;
],
function
(
$
,
_
,
Backbone
)
{
'
use strict
'
;
DE
.
Views
.
DocumentHolder
=
Backbone
.
View
.
extend
(
_
.
extend
({
el
:
'
#editor_sdk
'
,
...
...
apps/presentationeditor/main/app/view/DocumentHolder.js
View file @
4efab810
...
...
@@ -34,7 +34,6 @@ define([
'
jquery
'
,
'
underscore
'
,
'
backbone
'
,
'
gateway
'
,
'
common/main/lib/util/utils
'
,
'
common/main/lib/component/Menu
'
,
'
common/main/lib/view/CopyWarningDialog
'
,
...
...
@@ -43,7 +42,7 @@ define([
'
presentationeditor/main/app/view/ParagraphSettingsAdvanced
'
,
'
presentationeditor/main/app/view/ShapeSettingsAdvanced
'
,
'
presentationeditor/main/app/view/TableSettingsAdvanced
'
],
function
(
$
,
_
,
Backbone
,
gateway
)
{
'
use strict
'
;
],
function
(
$
,
_
,
Backbone
)
{
'
use strict
'
;
PE
.
Views
.
DocumentHolder
=
Backbone
.
View
.
extend
(
_
.
extend
({
el
:
'
#editor_sdk
'
,
...
...
apps/spreadsheeteditor/main/app/view/DocumentHolder.js
View file @
4efab810
...
...
@@ -44,12 +44,11 @@ define([
'
jquery
'
,
'
underscore
'
,
'
backbone
'
,
'
gateway
'
,
'
common/main/lib/component/Menu
'
// 'spreadsheeteditor/main/app/view/HyperlinkSettingsDialog',
// 'spreadsheeteditor/main/app/view/ParagraphSettingsAdvanced',
// 'spreadsheeteditor/main/app/view/TableSettingsAdvanced'
],
function
(
$
,
_
,
Backbone
,
gateway
)
{
'
use strict
'
;
],
function
(
$
,
_
,
Backbone
)
{
'
use strict
'
;
SSE
.
Views
.
DocumentHolder
=
Backbone
.
View
.
extend
(
_
.
extend
({
el
:
'
#editor_sdk
'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment