mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-11-05 07:03:24 +01:00
Add 18n support to the editor.
This commit is contained in:
parent
cd46647602
commit
2757a5ddb4
@ -83,6 +83,7 @@
|
|||||||
<includes>
|
<includes>
|
||||||
<include>header.js</include>
|
<include>header.js</include>
|
||||||
<include>${basedir}/../web2d/target/classes/web2d.svg-min.js</include>
|
<include>${basedir}/../web2d/target/classes/web2d.svg-min.js</include>
|
||||||
|
<include>Messages.js</include>
|
||||||
<include>TopicEventDispatcher.js</include>
|
<include>TopicEventDispatcher.js</include>
|
||||||
<include>model/IMindmap.js</include>
|
<include>model/IMindmap.js</include>
|
||||||
<include>model/Mindmap.js</include>
|
<include>model/Mindmap.js</include>
|
||||||
|
45
mindplot/resources/messages_en.properties
Normal file
45
mindplot/resources/messages_en.properties
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
ZOOM_IN=Zoom In
|
||||||
|
ZOOM_OUT=Zoom Out
|
||||||
|
TOPIC_SHAPE=Topic Shape
|
||||||
|
TOPIC_ADD=Add Topic
|
||||||
|
TOPIC_DELETE=Delete Topic
|
||||||
|
TOPIC_ICON=Add Icon
|
||||||
|
TOPIC_LINK=Add Link
|
||||||
|
TOPIC_RELATIONSHIP=Relationship
|
||||||
|
TOPIC_COLOR=Topic Color
|
||||||
|
TOPIC_BORDER_COLOR=Topic Border Color
|
||||||
|
TOPIC_NOTE=Add Note
|
||||||
|
FONT_FAMILY=Font Type
|
||||||
|
FONT_SIZE=Text Size
|
||||||
|
FONT_BOLD=Text Bold
|
||||||
|
FONT_ITALIC=Text Italic
|
||||||
|
UNDO_EDITION=Undo Edition
|
||||||
|
REDO_EDITION=Redo Edition
|
||||||
|
UNDO=Undo
|
||||||
|
REDO=Redo
|
||||||
|
INSERT=Insert
|
||||||
|
SAVE=Save
|
||||||
|
NOTE=Note
|
||||||
|
|
||||||
|
ADD_TOPIC=Add Topic
|
||||||
|
LOADING=Loading ...
|
||||||
|
EXPORT=Export
|
||||||
|
PRINT=Print
|
||||||
|
PUBLISH=Publish
|
||||||
|
COLLABORATE=Share
|
||||||
|
HISTORY=History
|
||||||
|
DISCARD_CHANGES=Discard Changes
|
||||||
|
FONT_COLOR=Text Color
|
||||||
|
SAVING=Saving ...
|
||||||
|
SAVE_COMPLETE=Save Complete
|
||||||
|
|
||||||
|
ZOOM_IN_ERROR=Zoom too high.
|
||||||
|
ZOOM_ERROR=No more zoom can be applied.
|
||||||
|
ONLY_ONE_TOPIC_MUST_BE_SELECTED=Could not create a topic. Only one node must be selected.
|
||||||
|
ONE_TOPIC_MUST_BE_SELECTED=Could not create a topic. One topic must be selected.
|
||||||
|
SAVE_COULD_NOT_BE_COMPLETED=Save could not be completed. Try latter.
|
||||||
|
UNEXPECTED_ERROR_LOADING=We're sorry, an unexpected error has occurred.\nTry again reloading the editor.If the problem persists, contact us to support@wisemapping.com.
|
||||||
|
MAIN_TOPIC=Main Topic
|
||||||
|
SUB_TOPIC=Sub Topic
|
||||||
|
ISOLATED_TOPIC=Isolated Topic
|
||||||
|
CENTRAL_TOPIC=Central Topic
|
41
mindplot/resources/messages_es.json
Normal file
41
mindplot/resources/messages_es.json
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
ZOOM_IN:'Zoom In',
|
||||||
|
ZOOM_OUT:'Zoom Out',
|
||||||
|
TOPIC_SHAPE:'Topic Shape',
|
||||||
|
TOPIC_ADD:'Add Topic',
|
||||||
|
TOPIC_DELETE:'Delete Topic',
|
||||||
|
TOPIC_ICON:'Add Icon',
|
||||||
|
TOPIC_LINK:'Add Link',
|
||||||
|
TOPIC_RELATIONSHIP:'Relationship',
|
||||||
|
TOPIC_COLOR:'Topic Color',
|
||||||
|
TOPIC_BORDER_COLOR:'Topic Border Color',
|
||||||
|
TOPIC_NOTE:'Add Note',
|
||||||
|
FONT_FAMILY:'Font Type',
|
||||||
|
FONT_SIZE:'Text Size',
|
||||||
|
FONT_BOLD:'Text Bold',
|
||||||
|
FONT_ITALIC:'Text Italic',
|
||||||
|
UNDO_EDITION:'Undo Edition',
|
||||||
|
REDO_EDITION:'Redo Edition',
|
||||||
|
UNDO:'Undo',
|
||||||
|
REDO:'Redo',
|
||||||
|
INSERT:'Insert',
|
||||||
|
SAVE:'Save',
|
||||||
|
NOTE:'Note',
|
||||||
|
|
||||||
|
ADD_TOPIC:'Add Topic',
|
||||||
|
LOADING:'Loading ...',
|
||||||
|
EXPORT:'Export',
|
||||||
|
PRINT:'Print',
|
||||||
|
PUBLISH:'Publish',
|
||||||
|
COLLABORATE:'Share',
|
||||||
|
HISTORY:'History',
|
||||||
|
DISCARD_CHANGES:'Discard Changes',
|
||||||
|
FONT_COLOR:'Text Color',
|
||||||
|
SAVING:'Saving ...',
|
||||||
|
SAVE_COMPLETE:'Save Complete',
|
||||||
|
|
||||||
|
ZOOM_IN_ERROR:'Zoom too high.',
|
||||||
|
ZOOM_ERROR:'No more zoom can be applied.',
|
||||||
|
ONLY_ONE_TOPIC_MUST_BE_SELECTED:'Could not create a topic. Only one node must be selected.',
|
||||||
|
ONE_TOPIC_MUST_BE_SELECTED:'Could not create a topic. One topic must be selected.',
|
||||||
|
SAVE_COULD_NOT_BE_COMPLETED:'Save could not be completed. Try latter.',
|
||||||
|
UNEXPECTED_ERROR_LOADING:'We're sorry, an unexected error has occurred. Try again realoading the editor.If the problem persists, contact us to <a href\='mailto\:support@wisemapping.com'>support@wisemapping.com</a>.',
|
46
mindplot/resources/messages_es.properties
Normal file
46
mindplot/resources/messages_es.properties
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
DISCARD_CHANGES=Descartar Cambios
|
||||||
|
SAVE=Guardar
|
||||||
|
INSERT=Insertar
|
||||||
|
ZOOM_IN=Acercar
|
||||||
|
ZOOM_OUT=Alejar
|
||||||
|
|
||||||
|
TOPIC_BORDER_COLOR=Color del Borde
|
||||||
|
TOPIC_SHAPE=Forma del Tópico
|
||||||
|
TOPIC_ADD=Agregar Tópico
|
||||||
|
TOPIC_DELETE=Borrar Tópico
|
||||||
|
TOPIC_ICON=Agregar Icono
|
||||||
|
TOPIC_LINK=Agregar Enlace
|
||||||
|
TOPIC_NOTE=Agregar Nota
|
||||||
|
TOPIC_COLOR=Color Tópico
|
||||||
|
TOPIC_RELATIONSHIP=Relación
|
||||||
|
FONT_FAMILY=Tipo de Fuente
|
||||||
|
|
||||||
|
FONT_SIZE=Tamaño de Texto
|
||||||
|
FONT_BOLD=Negrita
|
||||||
|
FONT_ITALIC=Italica
|
||||||
|
FONT_COLOR=Color de Texto
|
||||||
|
|
||||||
|
UNDO_EDITION=Undo Edition
|
||||||
|
REDO_EDITION=Redo Edition
|
||||||
|
UNDO=Rehacer
|
||||||
|
NOTE=Nota
|
||||||
|
LOADING=Cargando ...
|
||||||
|
PRINT=Imprimir
|
||||||
|
PUBLISH=Publicar
|
||||||
|
REDO=Deshacer
|
||||||
|
ADD_TOPIC=Agregar Tópico
|
||||||
|
COLLABORATE=Compartir
|
||||||
|
EXPORT=Exportar
|
||||||
|
HISTORY=History
|
||||||
|
SAVE_COMPLETE=Grabado Completo
|
||||||
|
SAVING=Grabando ...
|
||||||
|
ONE_TOPIC_MUST_BE_SELECTED=No ha sido posible crear un nuevo tópico. Al menos un tópico debe ser seleccionado.
|
||||||
|
ONLY_ONE_TOPIC_MUST_BE_SELECTED=No ha sido posible crear un nuevo tópico. Solo un tópico debe ser seleccionado.
|
||||||
|
SAVE_COULD_NOT_BE_COMPLETED=Grabación no pudo ser completada. Intentelo mas tarde.
|
||||||
|
UNEXPECTED_ERROR_LOADING=Lo sentimos, un error inesperado ha ocurrido. Intentelo nuevamente recargando el editor. Si el problema persiste, contactenos a support@wisemapping.com.
|
||||||
|
ZOOM_ERROR=No es posible aplicar mas zoom.
|
||||||
|
ZOOM_IN_ERROR=El zoom es muy alto.
|
||||||
|
MAIN_TOPIC=Tópico Principal
|
||||||
|
SUB_TOPIC=Tópico Secundario
|
||||||
|
ISOLATED_TOPIC=Tópico Aislado
|
||||||
|
CENTRAL_TOPIC=Tópico Central
|
@ -71,7 +71,7 @@ mindplot.CentralTopic = new Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_defaultText : function() {
|
_defaultText : function() {
|
||||||
return "Central Topic";
|
return $msg('CENTRAL_TOPIC');
|
||||||
},
|
},
|
||||||
|
|
||||||
_defaultBackgroundColor : function() {
|
_defaultBackgroundColor : function() {
|
||||||
|
@ -17,12 +17,15 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
mindplot.Designer = new Class({
|
mindplot.Designer = new Class({
|
||||||
Extends: Events,
|
Extends:Events,
|
||||||
initialize: function(options, divElement) {
|
initialize:function (options, divElement) {
|
||||||
$assert(options, "options must be defined");
|
$assert(options, "options must be defined");
|
||||||
$assert(options.zoom, "zoom must be defined");
|
$assert(options.zoom, "zoom must be defined");
|
||||||
$assert(divElement, "divElement must be defined");
|
$assert(divElement, "divElement must be defined");
|
||||||
|
|
||||||
|
// Set up i18n location ...
|
||||||
|
mindplot.Messages.init(options.location);
|
||||||
|
|
||||||
this._options = options;
|
this._options = options;
|
||||||
|
|
||||||
// Set full div elem render area ...
|
// Set full div elem render area ...
|
||||||
@ -36,7 +39,7 @@ mindplot.Designer = new Class({
|
|||||||
this._actionDispatcher = new mindplot.BrixActionDispatcher(commandContext);
|
this._actionDispatcher = new mindplot.BrixActionDispatcher(commandContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._actionDispatcher.addEvent("modelUpdate", function(event) {
|
this._actionDispatcher.addEvent("modelUpdate", function (event) {
|
||||||
this.fireEvent("modelUpdate", event);
|
this.fireEvent("modelUpdate", event);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
@ -67,7 +70,7 @@ mindplot.Designer = new Class({
|
|||||||
/**
|
/**
|
||||||
* Deactivates the keyboard events so you can enter text into forms
|
* Deactivates the keyboard events so you can enter text into forms
|
||||||
*/
|
*/
|
||||||
deactivateKeyboard: function() {
|
deactivateKeyboard:function () {
|
||||||
mindplot.DesignerKeyboard.getInstance().deactivate();
|
mindplot.DesignerKeyboard.getInstance().deactivate();
|
||||||
this.deselectAll();
|
this.deselectAll();
|
||||||
},
|
},
|
||||||
@ -75,12 +78,12 @@ mindplot.Designer = new Class({
|
|||||||
/**
|
/**
|
||||||
* Activates the keyboard events so you can enter text into forms
|
* Activates the keyboard events so you can enter text into forms
|
||||||
*/
|
*/
|
||||||
activateKeyboard: function() {
|
activateKeyboard:function () {
|
||||||
mindplot.DesignerKeyboard.getInstance().activate();
|
mindplot.DesignerKeyboard.getInstance().activate();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
_registerEvents : function() {
|
_registerEvents:function () {
|
||||||
// Register mouse events ...
|
// Register mouse events ...
|
||||||
this._registerMouseEvents();
|
this._registerMouseEvents();
|
||||||
|
|
||||||
@ -88,7 +91,7 @@ mindplot.Designer = new Class({
|
|||||||
mindplot.DesignerKeyboard.register(this);
|
mindplot.DesignerKeyboard.register(this);
|
||||||
},
|
},
|
||||||
|
|
||||||
addEvent: function(type, listener) {
|
addEvent:function (type, listener) {
|
||||||
if (type == mindplot.TopicEvent.EDIT || type == mindplot.TopicEvent.CLICK) {
|
if (type == mindplot.TopicEvent.EDIT || type == mindplot.TopicEvent.CLICK) {
|
||||||
var editor = mindplot.TopicEventDispatcher.getInstance();
|
var editor = mindplot.TopicEventDispatcher.getInstance();
|
||||||
editor.addEvent(type, listener);
|
editor.addEvent(type, listener);
|
||||||
@ -97,15 +100,15 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_registerMouseEvents : function() {
|
_registerMouseEvents:function () {
|
||||||
var workspace = this._workspace;
|
var workspace = this._workspace;
|
||||||
var screenManager = workspace.getScreenManager();
|
var screenManager = workspace.getScreenManager();
|
||||||
|
|
||||||
// Initialize workspace event listeners.
|
// Initialize workspace event listeners.
|
||||||
screenManager.addEvent('update', function() {
|
screenManager.addEvent('update', function () {
|
||||||
// Topic must be set to his original state. All editors must be closed.
|
// Topic must be set to his original state. All editors must be closed.
|
||||||
var topics = this.getModel().getTopics();
|
var topics = this.getModel().getTopics();
|
||||||
topics.forEach(function(object) {
|
topics.forEach(function (object) {
|
||||||
object.closeEditors();
|
object.closeEditors();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -116,12 +119,12 @@ mindplot.Designer = new Class({
|
|||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
// Deselect on click ...
|
// Deselect on click ...
|
||||||
screenManager.addEvent('click', function(event) {
|
screenManager.addEvent('click', function (event) {
|
||||||
this.onObjectFocusEvent(null, event);
|
this.onObjectFocusEvent(null, event);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
// Create nodes on double click...
|
// Create nodes on double click...
|
||||||
screenManager.addEvent('dblclick', function(event) {
|
screenManager.addEvent('dblclick', function (event) {
|
||||||
if (workspace.isWorkspaceEventsEnabled()) {
|
if (workspace.isWorkspaceEventsEnabled()) {
|
||||||
|
|
||||||
var mousePos = screenManager.getWorkspaceMousePosition(event);
|
var mousePos = screenManager.getWorkspaceMousePosition(event);
|
||||||
@ -133,7 +136,7 @@ mindplot.Designer = new Class({
|
|||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
|
|
||||||
$(document).addEvent('mousewheel', function(event) {
|
$(document).addEvent('mousewheel', function (event) {
|
||||||
// Change mousewheel handling so we let the default
|
// Change mousewheel handling so we let the default
|
||||||
//event happen if we are outside the container.
|
//event happen if we are outside the container.
|
||||||
var coords = screenManager.getContainer().getCoordinates();
|
var coords = screenManager.getContainer().getCoordinates();
|
||||||
@ -155,21 +158,21 @@ mindplot.Designer = new Class({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_buildDragManager: function(workspace) {
|
_buildDragManager:function (workspace) {
|
||||||
|
|
||||||
var designerModel = this.getModel();
|
var designerModel = this.getModel();
|
||||||
var dragConnector = new mindplot.DragConnector(designerModel, this._workspace);
|
var dragConnector = new mindplot.DragConnector(designerModel, this._workspace);
|
||||||
var dragManager = new mindplot.DragManager(workspace, this._eventBussDispatcher);
|
var dragManager = new mindplot.DragManager(workspace, this._eventBussDispatcher);
|
||||||
var topics = designerModel.getTopics();
|
var topics = designerModel.getTopics();
|
||||||
|
|
||||||
dragManager.addEvent('startdragging', function() {
|
dragManager.addEvent('startdragging', function () {
|
||||||
// Enable all mouse events.
|
// Enable all mouse events.
|
||||||
for (var i = 0; i < topics.length; i++) {
|
for (var i = 0; i < topics.length; i++) {
|
||||||
topics[i].setMouseEventsEnabled(false);
|
topics[i].setMouseEventsEnabled(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
dragManager.addEvent('dragging', function(event, dragTopic) {
|
dragManager.addEvent('dragging', function (event, dragTopic) {
|
||||||
dragTopic.updateFreeLayout(event);
|
dragTopic.updateFreeLayout(event);
|
||||||
if (!dragTopic.isFreeLayoutOn(event)) {
|
if (!dragTopic.isFreeLayoutOn(event)) {
|
||||||
// The node is being drag. Is the connection still valid ?
|
// The node is being drag. Is the connection still valid ?
|
||||||
@ -181,7 +184,7 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
dragManager.addEvent('enddragging', function(event, dragTopic) {
|
dragManager.addEvent('enddragging', function (event, dragTopic) {
|
||||||
for (var i = 0; i < topics.length; i++) {
|
for (var i = 0; i < topics.length; i++) {
|
||||||
topics[i].setMouseEventsEnabled(true);
|
topics[i].setMouseEventsEnabled(true);
|
||||||
}
|
}
|
||||||
@ -191,14 +194,14 @@ mindplot.Designer = new Class({
|
|||||||
return dragManager;
|
return dragManager;
|
||||||
},
|
},
|
||||||
|
|
||||||
setViewPort : function(size) {
|
setViewPort:function (size) {
|
||||||
this._workspace.setViewPort(size);
|
this._workspace.setViewPort(size);
|
||||||
var model = this.getModel();
|
var model = this.getModel();
|
||||||
this._workspace.setZoom(model.getZoom(), true);
|
this._workspace.setZoom(model.getZoom(), true);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
_buildNodeGraph : function(model, readOnly) {
|
_buildNodeGraph:function (model, readOnly) {
|
||||||
var workspace = this._workspace;
|
var workspace = this._workspace;
|
||||||
|
|
||||||
// Create node graph ...
|
// Create node graph ...
|
||||||
@ -210,7 +213,7 @@ mindplot.Designer = new Class({
|
|||||||
// Add Topic events ...
|
// Add Topic events ...
|
||||||
if (!readOnly) {
|
if (!readOnly) {
|
||||||
// If a node had gained focus, clean the rest of the nodes ...
|
// If a node had gained focus, clean the rest of the nodes ...
|
||||||
topic.addEvent('mousedown', function(event) {
|
topic.addEvent('mousedown', function (event) {
|
||||||
this.onObjectFocusEvent(topic, event);
|
this.onObjectFocusEvent(topic, event);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
@ -243,7 +246,7 @@ mindplot.Designer = new Class({
|
|||||||
topic.connectTo(targetTopic, workspace);
|
topic.connectTo(targetTopic, workspace);
|
||||||
}
|
}
|
||||||
|
|
||||||
topic.addEvent('ontblur', function() {
|
topic.addEvent('ontblur', function () {
|
||||||
var topics = this.getModel().filterSelectedTopics();
|
var topics = this.getModel().filterSelectedTopics();
|
||||||
var rels = this.getModel().filterSelectedRelations();
|
var rels = this.getModel().filterSelectedRelations();
|
||||||
|
|
||||||
@ -252,7 +255,7 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
topic.addEvent('ontfocus', function() {
|
topic.addEvent('ontfocus', function () {
|
||||||
var topics = this.getModel().filterSelectedTopics();
|
var topics = this.getModel().filterSelectedTopics();
|
||||||
var rels = this.getModel().filterSelectedRelations();
|
var rels = this.getModel().filterSelectedRelations();
|
||||||
|
|
||||||
@ -264,16 +267,16 @@ mindplot.Designer = new Class({
|
|||||||
return topic;
|
return topic;
|
||||||
},
|
},
|
||||||
|
|
||||||
onObjectFocusEvent : function(currentObject, event) {
|
onObjectFocusEvent:function (currentObject, event) {
|
||||||
// Close node editors ..
|
// Close node editors ..
|
||||||
var topics = this.getModel().getTopics();
|
var topics = this.getModel().getTopics();
|
||||||
topics.forEach(function(topic) {
|
topics.forEach(function (topic) {
|
||||||
topic.closeEditors();
|
topic.closeEditors();
|
||||||
});
|
});
|
||||||
|
|
||||||
var model = this.getModel();
|
var model = this.getModel();
|
||||||
var objects = model.getObjects();
|
var objects = model.getObjects();
|
||||||
objects.forEach(function(object) {
|
objects.forEach(function (object) {
|
||||||
// Disable all nodes on focus but not the current if Ctrl key isn't being pressed
|
// Disable all nodes on focus but not the current if Ctrl key isn't being pressed
|
||||||
if (!$defined(event) || (!event.control && !event.meta)) {
|
if (!$defined(event) || (!event.control && !event.meta)) {
|
||||||
if (object.isOnFocus() && object != currentObject) {
|
if (object.isOnFocus() && object != currentObject) {
|
||||||
@ -284,17 +287,17 @@ mindplot.Designer = new Class({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
selectAll : function() {
|
selectAll:function () {
|
||||||
var model = this.getModel();
|
var model = this.getModel();
|
||||||
var objects = model.getObjects();
|
var objects = model.getObjects();
|
||||||
objects.forEach(function(object) {
|
objects.forEach(function (object) {
|
||||||
object.setOnFocus(true);
|
object.setOnFocus(true);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
deselectAll : function() {
|
deselectAll:function () {
|
||||||
var objects = this.getModel().getObjects();
|
var objects = this.getModel().getObjects();
|
||||||
objects.forEach(function(object) {
|
objects.forEach(function (object) {
|
||||||
object.setOnFocus(false);
|
object.setOnFocus(false);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -303,17 +306,16 @@ mindplot.Designer = new Class({
|
|||||||
* Set the zoom of the map.
|
* Set the zoom of the map.
|
||||||
* @param: zoom: number between 0.3 and 1.9
|
* @param: zoom: number between 0.3 and 1.9
|
||||||
*/
|
*/
|
||||||
setZoom: function(zoom) {
|
setZoom:function (zoom) {
|
||||||
if (zoom > 1.9 || zoom < 0.3) {
|
if (zoom > 1.9 || zoom < 0.3) {
|
||||||
$notify("Zoom too high. Cannot apply zoom above 1.9 or below 0.3");
|
$notify($msg('ZOOM_IN_ERROR'));
|
||||||
console.log("Tried to set zoom to " + zoom + " which is outside allowed range.");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.getModel().setZoom(zoom);
|
this.getModel().setZoom(zoom);
|
||||||
this._workspace.setZoom(zoom);
|
this._workspace.setZoom(zoom);
|
||||||
},
|
},
|
||||||
|
|
||||||
zoomOut : function(factor) {
|
zoomOut:function (factor) {
|
||||||
if (!factor)
|
if (!factor)
|
||||||
factor = 1.2;
|
factor = 1.2;
|
||||||
|
|
||||||
@ -324,12 +326,12 @@ mindplot.Designer = new Class({
|
|||||||
this._workspace.setZoom(scale);
|
this._workspace.setZoom(scale);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$notify('No more zoom can be applied');
|
$notify($msg('ZOOM_ERROR'));
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
zoomIn : function(factor) {
|
zoomIn:function (factor) {
|
||||||
if (!factor)
|
if (!factor)
|
||||||
factor = 1.2;
|
factor = 1.2;
|
||||||
|
|
||||||
@ -341,26 +343,26 @@ mindplot.Designer = new Class({
|
|||||||
this._workspace.setZoom(scale);
|
this._workspace.setZoom(scale);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$notify('No more zoom can be applied');
|
$notify($msg('ZOOM_ERROR'));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
getModel : function() {
|
getModel:function () {
|
||||||
return this._model;
|
return this._model;
|
||||||
},
|
},
|
||||||
|
|
||||||
createChildForSelectedNode : function() {
|
createChildForSelectedNode:function () {
|
||||||
var nodes = this.getModel().filterSelectedTopics();
|
var nodes = this.getModel().filterSelectedTopics();
|
||||||
if (nodes.length <= 0) {
|
if (nodes.length <= 0) {
|
||||||
// If there are more than one node selected,
|
// If there are more than one node selected,
|
||||||
$notify('Could not create a topic. Only one node must be selected.');
|
$notify($msg('ONE_TOPIC_MUST_BE_SELECTED'));
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (nodes.length != 1) {
|
if (nodes.length != 1) {
|
||||||
|
|
||||||
// If there are more than one node selected,
|
// If there are more than one node selected,
|
||||||
$notify('Could not create a topic. One topic must be selected.');
|
$notify($msg('ONLY_ONE_TOPIC_MUST_BE_SELECTED'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -374,7 +376,7 @@ mindplot.Designer = new Class({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_createChildModel : function(topic, mousePos) {
|
_createChildModel:function (topic, mousePos) {
|
||||||
// Create a new node ...
|
// Create a new node ...
|
||||||
var model = topic.getModel();
|
var model = topic.getModel();
|
||||||
var mindmap = model.getMindmap();
|
var mindmap = model.getMindmap();
|
||||||
@ -391,7 +393,7 @@ mindplot.Designer = new Class({
|
|||||||
return childModel;
|
return childModel;
|
||||||
},
|
},
|
||||||
|
|
||||||
addDraggedNode: function(event, model) {
|
addDraggedNode:function (event, model) {
|
||||||
$assert(event, "event can not be null");
|
$assert(event, "event can not be null");
|
||||||
$assert(model, "model can not be null");
|
$assert(model, "model can not be null");
|
||||||
|
|
||||||
@ -405,17 +407,17 @@ mindplot.Designer = new Class({
|
|||||||
topic.fireEvent("mousedown", event);
|
topic.fireEvent("mousedown", event);
|
||||||
},
|
},
|
||||||
|
|
||||||
createSiblingForSelectedNode : function() {
|
createSiblingForSelectedNode:function () {
|
||||||
var nodes = this.getModel().filterSelectedTopics();
|
var nodes = this.getModel().filterSelectedTopics();
|
||||||
if (nodes.length <= 0) {
|
if (nodes.length <= 0) {
|
||||||
// If there are no nodes selected,
|
// If there are no nodes selected,
|
||||||
$notify('Could not create a topic. At least one node must be selected.');
|
$notify($msg('ONE_TOPIC_MUST_BE_SELECTED'));
|
||||||
return;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
if (nodes.length > 1) {
|
if (nodes.length > 1) {
|
||||||
// If there are more than one node selected,
|
// If there are more than one node selected,
|
||||||
$notify('Could not create a topic. One topic must be selected.');
|
$notify($msg('ONLY_ONE_TOPIC_MUST_BE_SELECTED'));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -435,12 +437,11 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
|
|
||||||
var parentTopicId = parentTopic.getId();
|
var parentTopicId = parentTopic.getId();
|
||||||
|
|
||||||
this._actionDispatcher.addTopic(siblingModel, parentTopicId, true);
|
this._actionDispatcher.addTopic(siblingModel, parentTopicId, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_createSiblingModel : function(topic) {
|
_createSiblingModel:function (topic) {
|
||||||
var result = null;
|
var result = null;
|
||||||
var parentTopic = topic.getOutgoingConnectedTopic();
|
var parentTopic = topic.getOutgoingConnectedTopic();
|
||||||
if (parentTopic != null) {
|
if (parentTopic != null) {
|
||||||
@ -458,7 +459,7 @@ mindplot.Designer = new Class({
|
|||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
||||||
showRelPivot : function(event) {
|
showRelPivot:function (event) {
|
||||||
// Current mouse position ....
|
// Current mouse position ....
|
||||||
var screen = this._workspace.getScreenManager();
|
var screen = this._workspace.getScreenManager();
|
||||||
var pos = screen.getWorkspaceMousePosition(event);
|
var pos = screen.getWorkspaceMousePosition(event);
|
||||||
@ -468,7 +469,7 @@ mindplot.Designer = new Class({
|
|||||||
this._relPivot.start(selectedTopic, pos);
|
this._relPivot.start(selectedTopic, pos);
|
||||||
},
|
},
|
||||||
|
|
||||||
connectByRelation : function(sourceTopic, targetTopic) {
|
connectByRelation:function (sourceTopic, targetTopic) {
|
||||||
$assert(sourceTopic, "sourceTopic can not be null");
|
$assert(sourceTopic, "sourceTopic can not be null");
|
||||||
$assert(targetTopic, "targetTopic can not be null");
|
$assert(targetTopic, "targetTopic can not be null");
|
||||||
|
|
||||||
@ -480,25 +481,25 @@ mindplot.Designer = new Class({
|
|||||||
this._actionDispatcher.connectByRelation(model);
|
this._actionDispatcher.connectByRelation(model);
|
||||||
},
|
},
|
||||||
|
|
||||||
needsSave : function() {
|
needsSave:function () {
|
||||||
//@Todo: Review all this ...
|
//@Todo: Review all this ...
|
||||||
return this._actionDispatcher._actionRunner.hasBeenChanged();
|
return this._actionDispatcher._actionRunner.hasBeenChanged();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
getMindmapProperties : function() {
|
getMindmapProperties:function () {
|
||||||
return {zoom:this.getModel().getZoom()};
|
return {zoom:this.getModel().getZoom()};
|
||||||
},
|
},
|
||||||
|
|
||||||
loadMap : function(mindmapModel) {
|
loadMap:function (mindmapModel) {
|
||||||
$assert(mindmapModel, "mindmapModel can not be null");
|
$assert(mindmapModel, "mindmapModel can not be null");
|
||||||
this._mindmap = mindmapModel;
|
this._mindmap = mindmapModel;
|
||||||
|
|
||||||
// try {
|
// try {
|
||||||
// Init layout manager ...
|
// Init layout manager ...
|
||||||
var size = {width:25,height:25};
|
var size = {width:25, height:25};
|
||||||
var layoutManager = new mindplot.layout.LayoutManager(mindmapModel.getCentralTopic().getId(), size);
|
var layoutManager = new mindplot.layout.LayoutManager(mindmapModel.getCentralTopic().getId(), size);
|
||||||
layoutManager.addEvent('change', function(event) {
|
layoutManager.addEvent('change', function (event) {
|
||||||
var id = event.getId();
|
var id = event.getId();
|
||||||
var topic = this.getModel().findTopicById(id);
|
var topic = this.getModel().findTopicById(id);
|
||||||
topic.setPosition(event.getPosition());
|
topic.setPosition(event.getPosition());
|
||||||
@ -536,27 +537,27 @@ mindplot.Designer = new Class({
|
|||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
|
|
||||||
getMindmap : function() {
|
getMindmap:function () {
|
||||||
return this._mindmap;
|
return this._mindmap;
|
||||||
},
|
},
|
||||||
|
|
||||||
undo : function() {
|
undo:function () {
|
||||||
// @Todo: This is a hack...
|
// @Todo: This is a hack...
|
||||||
this._actionDispatcher._actionRunner.undo();
|
this._actionDispatcher._actionRunner.undo();
|
||||||
},
|
},
|
||||||
|
|
||||||
redo : function() {
|
redo:function () {
|
||||||
this._actionDispatcher._actionRunner.redo();
|
this._actionDispatcher._actionRunner.redo();
|
||||||
},
|
},
|
||||||
|
|
||||||
isReadOnly : function() {
|
isReadOnly:function () {
|
||||||
return this._options.readOnly;
|
return this._options.readOnly;
|
||||||
},
|
},
|
||||||
|
|
||||||
_nodeModelToNodeGraph : function(nodeModel, isVisible) {
|
_nodeModelToNodeGraph:function (nodeModel, isVisible) {
|
||||||
$assert(nodeModel, "Node model can not be null");
|
$assert(nodeModel, "Node model can not be null");
|
||||||
var children = nodeModel.getChildren().slice();
|
var children = nodeModel.getChildren().slice();
|
||||||
children = children.sort(function(a, b) {
|
children = children.sort(function (a, b) {
|
||||||
return a.getOrder() - b.getOrder()
|
return a.getOrder() - b.getOrder()
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -576,7 +577,7 @@ mindplot.Designer = new Class({
|
|||||||
return nodeGraph;
|
return nodeGraph;
|
||||||
},
|
},
|
||||||
|
|
||||||
_relationshipModelToRelationship : function(model) {
|
_relationshipModelToRelationship:function (model) {
|
||||||
$assert(model, "Node model can not be null");
|
$assert(model, "Node model can not be null");
|
||||||
|
|
||||||
var relationship = this._buildRelationship(model);
|
var relationship = this._buildRelationship(model);
|
||||||
@ -593,12 +594,12 @@ mindplot.Designer = new Class({
|
|||||||
return relationship;
|
return relationship;
|
||||||
},
|
},
|
||||||
|
|
||||||
createRelationship : function(model) {
|
createRelationship:function (model) {
|
||||||
this._mindmap.addRelationship(model);
|
this._mindmap.addRelationship(model);
|
||||||
return this._relationshipModelToRelationship(model);
|
return this._relationshipModelToRelationship(model);
|
||||||
},
|
},
|
||||||
|
|
||||||
removeRelationship : function(model) {
|
removeRelationship:function (model) {
|
||||||
this._mindmap.removeRelationship(model);
|
this._mindmap.removeRelationship(model);
|
||||||
var relationship = this._relationships[model.getId()];
|
var relationship = this._relationships[model.getId()];
|
||||||
var sourceTopic = relationship.getSourceTopic();
|
var sourceTopic = relationship.getSourceTopic();
|
||||||
@ -609,7 +610,7 @@ mindplot.Designer = new Class({
|
|||||||
delete this._relationships[model.getId()];
|
delete this._relationships[model.getId()];
|
||||||
},
|
},
|
||||||
|
|
||||||
_buildRelationship : function (model) {
|
_buildRelationship:function (model) {
|
||||||
var elem = this;
|
var elem = this;
|
||||||
|
|
||||||
var fromNodeId = model.getFromNode();
|
var fromNodeId = model.getFromNode();
|
||||||
@ -651,7 +652,7 @@ mindplot.Designer = new Class({
|
|||||||
relationLine.setModel(model);
|
relationLine.setModel(model);
|
||||||
|
|
||||||
//Add Listeners
|
//Add Listeners
|
||||||
relationLine.addEvent('onfocus', function(event) {
|
relationLine.addEvent('onfocus', function (event) {
|
||||||
elem.onObjectFocusEvent(relationLine, event);
|
elem.onObjectFocusEvent(relationLine, event);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -661,7 +662,7 @@ mindplot.Designer = new Class({
|
|||||||
return relationLine;
|
return relationLine;
|
||||||
},
|
},
|
||||||
|
|
||||||
_removeNode : function(node) {
|
_removeNode:function (node) {
|
||||||
if (node.getTopicType() != mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) {
|
if (node.getTopicType() != mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) {
|
||||||
var parent = node._parent;
|
var parent = node._parent;
|
||||||
node.disconnect(this._workspace);
|
node.disconnect(this._workspace);
|
||||||
@ -684,9 +685,9 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
deleteCurrentNode : function() {
|
deleteCurrentNode:function () {
|
||||||
|
|
||||||
var validateFunc = function(object) {
|
var validateFunc = function (object) {
|
||||||
return object.getType() == mindplot.RelationshipLine.type || object.getTopicType() != mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE
|
return object.getType() == mindplot.RelationshipLine.type || object.getTopicType() != mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE
|
||||||
};
|
};
|
||||||
var validateError = 'Central topic can not be deleted.';
|
var validateError = 'Central topic can not be deleted.';
|
||||||
@ -701,7 +702,7 @@ mindplot.Designer = new Class({
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
changeFontFamily : function(font) {
|
changeFontFamily:function (font) {
|
||||||
var topicsIds = this.getModel().filterTopicsIds();
|
var topicsIds = this.getModel().filterTopicsIds();
|
||||||
if (topicsIds.length > 0) {
|
if (topicsIds.length > 0) {
|
||||||
this._actionDispatcher.changeFontFamilyToTopic(topicsIds, font);
|
this._actionDispatcher.changeFontFamilyToTopic(topicsIds, font);
|
||||||
@ -709,14 +710,14 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
changeFontStyle : function() {
|
changeFontStyle:function () {
|
||||||
var topicsIds = this.getModel().filterTopicsIds();
|
var topicsIds = this.getModel().filterTopicsIds();
|
||||||
if (topicsIds.length > 0) {
|
if (topicsIds.length > 0) {
|
||||||
this._actionDispatcher.changeFontStyleToTopic(topicsIds);
|
this._actionDispatcher.changeFontStyleToTopic(topicsIds);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
changeFontColor : function(color) {
|
changeFontColor:function (color) {
|
||||||
$assert(color, "color can not be null");
|
$assert(color, "color can not be null");
|
||||||
|
|
||||||
var topicsIds = this.getModel().filterTopicsIds();
|
var topicsIds = this.getModel().filterTopicsIds();
|
||||||
@ -725,9 +726,9 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
changeBackgroundColor : function(color) {
|
changeBackgroundColor:function (color) {
|
||||||
|
|
||||||
var validateFunc = function(topic) {
|
var validateFunc = function (topic) {
|
||||||
return topic.getShapeType() != mindplot.model.TopicShape.LINE;
|
return topic.getShapeType() != mindplot.model.TopicShape.LINE;
|
||||||
};
|
};
|
||||||
var validateError = 'Color can not be set to line topics.';
|
var validateError = 'Color can not be set to line topics.';
|
||||||
@ -738,8 +739,8 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
changeBorderColor : function(color) {
|
changeBorderColor:function (color) {
|
||||||
var validateFunc = function(topic) {
|
var validateFunc = function (topic) {
|
||||||
return topic.getShapeType() != mindplot.model.TopicShape.LINE;
|
return topic.getShapeType() != mindplot.model.TopicShape.LINE;
|
||||||
};
|
};
|
||||||
var validateError = 'Color can not be set to line topics.';
|
var validateError = 'Color can not be set to line topics.';
|
||||||
@ -749,15 +750,15 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
changeFontSize : function(size) {
|
changeFontSize:function (size) {
|
||||||
var topicsIds = this.getModel().filterTopicsIds();
|
var topicsIds = this.getModel().filterTopicsIds();
|
||||||
if (topicsIds.length > 0) {
|
if (topicsIds.length > 0) {
|
||||||
this._actionDispatcher.changeFontSizeToTopic(topicsIds, size);
|
this._actionDispatcher.changeFontSizeToTopic(topicsIds, size);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
changeTopicShape : function(shape) {
|
changeTopicShape:function (shape) {
|
||||||
var validateFunc = function(topic) {
|
var validateFunc = function (topic) {
|
||||||
return !(topic.getType() == mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE && shape == mindplot.model.TopicShape.LINE)
|
return !(topic.getType() == mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE && shape == mindplot.model.TopicShape.LINE)
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -768,38 +769,38 @@ mindplot.Designer = new Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
changeFontWeight : function() {
|
changeFontWeight:function () {
|
||||||
var topicsIds = this.getModel().filterTopicsIds();
|
var topicsIds = this.getModel().filterTopicsIds();
|
||||||
if (topicsIds.length > 0) {
|
if (topicsIds.length > 0) {
|
||||||
this._actionDispatcher.changeFontWeightToTopic(topicsIds);
|
this._actionDispatcher.changeFontWeightToTopic(topicsIds);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
addIconType : function(iconType) {
|
addIconType:function (iconType) {
|
||||||
var topicsIds = this.getModel().filterTopicsIds();
|
var topicsIds = this.getModel().filterTopicsIds();
|
||||||
if (topicsIds.length > 0) {
|
if (topicsIds.length > 0) {
|
||||||
this._actionDispatcher.addFeatureToTopic(topicsIds[0], mindplot.TopicFeature.Icon.id, {id:iconType});
|
this._actionDispatcher.addFeatureToTopic(topicsIds[0], mindplot.TopicFeature.Icon.id, {id:iconType});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
addLink : function() {
|
addLink:function () {
|
||||||
var model = this.getModel();
|
var model = this.getModel();
|
||||||
var topic = model.selectedTopic();
|
var topic = model.selectedTopic();
|
||||||
topic.showLinkEditor();
|
topic.showLinkEditor();
|
||||||
},
|
},
|
||||||
|
|
||||||
addNote : function() {
|
addNote:function () {
|
||||||
var model = this.getModel();
|
var model = this.getModel();
|
||||||
var topic = model.selectedTopic();
|
var topic = model.selectedTopic();
|
||||||
topic.showNoteEditor();
|
topic.showNoteEditor();
|
||||||
},
|
},
|
||||||
|
|
||||||
goToNode : function(node) {
|
goToNode:function (node) {
|
||||||
node.setOnFocus(true);
|
node.setOnFocus(true);
|
||||||
this.onObjectFocusEvent(node);
|
this.onObjectFocusEvent(node);
|
||||||
},
|
},
|
||||||
|
|
||||||
getWorkSpace : function() {
|
getWorkSpace:function () {
|
||||||
return this._workspace;
|
return this._workspace;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -193,12 +193,12 @@ mindplot.MainTopic = new Class({
|
|||||||
var result = "";
|
var result = "";
|
||||||
if ($defined(targetTopic)) {
|
if ($defined(targetTopic)) {
|
||||||
if (targetTopic.getType() == mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) {
|
if (targetTopic.getType() == mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) {
|
||||||
result = "Main Topic";
|
result = $msg('MAIN_TOPIC');
|
||||||
} else {
|
} else {
|
||||||
result = "Sub Topic";
|
result = $msg('SUB_TOPIC');
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
result = "Isolated Topic";
|
result = $msg('ISOLATED_TOPIC');;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
129
mindplot/src/main/javascript/Messages.js
Normal file
129
mindplot/src/main/javascript/Messages.js
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
/*
|
||||||
|
* Copyright [2011] [wisemapping]
|
||||||
|
*
|
||||||
|
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||||
|
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||||
|
* "powered by wisemapping" text requirement on every single page;
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the license at
|
||||||
|
*
|
||||||
|
* http://www.wisemapping.org/license
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
mindplot.Messages = new Class({
|
||||||
|
Static:{
|
||||||
|
init:function (location) {
|
||||||
|
var locale = $defined(location) ? location : 'en';
|
||||||
|
mindplot.Messages.__bundle = mindplot.Messages.BUNDLES[locale];
|
||||||
|
console.log(mindplot.Messages.__bundle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$msg = function (key) {
|
||||||
|
if (!mindplot.Messages.__bundle) {
|
||||||
|
mindplot.Messages.init('en');
|
||||||
|
}
|
||||||
|
return mindplot.Messages.__bundle[key];
|
||||||
|
};
|
||||||
|
|
||||||
|
mindplot.Messages.BUNDLES = {
|
||||||
|
'en':{
|
||||||
|
|
||||||
|
ZOOM_IN:'Zoom In',
|
||||||
|
ZOOM_OUT:'Zoom Out',
|
||||||
|
TOPIC_SHAPE:'Topic Shape',
|
||||||
|
TOPIC_ADD:'Add Topic',
|
||||||
|
TOPIC_DELETE:'Delete Topic',
|
||||||
|
TOPIC_ICON:'Add Icon',
|
||||||
|
TOPIC_LINK:'Add Link',
|
||||||
|
TOPIC_RELATIONSHIP:'Relationship',
|
||||||
|
TOPIC_COLOR:'Topic Color',
|
||||||
|
TOPIC_BORDER_COLOR:'Topic Border Color',
|
||||||
|
TOPIC_NOTE:'Add Note',
|
||||||
|
FONT_FAMILY:'Font Type',
|
||||||
|
FONT_SIZE:'Text Size',
|
||||||
|
FONT_BOLD:'Text Bold',
|
||||||
|
FONT_ITALIC:'Text Italic',
|
||||||
|
UNDO_EDITION:'Undo Edition',
|
||||||
|
REDO_EDITION:'Redo Edition',
|
||||||
|
UNDO:'Undo',
|
||||||
|
REDO:'Redo',
|
||||||
|
INSERT:'Insert',
|
||||||
|
SAVE:'Save',
|
||||||
|
NOTE:'Note',
|
||||||
|
ADD_TOPIC:'Add Topic',
|
||||||
|
LOADING:'Loading ...',
|
||||||
|
EXPORT:'Export',
|
||||||
|
PRINT:'Print',
|
||||||
|
PUBLISH:'Publish',
|
||||||
|
COLLABORATE:'Share',
|
||||||
|
HISTORY:'History',
|
||||||
|
DISCARD_CHANGES:'Discard Changes',
|
||||||
|
FONT_COLOR:'Text Color',
|
||||||
|
SAVING:'Saving ...',
|
||||||
|
SAVE_COMPLETE:'Save Complete',
|
||||||
|
ZOOM_IN_ERROR:'Zoom too high.',
|
||||||
|
ZOOM_ERROR:'No more zoom can be applied.',
|
||||||
|
ONLY_ONE_TOPIC_MUST_BE_SELECTED:'Could not create a topic. Only one node must be selected.',
|
||||||
|
ONE_TOPIC_MUST_BE_SELECTED:'Could not create a topic. One topic must be selected.',
|
||||||
|
SAVE_COULD_NOT_BE_COMPLETED:'Save could not be completed. Try latter.',
|
||||||
|
UNEXPECTED_ERROR_LOADING:"We're sorry, an unexpected error has occurred. Try again reloading the editor.\nIf the problem persists, contact us to support@wisemapping.com.",
|
||||||
|
MAIN_TOPIC:'Main Topic',
|
||||||
|
SUB_TOPIC:'Sub Topic',
|
||||||
|
ISOLATED_TOPIC:'Isolated Topic',
|
||||||
|
CENTRAL_TOPIC: 'Central Topic'
|
||||||
|
},
|
||||||
|
'es':{
|
||||||
|
DISCARD_CHANGES:'Descartar Cambios',
|
||||||
|
SAVE:'Guardar',
|
||||||
|
INSERT:'Insertar',
|
||||||
|
ZOOM_IN:'Acercar',
|
||||||
|
ZOOM_OUT:'Alejar',
|
||||||
|
TOPIC_BORDER_COLOR:'Color del Borde',
|
||||||
|
TOPIC_SHAPE:'Forma del Tópico',
|
||||||
|
TOPIC_ADD:'Agregar Tópico',
|
||||||
|
TOPIC_DELETE:'Borrar Tópico',
|
||||||
|
TOPIC_ICON:'Agregar Icono',
|
||||||
|
TOPIC_LINK:'Agregar Enlace',
|
||||||
|
TOPIC_NOTE:'Agregar Nota',
|
||||||
|
TOPIC_COLOR:'Color Tópico',
|
||||||
|
TOPIC_RELATIONSHIP:'Relación',
|
||||||
|
FONT_FAMILY:'Tipo de Fuente',
|
||||||
|
FONT_SIZE:'Tamaño de Texto',
|
||||||
|
FONT_BOLD:'Negrita',
|
||||||
|
FONT_ITALIC:'Italica',
|
||||||
|
FONT_COLOR:'Color de Texto',
|
||||||
|
UNDO_EDITION:'Undo Edition',
|
||||||
|
REDO_EDITION:'Redo Edition',
|
||||||
|
UNDO:'Rehacer',
|
||||||
|
NOTE:'Nota',
|
||||||
|
LOADING:'Cargando ...',
|
||||||
|
PRINT:'Imprimir',
|
||||||
|
PUBLISH:'Publicar',
|
||||||
|
REDO:'Deshacer',
|
||||||
|
ADD_TOPIC:'Agregar Tópico',
|
||||||
|
COLLABORATE:'Compartir',
|
||||||
|
EXPORT:'Exportar',
|
||||||
|
HISTORY:'History',
|
||||||
|
SAVE_COMPLETE:'Grabado Completo',
|
||||||
|
SAVING:'Grabando ...',
|
||||||
|
ONE_TOPIC_MUST_BE_SELECTED:'No ha sido posible crear un nuevo tópico. Al menos un tópico debe ser seleccionado.',
|
||||||
|
ONLY_ONE_TOPIC_MUST_BE_SELECTED:'No ha sido posible crear un nuevo tópico. Solo un tópico debe ser seleccionado.',
|
||||||
|
SAVE_COULD_NOT_BE_COMPLETED:'Grabación no pudo ser completada. Intentelo mas tarde.',
|
||||||
|
UNEXPECTED_ERROR_LOADING:"Lo sentimos, un error inesperado ha ocurrido. Intentelo nuevamente recargando el editor.\n Si el problema persiste, contactenos a support@wisemapping.com.",
|
||||||
|
ZOOM_ERROR:'No es posible aplicar mas zoom.',
|
||||||
|
ZOOM_IN_ERROR:'El zoom es muy alto.',
|
||||||
|
MAIN_TOPIC:'Tópico Principal',
|
||||||
|
SUB_TOPIC:'Tópico Secundario',
|
||||||
|
ISOLATED_TOPIC:'Tópico Aislado',
|
||||||
|
CENTRAL_TOPIC: 'Tópico Central'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
mindplot.widget.IMenu = new Class({
|
mindplot.widget.IMenu = new Class({
|
||||||
|
|
||||||
initialize : function(designer, containerId, mapId) {
|
initialize:function (designer, containerId, mapId) {
|
||||||
$assert(designer, "designer can not be null");
|
$assert(designer, "designer can not be null");
|
||||||
$assert(containerId, "containerId can not be null");
|
$assert(containerId, "containerId can not be null");
|
||||||
|
|
||||||
@ -28,13 +28,13 @@ mindplot.widget.IMenu = new Class({
|
|||||||
this._mapId = mapId;
|
this._mapId = mapId;
|
||||||
},
|
},
|
||||||
|
|
||||||
clear : function() {
|
clear:function () {
|
||||||
this._toolbarElems.forEach(function(item) {
|
this._toolbarElems.forEach(function (item) {
|
||||||
item.hide();
|
item.hide();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
discard: function() {
|
discard:function () {
|
||||||
var persistenceManager = mindplot.PersistenceManager.getInstance();
|
var persistenceManager = mindplot.PersistenceManager.getInstance();
|
||||||
var mindmap = designer.getMindmap();
|
var mindmap = designer.getMindmap();
|
||||||
persistenceManager.discard(mindmap.getId());
|
persistenceManager.discard(mindmap.getId());
|
||||||
@ -47,7 +47,7 @@ mindplot.widget.IMenu = new Class({
|
|||||||
|
|
||||||
// Display save message ..
|
// Display save message ..
|
||||||
if (saveHistory) {
|
if (saveHistory) {
|
||||||
$notify("Saving ...");
|
$notify($msg('SAVING'));
|
||||||
saveElem.setStyle('cursor', 'wait');
|
saveElem.setStyle('cursor', 'wait');
|
||||||
} else {
|
} else {
|
||||||
console.log("Saving without history ...");
|
console.log("Saving without history ...");
|
||||||
@ -56,16 +56,16 @@ mindplot.widget.IMenu = new Class({
|
|||||||
// Call persistence manager for saving ...
|
// Call persistence manager for saving ...
|
||||||
var persistenceManager = mindplot.PersistenceManager.getInstance();
|
var persistenceManager = mindplot.PersistenceManager.getInstance();
|
||||||
persistenceManager.save(mindmap, mindmapProp, saveHistory, {
|
persistenceManager.save(mindmap, mindmapProp, saveHistory, {
|
||||||
onSuccess: function() {
|
onSuccess:function () {
|
||||||
if (saveHistory) {
|
if (saveHistory) {
|
||||||
saveElem.setStyle('cursor', 'pointer');
|
saveElem.setStyle('cursor', 'pointer');
|
||||||
$notify("Save complete");
|
$notify($msg('SAVE_COMPLETE'));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onError: function() {
|
onError:function () {
|
||||||
if (saveHistory) {
|
if (saveHistory) {
|
||||||
saveElem.setStyle('cursor', 'pointer');
|
saveElem.setStyle('cursor', 'pointer');
|
||||||
$notify("Save could not be completed. Try latter.");
|
$notify($msg('SAVE_COULD_NOT_BE_COMPLETED'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -17,21 +17,21 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
mindplot.widget.Menu = new Class({
|
mindplot.widget.Menu = new Class({
|
||||||
Extends: mindplot.widget.IMenu,
|
Extends:mindplot.widget.IMenu,
|
||||||
|
|
||||||
initialize : function(designer, containerId, mapId, readOnly, baseUrl) {
|
initialize:function (designer, containerId, mapId, readOnly, baseUrl) {
|
||||||
this.parent(designer, containerId, mapId);
|
this.parent(designer, containerId, mapId);
|
||||||
|
|
||||||
baseUrl = !$defined(baseUrl) ? "" : baseUrl;
|
baseUrl = !$defined(baseUrl) ? "" : baseUrl;
|
||||||
var widgetsBaseUrl = baseUrl + "css/widget";
|
var widgetsBaseUrl = baseUrl + "css/widget";
|
||||||
|
|
||||||
// Stop event propagation ...
|
// Stop event propagation ...
|
||||||
$(this._containerId).addEvent('click', function(event) {
|
$(this._containerId).addEvent('click', function (event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
$(this._containerId).addEvent('dblclick', function(event) {
|
$(this._containerId).addEvent('dblclick', function (event) {
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
@ -42,7 +42,7 @@ mindplot.widget.Menu = new Class({
|
|||||||
var fontFamilyBtn = $('fontFamily');
|
var fontFamilyBtn = $('fontFamily');
|
||||||
if (fontFamilyBtn) {
|
if (fontFamilyBtn) {
|
||||||
var fontFamilyModel = {
|
var fontFamilyModel = {
|
||||||
getValue: function() {
|
getValue:function () {
|
||||||
var nodes = designerModel.filterSelectedTopics();
|
var nodes = designerModel.filterSelectedTopics();
|
||||||
var result = null;
|
var result = null;
|
||||||
for (var i = 0; i < nodes.length; i++) {
|
for (var i = 0; i < nodes.length; i++) {
|
||||||
@ -56,19 +56,19 @@ mindplot.widget.Menu = new Class({
|
|||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
||||||
setValue: function(value) {
|
setValue:function (value) {
|
||||||
designer.changeFontFamily(value);
|
designer.changeFontFamily(value);
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this._toolbarElems.push(new mindplot.widget.FontFamilyPanel("fontFamily", fontFamilyModel));
|
this._toolbarElems.push(new mindplot.widget.FontFamilyPanel("fontFamily", fontFamilyModel));
|
||||||
this._registerTooltip('fontFamily', "Text font");
|
this._registerTooltip('fontFamily', $msg('FONT_FAMILY'));
|
||||||
}
|
}
|
||||||
|
|
||||||
var fontSizeBtn = $('fontSize');
|
var fontSizeBtn = $('fontSize');
|
||||||
if (fontSizeBtn) {
|
if (fontSizeBtn) {
|
||||||
var fontSizeModel = {
|
var fontSizeModel = {
|
||||||
getValue: function() {
|
getValue:function () {
|
||||||
var nodes = designerModel.filterSelectedTopics();
|
var nodes = designerModel.filterSelectedTopics();
|
||||||
var result = null;
|
var result = null;
|
||||||
for (var i = 0; i < nodes.length; i++) {
|
for (var i = 0; i < nodes.length; i++) {
|
||||||
@ -81,18 +81,18 @@ mindplot.widget.Menu = new Class({
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
setValue: function(value) {
|
setValue:function (value) {
|
||||||
designer.changeFontSize(value);
|
designer.changeFontSize(value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this._toolbarElems.push(new mindplot.widget.FontSizePanel("fontSize", fontSizeModel));
|
this._toolbarElems.push(new mindplot.widget.FontSizePanel("fontSize", fontSizeModel));
|
||||||
this._registerTooltip('fontSize', "Text size");
|
this._registerTooltip('fontSize', $msg('FONT_SIZE'));
|
||||||
}
|
}
|
||||||
|
|
||||||
var topicShapeBtn = $('topicShape');
|
var topicShapeBtn = $('topicShape');
|
||||||
if (topicShapeBtn) {
|
if (topicShapeBtn) {
|
||||||
var topicShapeModel = {
|
var topicShapeModel = {
|
||||||
getValue: function() {
|
getValue:function () {
|
||||||
var nodes = designerModel.filterSelectedTopics();
|
var nodes = designerModel.filterSelectedTopics();
|
||||||
var result = null;
|
var result = null;
|
||||||
for (var i = 0; i < nodes.length; i++) {
|
for (var i = 0; i < nodes.length; i++) {
|
||||||
@ -105,27 +105,27 @@ mindplot.widget.Menu = new Class({
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
setValue: function(value) {
|
setValue:function (value) {
|
||||||
designer.changeTopicShape(value);
|
designer.changeTopicShape(value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this._toolbarElems.push(new mindplot.widget.TopicShapePanel("topicShape", topicShapeModel));
|
this._toolbarElems.push(new mindplot.widget.TopicShapePanel("topicShape", topicShapeModel));
|
||||||
this._registerTooltip('topicShape', "Topic shape");
|
this._registerTooltip('topicShape', $msg('TOPIC_SHAPE'));
|
||||||
}
|
}
|
||||||
|
|
||||||
var topicIconBtn = $('topicIcon');
|
var topicIconBtn = $('topicIcon');
|
||||||
if (topicIconBtn) {
|
if (topicIconBtn) {
|
||||||
// Create icon panel dialog ...
|
// Create icon panel dialog ...
|
||||||
var topicIconModel = {
|
var topicIconModel = {
|
||||||
getValue: function() {
|
getValue:function () {
|
||||||
return null;
|
return null;
|
||||||
},
|
},
|
||||||
setValue: function(value) {
|
setValue:function (value) {
|
||||||
designer.addIconType(value);
|
designer.addIconType(value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this._toolbarElems.push(new mindplot.widget.IconPanel('topicIcon', topicIconModel));
|
this._toolbarElems.push(new mindplot.widget.IconPanel('topicIcon', topicIconModel));
|
||||||
this._registerTooltip('topicIcon', "Icon");
|
this._registerTooltip('topicIcon', $msg('TOPIC_ICON'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Topic color item ...
|
// Topic color item ...
|
||||||
@ -133,7 +133,7 @@ mindplot.widget.Menu = new Class({
|
|||||||
if (topicColorBtn) {
|
if (topicColorBtn) {
|
||||||
|
|
||||||
var topicColorModel = {
|
var topicColorModel = {
|
||||||
getValue : function() {
|
getValue:function () {
|
||||||
var nodes = designerModel.filterSelectedTopics();
|
var nodes = designerModel.filterSelectedTopics();
|
||||||
var result = null;
|
var result = null;
|
||||||
for (var i = 0; i < nodes.length; i++) {
|
for (var i = 0; i < nodes.length; i++) {
|
||||||
@ -146,12 +146,12 @@ mindplot.widget.Menu = new Class({
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
setValue : function (hex) {
|
setValue:function (hex) {
|
||||||
designer.changeBackgroundColor(hex);
|
designer.changeBackgroundColor(hex);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this._toolbarElems.push(new mindplot.widget.ColorPalettePanel('topicColor', topicColorModel, widgetsBaseUrl));
|
this._toolbarElems.push(new mindplot.widget.ColorPalettePanel('topicColor', topicColorModel, widgetsBaseUrl));
|
||||||
this._registerTooltip('topicColor', "Topic color");
|
this._registerTooltip('topicColor', $msg('TOPIC_COLOR'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Border color item ...
|
// Border color item ...
|
||||||
@ -159,7 +159,7 @@ mindplot.widget.Menu = new Class({
|
|||||||
if (topicBorderBtn) {
|
if (topicBorderBtn) {
|
||||||
var borderColorModel =
|
var borderColorModel =
|
||||||
{
|
{
|
||||||
getValue : function() {
|
getValue:function () {
|
||||||
var nodes = designerModel.filterSelectedTopics();
|
var nodes = designerModel.filterSelectedTopics();
|
||||||
var result = null;
|
var result = null;
|
||||||
for (var i = 0; i < nodes.length; i++) {
|
for (var i = 0; i < nodes.length; i++) {
|
||||||
@ -172,12 +172,12 @@ mindplot.widget.Menu = new Class({
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
setValue : function (hex) {
|
setValue:function (hex) {
|
||||||
designer.changeBorderColor(hex);
|
designer.changeBorderColor(hex);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this._toolbarElems.push(new mindplot.widget.ColorPalettePanel('topicBorder', borderColorModel, widgetsBaseUrl));
|
this._toolbarElems.push(new mindplot.widget.ColorPalettePanel('topicBorder', borderColorModel, widgetsBaseUrl));
|
||||||
this._registerTooltip('topicBorder', "Border color");
|
this._registerTooltip('topicBorder', $msg('TOPIC_BORDER_COLOR'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Font color item ...
|
// Font color item ...
|
||||||
@ -185,7 +185,7 @@ mindplot.widget.Menu = new Class({
|
|||||||
if (fontColorBtn) {
|
if (fontColorBtn) {
|
||||||
var fontColorModel =
|
var fontColorModel =
|
||||||
{
|
{
|
||||||
getValue : function() {
|
getValue:function () {
|
||||||
var result = null;
|
var result = null;
|
||||||
var nodes = designerModel.filterSelectedTopics();
|
var nodes = designerModel.filterSelectedTopics();
|
||||||
for (var i = 0; i < nodes.length; i++) {
|
for (var i = 0; i < nodes.length; i++) {
|
||||||
@ -198,107 +198,107 @@ mindplot.widget.Menu = new Class({
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
setValue : function (hex) {
|
setValue:function (hex) {
|
||||||
designer.changeFontColor(hex);
|
designer.changeFontColor(hex);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this._toolbarElems.push(new mindplot.widget.ColorPalettePanel('fontColor', fontColorModel, baseUrl));
|
this._toolbarElems.push(new mindplot.widget.ColorPalettePanel('fontColor', fontColorModel, baseUrl));
|
||||||
this._registerTooltip('fontColor', "Text color");
|
this._registerTooltip('fontColor', $msg('FONT_COLOR'));
|
||||||
}
|
}
|
||||||
|
|
||||||
this._addButton('export', false, false, function() {
|
this._addButton('export', false, false, function () {
|
||||||
var reqDialog = new MooDialog.Request('/c/iframeWrapper.htm?url=c/maps/' + mapId + "/exportf", null,
|
var reqDialog = new MooDialog.Request('/c/iframeWrapper.htm?url=c/maps/' + mapId + "/exportf", null,
|
||||||
{'class': 'modalDialog exportModalDialog',
|
{'class':'modalDialog exportModalDialog',
|
||||||
closeButton:true,
|
closeButton:true,
|
||||||
destroyOnClose:true,
|
destroyOnClose:true,
|
||||||
title:'Export'
|
title:$msg('EXPORT')
|
||||||
});
|
});
|
||||||
reqDialog.setRequestOptions({
|
reqDialog.setRequestOptions({
|
||||||
onRequest: function() {
|
onRequest:function () {
|
||||||
reqDialog.setContent('loading...');
|
reqDialog.setContent($msg('LOADING'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MooDialog.Request.active = reqDialog;
|
MooDialog.Request.active = reqDialog;
|
||||||
});
|
});
|
||||||
this._registerTooltip('export', "Export");
|
this._registerTooltip('export', $msg('EXPORT'));
|
||||||
|
|
||||||
this._addButton('print', false, false, function() {
|
this._addButton('print', false, false, function () {
|
||||||
window.open('/c/maps/' + mapId + '/print');
|
window.open('/c/maps/' + mapId + '/print');
|
||||||
});
|
});
|
||||||
|
|
||||||
this._registerTooltip('print', "Print");
|
this._registerTooltip('print', $msg('PRINT'));
|
||||||
|
|
||||||
this._addButton('zoomIn', false, false, function() {
|
this._addButton('zoomIn', false, false, function () {
|
||||||
designer.zoomIn();
|
designer.zoomIn();
|
||||||
});
|
});
|
||||||
this._registerTooltip('zoomIn', "Zoom in");
|
this._registerTooltip('zoomIn', $msg('ZOOM_IN'));
|
||||||
|
|
||||||
this._addButton('zoomOut', false, false, function() {
|
this._addButton('zoomOut', false, false, function () {
|
||||||
designer.zoomOut();
|
designer.zoomOut();
|
||||||
});
|
});
|
||||||
this._registerTooltip('zoomOut', "Zoom out");
|
this._registerTooltip('zoomOut', $msg('ZOOM_OUT'));
|
||||||
|
|
||||||
|
|
||||||
this._addButton('undoEdition', false, false, function() {
|
this._addButton('undoEdition', false, false, function () {
|
||||||
designer.undo();
|
designer.undo();
|
||||||
});
|
});
|
||||||
this._registerTooltip('undoEdition', "Undo", "meta+Z");
|
this._registerTooltip('undoEdition', $msg('UNDO'), "meta+Z");
|
||||||
|
|
||||||
|
|
||||||
this._addButton('redoEdition', false, false, function() {
|
this._addButton('redoEdition', false, false, function () {
|
||||||
designer.redo();
|
designer.redo();
|
||||||
});
|
});
|
||||||
this._registerTooltip('redoEdition', "Redo", "meta+Y");
|
this._registerTooltip('redoEdition', $msg('REDO'), "meta+Y");
|
||||||
|
|
||||||
|
|
||||||
this._addButton('addTopic', true, false, function() {
|
this._addButton('addTopic', true, false, function () {
|
||||||
designer.createChildForSelectedNode();
|
designer.createChildForSelectedNode();
|
||||||
});
|
});
|
||||||
this._registerTooltip('addTopic', "Add topic", "Enter");
|
this._registerTooltip('addTopic', $msg('ADD_TOPIC'), "Enter");
|
||||||
|
|
||||||
|
|
||||||
this._addButton('deleteTopic', true, true, function() {
|
this._addButton('deleteTopic', true, true, function () {
|
||||||
designer.deleteCurrentNode();
|
designer.deleteCurrentNode();
|
||||||
});
|
});
|
||||||
this._registerTooltip('deleteTopic', "Delete topic", "Backspace");
|
this._registerTooltip('deleteTopic', $msg('TOPIC_DELETE'), "Backspace");
|
||||||
|
|
||||||
|
|
||||||
this._addButton('topicLink', true, false, function() {
|
this._addButton('topicLink', true, false, function () {
|
||||||
designer.addLink();
|
designer.addLink();
|
||||||
});
|
});
|
||||||
this._registerTooltip('topicLink', "Add link");
|
this._registerTooltip('topicLink', $msg('TOPIC_LINK'));
|
||||||
|
|
||||||
|
|
||||||
this._addButton('topicRelation', true, false, function(event) {
|
this._addButton('topicRelation', true, false, function (event) {
|
||||||
designer.showRelPivot(event);
|
designer.showRelPivot(event);
|
||||||
});
|
});
|
||||||
this._registerTooltip('topicRelation', "Relationship");
|
this._registerTooltip('topicRelation', $msg('TOPIC_RELATIONSHIP'));
|
||||||
|
|
||||||
|
|
||||||
this._addButton('topicNote', true, false, function() {
|
this._addButton('topicNote', true, false, function () {
|
||||||
designer.addNote();
|
designer.addNote();
|
||||||
});
|
});
|
||||||
this._registerTooltip('topicNote', "Add note");
|
this._registerTooltip('topicNote', $msg('TOPIC_NOTE'));
|
||||||
|
|
||||||
|
|
||||||
this._addButton('fontBold', true, false, function() {
|
this._addButton('fontBold', true, false, function () {
|
||||||
designer.changeFontWeight();
|
designer.changeFontWeight();
|
||||||
});
|
});
|
||||||
this._registerTooltip('fontBold', "Text bold", "meta+B");
|
this._registerTooltip('fontBold', $msg('FONT_BOLD'), "meta+B");
|
||||||
|
|
||||||
|
|
||||||
this._addButton('fontItalic', true, false, function() {
|
this._addButton('fontItalic', true, false, function () {
|
||||||
designer.changeFontStyle();
|
designer.changeFontStyle();
|
||||||
});
|
});
|
||||||
this._registerTooltip('fontItalic', "Text italic", "meta+I");
|
this._registerTooltip('fontItalic', $msg('FONT_ITALIC'), "meta+I");
|
||||||
|
|
||||||
|
|
||||||
var saveElem = $('save');
|
var saveElem = $('save');
|
||||||
if (saveElem) {
|
if (saveElem) {
|
||||||
this._addButton('save', false, false, function() {
|
this._addButton('save', false, false, function () {
|
||||||
this.save(saveElem, designer, true);
|
this.save(saveElem, designer, true);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
this._registerTooltip('save', "Save", "meta+S");
|
this._registerTooltip('save', $msg('SAVE'), "meta+S");
|
||||||
|
|
||||||
|
|
||||||
if (!readOnly) {
|
if (!readOnly) {
|
||||||
@ -310,7 +310,7 @@ mindplot.widget.Menu = new Class({
|
|||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
// Autosave on a fixed period of time ...
|
// Autosave on a fixed period of time ...
|
||||||
(function() {
|
(function () {
|
||||||
if (designer.needsSave()) {
|
if (designer.needsSave()) {
|
||||||
this.save(saveElem, designer, false);
|
this.save(saveElem, designer, false);
|
||||||
}
|
}
|
||||||
@ -320,25 +320,25 @@ mindplot.widget.Menu = new Class({
|
|||||||
|
|
||||||
var discardElem = $('discard');
|
var discardElem = $('discard');
|
||||||
if (discardElem) {
|
if (discardElem) {
|
||||||
this._addButton('discard', false, false, function() {
|
this._addButton('discard', false, false, function () {
|
||||||
this.discard();
|
this.discard();
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
this._registerTooltip('discard', "Discard");
|
this._registerTooltip('discard', $msg('DISCARD_CHANGES'));
|
||||||
}
|
}
|
||||||
|
|
||||||
var tagElem = $('tagIt');
|
var tagElem = $('tagIt');
|
||||||
if (tagElem) {
|
if (tagElem) {
|
||||||
this._addButton('tagIt', false, false, function() {
|
this._addButton('tagIt', false, false, function () {
|
||||||
var reqDialog = new MooDialog.Request('c/tags?mapId=' + mapId, null,
|
var reqDialog = new MooDialog.Request('c/tags?mapId=' + mapId, null,
|
||||||
{'class': 'modalDialog tagItModalDialog',
|
{'class':'modalDialog tagItModalDialog',
|
||||||
closeButton:true,
|
closeButton:true,
|
||||||
destroyOnClose:true,
|
destroyOnClose:true,
|
||||||
title:'Tags'
|
title:'Tags'
|
||||||
});
|
});
|
||||||
reqDialog.setRequestOptions({
|
reqDialog.setRequestOptions({
|
||||||
onRequest: function() {
|
onRequest:function () {
|
||||||
reqDialog.setContent('loading...');
|
reqDialog.setContent($msg('LOADING'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -347,80 +347,80 @@ mindplot.widget.Menu = new Class({
|
|||||||
|
|
||||||
var shareElem = $('shareIt');
|
var shareElem = $('shareIt');
|
||||||
if (shareElem) {
|
if (shareElem) {
|
||||||
this._addButton('shareIt', false, false, function() {
|
this._addButton('shareIt', false, false, function () {
|
||||||
var reqDialog = new MooDialog.Request('/c/iframeWrapper?url=c/maps/' + mapId + "/sharef", null,
|
var reqDialog = new MooDialog.Request('/c/iframeWrapper?url=c/maps/' + mapId + "/sharef", null,
|
||||||
{'class': 'modalDialog shareModalDialog',
|
{'class':'modalDialog shareModalDialog',
|
||||||
closeButton:true,
|
closeButton:true,
|
||||||
destroyOnClose:true,
|
destroyOnClose:true,
|
||||||
title:'Share'
|
title:$msg('COLLABORATE')
|
||||||
});
|
});
|
||||||
reqDialog.setRequestOptions({
|
reqDialog.setRequestOptions({
|
||||||
onRequest: function() {
|
onRequest:function () {
|
||||||
reqDialog.setContent('loading...');
|
reqDialog.setContent($msg('LOADING'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MooDialog.Request.active = reqDialog;
|
MooDialog.Request.active = reqDialog;
|
||||||
});
|
});
|
||||||
this._registerTooltip('shareIt', "Share");
|
this._registerTooltip('shareIt', $msg('COLLABORATE'));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var publishElem = $('publishIt');
|
var publishElem = $('publishIt');
|
||||||
if (publishElem) {
|
if (publishElem) {
|
||||||
this._addButton('publishIt', false, false, function() {
|
this._addButton('publishIt', false, false, function () {
|
||||||
var reqDialog = new MooDialog.Request('/c/iframeWrapper?url=c/maps/' + mapId + "/publishf", null,
|
var reqDialog = new MooDialog.Request('/c/iframeWrapper?url=c/maps/' + mapId + "/publishf", null,
|
||||||
{'class': 'modalDialog publishModalDialog',
|
{'class':'modalDialog publishModalDialog',
|
||||||
closeButton:true,
|
closeButton:true,
|
||||||
destroyOnClose:true,
|
destroyOnClose:true,
|
||||||
title:'Publish'
|
title:$msg('PUBLISH')
|
||||||
});
|
});
|
||||||
reqDialog.setRequestOptions({
|
reqDialog.setRequestOptions({
|
||||||
onRequest: function() {
|
onRequest:function () {
|
||||||
reqDialog.setContent('loading...');
|
reqDialog.setContent($msg('LOADING'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
MooDialog.Request.active = reqDialog;
|
MooDialog.Request.active = reqDialog;
|
||||||
|
|
||||||
});
|
});
|
||||||
this._registerTooltip('publishIt', "Publish");
|
this._registerTooltip('publishIt', $msg('PUBLISH'));
|
||||||
}
|
}
|
||||||
|
|
||||||
var historyElem = $('history');
|
var historyElem = $('history');
|
||||||
if (historyElem) {
|
if (historyElem) {
|
||||||
|
|
||||||
this._addButton('history', false, false, function() {
|
this._addButton('history', false, false, function () {
|
||||||
var reqDialog = new MooDialog.Request('/c/iframeWrapper?url=c/maps/' + mapId + "/historyf", null,
|
var reqDialog = new MooDialog.Request('/c/iframeWrapper?url=c/maps/' + mapId + "/historyf", null,
|
||||||
{'class': 'modalDialog historyModalDialog',
|
{'class':'modalDialog historyModalDialog',
|
||||||
closeButton:true,
|
closeButton:true,
|
||||||
destroyOnClose:true,
|
destroyOnClose:true,
|
||||||
title:'History'
|
title:$msg('HISTORY')
|
||||||
});
|
});
|
||||||
reqDialog.setRequestOptions({
|
reqDialog.setRequestOptions({
|
||||||
onRequest: function() {
|
onRequest:function () {
|
||||||
reqDialog.setContent('loading...');
|
reqDialog.setContent($msg('LOADING'));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
this._registerTooltip('history', "History");
|
this._registerTooltip('history', $msg('HISTORY'));
|
||||||
}
|
}
|
||||||
|
|
||||||
this._registerEvents(designer);
|
this._registerEvents(designer);
|
||||||
},
|
},
|
||||||
|
|
||||||
_registerEvents : function(designer) {
|
_registerEvents:function (designer) {
|
||||||
|
|
||||||
// Register on close events ...
|
// Register on close events ...
|
||||||
this._toolbarElems.forEach(function(elem) {
|
this._toolbarElems.forEach(function (elem) {
|
||||||
elem.addEvent('show', function() {
|
elem.addEvent('show', function () {
|
||||||
this.clear()
|
this.clear()
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
designer.addEvent('onblur', function() {
|
designer.addEvent('onblur', function () {
|
||||||
var topics = designer.getModel().filterSelectedTopics();
|
var topics = designer.getModel().filterSelectedTopics();
|
||||||
var rels = designer.getModel().filterSelectedRelations();
|
var rels = designer.getModel().filterSelectedRelations();
|
||||||
|
|
||||||
this._toolbarElems.forEach(function(button) {
|
this._toolbarElems.forEach(function (button) {
|
||||||
var disable = false;
|
var disable = false;
|
||||||
if (button.isTopicAction() && button.isRelAction()) {
|
if (button.isTopicAction() && button.isRelAction()) {
|
||||||
disable = rels.length == 0 && topics.length == 0;
|
disable = rels.length == 0 && topics.length == 0;
|
||||||
@ -442,11 +442,11 @@ mindplot.widget.Menu = new Class({
|
|||||||
})
|
})
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
|
|
||||||
designer.addEvent('onfocus', function() {
|
designer.addEvent('onfocus', function () {
|
||||||
var topics = designer.getModel().filterSelectedTopics();
|
var topics = designer.getModel().filterSelectedTopics();
|
||||||
var rels = designer.getModel().filterSelectedRelations();
|
var rels = designer.getModel().filterSelectedRelations();
|
||||||
|
|
||||||
this._toolbarElems.forEach(function(button) {
|
this._toolbarElems.forEach(function (button) {
|
||||||
if (button.isTopicAction() && topics.length > 0) {
|
if (button.isTopicAction() && topics.length > 0) {
|
||||||
button.enable();
|
button.enable();
|
||||||
}
|
}
|
||||||
@ -462,16 +462,16 @@ mindplot.widget.Menu = new Class({
|
|||||||
// Register Events ...
|
// Register Events ...
|
||||||
if ($(buttonId)) {
|
if ($(buttonId)) {
|
||||||
|
|
||||||
var button = new mindplot.widget.ToolbarItem(buttonId, function(event) {
|
var button = new mindplot.widget.ToolbarItem(buttonId, function (event) {
|
||||||
fn(event);
|
fn(event);
|
||||||
this.clear();
|
this.clear();
|
||||||
}.bind(this), {topicAction:topic,relAction:rel});
|
}.bind(this), {topicAction:topic, relAction:rel});
|
||||||
|
|
||||||
this._toolbarElems.push(button);
|
this._toolbarElems.push(button);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_registerTooltip: function(buttonId, text, shortcut) {
|
_registerTooltip:function (buttonId, text, shortcut) {
|
||||||
if ($(buttonId)) {
|
if ($(buttonId)) {
|
||||||
var tooltip = text;
|
var tooltip = text;
|
||||||
if (shortcut) {
|
if (shortcut) {
|
||||||
|
@ -20,8 +20,7 @@
|
|||||||
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon">
|
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon">
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
var mapId = 'welcome';
|
||||||
var mapId = 'test';
|
|
||||||
$(document).addEvent('loadcomplete', function(resource) {
|
$(document).addEvent('loadcomplete', function(resource) {
|
||||||
var options = loadDesignerOptions();
|
var options = loadDesignerOptions();
|
||||||
var designer = buildDesigner(options);
|
var designer = buildDesigner(options);
|
||||||
|
@ -25,12 +25,12 @@ function buildDesigner(options) {
|
|||||||
|
|
||||||
// Register load events ...
|
// Register load events ...
|
||||||
designer = new mindplot.Designer(options, container);
|
designer = new mindplot.Designer(options, container);
|
||||||
designer.addEvent('loadSuccess', function() {
|
designer.addEvent('loadSuccess', function () {
|
||||||
window.waitDialog.close.delay(1000, window.waitDialog);
|
window.waitDialog.close.delay(1000, window.waitDialog);
|
||||||
window.waitDialog = null;
|
window.waitDialog = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
window.onerror = function(message, url, lineNo) {
|
window.onerror = function (message, url, lineNo) {
|
||||||
// Log error message ...
|
// Log error message ...
|
||||||
|
|
||||||
if (window.waitDialog) {
|
if (window.waitDialog) {
|
||||||
@ -38,16 +38,16 @@ function buildDesigner(options) {
|
|||||||
window.waitDialog = null;
|
window.waitDialog = null;
|
||||||
}
|
}
|
||||||
var req = new Request({
|
var req = new Request({
|
||||||
method: 'post',
|
method:'post',
|
||||||
url: "/service/logger/editor",
|
url:"/service/logger/editor",
|
||||||
headers: {"Content-Type":"application/json","Accept":"application/json"},
|
headers:{"Content-Type":"application/json", "Accept":"application/json"},
|
||||||
emulation:false,
|
emulation:false,
|
||||||
urlEncoded:false
|
urlEncoded:false
|
||||||
}).post(JSON.encode({
|
}).post(JSON.encode({
|
||||||
jsErrorMsg : "message: " + message + ", line:" + lineNo + ", :" + url,
|
jsErrorMsg:"message: " + message + ", line:" + lineNo + ", :" + url,
|
||||||
jsStack : window.errorStack,
|
jsStack:window.errorStack,
|
||||||
userAgent: navigator.userAgent,
|
userAgent:navigator.userAgent,
|
||||||
mapId: options.mapId}));
|
mapId:options.mapId}));
|
||||||
|
|
||||||
errorDialog.show();
|
errorDialog.show();
|
||||||
};
|
};
|
||||||
@ -72,7 +72,7 @@ function buildDesigner(options) {
|
|||||||
var menu = new mindplot.widget.Menu(designer, 'toolbar', options.mapId, "");
|
var menu = new mindplot.widget.Menu(designer, 'toolbar', options.mapId, "");
|
||||||
|
|
||||||
// If a node has focus, focus can be move to another node using the keys.
|
// If a node has focus, focus can be move to another node using the keys.
|
||||||
designer._cleanScreen = function() {
|
designer._cleanScreen = function () {
|
||||||
menu.clear()
|
menu.clear()
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -86,10 +86,9 @@ function loadDesignerOptions(jsonConf) {
|
|||||||
var result;
|
var result;
|
||||||
if (jsonConf) {
|
if (jsonConf) {
|
||||||
var request = new Request.JSON({
|
var request = new Request.JSON({
|
||||||
url: jsonConf,
|
url:jsonConf,
|
||||||
async:false,
|
async:false,
|
||||||
onSuccess:
|
onSuccess:function (options) {
|
||||||
function(options) {
|
|
||||||
this.options = options;
|
this.options = options;
|
||||||
|
|
||||||
}.bind(this)
|
}.bind(this)
|
||||||
@ -101,15 +100,15 @@ function loadDesignerOptions(jsonConf) {
|
|||||||
else {
|
else {
|
||||||
// Set workspace screen size as default. In this way, resize issues are solved.
|
// Set workspace screen size as default. In this way, resize issues are solved.
|
||||||
var containerSize = {
|
var containerSize = {
|
||||||
height: parseInt(screen.height),
|
height:parseInt(screen.height),
|
||||||
width: parseInt(screen.width)
|
width:parseInt(screen.width)
|
||||||
};
|
};
|
||||||
|
|
||||||
var viewPort = {
|
var viewPort = {
|
||||||
height: parseInt(window.innerHeight - 70), // Footer and Header
|
height:parseInt(window.innerHeight - 70), // Footer and Header
|
||||||
width: parseInt(window.innerWidth)
|
width:parseInt(window.innerWidth)
|
||||||
};
|
};
|
||||||
result = {readOnly:false,zoom:0.85,saveOnLoad:true,size:containerSize,viewPort:viewPort,container:'mindplot'};
|
result = {readOnly:false, zoom:0.85, saveOnLoad:true, size:containerSize, viewPort:viewPort, container:'mindplot', location:'en'};
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -117,7 +116,7 @@ function loadDesignerOptions(jsonConf) {
|
|||||||
editor = {};
|
editor = {};
|
||||||
editor.WaitDialog = new Class({
|
editor.WaitDialog = new Class({
|
||||||
Extends:MooDialog,
|
Extends:MooDialog,
|
||||||
initialize : function() {
|
initialize:function () {
|
||||||
var panel = this._buildPanel();
|
var panel = this._buildPanel();
|
||||||
this.parent({
|
this.parent({
|
||||||
closeButton:false,
|
closeButton:false,
|
||||||
@ -125,36 +124,36 @@ editor.WaitDialog = new Class({
|
|||||||
autoOpen:false,
|
autoOpen:false,
|
||||||
useEscKey:false,
|
useEscKey:false,
|
||||||
title:'Loading ...',
|
title:'Loading ...',
|
||||||
onInitialize: function(wrapper) {
|
onInitialize:function (wrapper) {
|
||||||
wrapper.setStyle('opacity', 0);
|
wrapper.setStyle('opacity', 0);
|
||||||
this.wrapper.setStyle('display', 'none');
|
this.wrapper.setStyle('display', 'none');
|
||||||
this.fx = new Fx.Morph(wrapper, {
|
this.fx = new Fx.Morph(wrapper, {
|
||||||
duration: 100,
|
duration:100,
|
||||||
transition: Fx.Transitions.Bounce.easeOut
|
transition:Fx.Transitions.Bounce.easeOut
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeOpen: function() {
|
onBeforeOpen:function () {
|
||||||
this.overlay = new Overlay(this.options.inject, {
|
this.overlay = new Overlay(this.options.inject, {
|
||||||
duration: this.options.duration
|
duration:this.options.duration
|
||||||
});
|
});
|
||||||
this.overlay.open();
|
this.overlay.open();
|
||||||
this.fx.start({
|
this.fx.start({
|
||||||
'margin-top': [-200, -100],
|
'margin-top':[-200, -100],
|
||||||
opacity: [0, 1]
|
opacity:[0, 1]
|
||||||
}).chain(function() {
|
}).chain(function () {
|
||||||
this.fireEvent('show');
|
this.fireEvent('show');
|
||||||
this.wrapper.setStyle('display', 'block');
|
this.wrapper.setStyle('display', 'block');
|
||||||
|
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeClose: function() {
|
onBeforeClose:function () {
|
||||||
this.fx.start({
|
this.fx.start({
|
||||||
'margin-top': [-100, 0],
|
'margin-top':[-100, 0],
|
||||||
opacity: 0,
|
opacity:0,
|
||||||
duration: 200
|
duration:200
|
||||||
}).chain(function() {
|
}).chain(function () {
|
||||||
this.fireEvent('hide');
|
this.fireEvent('hide');
|
||||||
this.wrapper.setStyle('display', 'none');
|
this.wrapper.setStyle('display', 'none');
|
||||||
|
|
||||||
@ -164,23 +163,23 @@ editor.WaitDialog = new Class({
|
|||||||
this.setContent(panel);
|
this.setContent(panel);
|
||||||
},
|
},
|
||||||
|
|
||||||
_buildPanel : function () {
|
_buildPanel:function () {
|
||||||
var result = new Element('div');
|
var result = new Element('div');
|
||||||
result.setStyles({
|
result.setStyles({
|
||||||
'text-align':'center',
|
'text-align':'center',
|
||||||
width: '400px'
|
width:'400px'
|
||||||
});
|
});
|
||||||
var img = new Element('img', {'src': 'images/ajax-loader.gif'});
|
var img = new Element('img', {'src':'images/ajax-loader.gif'});
|
||||||
img.setStyle('margin-top', '15px');
|
img.setStyle('margin-top', '15px');
|
||||||
img.inject(result);
|
img.inject(result);
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
||||||
show : function() {
|
show:function () {
|
||||||
this.open();
|
this.open();
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function() {
|
destroy:function () {
|
||||||
this.parent();
|
this.parent();
|
||||||
this.overlay.destroy();
|
this.overlay.destroy();
|
||||||
}
|
}
|
||||||
@ -190,75 +189,76 @@ editor.WaitDialog = new Class({
|
|||||||
|
|
||||||
editor.FatalErrorDialog = new Class({
|
editor.FatalErrorDialog = new Class({
|
||||||
Extends:MooDialog,
|
Extends:MooDialog,
|
||||||
initialize : function() {
|
initialize:function () {
|
||||||
var panel = this._buildPanel();
|
|
||||||
this.parent({
|
this.parent({
|
||||||
closeButton:false,
|
closeButton:false,
|
||||||
destroyOnClose:true,
|
destroyOnClose:true,
|
||||||
autoOpen:true,
|
autoOpen:true,
|
||||||
useEscKey:false,
|
useEscKey:false,
|
||||||
title:'Outch!!. An unexpected error has occurred',
|
title:'Outch!!. An unexpected error has occurred',
|
||||||
onInitialize: function(wrapper) {
|
onInitialize:function (wrapper) {
|
||||||
wrapper.setStyle('opacity', 0);
|
wrapper.setStyle('opacity', 0);
|
||||||
this.wrapper.setStyle('display', 'none');
|
this.wrapper.setStyle('display', 'none');
|
||||||
this.fx = new Fx.Morph(wrapper, {
|
this.fx = new Fx.Morph(wrapper, {
|
||||||
duration: 100,
|
duration:100,
|
||||||
transition: Fx.Transitions.Bounce.easeOut
|
transition:Fx.Transitions.Bounce.easeOut
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeOpen: function() {
|
onBeforeOpen:function () {
|
||||||
|
var panel = this._buildPanel();
|
||||||
|
this.setContent(panel);
|
||||||
|
|
||||||
this.overlay = new Overlay(this.options.inject, {
|
this.overlay = new Overlay(this.options.inject, {
|
||||||
duration: this.options.duration
|
duration:this.options.duration
|
||||||
});
|
});
|
||||||
if (this.options.closeOnOverlayClick)
|
if (this.options.closeOnOverlayClick)
|
||||||
this.overlay.addEvent('click', this.close.bind(this));
|
this.overlay.addEvent('click', this.close.bind(this));
|
||||||
this.overlay.open();
|
this.overlay.open();
|
||||||
this.fx.start({
|
this.fx.start({
|
||||||
'margin-top': [-200, -100],
|
'margin-top':[-200, -100],
|
||||||
opacity: [0, 1]
|
opacity:[0, 1]
|
||||||
}).chain(function() {
|
}).chain(function () {
|
||||||
this.fireEvent('show');
|
this.fireEvent('show');
|
||||||
this.wrapper.setStyle('display', 'block');
|
this.wrapper.setStyle('display', 'block');
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
onBeforeClose: function() {
|
onBeforeClose:function () {
|
||||||
this.fx.start({
|
this.fx.start({
|
||||||
'margin-top': [-100, 0],
|
'margin-top':[-100, 0],
|
||||||
opacity: 0,
|
opacity:0,
|
||||||
duration: 200
|
duration:200
|
||||||
}).chain(function() {
|
}).chain(function () {
|
||||||
this.wrapper.setStyle('display', 'none');
|
this.wrapper.setStyle('display', 'none');
|
||||||
this.fireEvent('hide');
|
this.fireEvent('hide');
|
||||||
|
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
}}
|
}}
|
||||||
);
|
);
|
||||||
this.setContent(panel);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
destroy: function() {
|
destroy:function () {
|
||||||
this.parent();
|
this.parent();
|
||||||
this.overlay.destroy();
|
this.overlay.destroy();
|
||||||
},
|
},
|
||||||
|
|
||||||
_buildPanel : function () {
|
_buildPanel:function () {
|
||||||
var result = new Element('div');
|
var result = new Element('div');
|
||||||
result.setStyles({
|
result.setStyles({
|
||||||
'text-align':'center',
|
'text-align':'center',
|
||||||
width: '400px'
|
width:'400px'
|
||||||
});
|
});
|
||||||
var p = new Element('p', {'text': 'We\'re sorry, an error has occurred and we can not process your request. Please try again, or go to the home page.'});
|
var p = new Element('p', {'text':$msg('UNEXPECTED_ERROR_LOADING')});
|
||||||
p.inject(result);
|
p.inject(result);
|
||||||
|
|
||||||
var img = new Element('img', {'src': 'images/alert-sign.png'});
|
var img = new Element('img', {'src':'images/alert-sign.png'});
|
||||||
img.inject(result);
|
img.inject(result);
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
},
|
},
|
||||||
|
|
||||||
show : function() {
|
show:function () {
|
||||||
this.open();
|
this.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,14 +266,14 @@ editor.FatalErrorDialog = new Class({
|
|||||||
|
|
||||||
|
|
||||||
editor.Help = {
|
editor.Help = {
|
||||||
buildHelp:function(panel) {
|
buildHelp:function (panel) {
|
||||||
var container = new Element('div');
|
var container = new Element('div');
|
||||||
container.setStyles({width:'100%', textAlign:'center'});
|
container.setStyles({width:'100%', textAlign:'center'});
|
||||||
var content1 = Help.buildContentIcon('images/black-keyboard.png', 'Keyboard Shortcuts', function() {
|
var content1 = Help.buildContentIcon('images/black-keyboard.png', 'Keyboard Shortcuts', function () {
|
||||||
MOOdalBox.open('keyboard.htm', 'KeyBoard Shortcuts', '500px 400px', false);
|
MOOdalBox.open('keyboard.htm', 'KeyBoard Shortcuts', '500px 400px', false);
|
||||||
panel.hidePanel();
|
panel.hidePanel();
|
||||||
});
|
});
|
||||||
var content2 = Help.buildContentIcon('images/firstSteps.png', 'Editor First Steps', function() {
|
var content2 = Help.buildContentIcon('images/firstSteps.png', 'Editor First Steps', function () {
|
||||||
var wOpen;
|
var wOpen;
|
||||||
var sOptions;
|
var sOptions;
|
||||||
|
|
||||||
@ -289,14 +289,14 @@ editor.Help = {
|
|||||||
panel.hidePanel();
|
panel.hidePanel();
|
||||||
});
|
});
|
||||||
|
|
||||||
container.addEvent('show', function() {
|
container.addEvent('show', function () {
|
||||||
content1.effect('opacity', {duration:800}).start(0, 100);
|
content1.effect('opacity', {duration:800}).start(0, 100);
|
||||||
var eff = function() {
|
var eff = function () {
|
||||||
content2.effect('opacity', {duration:800}).start(0, 100);
|
content2.effect('opacity', {duration:800}).start(0, 100);
|
||||||
};
|
};
|
||||||
eff.delay(150);
|
eff.delay(150);
|
||||||
});
|
});
|
||||||
container.addEvent('hide', function() {
|
container.addEvent('hide', function () {
|
||||||
content1.effect('opacity').set(0);
|
content1.effect('opacity').set(0);
|
||||||
content2.effect('opacity').set(0)
|
content2.effect('opacity').set(0)
|
||||||
});
|
});
|
||||||
@ -304,8 +304,8 @@ editor.Help = {
|
|||||||
content2.inject(container);
|
content2.inject(container);
|
||||||
return container;
|
return container;
|
||||||
},
|
},
|
||||||
buildContentIcon:function(image, text, onClickFn) {
|
buildContentIcon:function (image, text, onClickFn) {
|
||||||
var container = new Element('div').setStyles({margin:'15px 0px 0px 0px', opacity:0, padding:'5px 0px', border: '1px solid transparent', cursor:'pointer'});
|
var container = new Element('div').setStyles({margin:'15px 0px 0px 0px', opacity:0, padding:'5px 0px', border:'1px solid transparent', cursor:'pointer'});
|
||||||
|
|
||||||
var icon = new Element('div');
|
var icon = new Element('div');
|
||||||
icon.addEvent('click', onClickFn);
|
icon.addEvent('click', onClickFn);
|
||||||
@ -318,11 +318,11 @@ editor.Help = {
|
|||||||
textContainer.innerHTML = text;
|
textContainer.innerHTML = text;
|
||||||
textContainer.inject(container);
|
textContainer.inject(container);
|
||||||
|
|
||||||
container.addEvent('mouseover', function() {
|
container.addEvent('mouseover', function () {
|
||||||
$(this).setStyle('border-top', '1px solid #BBB4D6');
|
$(this).setStyle('border-top', '1px solid #BBB4D6');
|
||||||
$(this).setStyle('border-bottom', '1px solid #BBB4D6');
|
$(this).setStyle('border-bottom', '1px solid #BBB4D6');
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
container.addEvent('mouseout', function() {
|
container.addEvent('mouseout', function () {
|
||||||
$(this).setStyle('border-top', '1px solid transparent');
|
$(this).setStyle('border-top', '1px solid transparent');
|
||||||
$(this).setStyle('border-bottom', '1px solid transparent');
|
$(this).setStyle('border-bottom', '1px solid transparent');
|
||||||
|
|
||||||
|
352
wise-editor/src/main/webapp/samples/complex.xml
Normal file
352
wise-editor/src/main/webapp/samples/complex.xml
Normal file
@ -0,0 +1,352 @@
|
|||||||
|
<map name="66634" version="pela">
|
||||||
|
<topic central="true" text="PPM Plan" id="1" bgColor="#32e36a">
|
||||||
|
<topic position="241,250" order="10" text="Business Development " id="4" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="226,-100" order="3" text="Backlog Management" shape="line" id="18" fontStyle=";;;bold;;">
|
||||||
|
<link url="https://docs.google.com/a/freeform.ca/drawings/d/1mrtkVAN3_XefJJCgfxw4Va6xk9TVDBKXDt_uzyIF4Us/edit"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="-193,50" order="2" text="Freeform IT" id="10" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="-271,-50" order="1" text="Client Project Management" id="204" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="-183,-150" order="5" text="Governance & Executive" id="206" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="124,-200" order="7" text="Finance" id="5" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="176,-150" order="5" text="Administration" id="3" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="222,100" order="4" text="Human Resources" id="154" fontStyle=";;;bold;;">
|
||||||
|
<note text="HR%20Vision%3A%20Freeform%20Solutions%20is%20successful%20at%20its%20mission%2C%20sustainable%20as%20an%20organization%20AND%20is%20a%20great%20place%20to%20work.%0AHR%20Mission%3A%20To%20provide%20a%20positive%20HR%20service%20experience%20for%20applicants%20and%20employees%2C%20and%20%20collaborate%20with%20departments%20to%20recruit%2C%20develop%2C%20support%2C%20and%20retain%20diverse%20and%20talented%20employees%20who%20are%20the%20key%20to%20Freeform%u2019s%20%20reputation%20and%20success."/>
|
||||||
|
</topic>
|
||||||
|
<topic position="-202,150" order="6" text="Freeform Hosting" id="16" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="197,50" order="2" text="Community Outreach" id="247" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="124,300" order="12" text="R&D" id="261" fontStyle=";;;bold;;">
|
||||||
|
<topic position="230,289" order="0" text="Goals" id="263"/>
|
||||||
|
<topic position="239,313" order="1" text="Formulize" id="264"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="-158,0" order="0" text="Probono" id="268">
|
||||||
|
<topic position="-273,1" order="0" id="269"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="1558,-249" text="Strategy 2: Talent Development" id="31">
|
||||||
|
<note text="Strategy%20%232%3A%20Support%20the%20talent%20development%20of%20our%20employees%20through%20professional%20development%20and%20learning%20and%20through%20improved%20performance%20management."/>
|
||||||
|
<topic position="1817,-260" order="0" text="Strategic Priority 2a: Personal Plans" id="113">
|
||||||
|
<note text="Each%20employee%20will%20have%20a%20personal%20Professional%20Development%20Plan.%20%20"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1869,-236" order="1" text="Strategic Priority 2b: External learning matches organ. goals"
|
||||||
|
id="114">
|
||||||
|
<note text="Each%20department%20of%20Freeform%20will%20identify%20areas%20that%20need%20development%20to%20meet%20overall%20FS%20goals.%20%20Eg.%20%20Project%20Manager%20may%20identify%20needed%20improvement%20in%20a%20development%20tool.%20%20Or...%20Bus.%20Dev.%20may%20identify%20a%20new%20need%20in%20NFP%20that%20FS%20could%20fill%20within%20mandate%2C%20if%20training%20were%20provided.%20%20Professional%20Dev.%20priority%20will%20be%20given%20to%20proposals%20for%20development%20with%20clear%20ROIs."/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1831,-212" order="2" text="Strategic Priority 2c: Learning Environment" id="116">
|
||||||
|
<note text="Learning%20and%20innovation%20are%20an%20essential%20part%20of%20providing%20the%20best%20solutions%20to%20NFPs.%20%20Cost%20effective%20internal%20learning%20and%20time%20to%20explore%20innovation%20will%20be%20encouraged%2C%20provided%20they%20conform%20with%20organization%20goal%20and%20clear%20ROI%20is%20demonstrated."/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1766,-188" order="3" text="So That..." id="112">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
<note text="%28So%20that...%20our%20employees%20have%20improved%20skills%20and%20knowledge%2C%20So%20that...%20they%20are%20highly%20competent%20and%20can%20work%20well%20in%20agile%20teams%20and%20feel%20fulfilled%20and%20self%20actualized...%20So%20that%20we%20can%20so%20the%20best%20work%20possible%2C%20for%20the%20least%20cost%2C%20in%20the%20shortest%20time%20for%20other%20NFPs%2C%20So%20that...%20NFPs%20can%20help%20those%20who%20need%20it.%29"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="1952,168" text="Strategy 4: Inclusive, Positive Environment" id="105">
|
||||||
|
<note text="Strategy%20%234%3A%20Foster%20a%20diverse%2C%20inclusive%20community%20with%20a%20positive%20work%20environment."/>
|
||||||
|
<topic position="2229,142" order="0" text="Strategic Priority 4a:Feedback" id="119">
|
||||||
|
<note text="Conduct%20regular%20organizational%20feedback%20assessments%20and%20collaborate%20to%20improve%20the%20work%20climate"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2246,166" order="1" text="Strategic Priority 4b: Anti Harassment" id="120">
|
||||||
|
<note text="Educate%20employees%20on%20the%20prevention%20of%20harassment%20and%20discrimination%20and%20productive%20ways%20to%20resolve%20conflict"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2228,190" order="2" text="Strategic Priority 4c: Diversity" id="121">
|
||||||
|
<note text="Insure%20we%20promote%20our%20commitment%20to%20diversity%20and%20non-discrimination%20through%20our%20actions%20and%20in%20our%20outreach%20and%20employee%20recruitment%20efforts"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2178,214" order="3" id="253"/>
|
||||||
|
<topic position="2191,238" order="4" text="So That..." id="118">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
<note text="%28So%20that...%20we%20can%20reflect%20the%20diverse%20populations%20we%20serve%20AND%20ensure%20everyone%20feels%20safe%2C%20respected%20%20and%20%20included%2C%20So%20that...%20we%20better%20serve%20our%20diverse%20client%20organizations%20AND%20we%20are%20a%20great%20place%20to%20work%20%29"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="1326,-642" text="Strategy 1: Recruit & Retain" id="29">
|
||||||
|
<note text="Recruit%20and%20retain%20top%20talent%20commensurate%20with%20identified%20organizational%20capacity%20requirements%20"/>
|
||||||
|
<topic position="1444,-781" order="0" text="So that..." id="28">
|
||||||
|
<note text="%28So%20that...%20we%20find%20and%20keep%20good%20people%2C%20So%20that...%20they%20are%20highly%20competent%20and%20can%20work%20well%20in%20agile%20teams...%20So%20that%20we%20can%20so%20the%20best%20work%20possible%2C%20for%20the%20least%20cost%2C%20in%20the%20shortest%20time%20for%20other%20NFPs%2C%20So%20that...%20NFPs%20can%20help%20those%20who%20need%20it.%29"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1539,-742" order="1" text="Strategic Priority 1a: Recruitment" id="37">
|
||||||
|
<note text="1.%20Identify%20and%20use%20proactive%20and%20effective%20recruitment%20strategies%2C%20"/>
|
||||||
|
<topic position="1573,-752" order="0" text="Modify App Form" shrink="true" id="238">
|
||||||
|
<note text="Recently%2C%20I%20saw%20a%20few%20job%20posts%20sent%20through%20different%20community%0Agroups%20and%20they%20seem%20to%20be%20taking%20our%20idea%20of%20screening%20candidates%0Ato%20a%20next%20level.%20Not%20only%20they%20ask%20candidates%20to%20provide%20resume%20and%0Acover%20letter%20+%20some%20project%20related%20information%20but%20also%20request%0Awritten%20answers%20to%20questions%20like%20%22Why%20are%20you%20interested%20in%20this%0Aposition%22%20etc.%20That%20allows%20to%20screen%20out%20people%20who%20just%20submit%0Amultiple%20resumes%20to%20multiple%20organizations%20without%20really%20applying%0Afor%20that%20particular%20job%20and%20it%20would%20make%20our%20interview%20process%20more%0Astraightforward%2C%20knowing%20answers%20to%20some%20questions.%0A%0AFor%20example%2C%20we%20may%20want%20to%20always%20include%20in%20the%20screening%0Aquestions%3A%0A-%20Why%20do%20you%20want%20to%20work%20for%20Freeform%20Solutions%3F%0A-%20Why%20are%20you%20interested%20in%20this%20position%3F%0A-%20What%27s%20your%20experience%20working%20with%20NFP%3F%0A-%20What%27s%20your%20experience%20working%20with%20Open%20Source%20software%3F%0Aetc.%0A%0AI%20also%20saw%20that%20people%20ask%20for%20references%20up%20front%2C%20in%20that%0Asubmissions%20form.%20We%20could%20include%20the%20HR%20requirement%20that%20Heather%0Abrought%20recently%20for%20%22permissions%20to%20ask%20your%20references%20about%20you%22%0Ain%20the%20online%20form%20so%20that%20we%20don%27t%20have%20to%20follow%20up%20with%20this%0Alater.%0A%0AAttached%20below%20a%20sample%20of%20such%20screening%20questions"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1614,-728" order="1" text="Strategy integrated with hiring plan" id="299">
|
||||||
|
<note text="Hiring%20plan%20should%20be%20comprehensive...%20not%20Agile%20or%20Iterative%2C%20in%20the%20sense%20that%20staff%20capacity%20and%20skill%20needs%20should%20be%20met%20within%20at%20least%20a%20six%20month%20plan.%20%20If%20three%20Drupal%20developers%20are%20needed%2C%20the%20hiring%20should%20be%20done%20concurrently%20to%20minimize%20HR%20costs%20and%20time."/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="1477,-700" order="2" text="Strategic Priority 1b: Hiring" id="39">
|
||||||
|
<note text="2.%20Continue%20to%20practice%20our%20unique%20Freeform%20hiring%20process%20that%20balances%20fit%20with%20the%20Freeform%20culture%20and%20best%20talent%20"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1487,-647" order="3" text="Strategic Priority 1c: Onboarding" id="41">
|
||||||
|
<note text=""/>
|
||||||
|
<topic position="1592,-674" order="0" text="3 Month Onboarding Process" shape="elipse" id="275"
|
||||||
|
bgColor="#adddf0"/>
|
||||||
|
<topic position="1570,-650" order="1" text="Tools & Guidelines" id="277"/>
|
||||||
|
<topic position="1552,-626" order="2" text="Mentoring" id="276"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1484,-569" order="4" text="Strategic Priority 1d: Incentives" id="43">
|
||||||
|
<note text="5.%20Explore%20incentives%20-%20monetary%2C%20benefits%2C%20fulfilment%20-%20needed%20to%20encourage%20top%20talent%20to%20work%20for%20and%20remain%20working%20for%20an%20NFP"/>
|
||||||
|
<topic position="1544,-596" order="0" text="Raises" id="274"/>
|
||||||
|
<topic position="1548,-572" order="1" text="Benefits" shape="elipse" id="270" bgColor="#adddf0"/>
|
||||||
|
<topic position="1577,-548" order="2" text="Rewards Message" id="45">
|
||||||
|
<note text="Create%20a%20total%20rewards%20message%20to%20encourage%20prospective%20and%20current%20employees%20to%20understand%20the%20full%20value%20of%20working%20for%20Freeform"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="1487,-518" order="5" text="Strategic Priority 1e: Offboarding" shrink="true" id="123">
|
||||||
|
<note text="Assess%20and%20address%20reasons%20why%20talented%20people%20leave%20Freeform"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="726,413" text="Business Development Plan" shape="rounded rectagle" id="156"
|
||||||
|
fontStyle=";;#0d0826;;;" bgColor="#32e36a">
|
||||||
|
<topic position="894,401" order="0" text="Goals" id="164">
|
||||||
|
<topic position="975,422" order="0" text="Increase new clients" id="168">
|
||||||
|
<topic position="1138,409" order="0" text="Academic Research" id="171"/>
|
||||||
|
<topic position="1118,433" order="1" id="177"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="978,488" order="1" text="Support New Products" id="172">
|
||||||
|
<topic position="1125,463" order="0" text="Formulize" id="179"/>
|
||||||
|
<topic position="1125,487" order="1" id="180"/>
|
||||||
|
<topic position="1125,511" order="2" id="181"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="966,539" order="2" text="Support CiviCRM" id="255"/>
|
||||||
|
<topic position="976,602" order="3" text="Identify Opportunites" id="182">
|
||||||
|
<topic position="1121,565" order="0" id="183"/>
|
||||||
|
<topic position="1121,589" order="1" id="184"/>
|
||||||
|
<topic position="1121,613" order="2" id="185"/>
|
||||||
|
<topic position="1121,637" order="3" id="186"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="-621,395" text="Hosting NG Plan" shape="rounded rectagle" id="162" fontStyle=";;#0d0826;;;"
|
||||||
|
bgColor="#32e36a"/>
|
||||||
|
<topic position="-613,99" text="Freeform IT Plan" shape="rounded rectagle" id="163" bgColor="#52e380">
|
||||||
|
<topic position="-753,68" order="0" text="Fragile" id="17" fontStyle=";;;bold;;"/>
|
||||||
|
<topic position="-749,92" order="1" text="Tools" id="259"/>
|
||||||
|
<topic position="-760,116" order="2" id="260"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="-548,-87" text="Project Teams" shape="rounded rectagle" shrink="true" id="9" bgColor="#52e380">
|
||||||
|
<topic position="-668,-142" order="0" text="Projects 1-3" id="13"/>
|
||||||
|
<topic position="-668,-118" order="1" text="Projects 4-6" id="14"/>
|
||||||
|
<topic position="-672,-94" order="2" text="Projects 7 & 8" id="15"/>
|
||||||
|
<topic position="-696,-70" order="3" text="General Work" id="12"/>
|
||||||
|
<topic position="-686,-46" order="4" text="Learning Needs Plan" id="11"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="-532,-250" text="Restructure" shape="rounded rectagle" shrink="true" id="33" bgColor="#52e380">
|
||||||
|
<topic position="-685,-282" order="0" text="Client Centric Process" id="216"/>
|
||||||
|
<topic position="-692,-258" order="1" text="Freeform Project Process" id="217"/>
|
||||||
|
<topic position="-693,-234" order="2" text="Supportive Systems Plan" id="218"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="-427,-329" text="Board and C Planning" shape="rounded rectagle" shrink="true" id="208"
|
||||||
|
bgColor="#52e380">
|
||||||
|
<topic position="-614,-384" order="0" text="Mission Statements" id="23">
|
||||||
|
<note text="In%20the%20absence%20of%20one%20clearly%20defined%20mission%20statement%2C%20we%20have%20reviewed%20various%20expressed%20mission%20statement%20as%20following%0A%0A%20%20%20%20Objects%20of%20Incorporation%20in%20Letters%20Patent%0A%20%20%20%20%20%20%20%20The%20objects%20of%20the%20Corporation%20are%3ATo%20provide%20solutions%20that%20facilitate%20the%20effective%20use%20of%20information%20technology%20in%20not-for-profit%2C%20non-governmental%2C%20and%20charitable%20organizations%20throughout%20Canada%2C%20to%20support%20and%20improve%20their%20mission%20delivery.%0A%20%20%20%202006%20Strategic%20Business%20Plan%20-%20Brand%20Positioning%0A%20%20%20%20%20%20%20%20We%20are%20a%20nonprofit%20dedicated%20to%20helping%20other%20nonprofits%20understand%20and%20employ%20technology%20appropriately%20and%20effectively%20to%20support%20their%20mission.%20Our%20mission%20is%20to%20provide%20flexible%20consulting%2C%20website%20development%2C%20and%20Internet%20hosting%20solutions%20that%20give%20you%20peace%20of%20mind%20and%20help%20you%20stay%20focused%20on%20your%20mission.%0A%20%20%20%20Freeform%20One%20Page%20%28Freeform%20Wiki%29%0A%20%20%20%20%20%20%20%20About%20Freeform%20Solutions%3A%20Freeform%20Solutions%20is%20a%20not-for-profit%20organization.%20Our%20mission%20is%20help%20%28sic%29%20other%20not-for-profits%20organizations%20to%20build%20their%20capacity%20and%20increase%20their%20effectiveness.%0A%20%20%20%20Result%20of%20Google%20search%20for%20%u201CFreeform%20Solutions%20mission%u201D%0A%20%20%20%20%20%20%20%20Freeform%20Solutions%20is%20a%20not-for-profit%20organization.%20Our%20mission%20is%20to%20help%20other%20not-for-profits%20use%20technology%20to%20build%20their%20capacity%20and%20increase%20their%20effectiveness.%20%28www.freeformsolutions.ca/en/files/AboutFreeformSolutions.pdf%0A%20%20%20%20%20%20%20%20Freeform%20Solutions%20%28www.freeformsolutions.ca%29%20is%20a%20non%20profit%20organization.%20Our%20mission%20is%20to%20help%20other%20non-profit%20organizations%20to%20realize%20their%20missions%20through%20the%20appropriate%20deployment%20of%20information%20and%20knowledge%20management%20systems.www.freeformsolutions.ca/en/sites/default/.../virtual.volunteering.pdf%0A%20%20%20%20%20%20%20%20We%20are%20a%20not-for-profit%20organization%20%28NFP%29%20that%20helps%20other%20NFPs%20use%20IT%20to%20achieve%20their%20organizational%20goals%20and%20better%20serve%20their%20communities.%20Freeform%20Solutions%20is%20a%20nonprofit%20organization%20dedicated%20to%20helping%20other%20nonprofit%20organizations%20understand%20and%20employ%20technology%20appropriately%20and%20effectively%20to%20support%20their%20missions.%20Our%20mission%20is%20to%20provide%20flexible%20consulting%2C%20website%20development%2C%20and%20hosting%20solutions%20%20http%3A//socialinnovation.ca/community/organizations/freeform-solutions%0A%20%20%20%20%20%20%20%20Freeform%20Solutions%20is%20a%20not-for-profit%20organization%2C%20with%20a%20mission%20to%20help%20other%20not-for-profits%20use%20technology%20more%20effectively%20to%20meet%20their%20own%20missions.%20http%3A//timreview.ca/article/387%0A%20%20%20%20%20%20%20%20Freeform%20Solutions%20%u2013%20their%20mission%3A%20%u201Cwe%20help%20not-for-profit%20organisations%20use%20technology%20to%20build%20their%20capacity%20and%20increase%20their%20effectiveness.%20http%3A//www.warnerlaw.ca/links/community-organisations-and-local-businesses/%0A%20%20%20%20%20%20%20%20Freeform%20Solutions%20is%20a%20not-for-profit%20organization%20with%20a%20mission%20to%20help%20other%20not-for-profits%20use%20technology%20to%20meet%20their%20goals.%20http%3A//xoops.org/modules/news/article.php%3Fstoryid%3D3860%0A%20%20%20%20%20%20%20%20At%20Freeform%20Solutions%2C%20we%20have%20a%20mission%20to%20help%20not-for-profit%20and%20public%20sector%20organizations%20use%20technology%20more%20effectively.%20http%3A//osbrca.blogspot.ca/2010/07/development-commons-approach.html%0A%20%20%20%20Freeform%20Solutions%20Facebook%20Page%0A%20%20%20%20%20%20%20%20Mission%3A%20Freeform%20Solutions%20is%20a%20not-for-profit%20organization%20%28NFP%29%20that%20helps%20other%20NFPs%20use%20IT%20to%20achieve%20their%20organizational%20goals%20and%20better%20serve%20their%20communities.%0A%20%20%20%20The%20current%20Freeform%20Solutions%20website%0A%20%20%20%20%20%20%20%20We%20started%20Freeform%20to%20help%20NFPs%20use%20IT%20to%20achieve%20their%20organizational%20goals%20and%20better%20serve%20their%20communities%20-%20to%20support%20and%20improve%20their%20mission%20delivery.%20Our%20mission%20is%20to%20strengthen%20the%20capacity%20of%20NFPs%20and%20the%20voluntary%20sector%2C%20and%20to%20help%20build%20a%20civil%20society."/>
|
||||||
|
</topic>
|
||||||
|
<topic position="-579,-360" order="1" text="Values" id="25"/>
|
||||||
|
<topic position="-594,-336" order="2" text="Bylaw Review" id="201"/>
|
||||||
|
<topic position="-581,-312" order="3" text="Policies" id="202"/>
|
||||||
|
<topic position="-592,-288" order="4" text="Business Plan" id="203"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1723,-35" text="Strategy 3: Safety and Wellness" id="91">
|
||||||
|
<note text="Strategy%20%23%203%3A%20Promote%20the%20achievement%20of%20safety%20and%20wellness%20in%20our%20virtual%20employee%20community."/>
|
||||||
|
<topic position="1995,-81" order="0" text="Strategic Priority 3a: H&S Policies & Practices"
|
||||||
|
shrink="true" id="108">
|
||||||
|
<note text="Continuing%20improvement%20in%20Health%20and%20Safety%20policies%20and%20practices%20%26%20compliance%20with%20OHSC%20legislation"/>
|
||||||
|
<topic position="1948,-83" order="0" id="198"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1984,-38" order="1" text="Strategic Priority 3b: Health Promotion" id="110">
|
||||||
|
<note text="Promoting%20safety%2C%20work-life%20balance%2C%20self-care%2C%20ergonomics%20and%20other%20factors%20for%20wellness%20and%20productivity%20in%20a%20virtual%20workplace%20environment"/>
|
||||||
|
<topic position="2003,-51" order="0" text="Health and Wellness Committee" id="195">
|
||||||
|
<note text="The%20Freeform%20H%26S%20rep%20will%20lead%20a%20Health%20and%20Wellness%20Committee%20to%20%20responsible%20for%20recognizing%20health%20and%20safety%20concerns%20and%20identifying%20solutions."/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1992,-27" order="1" text="Work-life Balance Initiative" id="197">
|
||||||
|
<link url="http://hrcouncil.ca/hr-toolkit/workplaces-health-safety.cfm"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="1933,0" order="2" text="So that..." id="106">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
<note text="%28So%20that...%20our%20employees%20remain%20well%20and%20safe%2C%20So%20that...%20they%20are%20highly%20competent%20and%20can%20work%20well%20in%20agile%20teams%20and%20feel%20fulfilled%20and%20self%20actualized...%20So%20that%20we%20can%20so%20the%20best%20work%20possible%2C%20for%20the%20least%20cost%2C%20in%20the%20shortest%20time%20for%20other%20NFPs%2C%20So%20that...%20NFPs%20can%20help%20those%20who%20need%20it.%29"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="2267,-485" text="Benefits" shape="elipse" id="130" bgColor="#c2eaf0">
|
||||||
|
<note text="As%20Freeform%20Employees%20we%20will%20have%20benefits%20reviewed%20in%20light%20of%20our%20priorities%20and%20cost%20to%20Freeform"/>
|
||||||
|
<topic position="2419,-579" order="0" text="As Freeform Staff" id="144">
|
||||||
|
<icon id="people_group"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2421,-553" order="1" text="Responsibility: HZ, JC" id="131"/>
|
||||||
|
<topic position="2403,-527" order="2" text="Release 3" id="141">
|
||||||
|
<icon id="time_calendar"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2514,-503" order="3" text="Have Heather create list benefits against Best Practice & cost"
|
||||||
|
shape="rounded rectagle" id="132">
|
||||||
|
<icon id="tick_tick"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2430,-479" order="4" text="Have Jason review list" id="133">
|
||||||
|
<icon id="tag_green"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2449,-455" order="5" text="Have JC & HZ consult with staff" id="134">
|
||||||
|
<icon id="tag_orange"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2453,-431" order="6" text="Have best benefits we can afford" id="140">
|
||||||
|
<icon id="tag_red"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2408,-407" order="7" text="So that..." id="142">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
<note text="%20so%20that%20our%20efforts%20to%20excel%20are%20rewarded."/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="607,-489" text="Community Outreach Plan" shape="rounded rectagle" id="248" fontStyle=";8;;bold;;"
|
||||||
|
bgColor="#51e898">
|
||||||
|
<topic position="775,-545" order="0" text="Goals" id="285"/>
|
||||||
|
<topic position="770,-521" order="1" text="CSI" id="249"/>
|
||||||
|
<topic position="802,-497" order="2" text="Drupal Community" id="250"/>
|
||||||
|
<topic position="780,-473" order="3" text="CiviCRM" id="251"/>
|
||||||
|
<topic position="774,-449" order="4" text="Other" id="252"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="469,-596" text="Backlog Plan" shape="rounded rectagle" id="215" fontStyle=";;;bold;;"
|
||||||
|
bgColor="#2ee668">
|
||||||
|
<link url="https://docs.google.com/a/freeform.ca/drawings/d/1mrtkVAN3_XefJJCgfxw4Va6xk9TVDBKXDt_uzyIF4Us/edit"/>
|
||||||
|
<topic position="645,-605" order="0" text="Go To Backlog Plan " shape="rectagle" id="286" bgColor="#e8da6d">
|
||||||
|
<icon id="funy_glasses"/>
|
||||||
|
<link url="https://docs.google.com/a/freeform.ca/drawings/d/1mrtkVAN3_XefJJCgfxw4Va6xk9TVDBKXDt_uzyIF4Us/edit"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="1460,394" text="Strategy Prospecting" id="167">
|
||||||
|
<topic position="1617,372" order="0" id="170"/>
|
||||||
|
<topic position="1617,396" order="1" id="175"/>
|
||||||
|
<topic position="1617,420" order="2" id="176"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1459,314" text="Stategies: Forecasting" id="166">
|
||||||
|
<topic position="1620,292" order="0" id="169"/>
|
||||||
|
<topic position="1620,316" order="1" id="173"/>
|
||||||
|
<topic position="1620,340" order="2" id="174"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1461,480" text="Strategies Marketing" id="2" fontStyle=";;;normal;;"/>
|
||||||
|
<topic position="-460,698" id="267"/>
|
||||||
|
<topic position="1867,-359" text="Exit Interviews" shape="elipse" id="220" fontStyle=";6;;;;">
|
||||||
|
<topic position="2010,-416" order="0" text="As Freeform" id="232">
|
||||||
|
<icon id="people_group"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2022,-392" order="1" text="Responsiblity: HZ, KS" id="233"/>
|
||||||
|
<topic position="2001,-368" order="2" text="Release" id="234">
|
||||||
|
<icon id="time_hourglass"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="2100,-344" order="3" text="Have Heather write procedures for exit interview process" id="235"/>
|
||||||
|
<topic position="2006,-320" order="4" text="So that" id="236">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
<note text="We%20learn%20from%20our%20mistakes%20and%20missed%20opportunities%20in%20future%20with%20the%20goal%20of%20keeping%20the%20best%20talent."/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="2250,-634" text="3 Month Onboarding Process" shape="elipse" id="298" bgColor="#adddf0"/>
|
||||||
|
<topic position="558,-26" text="Human Resources Plan" shape="rounded rectagle" id="6" fontStyle=";;#0d0826;bold;;"
|
||||||
|
bgColor="#32e36a">
|
||||||
|
<topic position="694,-284" order="0" text="Related Org Objectives" id="287" fontStyle=";;;bold;;">
|
||||||
|
<topic position="772,-321" order="0" text="1" id="288">
|
||||||
|
<note text="Attract%2C%20build%20and%20retain%20a%20motivated%2C%20agile%2C%20knowledgeable%20team%20of%20Top%20Talent%20that%20loves%20to%20%u201Ccome%u201D%20to%20work"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="772,-297" order="1" text="2" id="289">
|
||||||
|
<note text="Maintain%20level%20of%20human%20resource%20capacity%20and%20skill%20to%20meet%20planned%20growth%20and%20client%20contractual%20commitments"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="772,-273" order="2" text="3" id="290">
|
||||||
|
<note text="Conform%20to%20all%20legislated%20requirements"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="772,-249" order="3" text="4" id="291">
|
||||||
|
<note text="Minimize%20and%20mitigate%20risk%20to%20the%20organization"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="695,-221" order="1" text="Related Documents" id="294" fontStyle=";;;bold;;">
|
||||||
|
<note text="MIssion%2C%20Values%2C%20Principles%2C%20Org%20Business%20Plan%2C%20Human%20Resources%20Policy%20Manual"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="663,29" order="2" text="Goals" id="30" fontStyle=";;;bold;;">
|
||||||
|
<topic position="844,-153" order="0" text="Goal:Staff=Optimal Bus. Growth" id="104">
|
||||||
|
<icon id="sport_football"/>
|
||||||
|
<note text="Human%20resource%20capacity%20will%20remain%20at%20a%20level%20to%20%20meet%20planned%20growth%20growth%20objectives%20and%20client%20contractual%20commitments"/>
|
||||||
|
<topic position="1030,-193" order="0" text="So that..." id="124">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1062,-169" order="1" text="Related Strategic Priorities: " id="125"/>
|
||||||
|
<topic position="1090,-145" order="2" text="KPI: HR Level equals Planned Growth" id="126">
|
||||||
|
<icon id="chart_bar"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1038,-118" order="3" text="Methodology" id="99">
|
||||||
|
<note text="Schedule%20of%20required%20HR%20capacity%20vs.%20actual%20HR%20capacity.%20%20Variance%20+%20or%20-%201"/>
|
||||||
|
<topic position="1172,-119" order="0" text="Target" id="100">
|
||||||
|
<note text="%3D%20+%20or%20-%201"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="835,-38" order="1" text="Goal: Increase Job Satisfaction" id="49">
|
||||||
|
<icon id="sport_football"/>
|
||||||
|
<topic position="1016,-85" order="0" text="So That" id="59">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
<note text="%20%20%20%20Establish%20better%20relationships.%0A%20%20%20%20Identify%20with%20the%20new%20employer.%0A%20%20%20%20Build%20a%20great%20attitude%20with%20the%20company."/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1043,-57" order="1" text="Related Strategic Priorities" shrink="true" id="86">
|
||||||
|
<topic position="1199,-59" order="0" id="90"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1051,-26" order="2" text="KPI: Employee Satisfaction" id="50">
|
||||||
|
<icon id="chart_bar"/>
|
||||||
|
<topic position="1214,-27" order="0" id="303"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1021,4" order="3" text="Methodology" id="128">
|
||||||
|
<note text="Percentage%20of%20improvement%20in%20employee%20reported%20job%20satisfaction%20based%20on%20survey%20vs%20previous%20year.%20%20Base%20level%20to%20be%20established%20in%20first%20year.%20"/>
|
||||||
|
<topic position="1155,3" order="0" text="Target" id="129">
|
||||||
|
<note text="Base%20level%201st%20%20year"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="834,77" order="2" text="Goal: Improve Performance" id="51">
|
||||||
|
<icon id="sport_football"/>
|
||||||
|
<note text="To%20increase%20knowledge%2C%20skills%20and%20experience%20of%20the%20Freeform%20staff%20relevant%20to%20organizational%20priorities."/>
|
||||||
|
<topic position="1013,37" order="0" text="So That" id="60">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
<note text="%20%20%20%20Clarify%20expectations.%0A%20%20%20%20Understand%20values%20and%20priorities.%0A%20%20%20%20Decrease%20the%20learning%20curve."/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1047,61" order="1" text="Related Strategic Priorities" id="87">
|
||||||
|
<note text="1"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1050,85" order="2" text="KPI: Employee Performance" id="61">
|
||||||
|
<icon id="chart_bar"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1011,112" order="3" text="Methodology" id="80">
|
||||||
|
<topic position="1131,111" order="0" text="Target" id="102"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="824,186" order="3" text="Goal: Reduce Turnover" id="52">
|
||||||
|
<icon id="sport_football"/>
|
||||||
|
<note text="To%20reduce%20turnover%20of%20Top%20Talent."/>
|
||||||
|
<topic position="994,145" order="0" text="So That" id="62">
|
||||||
|
<icon id="object_rainbow"/>
|
||||||
|
<note text="%20%20%20%20Provide%20support%20through%20feedback.%0A%20%20%20%20Help%20the%20employee%20feel%20valued.%0A%20%20%20%20Again%2C%20decrease%20the%20learning%20curve."/>
|
||||||
|
</topic>
|
||||||
|
<topic position="1021,169" order="1" text="Related Strategic Priorities" id="88"/>
|
||||||
|
<topic position="1014,193" order="2" text="KPI: Retention Rate" id="63">
|
||||||
|
<icon id="chart_bar"/>
|
||||||
|
</topic>
|
||||||
|
<topic position="992,221" order="3" text="Methodology" shrink="true" id="98">
|
||||||
|
<topic position="1112,219" order="0" text="Target" id="101"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<topic position="814,253" order="4" text="Risk & Compliance" id="246">
|
||||||
|
<icon id="sport_football"/>
|
||||||
|
<note text="To%20eliminate%20or%20minimize%20risk%20and%20to%20comply%20with%20all%20legislated%20requirements.%20%20"/>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
</topic>
|
||||||
|
<relationship srcTopicId="154" destTopicId="6" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="4" destTopicId="156" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="16" destTopicId="162" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="31" destTopicId="91" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="91" destTopicId="105" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="10" destTopicId="163" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="204" destTopicId="9" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="204" destTopicId="33" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="206" destTopicId="208" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="18" destTopicId="215" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="91" destTopicId="105" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="91" destTopicId="105" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="247" destTopicId="248" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="156" destTopicId="166" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="166" destTopicId="167" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="167" destTopicId="2" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="270" destTopicId="130" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="275" destTopicId="298" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="123" destTopicId="220" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="6" destTopicId="29" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
<relationship srcTopicId="29" destTopicId="31" lineType="3" endArrow="true" startArrow="false"/>
|
||||||
|
</map>
|
@ -32,7 +32,6 @@ CHANGE_LANGUAGE=Change Language
|
|||||||
FAQ=Frequent Asked Questions
|
FAQ=Frequent Asked Questions
|
||||||
SHORT_FAQ=FAQ
|
SHORT_FAQ=FAQ
|
||||||
LOGIN=Login
|
LOGIN=Login
|
||||||
SUBJECT=Subject
|
|
||||||
MSG=Message
|
MSG=Message
|
||||||
PROBLEM_DETAIL=Description
|
PROBLEM_DETAIL=Description
|
||||||
EXPORT=Export
|
EXPORT=Export
|
||||||
@ -49,7 +48,6 @@ DELETE=Delete
|
|||||||
EDITOR.ERROR_LOADING=An unexpected error has occurred initializing this page. <br/>We'll solve this problem as soon as possible. Please, click <a href="maps/">here</a> to return to your mindmap list.
|
EDITOR.ERROR_LOADING=An unexpected error has occurred initializing this page. <br/>We'll solve this problem as soon as possible. Please, click <a href="maps/">here</a> to return to your mindmap list.
|
||||||
SITE.TITLE=WiseMapping
|
SITE.TITLE=WiseMapping
|
||||||
SITE.SLOGAN=Visual Thinking Evolution
|
SITE.SLOGAN=Visual Thinking Evolution
|
||||||
SAVE=Save
|
|
||||||
DISCARD_CHANGES=Discard Changes
|
DISCARD_CHANGES=Discard Changes
|
||||||
KEYBOARD=Keyboard Shortcuts
|
KEYBOARD=Keyboard Shortcuts
|
||||||
KEYBOARD_MSG=These are the keyboard shortcuts you can use in the editor!
|
KEYBOARD_MSG=These are the keyboard shortcuts you can use in the editor!
|
||||||
@ -72,22 +70,14 @@ REGISTRATION_TITLE_MSG=Please, fill the fields and become a member of WiseMappin
|
|||||||
CAPTCHA_ERROR=Enter the letters as they are shown in the image above.
|
CAPTCHA_ERROR=Enter the letters as they are shown in the image above.
|
||||||
CREATOR=Creator
|
CREATOR=Creator
|
||||||
CREATION_TIME=Creation Time
|
CREATION_TIME=Creation Time
|
||||||
STATE=State
|
|
||||||
EDITORS=Editors
|
EDITORS=Editors
|
||||||
VIEWER=Viewer
|
|
||||||
PRIVATE=Private
|
|
||||||
PUBLIC=Public
|
PUBLIC=Public
|
||||||
SHARED=Shared
|
SHARED=Shared
|
||||||
ONLY_VIEW_PRIVATE = This mindmap can be viewed by you only.
|
ONLY_VIEW_PRIVATE = This mindmap can be viewed by you only.
|
||||||
ALL_VIEW_PUBLIC = This mindmap can be viewed by any user.
|
ALL_VIEW_PUBLIC = This mindmap can be viewed by any user.
|
||||||
NEW_MAP_MSG=Create a new map
|
NEW_MAP_MSG=Create a new map
|
||||||
|
|
||||||
TAG=Tag
|
|
||||||
PUBLISH=Publish
|
PUBLISH=Publish
|
||||||
PUBLISH_MSG = What about using your maps in sites and blogs?
|
|
||||||
PUBLISH_DETAILS=By publishing the map you make it visible to everyone on the Internet.
|
PUBLISH_DETAILS=By publishing the map you make it visible to everyone on the Internet.
|
||||||
DETAIL=Detail
|
|
||||||
INSERT=Insert
|
|
||||||
ACCOUNT_DETAIL=Do you want to change you user options?. Here is the place.
|
ACCOUNT_DETAIL=Do you want to change you user options?. Here is the place.
|
||||||
SVG_EXPORT_FORMAT_DETAILS=Scalable Vector Graphics (SVG) is an XML markup language for describing two-dimensional vector graphics. This format will enable you to print your maps without quality lost at any resolution.
|
SVG_EXPORT_FORMAT_DETAILS=Scalable Vector Graphics (SVG) is an XML markup language for describing two-dimensional vector graphics. This format will enable you to print your maps without quality lost at any resolution.
|
||||||
PDF_EXPORT_FORMAT_DETAILS=Get your map as Portable Document Format(PDF) to share use in your presentations.
|
PDF_EXPORT_FORMAT_DETAILS=Get your map as Portable Document Format(PDF) to share use in your presentations.
|
||||||
@ -108,34 +98,11 @@ DIRECT_LINK=Direct Link
|
|||||||
BLOG_INCLUSION=You can customize the code snippet to embed this map on your blog or website. Make sure you enter the correct dimensions of the content area of your blog so that the map fits nicely
|
BLOG_INCLUSION=You can customize the code snippet to embed this map on your blog or website. Make sure you enter the correct dimensions of the content area of your blog so that the map fits nicely
|
||||||
BLOG_SNIPPET=Copy this snippet of code to embed in your blog or page
|
BLOG_SNIPPET=Copy this snippet of code to embed in your blog or page
|
||||||
ZOOM=Zoom
|
ZOOM=Zoom
|
||||||
ZOOM_IN=Zoom In
|
|
||||||
ZOOM_OUT=Zoom Out
|
|
||||||
HISTORY=History
|
HISTORY=History
|
||||||
TOPIC=Topic
|
|
||||||
TOPIC_BACKGROUND_COLOR=Topic Background Color
|
|
||||||
TOPIC_BORDER_COLOR=Topic Border Color
|
|
||||||
BORDER_COLOR=Border Color
|
|
||||||
BORDER=Border
|
|
||||||
TOPIC_SHAPE=Topic Shape
|
|
||||||
SHAPE=Shape
|
|
||||||
TOPIC_ADD=Add Topic
|
|
||||||
TOPIC_DELETE=Delete Topic
|
|
||||||
TOPIC_ICON=Add Icon
|
|
||||||
ICON=Icon
|
|
||||||
TOPIC_LINK=Add Link
|
|
||||||
LINK=Link
|
LINK=Link
|
||||||
TOPIC_RELATIONSHIP=Relationship
|
|
||||||
RELATION=Relationship
|
|
||||||
TOPIC_NOTE=Add Note
|
|
||||||
NOTE=Note
|
|
||||||
FONT=Font
|
|
||||||
FONT_TYPE=Font Type
|
|
||||||
TYPE=Type
|
TYPE=Type
|
||||||
FONT_SIZE=Font Size
|
|
||||||
SIZE=Size
|
SIZE=Size
|
||||||
FONT_BOLD=Bold
|
|
||||||
BOLD=Bold
|
BOLD=Bold
|
||||||
FONT_ITALIC=Italic
|
|
||||||
ITALIC=Italic
|
ITALIC=Italic
|
||||||
FONT_COLOR=Font Color
|
FONT_COLOR=Font Color
|
||||||
COLOR=Color
|
COLOR=Color
|
||||||
@ -156,10 +123,6 @@ CONTACT=Contact
|
|||||||
|
|
||||||
ACCOUNT_ACTIVED= Your account has been activated
|
ACCOUNT_ACTIVED= Your account has been activated
|
||||||
ACCOUNT_ACTIVED_FAIL = Account Activation Failed
|
ACCOUNT_ACTIVED_FAIL = Account Activation Failed
|
||||||
UNDO_EDITION=Undo Edition
|
|
||||||
UNDO=Undo
|
|
||||||
REDO_EDITION=Redo Edition
|
|
||||||
REDO=Redo
|
|
||||||
NO_HISTORY_RESULTS= No history information available.
|
NO_HISTORY_RESULTS= No history information available.
|
||||||
REVERT=revert
|
REVERT=revert
|
||||||
INVALID_EMAIL_ERROR = The e-mail was not verified
|
INVALID_EMAIL_ERROR = The e-mail was not verified
|
||||||
|
@ -29,7 +29,6 @@ CHANGE_PASSWORD=Cambiar la Contrase\u00f1a
|
|||||||
FAQ=Preguntas Frecuentes
|
FAQ=Preguntas Frecuentes
|
||||||
SHORT_FAQ=FAQ
|
SHORT_FAQ=FAQ
|
||||||
LOGIN=Entrar
|
LOGIN=Entrar
|
||||||
MSG=Mensaje
|
|
||||||
MIND_FILE=Archivo
|
MIND_FILE=Archivo
|
||||||
EXPORT=Exportar
|
EXPORT=Exportar
|
||||||
SVG_EXPORT_FORMAT=Scalable Vector Graphics (SVG)
|
SVG_EXPORT_FORMAT=Scalable Vector Graphics (SVG)
|
||||||
@ -38,9 +37,6 @@ IMG_EXPORT_FORMAT=Imagen (PNG/JPEG)
|
|||||||
FREEMIND_EXPORT_FORMAT = Freemind (version 0.9.0)
|
FREEMIND_EXPORT_FORMAT = Freemind (version 0.9.0)
|
||||||
STATUS=Estado
|
STATUS=Estado
|
||||||
DELETE=Borrar
|
DELETE=Borrar
|
||||||
SAVE=Guardar
|
|
||||||
DISCARD_CHANGES=Descartar cambios
|
|
||||||
ABOUT=Acerca
|
|
||||||
LOGIN_ERROR=El nombre de usuario o la contrase\u00f1a introducidos no son correctos.
|
LOGIN_ERROR=El nombre de usuario o la contrase\u00f1a introducidos no son correctos.
|
||||||
USER_INACTIVE=Disculpe, su cuenta aun no ha sido activada. Usted recibira una notificación por email tan pronto la activemos.
|
USER_INACTIVE=Disculpe, su cuenta aun no ha sido activada. Usted recibira una notificación por email tan pronto la activemos.
|
||||||
CREW=The Crew
|
CREW=The Crew
|
||||||
@ -58,7 +54,6 @@ REGISTRATION_TITLE_MSG=Complete el siguiente formulario para convertirse en un m
|
|||||||
CAPTCHA_ERROR=Enter the letters as they are shown in the image above.
|
CAPTCHA_ERROR=Enter the letters as they are shown in the image above.
|
||||||
CREATOR=Creador
|
CREATOR=Creador
|
||||||
CREATION_TIME=Fecha de creación
|
CREATION_TIME=Fecha de creación
|
||||||
STATE=Estado
|
|
||||||
EDITORS=Editores
|
EDITORS=Editores
|
||||||
PUBLIC=Público
|
PUBLIC=Público
|
||||||
SHARED=Compartido
|
SHARED=Compartido
|
||||||
@ -67,7 +62,6 @@ ALL_VIEW_PUBLIC = Este documento puede ser visualizado por cualquier usuario.
|
|||||||
NEW_MAP_MSG=Crear un nuevo mapa
|
NEW_MAP_MSG=Crear un nuevo mapa
|
||||||
PUBLISH=Publicar
|
PUBLISH=Publicar
|
||||||
PUBLISH_DETAILS=Publicando el mapa hara que el mismo sea visible por cualquier persona que utlice Internet. Copie el código de abajo para integrar el mapa con su sitio web o blog.
|
PUBLISH_DETAILS=Publicando el mapa hara que el mismo sea visible por cualquier persona que utlice Internet. Copie el código de abajo para integrar el mapa con su sitio web o blog.
|
||||||
INSERT=Insertar
|
|
||||||
ACCOUNT_DETAIL=Desea cambiar sus preferencias? Este es el lugar.
|
ACCOUNT_DETAIL=Desea cambiar sus preferencias? Este es el lugar.
|
||||||
SVG_EXPORT_FORMAT_DETAILS=Scalable Vector Graphics (SVG) es un XML markup language para describir gr\u00e1ficos vectoriale de dos dimensiones. Este formato le permitira imprimir sus mapas sin perdida de calidad o resolución.
|
SVG_EXPORT_FORMAT_DETAILS=Scalable Vector Graphics (SVG) es un XML markup language para describir gr\u00e1ficos vectoriale de dos dimensiones. Este formato le permitira imprimir sus mapas sin perdida de calidad o resolución.
|
||||||
PDF_EXPORT_FORMAT_DETAILS=Obtenga su mapa como un documento (PDF) para compartirlo y usarlo en sus presentaciones.
|
PDF_EXPORT_FORMAT_DETAILS=Obtenga su mapa como un documento (PDF) para compartirlo y usarlo en sus presentaciones.
|
||||||
@ -76,7 +70,6 @@ FREEMIND_EXPORT_FORMAT_DETAILS = FreeMind un aplicación de escritorio gra
|
|||||||
TERMSOFUSE=Términos de uso
|
TERMSOFUSE=Términos de uso
|
||||||
PRIVACYPOLICY= Politica de privacidad
|
PRIVACYPOLICY= Politica de privacidad
|
||||||
EXPORT_DETAILS=Exporte el mapa en el formato que desee y comience a utlizarlo en sus presentaciones
|
EXPORT_DETAILS=Exporte el mapa en el formato que desee y comience a utlizarlo en sus presentaciones
|
||||||
DETAILS=Detalles
|
|
||||||
WHO_ARE_WE=Quienes somos?
|
WHO_ARE_WE=Quienes somos?
|
||||||
MEMBERS=Miembros
|
MEMBERS=Miembros
|
||||||
WELCOME=Bienvenido
|
WELCOME=Bienvenido
|
||||||
@ -89,25 +82,6 @@ DIRECT_LINK=Enlace directo
|
|||||||
BLOG_INCLUSION=Para incluirlo en blogs y web pages
|
BLOG_INCLUSION=Para incluirlo en blogs y web pages
|
||||||
|
|
||||||
ZOOM=Zoom
|
ZOOM=Zoom
|
||||||
ZOOM_IN=Acercar
|
|
||||||
ZOOM_OUT=Alejar
|
|
||||||
|
|
||||||
TOPIC=Tópico
|
|
||||||
TOPIC_BACKGROUND_COLOR=Color de fondo del tópico
|
|
||||||
TOPIC_BORDER_COLOR=Color del borde de tópico
|
|
||||||
TOPIC_SHAPE=Forma del tópico
|
|
||||||
TOPIC_ADD=Agregar tópico
|
|
||||||
TOPIC_DELETE=Borrar tópico
|
|
||||||
TOPIC_ICON=Agregar Icono
|
|
||||||
TOPIC_LINK=Agregar Enlace
|
|
||||||
TOPIC_NOTE=Agregar Nota
|
|
||||||
|
|
||||||
FONT=Fuente
|
|
||||||
FONT_TYPE=Tipo de fuente
|
|
||||||
FONT_SIZE=Tamano de fuente
|
|
||||||
FONT_BOLD=Negrita
|
|
||||||
FONT_ITALIC=Italica
|
|
||||||
FONT_COLOR=Color de texto
|
|
||||||
UNEXPECTED_ERROR=Outch!!. Un error inesperado ha ocurrido
|
UNEXPECTED_ERROR=Outch!!. Un error inesperado ha ocurrido
|
||||||
UNEXPECTED_ERROR_DETAILS=Disculpas, un error ha ocurrido y no podremos procesar su pedido. Por favor intente nuevamente o vaya a la pagina de inico.
|
UNEXPECTED_ERROR_DETAILS=Disculpas, un error ha ocurrido y no podremos procesar su pedido. Por favor intente nuevamente o vaya a la pagina de inico.
|
||||||
NO_ENOUGH_PERMISSIONS=Outch!!. EL mapa buscado no se encuentra disponible.
|
NO_ENOUGH_PERMISSIONS=Outch!!. EL mapa buscado no se encuentra disponible.
|
||||||
@ -125,8 +99,6 @@ CONTACT=Contacto
|
|||||||
KEYBOARD=Atajos de Teclado
|
KEYBOARD=Atajos de Teclado
|
||||||
KEYBOARD_MSG=Estos son los atajos de teclado que puede utilizar en el editor!
|
KEYBOARD_MSG=Estos son los atajos de teclado que puede utilizar en el editor!
|
||||||
|
|
||||||
UNDO_EDITION=Undo Edition
|
|
||||||
REDO_EDITION=Redo Edition
|
|
||||||
REVERT=revertir
|
REVERT=revertir
|
||||||
EXPORT_FORMAT_RESTRICTIONS=Important: Exporting to Image, PDF or SVG is available only in the editor toolbar.
|
EXPORT_FORMAT_RESTRICTIONS=Important: Exporting to Image, PDF or SVG is available only in the editor toolbar.
|
||||||
STARRED=Importantes
|
STARRED=Importantes
|
||||||
@ -140,11 +112,8 @@ CHANGE_PASSWORD_SUCCESS=Contrase\u00f1a cambiada exitosamente
|
|||||||
CONFIRM_NEW_PASSWORD=Confirmar Contrase\u00f1a
|
CONFIRM_NEW_PASSWORD=Confirmar Contrase\u00f1a
|
||||||
COPYRIGHT=Impulsado por WiseMapping
|
COPYRIGHT=Impulsado por WiseMapping
|
||||||
UNEXPECTED_ERROR_SERVER_ERROR=Lo sentimos, un error ha ocurrido y no es posible procesar su pedido. Recargue la p\u00e1gina y intentolo nuevamente. Si el problema persiste, contactenos a support@wisemapping.com
|
UNEXPECTED_ERROR_SERVER_ERROR=Lo sentimos, un error ha ocurrido y no es posible procesar su pedido. Recargue la p\u00e1gina y intentolo nuevamente. Si el problema persiste, contactenos a support@wisemapping.com
|
||||||
UNDO=Rehacer
|
|
||||||
TYPE=Tipo
|
TYPE=Tipo
|
||||||
NOTE=Nota
|
|
||||||
SHARE=Compartir
|
SHARE=Compartir
|
||||||
SHAPE=Figura
|
|
||||||
SEND_ME_A_NEW_PASSWORD=Enviar Nueva Contrase\u00f1a
|
SEND_ME_A_NEW_PASSWORD=Enviar Nueva Contrase\u00f1a
|
||||||
ALL_MAPS=Todos
|
ALL_MAPS=Todos
|
||||||
CREATE=Crear
|
CREATE=Crear
|
||||||
@ -214,9 +183,8 @@ BROWSER_RECOMMENDATION=Browsers are listed based on performance and hours of tes
|
|||||||
BROWSER_NOT_SUPPORTED_TITLE=Ups\!\!\!. Su navegador no esta soportado
|
BROWSER_NOT_SUPPORTED_TITLE=Ups\!\!\!. Su navegador no esta soportado
|
||||||
BROWSER_NOT_SUPPORTED_MSG=El navegador que esta usando no ha sido probado extensivamente y es posible que no sea completamente funcional con el sitio. WiseMapping ha sido optimizado para:
|
BROWSER_NOT_SUPPORTED_MSG=El navegador que esta usando no ha sido probado extensivamente y es posible que no sea completamente funcional con el sitio. WiseMapping ha sido optimizado para:
|
||||||
BROWSER_NOT_SUPPORTED_TRY_AGAIN=Por favor, intente nuevamente con alguno de los browsers previamente listados.
|
BROWSER_NOT_SUPPORTED_TRY_AGAIN=Por favor, intente nuevamente con alguno de los browsers previamente listados.
|
||||||
|
|
||||||
|
|
||||||
INSTALL_CFG=Disculpe, Microsoft Internet Explorer 8 esta parcialmente soportado
|
INSTALL_CFG=Disculpe, Microsoft Internet Explorer 8 esta parcialmente soportado
|
||||||
INSTALL_CFG_REASON = Microsoft Internet Explorer 8 soporta parcialmente HTML 5 y SVG. SVG es la tecnolog\u00eda que WiseMapping usa para el editor de mapas. Le recomendamos que actualice a Microsoft Internet Explorer 9 o utilice otro navegador como ser Google Chrome, Firefox o Safari.
|
INSTALL_CFG_REASON = Microsoft Internet Explorer 8 soporta parcialmente HTML 5 y SVG. SVG es la tecnolog\u00eda que WiseMapping usa para el editor de mapas. Le recomendamos que actualice a Microsoft Internet Explorer 9 o utilice otro navegador como ser Google Chrome, Firefox o Safari.
|
||||||
INSTALL_CFG_CLICK_HERE=Si desea seguir utilizando Internet Explorer 8, haga click ac\u00e1 para instalar Google Chrome Frame Plugin. Google Chrome Frame Plugin extiende las capaciadades de Internet Explorer con HTML 5.
|
INSTALL_CFG_CLICK_HERE=Si desea seguir utilizando Internet Explorer 8, haga click ac\u00e1 para instalar Google Chrome Frame Plugin. Google Chrome Frame Plugin extiende las capaciadades de Internet Explorer con HTML 5.
|
||||||
HERE=aqu\u00ed
|
HERE=aqu\u00ed
|
||||||
|
BOLD=Negrita
|
||||||
|
@ -50,7 +50,7 @@ solid black" src="${baseUrl}/c/maps/${mindmap.id}/embed?zoom=1"> </iframe&
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="tab-pane fade" id="publicUrlTab">
|
<div class="tab-pane fade" id="publicUrlTab">
|
||||||
<spring:message code="URL"/>:
|
<spring:message code="DIRECT_LINK"/>:
|
||||||
<input name="url" value="${baseUrl}/c/maps/${mindmap.id}/public"
|
<input name="url" value="${baseUrl}/c/maps/${mindmap.id}/public"
|
||||||
style="width:400px"
|
style="width:400px"
|
||||||
readonly="readonly"/>
|
readonly="readonly"/>
|
||||||
|
Loading…
Reference in New Issue
Block a user