A pile of fixups

pull/1/head
Victor Dubiniuk 9 years ago
parent 1f9288176b
commit 4f5f51a085

@ -130,7 +130,7 @@
} }
#header .padded{ #header .padded{
margin-right:40px; margin-right:12px;
} }
#document-title { #document-title {
@ -170,6 +170,8 @@
#mainContainer{ #mainContainer{
position: absolute; position: absolute;
width:100%;
height:100%;
z-index: 500; z-index: 500;
background-color: #ddd !important; background-color: #ddd !important;
} }
@ -246,36 +248,42 @@
} }
#members { #members {
left: auto !important;
right:0px;
top: 4px !important;
padding-top: 47px !important; padding-top: 47px !important;
background-color: #ddd !important; background-color: #ddd !important;
z-index: 540;
} }
.memberListButton { .webodfeditor-memberListButton {
background-color: transparent !important; background-color: transparent !important;
box-shadow: none !important; box-shadow: none !important;
border: none !important; border: none !important;
} }
.memberListButton span { .webodfeditor-memberListButton span {
display: block; display: block;
border-radius: 3px; border-radius: 3px;
display: block; display: block;
margin: auto; margin: auto;
} }
.memberListButton img{ .webodfeditor-memberListButton img{
border: 0 none !important; border: 0 none !important;
} }
.memberListButton input{ .webodfeditor-memberListButton input{
width:46px; width:46px;
} }
#memberList .memberListLabel { #memberList .webodfeditor-memberListLabel {
color: #555 !important; color: #555 !important;
border-radius: 3px !important; border-radius: 3px !important;
padding: 0 !important; padding: 0 !important;
margin-bottom: 10px;
font-size: 10px !important; font-size: 10px !important;
text-align:center;
} }
#ocToolbar, #ocToolbarInside{ #ocToolbar, #ocToolbarInside{
@ -289,7 +297,7 @@
min-height: 29px !important; min-height: 29px !important;
border-bottom: none !important; border-bottom: none !important;
border-radius: 2px; border-radius: 2px;
margin: 7px 30px 0 0 !important; margin: 6px 30px 0 0 !important;
padding: 0 !important; padding: 0 !important;
box-shadow: none !important; box-shadow: none !important;
background: #F5F5F5 !important; background: #F5F5F5 !important;
@ -313,11 +321,11 @@
#toolbar > .dijitComboBox .dijitInputInner{ #toolbar > .dijitComboBox .dijitInputInner{
vertical-align: middle; vertical-align: middle;
line-height: 1.45em; line-height: 1.7em;
} }
#container { #container {
top: 44px !important; top: 39px !important;
} }
#canvas > div { #canvas > div {

@ -29,8 +29,7 @@ namespace OCA\Documents;
\OCP\App::setActiveNavigationEntry( 'documents_index' ); \OCP\App::setActiveNavigationEntry( 'documents_index' );
\OCP\Util::addStyle( 'documents', 'style' ); \OCP\Util::addStyle( 'documents', 'style' );
\OCP\Util::addStyle( 'documents', '3rdparty/webodf/dojo-app'); \OCP\Util::addStyle( 'documents', '3rdparty/webodf/dojo-app' );
\OCP\Util::addStyle( 'documents', '3rdparty/webodf/editor');
\OCP\Util::addScript('documents', 'documents'); \OCP\Util::addScript('documents', 'documents');

@ -442,6 +442,21 @@ define("webodf/editor/Editor", [
function setFocusToOdfCanvas() { function setFocusToOdfCanvas() {
editorSession.sessionController.getEventManager().focus(); editorSession.sessionController.getEventManager().focus();
} }
/**
* Returns true if either all features are wanted and this one is not explicitely disabled
* or if not all features are wanted by default and it is explicitely enabled
* @param {?boolean|undefined} isFeatureEnabled explicit flag which enables a feature
* @param {!boolean=} isUnstable set to true if the feature is not stable (in collab mode)
* @return {!boolean}
*/
function isEnabled(isFeatureEnabled, isUnstable) {
if (isUnstable && ! args.unstableFeaturesEnabled) {
return false;
}
return args.allFeaturesEnabled ? (isFeatureEnabled !== false) : isFeatureEnabled;
}
// init // init
function init() { function init() {
@ -451,13 +466,16 @@ define("webodf/editor/Editor", [
container = document.getElementById('container'), container = document.getElementById('container'),
memberListElement = document.getElementById('memberList'), memberListElement = document.getElementById('memberList'),
collabEditing = Boolean(server), collabEditing = Boolean(server),
directParagraphStylingEnabled = (! collabEditing) || args.unstableFeaturesEnabled, directTextStylingEnabled = isEnabled(args.directTextStylingEnabled),
imageInsertingEnabled = (! collabEditing) || args.unstableFeaturesEnabled, directParagraphStylingEnabled = isEnabled(args.directParagraphStylingEnabled),
hyperlinkEditingEnabled = (! collabEditing) || args.unstableFeaturesEnabled, paragraphStyleSelectingEnabled = isEnabled(args.paragraphStyleSelectingEnabled),
// annotations not yet properly supported for OT paragraphStyleEditingEnabled = isEnabled(args.paragraphStyleEditingEnabled),
annotationsEnabled = (! collabEditing) || args.unstableFeaturesEnabled, imageEditingEnabled = isEnabled(args.imageEditingEnabled, true),
// undo manager is not yet integrated with collaboration hyperlinkEditingEnabled = isEnabled(args.hyperlinkEditingEnabled, true),
undoRedoEnabled = (! collabEditing), reviewModeEnabled = isEnabled(args.reviewModeEnabled, true),
annotationsEnabled = reviewModeEnabled || isEnabled(args.annotationsEnabled),
undoRedoEnabled = false, // no proper mechanism yet for collab
zoomingEnabled = isEnabled(args.zoomingEnabled),
closeCallback; closeCallback;
// Extend runtime with a convenient translation function // Extend runtime with a convenient translation function
@ -513,16 +531,19 @@ define("webodf/editor/Editor", [
inviteButton.onclick = window.inviteButtonProxy.clicked; inviteButton.onclick = window.inviteButtonProxy.clicked;
} }
tools = new Tools({ tools = new Tools('toolbar', {
onToolDone: setFocusToOdfCanvas, onToolDone: setFocusToOdfCanvas,
loadOdtFile: loadOdtFile,
saveOdtFile: saveOdtFile, saveOdtFile: saveOdtFile,
close: close, close: close,
directTextStylingEnabled: directTextStylingEnabled,
directParagraphStylingEnabled: directParagraphStylingEnabled, directParagraphStylingEnabled: directParagraphStylingEnabled,
imageInsertingEnabled: imageInsertingEnabled, paragraphStyleSelectingEnabled: paragraphStyleSelectingEnabled,
paragraphStyleEditingEnabled: paragraphStyleEditingEnabled,
imageInsertingEnabled: imageEditingEnabled,
hyperlinkEditingEnabled: hyperlinkEditingEnabled, hyperlinkEditingEnabled: hyperlinkEditingEnabled,
annotationsEnabled: annotationsEnabled, annotationsEnabled: annotationsEnabled,
undoRedoEnabled: undoRedoEnabled undoRedoEnabled: undoRedoEnabled,
zoomingEnabled: zoomingEnabled
}); });
odfCanvas = new odf.OdfCanvas(canvasElement); odfCanvas = new odf.OdfCanvas(canvasElement);
@ -536,12 +557,23 @@ define("webodf/editor/Editor", [
}; };
// create session around loaded document // create session around loaded document
var viewOptions = {
editInfoMarkersInitiallyVisible: true,
caretAvatarsInitiallyVisible: false,
caretBlinksOnRangeSelect: true
};
session = new ops.Session(odfCanvas); session = new ops.Session(odfCanvas);
editorSession = new EditorSession(session, pendingMemberId, { editorSession = new EditorSession(session, pendingMemberId, {
viewOptions: viewOptions, viewOptions: viewOptions,
directTextStylingEnabled: directTextStylingEnabled,
directParagraphStylingEnabled: directParagraphStylingEnabled, directParagraphStylingEnabled: directParagraphStylingEnabled,
imageInsertingEnabled: imageInsertingEnabled, paragraphStyleSelectingEnabled: paragraphStyleSelectingEnabled,
hyperlinkEditingEnabled: hyperlinkEditingEnabled paragraphStyleEditingEnabled: paragraphStyleEditingEnabled,
imageEditingEnabled: imageEditingEnabled,
hyperlinkEditingEnabled: hyperlinkEditingEnabled,
annotationsEnabled: annotationsEnabled,
zoomingEnabled: zoomingEnabled,
reviewModeEnabled: reviewModeEnabled
}); });
if (undoRedoEnabled) { if (undoRedoEnabled) {
editorSession.sessionController.setUndoManager(new gui.TrivialUndoManager()); editorSession.sessionController.setUndoManager(new gui.TrivialUndoManager());

@ -26,9 +26,9 @@
/*global define, require, OC*/ /*global define, require, OC*/
define("owncloud/ServerFactory", [ define("owncloud/ServerFactory", [
"webodf/editor/server/pullbox/Server", "webodf/editor/backend/pullbox/Server",
"webodf/editor/server/pullbox/OperationRouter", "webodf/editor/backend/pullbox/OperationRouter",
"webodf/editor/server/pullbox/SessionList"], "webodf/editor/backend/pullbox/SessionList"],
function (PullBoxServer, PullBoxOperationRouter, PullBoxSessionList) { function (PullBoxServer, PullBoxOperationRouter, PullBoxSessionList) {
"use strict"; "use strict";

@ -158,17 +158,17 @@ var documentsMain = {
UI : { UI : {
/* Editor wrapper HTML */ /* Editor wrapper HTML */
container : '<div id = "mainContainer" class="claro">' + container : '<div id="mainContainer" class="claro">' +
' <div id = "editor">' + ' <div id="editor" class="webodfeditor-editor">' +
' <div id = "container">' + ' <div id="container" class="webodfeditor-canvascontainer">' +
' <div id="canvas"></div>' + ' <div id="canvas" class="webodfeditor-canvas"></div>' +
' </div>' + ' </div>' +
' </div>' + ' </div>' +
' <div id = "collaboration">' + ' <div id="collaboration">' +
' <div id = "collabContainer">' + ' <div id="collabContainer">' +
' <div id = "members">' + ' <div id="members">' +
' <div id = "inviteButton"></div>' + ' <div id="inviteButton"></div>' +
' <div id = "memberList"></div>' + ' <div id="memberList"></div>' +
' </div>' + ' </div>' +
' </div>' + ' </div>' +
' </div>' + ' </div>' +
@ -204,7 +204,7 @@ var documentsMain = {
// Fade out editor // Fade out editor
$('#mainContainer').fadeOut('fast', function() { $('#mainContainer').fadeOut('fast', function() {
$('#mainContainer').remove(); $('#mainContainer').remove();
$('#content').fadeIn('fast'); $('#content-wrapper').fadeIn('fast');
$(document.body).removeClass('claro'); $(document.body).removeClass('claro');
$('title').text(documentsMain.UI.mainTitle); $('title').text(documentsMain.UI.mainTitle);
}); });
@ -332,7 +332,7 @@ var documentsMain = {
&& typeof OC.Share !== 'undefined' && response.permissions & OC.PERMISSION_SHARE; && typeof OC.Share !== 'undefined' && response.permissions & OC.PERMISSION_SHARE;
require({ }, ["owncloud/ServerFactory", "webodf/editor/Editor"], function (ServerFactory, Editor) { require({ }, ["owncloud/ServerFactory", "webodf/editor/Editor"], function (ServerFactory, Editor) {
// fade out file list and show WebODF canvas // fade out file list and show WebODF canvas
$('#content').fadeOut('fast').promise().done(function() { $('#content-wrapper').fadeOut('fast').promise().done(function() {
documentsMain.fileId = response.file_id; documentsMain.fileId = response.file_id;
documentsMain.fileName = response.title; documentsMain.fileName = response.title;
@ -350,7 +350,14 @@ var documentsMain = {
documentsMain.webodfServerInstance = serverFactory.createServer(); documentsMain.webodfServerInstance = serverFactory.createServer();
documentsMain.webodfServerInstance.setToken(oc_requesttoken); documentsMain.webodfServerInstance.setToken(oc_requesttoken);
documentsMain.webodfEditorInstance = new Editor({unstableFeaturesEnabled: documentsMain.useUnstable}, documentsMain.webodfServerInstance, serverFactory); documentsMain.webodfEditorInstance = new Editor(
{
allFeaturesEnabled: true,
collabEditingEnabled: true
},
documentsMain.webodfServerInstance, serverFactory
);
documentsMain.webodfEditorInstance.addEventListener(Editor.EVENT_BEFORESAVETOFILE, documentsMain.UI.showSave); documentsMain.webodfEditorInstance.addEventListener(Editor.EVENT_BEFORESAVETOFILE, documentsMain.UI.showSave);
documentsMain.webodfEditorInstance.addEventListener(Editor.EVENT_SAVEDTOFILE, documentsMain.UI.hideSave); documentsMain.webodfEditorInstance.addEventListener(Editor.EVENT_SAVEDTOFILE, documentsMain.UI.hideSave);
documentsMain.webodfEditorInstance.addEventListener(Editor.EVENT_ERROR, documentsMain.onEditorShutdown); documentsMain.webodfEditorInstance.addEventListener(Editor.EVENT_ERROR, documentsMain.onEditorShutdown);
@ -691,6 +698,8 @@ $(document).ready(function() {
$('.add-document .upload').css({opacity:0.7}); $('.add-document .upload').css({opacity:0.7});
documentsMain.show(); documentsMain.show();
}); });
OC.addStyle('documents', '3rdparty/webodf/wodotexteditor');
OC.addStyle('documents', '/3rdparty/webodf/wodocollabpane');
OC.addScript('documents', '3rdparty/webodf/dojo-amalgamation', documentsMain.onStartup); OC.addScript('documents', '3rdparty/webodf/dojo-amalgamation', documentsMain.onStartup);
}); });

@ -3,7 +3,7 @@ define("owncloud/widgets/ocLogo",
["dojo/_base/declare", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "webodf/editor/EditorSession"], ["dojo/_base/declare", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "webodf/editor/EditorSession"],
function (declare, _WidgetBase, _TemplatedMixin, EditorSession) { function (declare, _WidgetBase, _TemplatedMixin, EditorSession) {
return declare("OcLogo", [_WidgetBase, _TemplatedMixin], { return declare("OcLogo", [_WidgetBase, _TemplatedMixin], {
templateString: '<div style="float:left" class="padded"><a href="' + (OC.webroot || '/') +'"><div class="logo-wide"></div></a></div>', templateString: '<div style="float:left" class="padded"><a href="' + (OC.webroot || '/') +'"><div class="logo-icon"></div></a></div>',
startup: function () { startup: function () {
$('#header').children(':not(#ocToolbar)').hide(); $('#header').children(':not(#ocToolbar)').hide();
this.inherited(arguments); this.inherited(arguments);

@ -3,7 +3,7 @@ define("owncloud/widgets/ocShare",
["dojo/_base/declare", "dojo/dom-style", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "webodf/editor/EditorSession"], ["dojo/_base/declare", "dojo/dom-style", "dijit/_WidgetBase", "dijit/_TemplatedMixin", "webodf/editor/EditorSession"],
function (declare, domStyle, _WidgetBase, _TemplatedMixin, EditorSession) { function (declare, domStyle, _WidgetBase, _TemplatedMixin, EditorSession) {
return declare("OcShare", [_WidgetBase, _TemplatedMixin], { return declare("OcShare", [_WidgetBase, _TemplatedMixin], {
templateString: '<div class="dijit" style="float:left;margin-top:5px">' templateString: '<div class="dijit" style="float:left;margin-top:3px">'
+ '<button id="odf-invite" class="drop icon-share svg" data-dojo-attach-event="onclick: showDropdown">' + + '<button id="odf-invite" class="drop icon-share svg" data-dojo-attach-event="onclick: showDropdown">' +
t('documents', 'Share') + t('documents', 'Share') +
'</button></div>', '</button></div>',

@ -42,7 +42,7 @@ define("owncloud/widgets/zoomCombo",
class: "dijit", class: "dijit",
value: defaultZoom, value: defaultZoom,
style: { style: {
height: '20px', height: '23px',
width: '60px', width: '60px',
float: 'right' float: 'right'
} }

Loading…
Cancel
Save