Add 18n support to the editor.

This commit is contained in:
Paulo Gustavo Veiga 2012-07-01 17:21:02 -03:00
parent cd46647602
commit 2757a5ddb4
16 changed files with 878 additions and 333 deletions

View File

@ -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>

View 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

View 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>.',

View 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

View File

@ -71,7 +71,7 @@ mindplot.CentralTopic = new Class({
},
_defaultText : function() {
return "Central Topic";
return $msg('CENTRAL_TOPIC');
},
_defaultBackgroundColor : function() {

View File

@ -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;
}
}

View File

@ -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;
},

View 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'
}
};

View File

@ -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'));
}
}
});

View File

@ -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) {

View File

@ -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);

View File

@ -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,10 +86,9 @@ function loadDesignerOptions(jsonConf) {
var result;
if (jsonConf) {
var request = new Request.JSON({
url: jsonConf,
url:jsonConf,
async:false,
onSuccess:
function(options) {
onSuccess:function (options) {
this.options = options;
}.bind(this)
@ -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');

View 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 &amp; 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&amp;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 &amp; 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 &amp; 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 &amp; 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&amp;S Policies &amp; 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 &amp; 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 &amp; 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 &amp; 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>

View File

@ -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

View File

@ -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&oacute;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&oacute;n
STATE=Estado
EDITORS=Editores
PUBLIC=P&uacute;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&oacute;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&oacute;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&oacute;n de escritorio gra
TERMSOFUSE=T&eacute;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&oacute;pico
TOPIC_BACKGROUND_COLOR=Color de fondo del t&oacute;pico
TOPIC_BORDER_COLOR=Color del borde de t&oacute;pico
TOPIC_SHAPE=Forma del t&oacute;pico
TOPIC_ADD=Agregar t&oacute;pico
TOPIC_DELETE=Borrar t&oacute;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

View File

@ -50,7 +50,7 @@ solid black" src="${baseUrl}/c/maps/${mindmap.id}/embed?zoom=1"&gt; &lt;/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"/>