mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-11-29 09:04:54 +01:00
Add 18n support to the editor.
This commit is contained in:
parent
cd46647602
commit
2757a5ddb4
@ -83,6 +83,7 @@
|
||||
<includes>
|
||||
<include>header.js</include>
|
||||
<include>${basedir}/../web2d/target/classes/web2d.svg-min.js</include>
|
||||
<include>Messages.js</include>
|
||||
<include>TopicEventDispatcher.js</include>
|
||||
<include>model/IMindmap.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() {
|
||||
return "Central Topic";
|
||||
return $msg('CENTRAL_TOPIC');
|
||||
},
|
||||
|
||||
_defaultBackgroundColor : function() {
|
||||
|
@ -17,12 +17,15 @@
|
||||
*/
|
||||
|
||||
mindplot.Designer = new Class({
|
||||
Extends: Events,
|
||||
initialize: function(options, divElement) {
|
||||
Extends:Events,
|
||||
initialize:function (options, divElement) {
|
||||
$assert(options, "options must be defined");
|
||||
$assert(options.zoom, "zoom must be defined");
|
||||
$assert(divElement, "divElement must be defined");
|
||||
|
||||
// Set up i18n location ...
|
||||
mindplot.Messages.init(options.location);
|
||||
|
||||
this._options = options;
|
||||
|
||||
// Set full div elem render area ...
|
||||
@ -36,7 +39,7 @@ mindplot.Designer = new Class({
|
||||
this._actionDispatcher = new mindplot.BrixActionDispatcher(commandContext);
|
||||
}
|
||||
|
||||
this._actionDispatcher.addEvent("modelUpdate", function(event) {
|
||||
this._actionDispatcher.addEvent("modelUpdate", function (event) {
|
||||
this.fireEvent("modelUpdate", event);
|
||||
}.bind(this));
|
||||
|
||||
@ -67,7 +70,7 @@ mindplot.Designer = new Class({
|
||||
/**
|
||||
* Deactivates the keyboard events so you can enter text into forms
|
||||
*/
|
||||
deactivateKeyboard: function() {
|
||||
deactivateKeyboard:function () {
|
||||
mindplot.DesignerKeyboard.getInstance().deactivate();
|
||||
this.deselectAll();
|
||||
},
|
||||
@ -75,12 +78,12 @@ mindplot.Designer = new Class({
|
||||
/**
|
||||
* Activates the keyboard events so you can enter text into forms
|
||||
*/
|
||||
activateKeyboard: function() {
|
||||
activateKeyboard:function () {
|
||||
mindplot.DesignerKeyboard.getInstance().activate();
|
||||
},
|
||||
|
||||
|
||||
_registerEvents : function() {
|
||||
_registerEvents:function () {
|
||||
// Register mouse events ...
|
||||
this._registerMouseEvents();
|
||||
|
||||
@ -88,7 +91,7 @@ mindplot.Designer = new Class({
|
||||
mindplot.DesignerKeyboard.register(this);
|
||||
},
|
||||
|
||||
addEvent: function(type, listener) {
|
||||
addEvent:function (type, listener) {
|
||||
if (type == mindplot.TopicEvent.EDIT || type == mindplot.TopicEvent.CLICK) {
|
||||
var editor = mindplot.TopicEventDispatcher.getInstance();
|
||||
editor.addEvent(type, listener);
|
||||
@ -97,15 +100,15 @@ mindplot.Designer = new Class({
|
||||
}
|
||||
},
|
||||
|
||||
_registerMouseEvents : function() {
|
||||
_registerMouseEvents:function () {
|
||||
var workspace = this._workspace;
|
||||
var screenManager = workspace.getScreenManager();
|
||||
|
||||
// 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.
|
||||
var topics = this.getModel().getTopics();
|
||||
topics.forEach(function(object) {
|
||||
topics.forEach(function (object) {
|
||||
object.closeEditors();
|
||||
});
|
||||
|
||||
@ -116,12 +119,12 @@ mindplot.Designer = new Class({
|
||||
}.bind(this));
|
||||
|
||||
// Deselect on click ...
|
||||
screenManager.addEvent('click', function(event) {
|
||||
screenManager.addEvent('click', function (event) {
|
||||
this.onObjectFocusEvent(null, event);
|
||||
}.bind(this));
|
||||
|
||||
// Create nodes on double click...
|
||||
screenManager.addEvent('dblclick', function(event) {
|
||||
screenManager.addEvent('dblclick', function (event) {
|
||||
if (workspace.isWorkspaceEventsEnabled()) {
|
||||
|
||||
var mousePos = screenManager.getWorkspaceMousePosition(event);
|
||||
@ -133,7 +136,7 @@ mindplot.Designer = new Class({
|
||||
}.bind(this));
|
||||
|
||||
|
||||
$(document).addEvent('mousewheel', function(event) {
|
||||
$(document).addEvent('mousewheel', function (event) {
|
||||
// Change mousewheel handling so we let the default
|
||||
//event happen if we are outside the container.
|
||||
var coords = screenManager.getContainer().getCoordinates();
|
||||
@ -155,21 +158,21 @@ mindplot.Designer = new Class({
|
||||
|
||||
},
|
||||
|
||||
_buildDragManager: function(workspace) {
|
||||
_buildDragManager:function (workspace) {
|
||||
|
||||
var designerModel = this.getModel();
|
||||
var dragConnector = new mindplot.DragConnector(designerModel, this._workspace);
|
||||
var dragManager = new mindplot.DragManager(workspace, this._eventBussDispatcher);
|
||||
var topics = designerModel.getTopics();
|
||||
|
||||
dragManager.addEvent('startdragging', function() {
|
||||
dragManager.addEvent('startdragging', function () {
|
||||
// Enable all mouse events.
|
||||
for (var i = 0; i < topics.length; i++) {
|
||||
topics[i].setMouseEventsEnabled(false);
|
||||
}
|
||||
});
|
||||
|
||||
dragManager.addEvent('dragging', function(event, dragTopic) {
|
||||
dragManager.addEvent('dragging', function (event, dragTopic) {
|
||||
dragTopic.updateFreeLayout(event);
|
||||
if (!dragTopic.isFreeLayoutOn(event)) {
|
||||
// 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++) {
|
||||
topics[i].setMouseEventsEnabled(true);
|
||||
}
|
||||
@ -191,14 +194,14 @@ mindplot.Designer = new Class({
|
||||
return dragManager;
|
||||
},
|
||||
|
||||
setViewPort : function(size) {
|
||||
setViewPort:function (size) {
|
||||
this._workspace.setViewPort(size);
|
||||
var model = this.getModel();
|
||||
this._workspace.setZoom(model.getZoom(), true);
|
||||
},
|
||||
|
||||
|
||||
_buildNodeGraph : function(model, readOnly) {
|
||||
_buildNodeGraph:function (model, readOnly) {
|
||||
var workspace = this._workspace;
|
||||
|
||||
// Create node graph ...
|
||||
@ -210,7 +213,7 @@ mindplot.Designer = new Class({
|
||||
// Add Topic events ...
|
||||
if (!readOnly) {
|
||||
// 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);
|
||||
}.bind(this));
|
||||
|
||||
@ -243,7 +246,7 @@ mindplot.Designer = new Class({
|
||||
topic.connectTo(targetTopic, workspace);
|
||||
}
|
||||
|
||||
topic.addEvent('ontblur', function() {
|
||||
topic.addEvent('ontblur', function () {
|
||||
var topics = this.getModel().filterSelectedTopics();
|
||||
var rels = this.getModel().filterSelectedRelations();
|
||||
|
||||
@ -252,7 +255,7 @@ mindplot.Designer = new Class({
|
||||
}
|
||||
}.bind(this));
|
||||
|
||||
topic.addEvent('ontfocus', function() {
|
||||
topic.addEvent('ontfocus', function () {
|
||||
var topics = this.getModel().filterSelectedTopics();
|
||||
var rels = this.getModel().filterSelectedRelations();
|
||||
|
||||
@ -264,16 +267,16 @@ mindplot.Designer = new Class({
|
||||
return topic;
|
||||
},
|
||||
|
||||
onObjectFocusEvent : function(currentObject, event) {
|
||||
onObjectFocusEvent:function (currentObject, event) {
|
||||
// Close node editors ..
|
||||
var topics = this.getModel().getTopics();
|
||||
topics.forEach(function(topic) {
|
||||
topics.forEach(function (topic) {
|
||||
topic.closeEditors();
|
||||
});
|
||||
|
||||
var model = this.getModel();
|
||||
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
|
||||
if (!$defined(event) || (!event.control && !event.meta)) {
|
||||
if (object.isOnFocus() && object != currentObject) {
|
||||
@ -284,17 +287,17 @@ mindplot.Designer = new Class({
|
||||
|
||||
},
|
||||
|
||||
selectAll : function() {
|
||||
selectAll:function () {
|
||||
var model = this.getModel();
|
||||
var objects = model.getObjects();
|
||||
objects.forEach(function(object) {
|
||||
objects.forEach(function (object) {
|
||||
object.setOnFocus(true);
|
||||
});
|
||||
},
|
||||
|
||||
deselectAll : function() {
|
||||
deselectAll:function () {
|
||||
var objects = this.getModel().getObjects();
|
||||
objects.forEach(function(object) {
|
||||
objects.forEach(function (object) {
|
||||
object.setOnFocus(false);
|
||||
});
|
||||
},
|
||||
@ -303,17 +306,16 @@ mindplot.Designer = new Class({
|
||||
* Set the zoom of the map.
|
||||
* @param: zoom: number between 0.3 and 1.9
|
||||
*/
|
||||
setZoom: function(zoom) {
|
||||
setZoom:function (zoom) {
|
||||
if (zoom > 1.9 || zoom < 0.3) {
|
||||
$notify("Zoom too high. Cannot apply zoom above 1.9 or below 0.3");
|
||||
console.log("Tried to set zoom to " + zoom + " which is outside allowed range.");
|
||||
$notify($msg('ZOOM_IN_ERROR'));
|
||||
return;
|
||||
}
|
||||
this.getModel().setZoom(zoom);
|
||||
this._workspace.setZoom(zoom);
|
||||
},
|
||||
|
||||
zoomOut : function(factor) {
|
||||
zoomOut:function (factor) {
|
||||
if (!factor)
|
||||
factor = 1.2;
|
||||
|
||||
@ -324,12 +326,12 @@ mindplot.Designer = new Class({
|
||||
this._workspace.setZoom(scale);
|
||||
}
|
||||
else {
|
||||
$notify('No more zoom can be applied');
|
||||
$notify($msg('ZOOM_ERROR'));
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
zoomIn : function(factor) {
|
||||
zoomIn:function (factor) {
|
||||
if (!factor)
|
||||
factor = 1.2;
|
||||
|
||||
@ -341,26 +343,26 @@ mindplot.Designer = new Class({
|
||||
this._workspace.setZoom(scale);
|
||||
}
|
||||
else {
|
||||
$notify('No more zoom can be applied');
|
||||
$notify($msg('ZOOM_ERROR'));
|
||||
}
|
||||
},
|
||||
|
||||
getModel : function() {
|
||||
getModel:function () {
|
||||
return this._model;
|
||||
},
|
||||
|
||||
createChildForSelectedNode : function() {
|
||||
createChildForSelectedNode:function () {
|
||||
var nodes = this.getModel().filterSelectedTopics();
|
||||
if (nodes.length <= 0) {
|
||||
// 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;
|
||||
|
||||
}
|
||||
if (nodes.length != 1) {
|
||||
|
||||
// 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;
|
||||
}
|
||||
|
||||
@ -374,7 +376,7 @@ mindplot.Designer = new Class({
|
||||
|
||||
},
|
||||
|
||||
_createChildModel : function(topic, mousePos) {
|
||||
_createChildModel:function (topic, mousePos) {
|
||||
// Create a new node ...
|
||||
var model = topic.getModel();
|
||||
var mindmap = model.getMindmap();
|
||||
@ -391,7 +393,7 @@ mindplot.Designer = new Class({
|
||||
return childModel;
|
||||
},
|
||||
|
||||
addDraggedNode: function(event, model) {
|
||||
addDraggedNode:function (event, model) {
|
||||
$assert(event, "event can not be null");
|
||||
$assert(model, "model can not be null");
|
||||
|
||||
@ -405,17 +407,17 @@ mindplot.Designer = new Class({
|
||||
topic.fireEvent("mousedown", event);
|
||||
},
|
||||
|
||||
createSiblingForSelectedNode : function() {
|
||||
createSiblingForSelectedNode:function () {
|
||||
var nodes = this.getModel().filterSelectedTopics();
|
||||
if (nodes.length <= 0) {
|
||||
// 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;
|
||||
|
||||
}
|
||||
if (nodes.length > 1) {
|
||||
// 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;
|
||||
}
|
||||
|
||||
@ -435,12 +437,11 @@ mindplot.Designer = new Class({
|
||||
}
|
||||
|
||||
var parentTopicId = parentTopic.getId();
|
||||
|
||||
this._actionDispatcher.addTopic(siblingModel, parentTopicId, true);
|
||||
}
|
||||
},
|
||||
|
||||
_createSiblingModel : function(topic) {
|
||||
_createSiblingModel:function (topic) {
|
||||
var result = null;
|
||||
var parentTopic = topic.getOutgoingConnectedTopic();
|
||||
if (parentTopic != null) {
|
||||
@ -458,7 +459,7 @@ mindplot.Designer = new Class({
|
||||
return result;
|
||||
},
|
||||
|
||||
showRelPivot : function(event) {
|
||||
showRelPivot:function (event) {
|
||||
// Current mouse position ....
|
||||
var screen = this._workspace.getScreenManager();
|
||||
var pos = screen.getWorkspaceMousePosition(event);
|
||||
@ -468,7 +469,7 @@ mindplot.Designer = new Class({
|
||||
this._relPivot.start(selectedTopic, pos);
|
||||
},
|
||||
|
||||
connectByRelation : function(sourceTopic, targetTopic) {
|
||||
connectByRelation:function (sourceTopic, targetTopic) {
|
||||
$assert(sourceTopic, "sourceTopic can not be null");
|
||||
$assert(targetTopic, "targetTopic can not be null");
|
||||
|
||||
@ -480,25 +481,25 @@ mindplot.Designer = new Class({
|
||||
this._actionDispatcher.connectByRelation(model);
|
||||
},
|
||||
|
||||
needsSave : function() {
|
||||
needsSave:function () {
|
||||
//@Todo: Review all this ...
|
||||
return this._actionDispatcher._actionRunner.hasBeenChanged();
|
||||
},
|
||||
|
||||
|
||||
getMindmapProperties : function() {
|
||||
getMindmapProperties:function () {
|
||||
return {zoom:this.getModel().getZoom()};
|
||||
},
|
||||
|
||||
loadMap : function(mindmapModel) {
|
||||
loadMap:function (mindmapModel) {
|
||||
$assert(mindmapModel, "mindmapModel can not be null");
|
||||
this._mindmap = mindmapModel;
|
||||
|
||||
// try {
|
||||
// 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);
|
||||
layoutManager.addEvent('change', function(event) {
|
||||
layoutManager.addEvent('change', function (event) {
|
||||
var id = event.getId();
|
||||
var topic = this.getModel().findTopicById(id);
|
||||
topic.setPosition(event.getPosition());
|
||||
@ -536,27 +537,27 @@ mindplot.Designer = new Class({
|
||||
// }
|
||||
},
|
||||
|
||||
getMindmap : function() {
|
||||
getMindmap:function () {
|
||||
return this._mindmap;
|
||||
},
|
||||
|
||||
undo : function() {
|
||||
undo:function () {
|
||||
// @Todo: This is a hack...
|
||||
this._actionDispatcher._actionRunner.undo();
|
||||
},
|
||||
|
||||
redo : function() {
|
||||
redo:function () {
|
||||
this._actionDispatcher._actionRunner.redo();
|
||||
},
|
||||
|
||||
isReadOnly : function() {
|
||||
isReadOnly:function () {
|
||||
return this._options.readOnly;
|
||||
},
|
||||
|
||||
_nodeModelToNodeGraph : function(nodeModel, isVisible) {
|
||||
_nodeModelToNodeGraph:function (nodeModel, isVisible) {
|
||||
$assert(nodeModel, "Node model can not be null");
|
||||
var children = nodeModel.getChildren().slice();
|
||||
children = children.sort(function(a, b) {
|
||||
children = children.sort(function (a, b) {
|
||||
return a.getOrder() - b.getOrder()
|
||||
});
|
||||
|
||||
@ -576,7 +577,7 @@ mindplot.Designer = new Class({
|
||||
return nodeGraph;
|
||||
},
|
||||
|
||||
_relationshipModelToRelationship : function(model) {
|
||||
_relationshipModelToRelationship:function (model) {
|
||||
$assert(model, "Node model can not be null");
|
||||
|
||||
var relationship = this._buildRelationship(model);
|
||||
@ -593,12 +594,12 @@ mindplot.Designer = new Class({
|
||||
return relationship;
|
||||
},
|
||||
|
||||
createRelationship : function(model) {
|
||||
createRelationship:function (model) {
|
||||
this._mindmap.addRelationship(model);
|
||||
return this._relationshipModelToRelationship(model);
|
||||
},
|
||||
|
||||
removeRelationship : function(model) {
|
||||
removeRelationship:function (model) {
|
||||
this._mindmap.removeRelationship(model);
|
||||
var relationship = this._relationships[model.getId()];
|
||||
var sourceTopic = relationship.getSourceTopic();
|
||||
@ -609,7 +610,7 @@ mindplot.Designer = new Class({
|
||||
delete this._relationships[model.getId()];
|
||||
},
|
||||
|
||||
_buildRelationship : function (model) {
|
||||
_buildRelationship:function (model) {
|
||||
var elem = this;
|
||||
|
||||
var fromNodeId = model.getFromNode();
|
||||
@ -651,7 +652,7 @@ mindplot.Designer = new Class({
|
||||
relationLine.setModel(model);
|
||||
|
||||
//Add Listeners
|
||||
relationLine.addEvent('onfocus', function(event) {
|
||||
relationLine.addEvent('onfocus', function (event) {
|
||||
elem.onObjectFocusEvent(relationLine, event);
|
||||
});
|
||||
|
||||
@ -661,7 +662,7 @@ mindplot.Designer = new Class({
|
||||
return relationLine;
|
||||
},
|
||||
|
||||
_removeNode : function(node) {
|
||||
_removeNode:function (node) {
|
||||
if (node.getTopicType() != mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) {
|
||||
var parent = node._parent;
|
||||
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
|
||||
};
|
||||
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();
|
||||
if (topicsIds.length > 0) {
|
||||
this._actionDispatcher.changeFontFamilyToTopic(topicsIds, font);
|
||||
@ -709,14 +710,14 @@ mindplot.Designer = new Class({
|
||||
}
|
||||
},
|
||||
|
||||
changeFontStyle : function() {
|
||||
changeFontStyle:function () {
|
||||
var topicsIds = this.getModel().filterTopicsIds();
|
||||
if (topicsIds.length > 0) {
|
||||
this._actionDispatcher.changeFontStyleToTopic(topicsIds);
|
||||
}
|
||||
},
|
||||
|
||||
changeFontColor : function(color) {
|
||||
changeFontColor:function (color) {
|
||||
$assert(color, "color can not be null");
|
||||
|
||||
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;
|
||||
};
|
||||
var validateError = 'Color can not be set to line topics.';
|
||||
@ -738,8 +739,8 @@ mindplot.Designer = new Class({
|
||||
}
|
||||
},
|
||||
|
||||
changeBorderColor : function(color) {
|
||||
var validateFunc = function(topic) {
|
||||
changeBorderColor:function (color) {
|
||||
var validateFunc = function (topic) {
|
||||
return topic.getShapeType() != mindplot.model.TopicShape.LINE;
|
||||
};
|
||||
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();
|
||||
if (topicsIds.length > 0) {
|
||||
this._actionDispatcher.changeFontSizeToTopic(topicsIds, size);
|
||||
}
|
||||
},
|
||||
|
||||
changeTopicShape : function(shape) {
|
||||
var validateFunc = function(topic) {
|
||||
changeTopicShape:function (shape) {
|
||||
var validateFunc = function (topic) {
|
||||
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();
|
||||
if (topicsIds.length > 0) {
|
||||
this._actionDispatcher.changeFontWeightToTopic(topicsIds);
|
||||
}
|
||||
},
|
||||
|
||||
addIconType : function(iconType) {
|
||||
addIconType:function (iconType) {
|
||||
var topicsIds = this.getModel().filterTopicsIds();
|
||||
if (topicsIds.length > 0) {
|
||||
this._actionDispatcher.addFeatureToTopic(topicsIds[0], mindplot.TopicFeature.Icon.id, {id:iconType});
|
||||
}
|
||||
},
|
||||
|
||||
addLink : function() {
|
||||
addLink:function () {
|
||||
var model = this.getModel();
|
||||
var topic = model.selectedTopic();
|
||||
topic.showLinkEditor();
|
||||
},
|
||||
|
||||
addNote : function() {
|
||||
addNote:function () {
|
||||
var model = this.getModel();
|
||||
var topic = model.selectedTopic();
|
||||
topic.showNoteEditor();
|
||||
},
|
||||
|
||||
goToNode : function(node) {
|
||||
goToNode:function (node) {
|
||||
node.setOnFocus(true);
|
||||
this.onObjectFocusEvent(node);
|
||||
},
|
||||
|
||||
getWorkSpace : function() {
|
||||
getWorkSpace:function () {
|
||||
return this._workspace;
|
||||
}
|
||||
}
|
||||
|
@ -193,12 +193,12 @@ mindplot.MainTopic = new Class({
|
||||
var result = "";
|
||||
if ($defined(targetTopic)) {
|
||||
if (targetTopic.getType() == mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) {
|
||||
result = "Main Topic";
|
||||
result = $msg('MAIN_TOPIC');
|
||||
} else {
|
||||
result = "Sub Topic";
|
||||
result = $msg('SUB_TOPIC');
|
||||
}
|
||||
} else {
|
||||
result = "Isolated Topic";
|
||||
result = $msg('ISOLATED_TOPIC');;
|
||||
}
|
||||
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({
|
||||
|
||||
initialize : function(designer, containerId, mapId) {
|
||||
initialize:function (designer, containerId, mapId) {
|
||||
$assert(designer, "designer can not be null");
|
||||
$assert(containerId, "containerId can not be null");
|
||||
|
||||
@ -28,13 +28,13 @@ mindplot.widget.IMenu = new Class({
|
||||
this._mapId = mapId;
|
||||
},
|
||||
|
||||
clear : function() {
|
||||
this._toolbarElems.forEach(function(item) {
|
||||
clear:function () {
|
||||
this._toolbarElems.forEach(function (item) {
|
||||
item.hide();
|
||||
});
|
||||
},
|
||||
|
||||
discard: function() {
|
||||
discard:function () {
|
||||
var persistenceManager = mindplot.PersistenceManager.getInstance();
|
||||
var mindmap = designer.getMindmap();
|
||||
persistenceManager.discard(mindmap.getId());
|
||||
@ -47,7 +47,7 @@ mindplot.widget.IMenu = new Class({
|
||||
|
||||
// Display save message ..
|
||||
if (saveHistory) {
|
||||
$notify("Saving ...");
|
||||
$notify($msg('SAVING'));
|
||||
saveElem.setStyle('cursor', 'wait');
|
||||
} else {
|
||||
console.log("Saving without history ...");
|
||||
@ -56,16 +56,16 @@ mindplot.widget.IMenu = new Class({
|
||||
// Call persistence manager for saving ...
|
||||
var persistenceManager = mindplot.PersistenceManager.getInstance();
|
||||
persistenceManager.save(mindmap, mindmapProp, saveHistory, {
|
||||
onSuccess: function() {
|
||||
onSuccess:function () {
|
||||
if (saveHistory) {
|
||||
saveElem.setStyle('cursor', 'pointer');
|
||||
$notify("Save complete");
|
||||
$notify($msg('SAVE_COMPLETE'));
|
||||
}
|
||||
},
|
||||
onError: function() {
|
||||
onError:function () {
|
||||
if (saveHistory) {
|
||||
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({
|
||||
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);
|
||||
|
||||
baseUrl = !$defined(baseUrl) ? "" : baseUrl;
|
||||
var widgetsBaseUrl = baseUrl + "css/widget";
|
||||
|
||||
// Stop event propagation ...
|
||||
$(this._containerId).addEvent('click', function(event) {
|
||||
$(this._containerId).addEvent('click', function (event) {
|
||||
event.stopPropagation();
|
||||
return false;
|
||||
});
|
||||
|
||||
$(this._containerId).addEvent('dblclick', function(event) {
|
||||
$(this._containerId).addEvent('dblclick', function (event) {
|
||||
event.stopPropagation();
|
||||
return false;
|
||||
});
|
||||
@ -42,7 +42,7 @@ mindplot.widget.Menu = new Class({
|
||||
var fontFamilyBtn = $('fontFamily');
|
||||
if (fontFamilyBtn) {
|
||||
var fontFamilyModel = {
|
||||
getValue: function() {
|
||||
getValue:function () {
|
||||
var nodes = designerModel.filterSelectedTopics();
|
||||
var result = null;
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
@ -56,19 +56,19 @@ mindplot.widget.Menu = new Class({
|
||||
return result;
|
||||
},
|
||||
|
||||
setValue: function(value) {
|
||||
setValue:function (value) {
|
||||
designer.changeFontFamily(value);
|
||||
|
||||
}
|
||||
};
|
||||
this._toolbarElems.push(new mindplot.widget.FontFamilyPanel("fontFamily", fontFamilyModel));
|
||||
this._registerTooltip('fontFamily', "Text font");
|
||||
this._registerTooltip('fontFamily', $msg('FONT_FAMILY'));
|
||||
}
|
||||
|
||||
var fontSizeBtn = $('fontSize');
|
||||
if (fontSizeBtn) {
|
||||
var fontSizeModel = {
|
||||
getValue: function() {
|
||||
getValue:function () {
|
||||
var nodes = designerModel.filterSelectedTopics();
|
||||
var result = null;
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
@ -81,18 +81,18 @@ mindplot.widget.Menu = new Class({
|
||||
}
|
||||
return result;
|
||||
},
|
||||
setValue: function(value) {
|
||||
setValue:function (value) {
|
||||
designer.changeFontSize(value);
|
||||
}
|
||||
};
|
||||
this._toolbarElems.push(new mindplot.widget.FontSizePanel("fontSize", fontSizeModel));
|
||||
this._registerTooltip('fontSize', "Text size");
|
||||
this._registerTooltip('fontSize', $msg('FONT_SIZE'));
|
||||
}
|
||||
|
||||
var topicShapeBtn = $('topicShape');
|
||||
if (topicShapeBtn) {
|
||||
var topicShapeModel = {
|
||||
getValue: function() {
|
||||
getValue:function () {
|
||||
var nodes = designerModel.filterSelectedTopics();
|
||||
var result = null;
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
@ -105,27 +105,27 @@ mindplot.widget.Menu = new Class({
|
||||
}
|
||||
return result;
|
||||
},
|
||||
setValue: function(value) {
|
||||
setValue:function (value) {
|
||||
designer.changeTopicShape(value);
|
||||
}
|
||||
};
|
||||
this._toolbarElems.push(new mindplot.widget.TopicShapePanel("topicShape", topicShapeModel));
|
||||
this._registerTooltip('topicShape', "Topic shape");
|
||||
this._registerTooltip('topicShape', $msg('TOPIC_SHAPE'));
|
||||
}
|
||||
|
||||
var topicIconBtn = $('topicIcon');
|
||||
if (topicIconBtn) {
|
||||
// Create icon panel dialog ...
|
||||
var topicIconModel = {
|
||||
getValue: function() {
|
||||
getValue:function () {
|
||||
return null;
|
||||
},
|
||||
setValue: function(value) {
|
||||
setValue:function (value) {
|
||||
designer.addIconType(value);
|
||||
}
|
||||
};
|
||||
this._toolbarElems.push(new mindplot.widget.IconPanel('topicIcon', topicIconModel));
|
||||
this._registerTooltip('topicIcon', "Icon");
|
||||
this._registerTooltip('topicIcon', $msg('TOPIC_ICON'));
|
||||
}
|
||||
|
||||
// Topic color item ...
|
||||
@ -133,7 +133,7 @@ mindplot.widget.Menu = new Class({
|
||||
if (topicColorBtn) {
|
||||
|
||||
var topicColorModel = {
|
||||
getValue : function() {
|
||||
getValue:function () {
|
||||
var nodes = designerModel.filterSelectedTopics();
|
||||
var result = null;
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
@ -146,12 +146,12 @@ mindplot.widget.Menu = new Class({
|
||||
}
|
||||
return result;
|
||||
},
|
||||
setValue : function (hex) {
|
||||
setValue:function (hex) {
|
||||
designer.changeBackgroundColor(hex);
|
||||
}
|
||||
};
|
||||
this._toolbarElems.push(new mindplot.widget.ColorPalettePanel('topicColor', topicColorModel, widgetsBaseUrl));
|
||||
this._registerTooltip('topicColor', "Topic color");
|
||||
this._registerTooltip('topicColor', $msg('TOPIC_COLOR'));
|
||||
}
|
||||
|
||||
// Border color item ...
|
||||
@ -159,7 +159,7 @@ mindplot.widget.Menu = new Class({
|
||||
if (topicBorderBtn) {
|
||||
var borderColorModel =
|
||||
{
|
||||
getValue : function() {
|
||||
getValue:function () {
|
||||
var nodes = designerModel.filterSelectedTopics();
|
||||
var result = null;
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
@ -172,12 +172,12 @@ mindplot.widget.Menu = new Class({
|
||||
}
|
||||
return result;
|
||||
},
|
||||
setValue : function (hex) {
|
||||
setValue:function (hex) {
|
||||
designer.changeBorderColor(hex);
|
||||
}
|
||||
};
|
||||
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 ...
|
||||
@ -185,7 +185,7 @@ mindplot.widget.Menu = new Class({
|
||||
if (fontColorBtn) {
|
||||
var fontColorModel =
|
||||
{
|
||||
getValue : function() {
|
||||
getValue:function () {
|
||||
var result = null;
|
||||
var nodes = designerModel.filterSelectedTopics();
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
@ -198,107 +198,107 @@ mindplot.widget.Menu = new Class({
|
||||
}
|
||||
return result;
|
||||
},
|
||||
setValue : function (hex) {
|
||||
setValue:function (hex) {
|
||||
designer.changeFontColor(hex);
|
||||
}
|
||||
};
|
||||
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,
|
||||
{'class': 'modalDialog exportModalDialog',
|
||||
{'class':'modalDialog exportModalDialog',
|
||||
closeButton:true,
|
||||
destroyOnClose:true,
|
||||
title:'Export'
|
||||
title:$msg('EXPORT')
|
||||
});
|
||||
reqDialog.setRequestOptions({
|
||||
onRequest: function() {
|
||||
reqDialog.setContent('loading...');
|
||||
onRequest:function () {
|
||||
reqDialog.setContent($msg('LOADING'));
|
||||
}
|
||||
});
|
||||
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');
|
||||
});
|
||||
|
||||
this._registerTooltip('print', "Print");
|
||||
this._registerTooltip('print', $msg('PRINT'));
|
||||
|
||||
this._addButton('zoomIn', false, false, function() {
|
||||
this._addButton('zoomIn', false, false, function () {
|
||||
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();
|
||||
});
|
||||
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();
|
||||
});
|
||||
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();
|
||||
});
|
||||
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();
|
||||
});
|
||||
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();
|
||||
});
|
||||
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();
|
||||
});
|
||||
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);
|
||||
});
|
||||
this._registerTooltip('topicRelation', "Relationship");
|
||||
this._registerTooltip('topicRelation', $msg('TOPIC_RELATIONSHIP'));
|
||||
|
||||
|
||||
this._addButton('topicNote', true, false, function() {
|
||||
this._addButton('topicNote', true, false, function () {
|
||||
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();
|
||||
});
|
||||
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();
|
||||
});
|
||||
this._registerTooltip('fontItalic', "Text italic", "meta+I");
|
||||
this._registerTooltip('fontItalic', $msg('FONT_ITALIC'), "meta+I");
|
||||
|
||||
|
||||
var saveElem = $('save');
|
||||
if (saveElem) {
|
||||
this._addButton('save', false, false, function() {
|
||||
this._addButton('save', false, false, function () {
|
||||
this.save(saveElem, designer, true);
|
||||
}.bind(this));
|
||||
this._registerTooltip('save', "Save", "meta+S");
|
||||
this._registerTooltip('save', $msg('SAVE'), "meta+S");
|
||||
|
||||
|
||||
if (!readOnly) {
|
||||
@ -310,7 +310,7 @@ mindplot.widget.Menu = new Class({
|
||||
}.bind(this));
|
||||
|
||||
// Autosave on a fixed period of time ...
|
||||
(function() {
|
||||
(function () {
|
||||
if (designer.needsSave()) {
|
||||
this.save(saveElem, designer, false);
|
||||
}
|
||||
@ -320,25 +320,25 @@ mindplot.widget.Menu = new Class({
|
||||
|
||||
var discardElem = $('discard');
|
||||
if (discardElem) {
|
||||
this._addButton('discard', false, false, function() {
|
||||
this._addButton('discard', false, false, function () {
|
||||
this.discard();
|
||||
window.location.reload();
|
||||
}.bind(this));
|
||||
this._registerTooltip('discard', "Discard");
|
||||
this._registerTooltip('discard', $msg('DISCARD_CHANGES'));
|
||||
}
|
||||
|
||||
var tagElem = $('tagIt');
|
||||
if (tagElem) {
|
||||
this._addButton('tagIt', false, false, function() {
|
||||
this._addButton('tagIt', false, false, function () {
|
||||
var reqDialog = new MooDialog.Request('c/tags?mapId=' + mapId, null,
|
||||
{'class': 'modalDialog tagItModalDialog',
|
||||
{'class':'modalDialog tagItModalDialog',
|
||||
closeButton:true,
|
||||
destroyOnClose:true,
|
||||
title:'Tags'
|
||||
});
|
||||
reqDialog.setRequestOptions({
|
||||
onRequest: function() {
|
||||
reqDialog.setContent('loading...');
|
||||
onRequest:function () {
|
||||
reqDialog.setContent($msg('LOADING'));
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -347,80 +347,80 @@ mindplot.widget.Menu = new Class({
|
||||
|
||||
var shareElem = $('shareIt');
|
||||
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,
|
||||
{'class': 'modalDialog shareModalDialog',
|
||||
{'class':'modalDialog shareModalDialog',
|
||||
closeButton:true,
|
||||
destroyOnClose:true,
|
||||
title:'Share'
|
||||
title:$msg('COLLABORATE')
|
||||
});
|
||||
reqDialog.setRequestOptions({
|
||||
onRequest: function() {
|
||||
reqDialog.setContent('loading...');
|
||||
onRequest:function () {
|
||||
reqDialog.setContent($msg('LOADING'));
|
||||
}
|
||||
});
|
||||
MooDialog.Request.active = reqDialog;
|
||||
});
|
||||
this._registerTooltip('shareIt', "Share");
|
||||
this._registerTooltip('shareIt', $msg('COLLABORATE'));
|
||||
|
||||
}
|
||||
|
||||
var publishElem = $('publishIt');
|
||||
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,
|
||||
{'class': 'modalDialog publishModalDialog',
|
||||
{'class':'modalDialog publishModalDialog',
|
||||
closeButton:true,
|
||||
destroyOnClose:true,
|
||||
title:'Publish'
|
||||
title:$msg('PUBLISH')
|
||||
});
|
||||
reqDialog.setRequestOptions({
|
||||
onRequest: function() {
|
||||
reqDialog.setContent('loading...');
|
||||
onRequest:function () {
|
||||
reqDialog.setContent($msg('LOADING'));
|
||||
}
|
||||
});
|
||||
MooDialog.Request.active = reqDialog;
|
||||
|
||||
});
|
||||
this._registerTooltip('publishIt', "Publish");
|
||||
this._registerTooltip('publishIt', $msg('PUBLISH'));
|
||||
}
|
||||
|
||||
var historyElem = $('history');
|
||||
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,
|
||||
{'class': 'modalDialog historyModalDialog',
|
||||
{'class':'modalDialog historyModalDialog',
|
||||
closeButton:true,
|
||||
destroyOnClose:true,
|
||||
title:'History'
|
||||
title:$msg('HISTORY')
|
||||
});
|
||||
reqDialog.setRequestOptions({
|
||||
onRequest: function() {
|
||||
reqDialog.setContent('loading...');
|
||||
onRequest:function () {
|
||||
reqDialog.setContent($msg('LOADING'));
|
||||
}
|
||||
});
|
||||
});
|
||||
this._registerTooltip('history', "History");
|
||||
this._registerTooltip('history', $msg('HISTORY'));
|
||||
}
|
||||
|
||||
this._registerEvents(designer);
|
||||
},
|
||||
|
||||
_registerEvents : function(designer) {
|
||||
_registerEvents:function (designer) {
|
||||
|
||||
// Register on close events ...
|
||||
this._toolbarElems.forEach(function(elem) {
|
||||
elem.addEvent('show', function() {
|
||||
this._toolbarElems.forEach(function (elem) {
|
||||
elem.addEvent('show', function () {
|
||||
this.clear()
|
||||
}.bind(this));
|
||||
}.bind(this));
|
||||
|
||||
designer.addEvent('onblur', function() {
|
||||
designer.addEvent('onblur', function () {
|
||||
var topics = designer.getModel().filterSelectedTopics();
|
||||
var rels = designer.getModel().filterSelectedRelations();
|
||||
|
||||
this._toolbarElems.forEach(function(button) {
|
||||
this._toolbarElems.forEach(function (button) {
|
||||
var disable = false;
|
||||
if (button.isTopicAction() && button.isRelAction()) {
|
||||
disable = rels.length == 0 && topics.length == 0;
|
||||
@ -442,11 +442,11 @@ mindplot.widget.Menu = new Class({
|
||||
})
|
||||
}.bind(this));
|
||||
|
||||
designer.addEvent('onfocus', function() {
|
||||
designer.addEvent('onfocus', function () {
|
||||
var topics = designer.getModel().filterSelectedTopics();
|
||||
var rels = designer.getModel().filterSelectedRelations();
|
||||
|
||||
this._toolbarElems.forEach(function(button) {
|
||||
this._toolbarElems.forEach(function (button) {
|
||||
if (button.isTopicAction() && topics.length > 0) {
|
||||
button.enable();
|
||||
}
|
||||
@ -462,16 +462,16 @@ mindplot.widget.Menu = new Class({
|
||||
// Register Events ...
|
||||
if ($(buttonId)) {
|
||||
|
||||
var button = new mindplot.widget.ToolbarItem(buttonId, function(event) {
|
||||
var button = new mindplot.widget.ToolbarItem(buttonId, function (event) {
|
||||
fn(event);
|
||||
this.clear();
|
||||
}.bind(this), {topicAction:topic,relAction:rel});
|
||||
}.bind(this), {topicAction:topic, relAction:rel});
|
||||
|
||||
this._toolbarElems.push(button);
|
||||
}
|
||||
},
|
||||
|
||||
_registerTooltip: function(buttonId, text, shortcut) {
|
||||
_registerTooltip:function (buttonId, text, shortcut) {
|
||||
if ($(buttonId)) {
|
||||
var tooltip = text;
|
||||
if (shortcut) {
|
||||
|
@ -20,8 +20,7 @@
|
||||
<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon">
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var mapId = 'test';
|
||||
var mapId = 'welcome';
|
||||
$(document).addEvent('loadcomplete', function(resource) {
|
||||
var options = loadDesignerOptions();
|
||||
var designer = buildDesigner(options);
|
||||
|
@ -25,12 +25,12 @@ function buildDesigner(options) {
|
||||
|
||||
// Register load events ...
|
||||
designer = new mindplot.Designer(options, container);
|
||||
designer.addEvent('loadSuccess', function() {
|
||||
designer.addEvent('loadSuccess', function () {
|
||||
window.waitDialog.close.delay(1000, window.waitDialog);
|
||||
window.waitDialog = null;
|
||||
});
|
||||
|
||||
window.onerror = function(message, url, lineNo) {
|
||||
window.onerror = function (message, url, lineNo) {
|
||||
// Log error message ...
|
||||
|
||||
if (window.waitDialog) {
|
||||
@ -38,16 +38,16 @@ function buildDesigner(options) {
|
||||
window.waitDialog = null;
|
||||
}
|
||||
var req = new Request({
|
||||
method: 'post',
|
||||
url: "/service/logger/editor",
|
||||
headers: {"Content-Type":"application/json","Accept":"application/json"},
|
||||
method:'post',
|
||||
url:"/service/logger/editor",
|
||||
headers:{"Content-Type":"application/json", "Accept":"application/json"},
|
||||
emulation:false,
|
||||
urlEncoded:false
|
||||
}).post(JSON.encode({
|
||||
jsErrorMsg : "message: " + message + ", line:" + lineNo + ", :" + url,
|
||||
jsStack : window.errorStack,
|
||||
userAgent: navigator.userAgent,
|
||||
mapId: options.mapId}));
|
||||
jsErrorMsg:"message: " + message + ", line:" + lineNo + ", :" + url,
|
||||
jsStack:window.errorStack,
|
||||
userAgent:navigator.userAgent,
|
||||
mapId:options.mapId}));
|
||||
|
||||
errorDialog.show();
|
||||
};
|
||||
@ -72,7 +72,7 @@ function buildDesigner(options) {
|
||||
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.
|
||||
designer._cleanScreen = function() {
|
||||
designer._cleanScreen = function () {
|
||||
menu.clear()
|
||||
};
|
||||
}
|
||||
@ -86,13 +86,12 @@ function loadDesignerOptions(jsonConf) {
|
||||
var result;
|
||||
if (jsonConf) {
|
||||
var request = new Request.JSON({
|
||||
url: jsonConf,
|
||||
url:jsonConf,
|
||||
async:false,
|
||||
onSuccess:
|
||||
function(options) {
|
||||
this.options = options;
|
||||
onSuccess:function (options) {
|
||||
this.options = options;
|
||||
|
||||
}.bind(this)
|
||||
}.bind(this)
|
||||
}
|
||||
);
|
||||
request.get();
|
||||
@ -101,15 +100,15 @@ function loadDesignerOptions(jsonConf) {
|
||||
else {
|
||||
// Set workspace screen size as default. In this way, resize issues are solved.
|
||||
var containerSize = {
|
||||
height: parseInt(screen.height),
|
||||
width: parseInt(screen.width)
|
||||
height:parseInt(screen.height),
|
||||
width:parseInt(screen.width)
|
||||
};
|
||||
|
||||
var viewPort = {
|
||||
height: parseInt(window.innerHeight - 70), // Footer and Header
|
||||
width: parseInt(window.innerWidth)
|
||||
height:parseInt(window.innerHeight - 70), // Footer and Header
|
||||
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;
|
||||
}
|
||||
@ -117,7 +116,7 @@ function loadDesignerOptions(jsonConf) {
|
||||
editor = {};
|
||||
editor.WaitDialog = new Class({
|
||||
Extends:MooDialog,
|
||||
initialize : function() {
|
||||
initialize:function () {
|
||||
var panel = this._buildPanel();
|
||||
this.parent({
|
||||
closeButton:false,
|
||||
@ -125,36 +124,36 @@ editor.WaitDialog = new Class({
|
||||
autoOpen:false,
|
||||
useEscKey:false,
|
||||
title:'Loading ...',
|
||||
onInitialize: function(wrapper) {
|
||||
onInitialize:function (wrapper) {
|
||||
wrapper.setStyle('opacity', 0);
|
||||
this.wrapper.setStyle('display', 'none');
|
||||
this.fx = new Fx.Morph(wrapper, {
|
||||
duration: 100,
|
||||
transition: Fx.Transitions.Bounce.easeOut
|
||||
duration:100,
|
||||
transition:Fx.Transitions.Bounce.easeOut
|
||||
});
|
||||
},
|
||||
|
||||
onBeforeOpen: function() {
|
||||
onBeforeOpen:function () {
|
||||
this.overlay = new Overlay(this.options.inject, {
|
||||
duration: this.options.duration
|
||||
duration:this.options.duration
|
||||
});
|
||||
this.overlay.open();
|
||||
this.fx.start({
|
||||
'margin-top': [-200, -100],
|
||||
opacity: [0, 1]
|
||||
}).chain(function() {
|
||||
'margin-top':[-200, -100],
|
||||
opacity:[0, 1]
|
||||
}).chain(function () {
|
||||
this.fireEvent('show');
|
||||
this.wrapper.setStyle('display', 'block');
|
||||
|
||||
}.bind(this));
|
||||
},
|
||||
|
||||
onBeforeClose: function() {
|
||||
onBeforeClose:function () {
|
||||
this.fx.start({
|
||||
'margin-top': [-100, 0],
|
||||
opacity: 0,
|
||||
duration: 200
|
||||
}).chain(function() {
|
||||
'margin-top':[-100, 0],
|
||||
opacity:0,
|
||||
duration:200
|
||||
}).chain(function () {
|
||||
this.fireEvent('hide');
|
||||
this.wrapper.setStyle('display', 'none');
|
||||
|
||||
@ -164,23 +163,23 @@ editor.WaitDialog = new Class({
|
||||
this.setContent(panel);
|
||||
},
|
||||
|
||||
_buildPanel : function () {
|
||||
_buildPanel:function () {
|
||||
var result = new Element('div');
|
||||
result.setStyles({
|
||||
'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.inject(result);
|
||||
return result;
|
||||
},
|
||||
|
||||
show : function() {
|
||||
show:function () {
|
||||
this.open();
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
destroy:function () {
|
||||
this.parent();
|
||||
this.overlay.destroy();
|
||||
}
|
||||
@ -190,75 +189,76 @@ editor.WaitDialog = new Class({
|
||||
|
||||
editor.FatalErrorDialog = new Class({
|
||||
Extends:MooDialog,
|
||||
initialize : function() {
|
||||
var panel = this._buildPanel();
|
||||
initialize:function () {
|
||||
this.parent({
|
||||
closeButton:false,
|
||||
destroyOnClose:true,
|
||||
autoOpen:true,
|
||||
useEscKey:false,
|
||||
title:'Outch!!. An unexpected error has occurred',
|
||||
onInitialize: function(wrapper) {
|
||||
onInitialize:function (wrapper) {
|
||||
wrapper.setStyle('opacity', 0);
|
||||
this.wrapper.setStyle('display', 'none');
|
||||
this.fx = new Fx.Morph(wrapper, {
|
||||
duration: 100,
|
||||
transition: Fx.Transitions.Bounce.easeOut
|
||||
duration:100,
|
||||
transition:Fx.Transitions.Bounce.easeOut
|
||||
});
|
||||
},
|
||||
|
||||
onBeforeOpen: function() {
|
||||
onBeforeOpen:function () {
|
||||
var panel = this._buildPanel();
|
||||
this.setContent(panel);
|
||||
|
||||
this.overlay = new Overlay(this.options.inject, {
|
||||
duration: this.options.duration
|
||||
duration:this.options.duration
|
||||
});
|
||||
if (this.options.closeOnOverlayClick)
|
||||
this.overlay.addEvent('click', this.close.bind(this));
|
||||
this.overlay.open();
|
||||
this.fx.start({
|
||||
'margin-top': [-200, -100],
|
||||
opacity: [0, 1]
|
||||
}).chain(function() {
|
||||
'margin-top':[-200, -100],
|
||||
opacity:[0, 1]
|
||||
}).chain(function () {
|
||||
this.fireEvent('show');
|
||||
this.wrapper.setStyle('display', 'block');
|
||||
}.bind(this));
|
||||
},
|
||||
|
||||
onBeforeClose: function() {
|
||||
onBeforeClose:function () {
|
||||
this.fx.start({
|
||||
'margin-top': [-100, 0],
|
||||
opacity: 0,
|
||||
duration: 200
|
||||
}).chain(function() {
|
||||
'margin-top':[-100, 0],
|
||||
opacity:0,
|
||||
duration:200
|
||||
}).chain(function () {
|
||||
this.wrapper.setStyle('display', 'none');
|
||||
this.fireEvent('hide');
|
||||
|
||||
}.bind(this));
|
||||
}}
|
||||
);
|
||||
this.setContent(panel);
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
destroy:function () {
|
||||
this.parent();
|
||||
this.overlay.destroy();
|
||||
},
|
||||
|
||||
_buildPanel : function () {
|
||||
_buildPanel:function () {
|
||||
var result = new Element('div');
|
||||
result.setStyles({
|
||||
'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);
|
||||
|
||||
var img = new Element('img', {'src': 'images/alert-sign.png'});
|
||||
var img = new Element('img', {'src':'images/alert-sign.png'});
|
||||
img.inject(result);
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
show : function() {
|
||||
show:function () {
|
||||
this.open();
|
||||
}
|
||||
|
||||
@ -266,14 +266,14 @@ editor.FatalErrorDialog = new Class({
|
||||
|
||||
|
||||
editor.Help = {
|
||||
buildHelp:function(panel) {
|
||||
buildHelp:function (panel) {
|
||||
var container = new Element('div');
|
||||
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);
|
||||
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 sOptions;
|
||||
|
||||
@ -289,14 +289,14 @@ editor.Help = {
|
||||
panel.hidePanel();
|
||||
});
|
||||
|
||||
container.addEvent('show', function() {
|
||||
container.addEvent('show', function () {
|
||||
content1.effect('opacity', {duration:800}).start(0, 100);
|
||||
var eff = function() {
|
||||
var eff = function () {
|
||||
content2.effect('opacity', {duration:800}).start(0, 100);
|
||||
};
|
||||
eff.delay(150);
|
||||
});
|
||||
container.addEvent('hide', function() {
|
||||
container.addEvent('hide', function () {
|
||||
content1.effect('opacity').set(0);
|
||||
content2.effect('opacity').set(0)
|
||||
});
|
||||
@ -304,8 +304,8 @@ editor.Help = {
|
||||
content2.inject(container);
|
||||
return container;
|
||||
},
|
||||
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'});
|
||||
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 icon = new Element('div');
|
||||
icon.addEvent('click', onClickFn);
|
||||
@ -318,11 +318,11 @@ editor.Help = {
|
||||
textContainer.innerHTML = text;
|
||||
textContainer.inject(container);
|
||||
|
||||
container.addEvent('mouseover', function() {
|
||||
container.addEvent('mouseover', function () {
|
||||
$(this).setStyle('border-top', '1px solid #BBB4D6');
|
||||
$(this).setStyle('border-bottom', '1px solid #BBB4D6');
|
||||
}.bind(this));
|
||||
container.addEvent('mouseout', function() {
|
||||
container.addEvent('mouseout', function () {
|
||||
$(this).setStyle('border-top', '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
|
||||
SHORT_FAQ=FAQ
|
||||
LOGIN=Login
|
||||
SUBJECT=Subject
|
||||
MSG=Message
|
||||
PROBLEM_DETAIL=Description
|
||||
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.
|
||||
SITE.TITLE=WiseMapping
|
||||
SITE.SLOGAN=Visual Thinking Evolution
|
||||
SAVE=Save
|
||||
DISCARD_CHANGES=Discard Changes
|
||||
KEYBOARD=Keyboard Shortcuts
|
||||
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.
|
||||
CREATOR=Creator
|
||||
CREATION_TIME=Creation Time
|
||||
STATE=State
|
||||
EDITORS=Editors
|
||||
VIEWER=Viewer
|
||||
PRIVATE=Private
|
||||
PUBLIC=Public
|
||||
SHARED=Shared
|
||||
ONLY_VIEW_PRIVATE = This mindmap can be viewed by you only.
|
||||
ALL_VIEW_PUBLIC = This mindmap can be viewed by any user.
|
||||
NEW_MAP_MSG=Create a new map
|
||||
|
||||
TAG=Tag
|
||||
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.
|
||||
DETAIL=Detail
|
||||
INSERT=Insert
|
||||
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.
|
||||
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_SNIPPET=Copy this snippet of code to embed in your blog or page
|
||||
ZOOM=Zoom
|
||||
ZOOM_IN=Zoom In
|
||||
ZOOM_OUT=Zoom Out
|
||||
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
|
||||
TOPIC_RELATIONSHIP=Relationship
|
||||
RELATION=Relationship
|
||||
TOPIC_NOTE=Add Note
|
||||
NOTE=Note
|
||||
FONT=Font
|
||||
FONT_TYPE=Font Type
|
||||
TYPE=Type
|
||||
FONT_SIZE=Font Size
|
||||
SIZE=Size
|
||||
FONT_BOLD=Bold
|
||||
BOLD=Bold
|
||||
FONT_ITALIC=Italic
|
||||
ITALIC=Italic
|
||||
FONT_COLOR=Font Color
|
||||
COLOR=Color
|
||||
@ -156,10 +123,6 @@ CONTACT=Contact
|
||||
|
||||
ACCOUNT_ACTIVED= Your account has been activated
|
||||
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.
|
||||
REVERT=revert
|
||||
INVALID_EMAIL_ERROR = The e-mail was not verified
|
||||
|
@ -29,7 +29,6 @@ CHANGE_PASSWORD=Cambiar la Contrase\u00f1a
|
||||
FAQ=Preguntas Frecuentes
|
||||
SHORT_FAQ=FAQ
|
||||
LOGIN=Entrar
|
||||
MSG=Mensaje
|
||||
MIND_FILE=Archivo
|
||||
EXPORT=Exportar
|
||||
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)
|
||||
STATUS=Estado
|
||||
DELETE=Borrar
|
||||
SAVE=Guardar
|
||||
DISCARD_CHANGES=Descartar cambios
|
||||
ABOUT=Acerca
|
||||
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.
|
||||
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.
|
||||
CREATOR=Creador
|
||||
CREATION_TIME=Fecha de creación
|
||||
STATE=Estado
|
||||
EDITORS=Editores
|
||||
PUBLIC=Público
|
||||
SHARED=Compartido
|
||||
@ -67,7 +62,6 @@ ALL_VIEW_PUBLIC = Este documento puede ser visualizado por cualquier usuario.
|
||||
NEW_MAP_MSG=Crear un nuevo mapa
|
||||
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.
|
||||
INSERT=Insertar
|
||||
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.
|
||||
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
|
||||
PRIVACYPOLICY= Politica de privacidad
|
||||
EXPORT_DETAILS=Exporte el mapa en el formato que desee y comience a utlizarlo en sus presentaciones
|
||||
DETAILS=Detalles
|
||||
WHO_ARE_WE=Quienes somos?
|
||||
MEMBERS=Miembros
|
||||
WELCOME=Bienvenido
|
||||
@ -89,25 +82,6 @@ DIRECT_LINK=Enlace directo
|
||||
BLOG_INCLUSION=Para incluirlo en blogs y web pages
|
||||
|
||||
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_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.
|
||||
@ -125,8 +99,6 @@ CONTACT=Contacto
|
||||
KEYBOARD=Atajos de Teclado
|
||||
KEYBOARD_MSG=Estos son los atajos de teclado que puede utilizar en el editor!
|
||||
|
||||
UNDO_EDITION=Undo Edition
|
||||
REDO_EDITION=Redo Edition
|
||||
REVERT=revertir
|
||||
EXPORT_FORMAT_RESTRICTIONS=Important: Exporting to Image, PDF or SVG is available only in the editor toolbar.
|
||||
STARRED=Importantes
|
||||
@ -140,11 +112,8 @@ CHANGE_PASSWORD_SUCCESS=Contrase\u00f1a cambiada exitosamente
|
||||
CONFIRM_NEW_PASSWORD=Confirmar Contrase\u00f1a
|
||||
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
|
||||
UNDO=Rehacer
|
||||
TYPE=Tipo
|
||||
NOTE=Nota
|
||||
SHARE=Compartir
|
||||
SHAPE=Figura
|
||||
SEND_ME_A_NEW_PASSWORD=Enviar Nueva Contrase\u00f1a
|
||||
ALL_MAPS=Todos
|
||||
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_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.
|
||||
|
||||
|
||||
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_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
|
||||
BOLD=Negrita
|
||||
|
@ -50,7 +50,7 @@ solid black" src="${baseUrl}/c/maps/${mindmap.id}/embed?zoom=1"> </iframe&
|
||||
</div>
|
||||
|
||||
<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"
|
||||
style="width:400px"
|
||||
readonly="readonly"/>
|
||||
|
Loading…
Reference in New Issue
Block a user