Commit cc080852 authored by Ignacio Fagian's avatar Ignacio Fagian
Browse files

Merge branch 'master' into feature/discontinuidades

parents beb9206d 051dbbbb
...@@ -23,12 +23,12 @@ ...@@ -23,12 +23,12 @@
"@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.26", "@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.26",
"@ngx-translate/core": "^7.2.2", "@ngx-translate/core": "^7.2.2",
"@ngx-translate/http-loader": "^0.1.0", "@ngx-translate/http-loader": "^0.1.0",
"function-plot": "git://github.com/diego-rey/function-plot.git#feature/discontinuidades",
"graph3D": "git://github.com/ifagian/graph3D#master",
"core-js": "^2.4.1", "core-js": "^2.4.1",
"d3": "^4.12.2", "d3": "^4.12.2",
"flag-icon-css": "^3.2.1", "flag-icon-css": "^3.2.1",
"font-awesome": "^4.7.0", "font-awesome": "^4.7.0",
"function-plot": "git://github.com/diego-rey/function-plot.git#feature/integration-multigraf-shape",
"graph3D": "git://github.com/ifagian/graph3D#master",
"ionicons": "^3.0.0", "ionicons": "^3.0.0",
"jq-console": "^2.13.2", "jq-console": "^2.13.2",
"jquery": "^3.2.1", "jquery": "^3.2.1",
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
"ng2-slider-component": "^1.0.9", "ng2-slider-component": "^1.0.9",
"rxjs": "^5.1.0", "rxjs": "^5.1.0",
"tippy.js": "^1.2.0", "tippy.js": "^1.2.0",
"web-animations-js": "^2.3.1",
"zone.js": "^0.8.4" "zone.js": "^0.8.4"
}, },
"devDependencies": { "devDependencies": {
......
...@@ -84,10 +84,11 @@ export class Graph3DComponent implements AfterViewInit { ...@@ -84,10 +84,11 @@ export class Graph3DComponent implements AfterViewInit {
} }
onResize(event){ onResize(event){
const {width, height} = this.graph3DRef.nativeElement.getBoundingClientRect(); const {width, height} = this.graph3DRef.nativeElement.getBoundingClientRect();
if (width > 0 && height > 0) if (width > 0 && height > 0) {
graph3DLib.changeSize({width, height}); graph3DLib.changeSize({width, height});
}
} }
onAnimationChangeSpeed = (value) => { onAnimationChangeSpeed = (value) => {
......
...@@ -21,12 +21,12 @@ ...@@ -21,12 +21,12 @@
// export const GHCI_URL = 'ws://35.199.110.129:9090/endpoint'; // export const GHCI_URL = 'ws://35.199.110.129:9090/endpoint';
// Google cloud platform v2 // Google cloud platform v2
export const SERVER = 'http://35.198.52.82:9090'; // export const SERVER = 'http://35.198.52.82:9090';
export const GHCI_URL = 'ws://35.198.52.82:9090/endpoint'; // export const GHCI_URL = 'ws://35.198.52.82:9090/endpoint';
// psico // psico
// export const SERVER = 'https://matefun.math.psico.edu.uy'; export const SERVER = 'https://matefun.math.psico.edu.uy';
// export const GHCI_URL = 'wss://matefun.math.psico.edu.uy/endpoint'; export const GHCI_URL = 'wss://matefun.math.psico.edu.uy/endpoint';
//diego docker //diego docker
......
...@@ -186,10 +186,10 @@ export class GHCIService { ...@@ -186,10 +186,10 @@ export class GHCIService {
var line = this.lastWarning; var line = this.lastWarning;
var title = this.warningText; var title = this.warningText;
var columna = title.split("columna:")[1].split("}")[0]; var columna = title.split(`${this.translateService.get('i18n.codemirror.command.column').value}:`)[1].split("}")[0];
var warningTextToShow = title.split("}")[1]; var warningTextToShow = title.split("}")[1];
var warningFinalText = "En columna " + columna + ": " + warningTextToShow; var warningFinalText = `${this.translateService.get('i18n.codemirror.command.inColumn').value}` + columna + ": " + warningTextToShow;
if(this.codemirrorRef!==null){ if(this.codemirrorRef!==null){
var makeMarker = function() { var makeMarker = function() {
...@@ -215,16 +215,21 @@ export class GHCIService { ...@@ -215,16 +215,21 @@ export class GHCIService {
if(this.warningStepReaded===0){ if(this.warningStepReaded===0){
try{ try{
// retrive line of warning
var line = m.resultado
.split(`${this.translateService.get('i18n.codemirror.command.outWarning').value}:`)[1]
.trim()
.split(`${this.translateService.get('i18n.codemirror.command.line').value}:`)[1]
.split(" ")[1]-1;
var line = m.resultado.split("OUTAdvertencia:")[1].trim().split("línea:")[1].split(" ")[1]-1;
this.lastWarning = line; this.lastWarning = line;
this.warnings.push(line); this.warnings.push(line);
var warningText = m.resultado.split("OUTAdvertencia:")[1].trim(); var warningText = m.resultado.split(`${this.translateService.get('i18n.codemirror.command.outWarning').value}:`)[1].trim();
this.warningStepReaded = 1; this.warningStepReaded = 1;
this.warningText = warningText; this.warningText = warningText;
if(this.waitingForWarning){ if(this.waitingForWarning){
this.outputConsole('El programa contiene advertencias\n'); this.outputConsole(`${this.translateService.get('i18n.msg.codemirror.consoleWarnings').value}\n`);
this.waitingForWarning = false; this.waitingForWarning = false;
} }
......
...@@ -80,7 +80,8 @@ ...@@ -80,7 +80,8 @@
"infixOperatorsWarnings" : "Show warnings of use of infix operators", "infixOperatorsWarnings" : "Show warnings of use of infix operators",
"cursorPosition" : "Cursor position", "cursorPosition" : "Cursor position",
"showHints" : "Show autocomplete hints", "showHints" : "Show autocomplete hints",
"functionTyping" : "Show functions typing" "functionTyping" : "Show functions typing",
"consoleWarnings": "Program contains warnings"
}, },
"figure" : { "figure" : {
"multiPlot" : "Multi graph", "multiPlot" : "Multi graph",
......
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
"inLine" : "en línea", "inLine" : "en línea",
"column" : "columna", "column" : "columna",
"inColumn" : "En columna", "inColumn" : "En columna",
"line" : "línea", "line" : "linea",
"outWarning" : "OUTAdvertencia" "outWarning" : "OUTAdvertencia"
} }
}, },
...@@ -80,7 +80,8 @@ ...@@ -80,7 +80,8 @@
"infixOperatorsWarnings" : "Mostrar advertencias de uso de operadores infijos", "infixOperatorsWarnings" : "Mostrar advertencias de uso de operadores infijos",
"cursorPosition" : "Posición del cursor", "cursorPosition" : "Posición del cursor",
"showHints" : "Mostrar sugerencias de autocompletar", "showHints" : "Mostrar sugerencias de autocompletar",
"functionTyping" : "Mostrar tipado de funciones" "functionTyping" : "Mostrar tipado de funciones",
"consoleWarnings": "El programa contiene advertencias"
}, },
"figure" : { "figure" : {
"multiPlot" : "Multi gráfica", "multiPlot" : "Multi gráfica",
......
...@@ -19,19 +19,19 @@ ...@@ -19,19 +19,19 @@
*/ */
/** IE9, IE10 and IE11 requires all of the following polyfills. **/ /** IE9, IE10 and IE11 requires all of the following polyfills. **/
// import 'core-js/es6/symbol'; import 'core-js/es6/symbol';
// import 'core-js/es6/object'; import 'core-js/es6/object';
// import 'core-js/es6/function'; import 'core-js/es6/function';
// import 'core-js/es6/parse-int'; import 'core-js/es6/parse-int';
// import 'core-js/es6/parse-float'; import 'core-js/es6/parse-float';
// import 'core-js/es6/number'; import 'core-js/es6/number';
// import 'core-js/es6/math'; import 'core-js/es6/math';
// import 'core-js/es6/string'; import 'core-js/es6/string';
// import 'core-js/es6/date'; import 'core-js/es6/date';
// import 'core-js/es6/array'; import 'core-js/es6/array';
// import 'core-js/es6/regexp'; import 'core-js/es6/regexp';
// import 'core-js/es6/map'; import 'core-js/es6/map';
// import 'core-js/es6/set'; import 'core-js/es6/set';
/** IE10 and IE11 requires the following for NgClass support on SVG elements */ /** IE10 and IE11 requires the following for NgClass support on SVG elements */
// import 'classlist.js'; // Run `npm install --save classlist.js`. // import 'classlist.js'; // Run `npm install --save classlist.js`.
...@@ -46,7 +46,7 @@ import 'core-js/es7/reflect'; ...@@ -46,7 +46,7 @@ import 'core-js/es7/reflect';
/** ALL Firefox browsers require the following to support `@angular/animation`. **/ /** ALL Firefox browsers require the following to support `@angular/animation`. **/
// import 'web-animations-js'; // Run `npm install --save web-animations-js`. import 'web-animations-js'; // Run `npm install --save web-animations-js`.
......
#Deben definirse moodle_endpoint y moodle_group para conectar con el API de moodle. #Deben definirse moodle_endpoint y moodle_group para conectar con el API de moodle.
#De lo contrario solo se realizara login local. #De lo contrario solo se realizara login local.
moodle_endpoint=https://matefun.moodlecloud.com moodle_endpoint=https://cursos-matefun.moodlecloud.com
moodle_group=introduction to moodle moodle_group=MateFun
#El grupo se define como liceoId#grado#grupo#anio #El grupo se define como liceoId#grado#grupo#anio
#Si no se sefine default_group entonces no se asigna grupo para docente o alumno. #Si no se sefine default_group entonces no se asigna grupo para docente o alumno.
default_group=0#2#Año#2017 #default_group=0#2#Año#2017
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-01-13 06:05-0800\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
# MateFun messages.pot file
#: src/MateFun/ReservedNames.hs:20
msgid "3D Figure"
msgstr "3D Figure"
#: src/MateFun.hs:346
msgid "3D Figures"
msgstr "3D Figures"
#: src/MateFun/ReservedNames.hs:79
msgid "<function>"
msgstr "<function>"
#: src/MateFun/ReservedNames.hs:78
msgid "<program>"
msgstr "<program>"
#: src/MateFun/ReservedNames.hs:81
msgid "<set>"
msgstr "<set>"
#: src/MateFun/ReservedNames.hs:80
msgid "<variable>"
msgstr "<variable>"
#: src/MateFun/Core.hs:195
msgid "Any"
msgstr "Any"
#: src/MateFun/Core.hs:182
msgid "Any Enumerate"
msgstr "Any Enumerate"
#: src/MateFun/Core.hs:183
msgid "Any Tuple"
msgstr "Any Tuple"
#: src/MateFun/ReservedNames.hs:15
msgid "Black"
msgstr "Black"
#: src/MateFun/ReservedNames.hs:11
msgid "Blue"
msgstr "Blue"
#: src/MateFun/Core.hs:108
msgid "Brain exploded!"
msgstr "Brain exploded!"
#: src/MateFun.hs:126 src/MateFun.hs:142
msgid "Bye!!"
msgstr "Bye!!"
#: src/MateFun/Parser.hs:217
msgid "Circular inclusion"
msgstr "Circular inclusion"
#: src/MateFun/ReservedNames.hs:21
msgid "Color"
msgstr "Color"
#: src/MateFun.hs:347
msgid "Colors"
msgstr "Colors"
#: src/MateFun/Parser.hs:222
msgid "Could not open file"
msgstr "Could not open file"
#: src/MateFun/TypeCheck.hs:75
msgid "Division is a partial function, not defined in 0."
msgstr "Division is a partial function, not defined in 0."
#: src/MateFun/ReservedNames.hs:103
msgid "Does not exist"
msgstr "Does not exist"
#: src/MateFun/TypeCheck.hs:76
msgid "Empty sequence."
msgstr "Empty sequence."
#: src/MateFun/ReservedNames.hs:22
msgid "EmptyFig"
msgstr "EmptyFig"
#: src/MateFun/ReservedNames.hs:23
msgid "EmptyFig3D"
msgstr "EmptyFig3D"
#: src/MateFun.hs:54
msgid "Enables arithmetic function usage warnings"
msgstr "Enables arithmetic function usage warnings"
#: src/MateFun.hs:52
msgid "Enables function usage warnings"
msgstr "Enables function usage warnings"
#: src/MateFun.hs:164
msgid "Error"
msgstr "Error"
#: src/MateFun.hs:309
msgid "Error in line"
msgstr "Error in line"
#: src/MateFun.hs:124
msgid "Error reading command to interpretate."
msgstr "Error reading command to interpretate."
#: src/MateFun/TypeCheck.hs:74
msgid "Evaluation steps limit exceeded."
msgstr "Evaluation steps limit exceeded."
#: src/MateFun/TypeCheck.hs:70
msgid "Expected elements of"
msgstr "Expected elements of"
#: src/MateFun.hs:47
msgid "FILE"
msgstr "FILE"
#: src/MateFun/ReservedNames.hs:19
msgid "Figure"
msgstr "Figure"
#: src/MateFun.hs:345
msgid "Figures"
msgstr "Figures"
#: src/MateFun.hs:287 src/MateFun.hs:288
msgid "Found"
msgstr "Found"
#: src/MateFun/ReservedNames.hs:102
msgid "Function"
msgstr "Function"
#: src/MateFun.hs:360
msgid "Graph"
msgstr "Graph"
#: src/MateFun/ReservedNames.hs:17
msgid "Gray"
msgstr "Gray"
#: src/MateFun/ReservedNames.hs:14
msgid "Green"
msgstr "Green"
#: src/MateFun.hs:343
msgid "Integer"
msgstr "Integer"
#: src/MateFun/TypeCheck.hs:83
msgid "Interpreter"
msgstr "Interpreter"
#: src/MateFun.hs:327
msgid "Interpreter Commands:"
msgstr "Interpreter Commands:"
#: src/MateFun/TypeCheck.hs:71
msgid "Invalid index."
msgstr "Invalid index."
#: src/MateFun.hs:163
msgid "Loading"
msgstr "Loading"
#: src/MateFun.hs:230
msgid "No File"
msgstr "No File"
#: src/MateFun.hs:140
msgid "OUTError reading command to interpretate."
msgstr "OUTError reading command to interpretate."
#: src/MateFun/ReservedNames.hs:97
msgid "On definition of"
msgstr "On definition of"
#: src/MateFun/TypeCheck.hs:57
msgid "On set definition"
msgstr "On set definition"
#: src/MateFun/TypeCheck.hs:72
msgid "Out of range index."
msgstr "Out of range index."
#: src/MateFun.hs:49
msgid "PATH"
msgstr "PATH"
#: src/MateFun/Core.hs:108
msgid "Please report this error with code"
msgstr "Please report this error with code"
#: src/MateFun.hs:344
msgid "Real"
msgstr "Real"
#: src/MateFun/ReservedNames.hs:13
msgid "Red"
msgstr "Red"
#: src/MateFun/ReservedNames.hs:101
msgid "Set"
msgstr "Set"
#: src/MateFun.hs:50
msgid "Sets a path PATH where to find the program to evaluate"
msgstr "Sets a path PATH where to find the program to evaluate"
#: src/MateFun.hs:48
msgid "Sets the file FILE with the program to evaluate"
msgstr "Sets the file FILE with the program to evaluate"
#: src/MateFun/TypeCheck.hs:63
msgid "The element"
msgstr "The element"
#: src/MateFun/ReservedNames.hs:98
msgid "The number of arguments does not match with domain of the function"
msgstr "The number of arguments does not match with domain of the function"
#: src/MateFun/ReservedNames.hs:106
msgid "There is a chance that its value is out of the set."
msgstr "There is a chance that its value is out of the set."
#: src/MateFun/TypeCheck.hs:73
msgid "Tuple length is not the expected"
msgstr "Tuple length is not the expected"
#: src/MateFun.hs:90
msgid "Usage: MateFun [-c FILE] [-p PATH] [-f] [-i]"
msgstr "Usage: MateFun [-c FILE] [-p PATH] [-f] [-i]"
#: src/MateFun/TypeCheck.hs:68
msgid "Value"
msgstr "Value"
#: src/MateFun/TypeCheck.hs:64
msgid "Variable"
msgstr "Variable"
#: src/MateFun/Warning.hs:21
msgid "Warning"
msgstr "Warning"
#: src/MateFun.hs:56
msgid "Web Mode"
msgstr "Web Mode"
#: src/MateFun/ReservedNames.hs:16
msgid "White"
msgstr "White"
#: src/MateFun/ReservedNames.hs:12
msgid "Yellow"
msgstr "Yellow"
#: src/MateFun/TypeCheck.hs:75
msgid "Zero division."
msgstr "Zero division."
#: src/MateFun/ReservedNames.hs:100
msgid "against"
msgstr "against"
#: src/MateFun/TypeCheck.hs:69
msgid "because the following condition is false"
msgstr "because the following condition is false"
#: src/MateFun.hs:268
msgid "but expected"
msgstr "but expected"
#: src/MateFun/TypeCheck.hs:70
msgid "but found"
msgstr "but found"
#: src/MateFun/ReservedNames.hs:33
msgid "circ"
msgstr "circ"
#: src/MateFun/ReservedNames.hs:37
msgid "color"
msgstr "color"
#: src/MateFun/ReservedNames.hs:50
msgid "color3D"
msgstr "color3D"
#: src/MateFun.hs:309 src/MateFun/TypeCheck.hs:85
msgid "column"
msgstr "column"
#: src/MateFun/ReservedNames.hs:28
msgid "cos"
msgstr "cos"
#: src/MateFun/ReservedNames.hs:47
msgid "cube"
msgstr "cube"
#: src/MateFun/ReservedNames.hs:46
msgid "cylinder"
msgstr "cylinder"
#: src/MateFun/Parser.hs:217
msgid "depends on itself."
msgstr "depends on itself."
#: src/MateFun/TypeCheck.hs:63
msgid "does not belong to any defined set."
msgstr "does not belong to any defined set."
#: src/MateFun/TypeCheck.hs:68
msgid "does not belong to set"
msgstr "does not belong to set"
#: src/MateFun/ReservedNames.hs:104
msgid "duplicate elements"
msgstr "duplicate elements"
#: src/MateFun/ReservedNames.hs:67 src/MateFun/ReservedNames.hs:83
msgid "exit"
msgstr "exit"
#: src/MateFun/Parser.hs:159
msgid "expression"
msgstr "expression"
#: src/MateFun.hs:164 src/MateFun/Parser.hs:217 src/MateFun/TypeCheck.hs:84
msgid "file"
msgstr "file"
#: src/MateFun/ReservedNames.hs:57
msgid "first"
msgstr "first"
#: src/MateFun/ReservedNames.hs:74
msgid "fun"
msgstr "fun"
#: src/MateFun/ReservedNames.hs:71
msgid "funs"
msgstr "funs"
#: src/MateFun/ReservedNames.hs:70