diff --git a/jalhyd_branch b/jalhyd_branch index 507bddeeb2094e69036adf32012a679ff60c197d..94f89b3b03cef0d6963c4d0d2b1be518876e8eb7 100644 --- a/jalhyd_branch +++ b/jalhyd_branch @@ -1,2 +1 @@ -33-ajout-du-calcul-d-une-passe-a-bassin - +62-fonctionnalite-plusieurs-parametres-qui-varient-nghyd-126 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 21d7266f4042daa6d0ccd3f306c006be79fc3514..f828b90e1c150e742489f03fd308c71527d077d9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7220,2180 +7220,7 @@ } }, "jalhyd": { - "version": "file:../jalhyd", - "dependencies": { - "@types/jasmine": { - "version": "2.8.8", - "bundled": true - }, - "@types/node": { - "version": "10.5.2", - "bundled": true - }, - "accepts": { - "version": "1.3.5", - "bundled": true, - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" - } - }, - "after": { - "version": "0.8.2", - "bundled": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "ansi-styles": { - "version": "2.2.1", - "bundled": true - }, - "anymatch": { - "version": "2.0.0", - "bundled": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "bundled": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "argparse": { - "version": "1.0.10", - "bundled": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "bundled": true - }, - "arr-flatten": { - "version": "1.1.0", - "bundled": true - }, - "arr-union": { - "version": "3.1.0", - "bundled": true - }, - "array-unique": { - "version": "0.3.2", - "bundled": true - }, - "arraybuffer.slice": { - "version": "0.0.7", - "bundled": true - }, - "assign-symbols": { - "version": "1.0.0", - "bundled": true - }, - "async": { - "version": "2.6.2", - "bundled": true, - "requires": { - "lodash": "^4.17.11" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "bundled": true - } - } - }, - "async-each": { - "version": "1.0.3", - "bundled": true - }, - "async-limiter": { - "version": "1.0.0", - "bundled": true - }, - "atob": { - "version": "2.1.2", - "bundled": true - }, - "babel-code-frame": { - "version": "6.26.0", - "bundled": true, - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "chalk": { - "version": "1.1.3", - "bundled": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - } - } - }, - "backo2": { - "version": "1.0.2", - "bundled": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "base": { - "version": "0.11.2", - "bundled": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true - } - } - }, - "base64-arraybuffer": { - "version": "0.1.5", - "bundled": true - }, - "base64-js": { - "version": "1.3.0", - "bundled": true - }, - "base64id": { - "version": "1.0.0", - "bundled": true - }, - "better-assert": { - "version": "1.0.2", - "bundled": true, - "requires": { - "callsite": "1.0.0" - } - }, - "binary-extensions": { - "version": "1.13.1", - "bundled": true - }, - "blob": { - "version": "0.0.5", - "bundled": true - }, - "bluebird": { - "version": "3.5.4", - "bundled": true - }, - "body-parser": { - "version": "1.18.3", - "bundled": true, - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - }, - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "bundled": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "buffer": { - "version": "5.2.1", - "bundled": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "bundled": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "bundled": true - }, - "buffer-fill": { - "version": "1.0.0", - "bundled": true - }, - "builtin-modules": { - "version": "1.1.1", - "bundled": true - }, - "bytes": { - "version": "3.0.0", - "bundled": true - }, - "cache-base": { - "version": "1.0.1", - "bundled": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "callsite": { - "version": "1.0.0", - "bundled": true - }, - "chalk": { - "version": "2.3.0", - "bundled": true, - "requires": { - "ansi-styles": "^3.1.0", - "escape-string-regexp": "^1.0.5", - "supports-color": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "bundled": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "supports-color": { - "version": "4.5.0", - "bundled": true, - "requires": { - "has-flag": "^2.0.0" - } - } - } - }, - "chokidar": { - "version": "2.1.5", - "bundled": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "class-utils": { - "version": "0.3.6", - "bundled": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - } - }, - "coffeescript": { - "version": "2.3.1", - "bundled": true - }, - "collection-visit": { - "version": "1.0.0", - "bundled": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color-convert": { - "version": "1.9.1", - "bundled": true, - "requires": { - "color-name": "^1.1.1" - } - }, - "color-name": { - "version": "1.1.3", - "bundled": true - }, - "colors": { - "version": "1.3.3", - "bundled": true - }, - "commander": { - "version": "2.12.2", - "bundled": true - }, - "component-bind": { - "version": "1.0.0", - "bundled": true - }, - "component-emitter": { - "version": "1.3.0", - "bundled": true - }, - "component-inherit": { - "version": "0.0.3", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "connect": { - "version": "3.6.6", - "bundled": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.0", - "parseurl": "~1.3.2", - "utils-merge": "1.0.1" - } - }, - "content-type": { - "version": "1.0.4", - "bundled": true - }, - "cookie": { - "version": "0.3.1", - "bundled": true - }, - "copy-descriptor": { - "version": "0.1.1", - "bundled": true - }, - "core-js": { - "version": "2.6.5", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true - }, - "custom-event": { - "version": "1.0.1", - "bundled": true - }, - "date-format": { - "version": "2.0.0", - "bundled": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "bundled": true - }, - "define-property": { - "version": "0.2.5", - "bundled": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "depd": { - "version": "1.1.2", - "bundled": true - }, - "di": { - "version": "0.0.1", - "bundled": true - }, - "diff": { - "version": "3.4.0", - "bundled": true - }, - "dom-serialize": { - "version": "2.2.1", - "bundled": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "ee-first": { - "version": "1.1.1", - "bundled": true - }, - "encodeurl": { - "version": "1.0.2", - "bundled": true - }, - "engine.io": { - "version": "3.2.1", - "bundled": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-client": { - "version": "3.2.1", - "bundled": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "bundled": true - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-parser": { - "version": "2.1.3", - "bundled": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } - }, - "ent": { - "version": "2.2.0", - "bundled": true - }, - "escape-html": { - "version": "1.0.3", - "bundled": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "bundled": true - }, - "esprima": { - "version": "4.0.1", - "bundled": true - }, - "esutils": { - "version": "2.0.2", - "bundled": true - }, - "eventemitter3": { - "version": "3.1.0", - "bundled": true - }, - "expand-brackets": { - "version": "2.1.4", - "bundled": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "extend": { - "version": "3.0.2", - "bundled": true - }, - "extend-shallow": { - "version": "2.0.1", - "bundled": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "extglob": { - "version": "2.0.4", - "bundled": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true - } - } - }, - "fill-range": { - "version": "4.0.0", - "bundled": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "finalhandler": { - "version": "1.1.0", - "bundled": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.1", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.3.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.3.1", - "bundled": true - } - } - }, - "flatted": { - "version": "2.0.0", - "bundled": true - }, - "follow-redirects": { - "version": "1.7.0", - "bundled": true, - "requires": { - "debug": "^3.2.6" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "bundled": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true - } - } - }, - "for-in": { - "version": "1.0.2", - "bundled": true - }, - "fragment-cache": { - "version": "0.2.1", - "bundled": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fs-access": { - "version": "1.0.1", - "bundled": true, - "requires": { - "null-check": "^1.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true - }, - "get-value": { - "version": "2.0.6", - "bundled": true - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "bundled": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "bundled": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "globule": { - "version": "1.2.1", - "bundled": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - } - }, - "graceful-fs": { - "version": "4.1.15", - "bundled": true - }, - "has-ansi": { - "version": "2.0.0", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-binary2": { - "version": "1.0.3", - "bundled": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "bundled": true - } - } - }, - "has-cors": { - "version": "1.1.0", - "bundled": true - }, - "has-flag": { - "version": "2.0.0", - "bundled": true - }, - "has-value": { - "version": "1.0.0", - "bundled": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "bundled": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "bundled": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "http-errors": { - "version": "1.6.3", - "bundled": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "http-proxy": { - "version": "1.17.0", - "bundled": true, - "requires": { - "eventemitter3": "^3.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.23", - "bundled": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.1.13", - "bundled": true - }, - "indexof": { - "version": "0.0.1", - "bundled": true - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "bundled": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-binary-path": { - "version": "1.0.1", - "bundled": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "bundled": true - }, - "is-data-descriptor": { - "version": "0.1.4", - "bundled": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-descriptor": { - "version": "0.1.6", - "bundled": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "bundled": true - } - } - }, - "is-extendable": { - "version": "0.1.1", - "bundled": true - }, - "is-extglob": { - "version": "2.1.1", - "bundled": true - }, - "is-glob": { - "version": "4.0.1", - "bundled": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "bundled": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-plain-object": { - "version": "2.0.4", - "bundled": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-windows": { - "version": "1.0.2", - "bundled": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true - }, - "isbinaryfile": { - "version": "3.0.3", - "bundled": true, - "requires": { - "buffer-alloc": "^1.2.0" - } - }, - "isexe": { - "version": "2.0.0", - "bundled": true - }, - "isobject": { - "version": "3.0.1", - "bundled": true - }, - "jasmine": { - "version": "3.4.0", - "bundled": true, - "requires": { - "glob": "^7.1.3", - "jasmine-core": "~3.4.0" - }, - "dependencies": { - "glob": { - "version": "7.1.3", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "jasmine-core": { - "version": "3.4.0", - "bundled": true - }, - "jasmine-node": { - "version": "1.15.0", - "bundled": true, - "requires": { - "coffeescript": ">=1.0.1", - "gaze": "~1.1.2", - "jasmine-growl-reporter": "~1.0.1", - "jasmine-reporters": "~1.0.0", - "mkdirp": "~0.3.5", - "requirejs": ">=0.27.1", - "underscore": ">= 1.3.1", - "walkdir": ">= 0.0.1" - }, - "dependencies": { - "gaze": { - "version": "1.1.3", - "bundled": true, - "requires": { - "globule": "^1.0.0" - } - }, - "growl": { - "version": "1.10.5", - "bundled": true - }, - "jasmine-growl-reporter": { - "version": "1.0.1", - "bundled": true, - "requires": { - "growl": "^1.10.2" - } - } - } - }, - "jasmine-reporters": { - "version": "1.0.2", - "bundled": true, - "requires": { - "mkdirp": "~0.3.5" - } - }, - "js-tokens": { - "version": "3.0.2", - "bundled": true - }, - "js-yaml": { - "version": "3.13.1", - "bundled": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "karma": { - "version": "4.1.0", - "bundled": true, - "requires": { - "bluebird": "^3.3.0", - "body-parser": "^1.16.1", - "braces": "^2.3.2", - "chokidar": "^2.0.3", - "colors": "^1.1.0", - "connect": "^3.6.0", - "core-js": "^2.2.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.0", - "flatted": "^2.0.0", - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "http-proxy": "^1.13.0", - "isbinaryfile": "^3.0.0", - "lodash": "^4.17.11", - "log4js": "^4.0.0", - "mime": "^2.3.1", - "minimatch": "^3.0.2", - "optimist": "^0.6.1", - "qjobs": "^1.1.4", - "range-parser": "^1.2.0", - "rimraf": "^2.6.0", - "safe-buffer": "^5.0.1", - "socket.io": "2.1.1", - "source-map": "^0.6.1", - "tmp": "0.0.33", - "useragent": "2.3.0" - }, - "dependencies": { - "lodash": { - "version": "4.17.11", - "bundled": true - } - } - }, - "karma-chrome-launcher": { - "version": "2.2.0", - "bundled": true, - "requires": { - "fs-access": "^1.0.0", - "which": "^1.2.1" - } - }, - "karma-jasmine": { - "version": "2.0.1", - "bundled": true, - "requires": { - "jasmine-core": "^3.3" - }, - "dependencies": { - "jasmine-core": { - "version": "3.4.0", - "bundled": true - } - } - }, - "karma-jasmine-html-reporter": { - "version": "1.4.0", - "bundled": true - }, - "kind-of": { - "version": "3.2.2", - "bundled": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "lodash": { - "version": "4.17.11", - "bundled": true - }, - "log4js": { - "version": "4.1.0", - "bundled": true, - "requires": { - "date-format": "^2.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.0", - "rfdc": "^1.1.2", - "streamroller": "^1.0.4" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "bundled": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true - } - } - }, - "lru-cache": { - "version": "4.1.5", - "bundled": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "map-cache": { - "version": "0.2.2", - "bundled": true - }, - "map-visit": { - "version": "1.0.0", - "bundled": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "media-typer": { - "version": "0.3.0", - "bundled": true - }, - "micromatch": { - "version": "3.1.10", - "bundled": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "define-property": { - "version": "2.0.2", - "bundled": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "extend-shallow": { - "version": "3.0.2", - "bundled": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true - } - } - }, - "mime": { - "version": "2.4.2", - "bundled": true - }, - "mime-db": { - "version": "1.39.0", - "bundled": true - }, - "mime-types": { - "version": "2.1.23", - "bundled": true, - "requires": { - "mime-db": "~1.39.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.10", - "bundled": true - }, - "mixin-deep": { - "version": "1.3.1", - "bundled": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.3.5", - "bundled": true - }, - "ms": { - "version": "2.0.0", - "bundled": true - }, - "nanomatch": { - "version": "1.2.13", - "bundled": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "2.0.2", - "bundled": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "extend-shallow": { - "version": "3.0.2", - "bundled": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true - } - } - }, - "negotiator": { - "version": "0.6.1", - "bundled": true - }, - "normalize-path": { - "version": "3.0.0", - "bundled": true - }, - "null-check": { - "version": "1.0.0", - "bundled": true - }, - "object-component": { - "version": "0.0.3", - "bundled": true - }, - "object-copy": { - "version": "0.1.0", - "bundled": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - } - }, - "object-visit": { - "version": "1.0.1", - "bundled": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "bundled": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "on-finished": { - "version": "2.3.0", - "bundled": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1" - } - }, - "optimist": { - "version": "0.6.1", - "bundled": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true - }, - "parseqs": { - "version": "0.0.5", - "bundled": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseuri": { - "version": "0.0.5", - "bundled": true, - "requires": { - "better-assert": "~1.0.0" - } - }, - "parseurl": { - "version": "1.3.3", - "bundled": true - }, - "pascalcase": { - "version": "0.1.1", - "bundled": true - }, - "path-dirname": { - "version": "1.0.2", - "bundled": true - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true - }, - "path-parse": { - "version": "1.0.5", - "bundled": true - }, - "posix-character-classes": { - "version": "0.1.1", - "bundled": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true - }, - "pseudomap": { - "version": "1.0.2", - "bundled": true - }, - "qjobs": { - "version": "1.2.0", - "bundled": true - }, - "qs": { - "version": "6.5.2", - "bundled": true - }, - "range-parser": { - "version": "1.2.0", - "bundled": true - }, - "raw-body": { - "version": "2.3.3", - "bundled": true, - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "readdirp": { - "version": "2.2.1", - "bundled": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "regex-not": { - "version": "1.0.2", - "bundled": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "bundled": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "bundled": true - }, - "repeat-element": { - "version": "1.1.3", - "bundled": true - }, - "repeat-string": { - "version": "1.6.1", - "bundled": true - }, - "requirejs": { - "version": "2.3.6", - "bundled": true - }, - "requires-port": { - "version": "1.0.0", - "bundled": true - }, - "resolve": { - "version": "1.5.0", - "bundled": true, - "requires": { - "path-parse": "^1.0.5" - } - }, - "resolve-url": { - "version": "0.2.1", - "bundled": true - }, - "ret": { - "version": "0.1.15", - "bundled": true - }, - "rfdc": { - "version": "1.1.2", - "bundled": true - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.1.3", - "bundled": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true - }, - "safe-regex": { - "version": "1.1.0", - "bundled": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true - }, - "semver": { - "version": "5.4.1", - "bundled": true - }, - "set-value": { - "version": "2.0.0", - "bundled": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - } - }, - "setprototypeof": { - "version": "1.1.0", - "bundled": true - }, - "snapdragon": { - "version": "0.8.2", - "bundled": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "bundled": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "bundled": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "bundled": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "bundled": true, - "requires": { - "kind-of": "^3.2.0" - } - }, - "socket.io": { - "version": "2.1.1", - "bundled": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-adapter": { - "version": "1.1.1", - "bundled": true - }, - "socket.io-client": { - "version": "2.1.1", - "bundled": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "bundled": true - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-parser": { - "version": "3.2.0", - "bundled": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "bundled": true - }, - "debug": { - "version": "3.1.0", - "bundled": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "bundled": true - } - } - }, - "source-map": { - "version": "0.6.1", - "bundled": true - }, - "source-map-resolve": { - "version": "0.5.2", - "bundled": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "bundled": true - }, - "split-string": { - "version": "3.1.0", - "bundled": true, - "requires": { - "extend-shallow": "^3.0.0" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "bundled": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "bundled": true - }, - "static-extend": { - "version": "0.1.2", - "bundled": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - } - }, - "statuses": { - "version": "1.5.0", - "bundled": true - }, - "streamroller": { - "version": "1.0.4", - "bundled": true, - "requires": { - "async": "^2.6.1", - "date-format": "^2.0.0", - "debug": "^3.1.0", - "fs-extra": "^7.0.0", - "lodash": "^4.17.10" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "bundled": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.1", - "bundled": true - } - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "bundled": true - }, - "tmp": { - "version": "0.0.33", - "bundled": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-array": { - "version": "0.1.4", - "bundled": true - }, - "to-object-path": { - "version": "0.3.0", - "bundled": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "to-regex": { - "version": "3.0.2", - "bundled": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - }, - "dependencies": { - "define-property": { - "version": "2.0.2", - "bundled": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - } - }, - "extend-shallow": { - "version": "3.0.2", - "bundled": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "bundled": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "bundled": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extendable": { - "version": "1.0.1", - "bundled": true, - "requires": { - "is-plain-object": "^2.0.4" - } - }, - "kind-of": { - "version": "6.0.2", - "bundled": true - } - } - }, - "to-regex-range": { - "version": "2.1.1", - "bundled": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "tslib": { - "version": "1.8.1", - "bundled": true - }, - "tslint": { - "version": "5.11.0", - "bundled": true, - "requires": { - "babel-code-frame": "^6.22.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^3.2.0", - "glob": "^7.1.1", - "js-yaml": "^3.7.0", - "minimatch": "^3.0.4", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.8.0", - "tsutils": "^2.27.2" - }, - "dependencies": { - "tsutils": { - "version": "2.28.0", - "bundled": true, - "requires": { - "tslib": "^1.8.1" - } - } - } - }, - "type-is": { - "version": "1.6.16", - "bundled": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - } - }, - "typescript": { - "version": "2.9.2", - "bundled": true - }, - "ultron": { - "version": "1.1.1", - "bundled": true - }, - "underscore": { - "version": "1.8.3", - "bundled": true - }, - "union-value": { - "version": "1.0.0", - "bundled": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "set-value": { - "version": "0.4.3", - "bundled": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "universalify": { - "version": "0.1.2", - "bundled": true - }, - "unpipe": { - "version": "1.0.0", - "bundled": true - }, - "unset-value": { - "version": "1.0.0", - "bundled": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "bundled": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "bundled": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "bundled": true - } - } - }, - "upath": { - "version": "1.1.2", - "bundled": true - }, - "urix": { - "version": "0.1.0", - "bundled": true - }, - "use": { - "version": "3.1.1", - "bundled": true - }, - "useragent": { - "version": "2.3.0", - "bundled": true, - "requires": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true - }, - "utils-merge": { - "version": "1.0.1", - "bundled": true - }, - "void-elements": { - "version": "2.0.1", - "bundled": true - }, - "walkdir": { - "version": "0.0.12", - "bundled": true - }, - "which": { - "version": "1.3.1", - "bundled": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wordwrap": { - "version": "0.0.3", - "bundled": true - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "ws": { - "version": "3.3.3", - "bundled": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "bundled": true - }, - "yallist": { - "version": "2.1.2", - "bundled": true - }, - "yeast": { - "version": "0.1.2", - "bundled": true - } - } + "version": "file:../jalhyd" }, "jasmine": { "version": "2.8.0", @@ -12709,6 +10536,11 @@ "ajv-keywords": "^3.1.0" } }, + "screenfull": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/screenfull/-/screenfull-4.2.0.tgz", + "integrity": "sha512-qpyI9XbwuMJElWRP5vTgxkFAl4k7HpyhIqBFOZEwX9QBXn0MAuRSpn7LOc6/4CeSwoz61oBu1VPV+2fbIWC+5Q==" + }, "scss-tokenizer": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", diff --git a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.html b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.html index 8fbe604a524054fb39e7dc0727076d78e1e348b9..43f8a3a0f3565893efd03a7ae3ba2616cbc4ff10 100644 --- a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.html +++ b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.html @@ -105,6 +105,15 @@ </form> </div> + <mat-form-field> + <mat-select [placeholder]="uitextExtensionStrategy" [(value)]="selectedExtensionStrategy" + data-testid="variable-extension-strategy-select"> + <mat-option *ngFor="let e of extensionStrategies" [value]="e.value"> + {{ e.label }} + </mat-option> + </mat-select> + </mat-form-field> + </div> <div mat-dialog-content *ngIf="viewChart"> diff --git a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts index bb9168725ae178f4ac4e7e95fbf6e51ce306831f..803de5b0be298d58fe5de40432f1fa401afa4a6d 100644 --- a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts +++ b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts @@ -3,7 +3,7 @@ import { Inject, Component, OnInit } from "@angular/core"; import { FormBuilder, FormGroup, Validators } from "@angular/forms"; import { I18nService } from "../../services/internationalisation/internationalisation.service"; import { NgParameter } from "../../formulaire/ngparam"; -import { ParamValueMode } from "jalhyd"; +import { ParamValueMode, ExtensionStrategy } from "jalhyd"; import { sprintf } from "sprintf-js"; import { ApplicationSetupService } from "../../services/app-setup/app-setup.service"; @@ -23,6 +23,9 @@ export class DialogEditParamValuesComponent implements OnInit { /** available decimal separators */ public decimalSeparators: { label: string; value: string; }[]; + /** available extension strategies */ + public extensionStrategies: { value: ExtensionStrategy; label: string; }[]; + /** current decimal separator */ public decimalSeparator: string; @@ -76,6 +79,16 @@ export class DialogEditParamValuesComponent implements OnInit { } ]; this.decimalSeparator = this.decimalSeparators[0].value; + this.extensionStrategies = [ + { + value: ExtensionStrategy.REPEAT_LAST, + label: this.intlService.localizeText("INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY_REPEAT_LAST") + }, + { + value: ExtensionStrategy.RECYCLE, + label: this.intlService.localizeText("INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY_RECYCLE") + } + ]; // chart configuration const nDigits = this.appSetupService.displayDigits; @@ -104,6 +117,11 @@ export class DialogEditParamValuesComponent implements OnInit { } }] }, + elements: { + line: { + tension: 0 + } + }, tooltips: { callbacks: { label: function(tooltipItem) { @@ -166,6 +184,14 @@ export class DialogEditParamValuesComponent implements OnInit { this.param.valueMode = v; } + public get selectedExtensionStrategy() { + return this.param.paramDefinition.extensionStrategy; + } + + public set selectedExtensionStrategy(es) { + this.param.paramDefinition.extensionStrategy = es; + } + public get isMinMax() { return this.param.valueMode === ParamValueMode.MINMAX; } @@ -407,6 +433,10 @@ export class DialogEditParamValuesComponent implements OnInit { return this.intlService.localizeText("INFO_PARAMFIELD_PARAMVARIER_IMPORT_FICHIER"); } + public get uitextExtensionStrategy() { + return this.intlService.localizeText("INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY"); + } + public ngOnInit() { this.initVariableValues(); } diff --git a/src/app/components/fixedvar-results/var-results.component.ts b/src/app/components/fixedvar-results/var-results.component.ts index 2151ddd92552b66eb6812e0183cb579fd5166085..f737e1d4c03120fa6833e76c3dd0eb8ed21093d8 100644 --- a/src/app/components/fixedvar-results/var-results.component.ts +++ b/src/app/components/fixedvar-results/var-results.component.ts @@ -15,6 +15,9 @@ import { ResultsComponent } from "./results.component"; }) export class VarResultsComponent extends ResultsComponent { + /** size of the longest variated parameter */ + public size: number; + /** résultats non mis en forme */ protected _varResults: VarResults; @@ -33,54 +36,56 @@ export class VarResultsComponent extends ResultsComponent { super(); } + /** Refreshes results and builds the dataset */ public set results(r: VarResults) { this._varResults = r; - this._results = []; this._headers = []; + const nDigits = this.appSetupService.displayDigits; + if (this._varResults) { - const nDigits = this.appSetupService.displayDigits; - let i = 0; - for (const x of this._varResults.variatedParameter.valuesIterator) { - const pval = x.toFixed(nDigits); - this._results.push({ "param": pval, "result": this._varResults.resultElements[i] }); - i++; + // A. build headers + for (let i = 0; i < this._varResults.variatedParameters.length; i++) { + this._headers.push(this._varResults.variableParamHeaders[i]); } - - this._headers.push(this._varResults.variableParamHeader); if (this._varResults.calculatedParameterHeader) { this._headers.push(this._varResults.calculatedParameterHeader); } - this._headers = this._headers.concat(this._varResults.extraResultHeaders); - } - } - public get hasResults(): boolean { - return this._varResults && this._varResults.hasResults; - } - - public get headers() { - return this._headers; - } + // B. pre-extract variable parameters valueslet longest = 0; + const varValues = []; + // find longest list + this.size = 0; + for (let i = 0; i < this._varResults.variatedParameters.length; i++) { + const vs = this._varResults.variatedParameters[i].valuesIterator.count(); + if (vs > this.size) { + this.size = vs; + } + } + // get extended values lists for each variable parameter + for (const v of this._varResults.variatedParameters) { + const vv = []; + const iter = v.getExtendedValuesIterator(this.size); + while (iter.hasNext) { + const nv = iter.next(); + vv.push(nv.value.toFixed(nDigits)); + } + varValues.push(vv); + } - /** - * Returns a combination of and results and extraResults for mat-table - */ - public get dataSet() { - const data = []; - const nDigits = this.appSetupService.displayDigits; - if (this._results) { - for (let i = 0; i < this._results.length; i++) { - const r = this._results[i]; + // C. build dataset + for (let i = 0; i < this._varResults.resultElements.length; i++) { const re: ResultElement = this._varResults.resultElements[i]; - if (re) { - // for each computation step, build ordered list of : variable param value; result; extra results + // build ordered list of : variable params values; result; extra results + const list = []; - // 1. variable param value - const list = [ r.param ]; + // 1. variable params values for this computation step + for (const vv of varValues) { + list.push(vv[i]); + } // 2. result if (re.vCalc) { // sometimes does no exist (ex: Section Parametree) @@ -97,11 +102,25 @@ export class VarResultsComponent extends ResultsComponent { } } - data.push(list); + this._results.push(list); } } } - return data; + } + + public get hasResults(): boolean { + return this._varResults && this._varResults.hasResults; + } + + public get headers() { + return this._headers; + } + + /** + * Returns a combination of results and extraResults for mat-table + */ + public get dataSet() { + return this._results; } public exportAsSpreadsheet() { diff --git a/src/app/components/param-field-line/param-field-line.component.ts b/src/app/components/param-field-line/param-field-line.component.ts index df956b33acfe059a408a8e6e82390cdb246adfa1..5b105c01f1cb6385820c999c2741629b22654c0d 100644 --- a/src/app/components/param-field-line/param-field-line.component.ts +++ b/src/app/components/param-field-line/param-field-line.component.ts @@ -197,7 +197,7 @@ export class ParamFieldLineComponent implements OnChanges { let ret = true; if (this.param.paramDefinition.isCalculated) { const nub = this.param.paramDefinition.parentNub; - const p = nub.findFirstSingleParameter(this.param.paramDefinition); + const p = nub.findFirstCalculableParameter(this.param.paramDefinition); ret = (p !== undefined); } return ret; diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts index f11fa831b984fb65843f48fe335130c958ceb23d..f5328dc134c1abbd23c1687cf375f4a98c5ae93e 100644 --- a/src/app/components/remous-results/remous-results.component.ts +++ b/src/app/components/remous-results/remous-results.component.ts @@ -368,7 +368,7 @@ export class RemousResultsComponent extends ResultsComponent implements DoCheck } private get abscisseIterator(): INumberIterator { - return this._remousResults.varResults.variatedParameter.paramDefinition.valuesIterator; + return this._remousResults.varResults.variatedParameters[0].paramDefinition.valuesIterator; } private connectRessaut(lineFlu: LineData, lineTor: LineData) { diff --git a/src/app/components/results-graph/results-graph.component.ts b/src/app/components/results-graph/results-graph.component.ts index efd02528851648f261c58ec55f4d9b3112257253..5cc0a4590950a287b9b2d5a42131b4523f1322dc 100644 --- a/src/app/components/results-graph/results-graph.component.ts +++ b/src/app/components/results-graph/results-graph.component.ts @@ -104,7 +104,7 @@ export class ResultsGraphComponent extends ResultsComponent implements AfterCont /** * Returns a human readable description of any param / result symbol */ - public getChartAxisLabel(symbol: string) { + public getChartAxisLabel(symbol: string): string { return this._results.getChartAxisLabel(symbol); } @@ -135,6 +135,19 @@ export class ResultsGraphComponent extends ResultsComponent implements AfterCont this._graphTypeComponent.addObserver(this); } + /** + * Calls getChartAxisLabel() and removes the symbol prefix + * (cannot rebuild a clean label here) + */ + private axisLabelWithoutSymbol(symbol: string) { + let l = this._results.getChartAxisLabel(symbol); + const i = l.indexOf(": "); + if (i !== -1) { + l = l.substring(i + 2); + } + return l; + } + /** forces Angular to rebuild the chart @see bug #137 */ private forceRebuild() { this.displayChart = false; @@ -172,20 +185,36 @@ export class ResultsGraphComponent extends ResultsComponent implements AfterCont }, scaleLabel: { display: true, - labelString: this.chartX + labelString: this.axisLabelWithoutSymbol(this.chartX) } }], yAxes: [{ scaleLabel: { display: true, - labelString: this.chartY + labelString: this.axisLabelWithoutSymbol(this.chartY) } }] }; + const that = this; this.graph_options["tooltips"] = { + displayColors: false, callbacks: { - label: function(tooltipItem, data) { - return Number(tooltipItem.yLabel).toFixed(nDigits); + title: (tooltipItems, data) => { + return this.chartY + " = " + Number(tooltipItems[0].yLabel).toFixed(nDigits); + }, + label: (tooltipItem, data) => { + const lines: string[] = []; + for (const v of that._results.getVariatingParametersSymbols()) { + const series = that._results.getValuesSeries(v); + const line = v + " = " + series[tooltipItem.index].toFixed(nDigits); + if (v === this.chartX) { + lines.unshift(""); + lines.unshift(line); + } else { + lines.push(line); + } + } + return lines; } } }; @@ -224,7 +253,7 @@ export class ResultsGraphComponent extends ResultsComponent implements AfterCont }, scaleLabel: { display: true, - labelString: this.chartX + labelString: this.axisLabelWithoutSymbol(this.chartX) } }], yAxes: [{ @@ -235,14 +264,30 @@ export class ResultsGraphComponent extends ResultsComponent implements AfterCont }, scaleLabel: { display: true, - labelString: this.chartY + labelString: this.axisLabelWithoutSymbol(this.chartY) } }] }; + const that = this; this.graph_options["tooltips"] = { + displayColors: false, callbacks: { - label: function(tooltipItem, data) { - return "(" + Number(tooltipItem.xLabel).toFixed(nDigits) + ", " + Number(tooltipItem.yLabel).toFixed(nDigits) + ")"; + title: (tooltipItems, data) => { + return this.chartY + " = " + Number(tooltipItems[0].yLabel).toFixed(nDigits); + }, + label: (tooltipItem, data) => { + const lines: string[] = []; + for (const v of that._results.getVariatingParametersSymbols()) { + const series = that._results.getValuesSeries(v); + const line = v + " = " + series[tooltipItem.index].toFixed(nDigits); + if (v === this.chartX) { + lines.unshift(""); + lines.unshift(line); + } else { + lines.push(line); + } + } + return lines; } } }; diff --git a/src/app/formulaire/definition/form-compute-fixedvar.ts b/src/app/formulaire/definition/form-compute-fixedvar.ts index 875a52747478bf419389556ca866c3ce033eef8c..08c12186f48d4bda67b88076264f4ed650edd790 100644 --- a/src/app/formulaire/definition/form-compute-fixedvar.ts +++ b/src/app/formulaire/definition/form-compute-fixedvar.ts @@ -1,4 +1,4 @@ -import { Nub, Result, ComputeNode } from "jalhyd"; +import { Nub } from "jalhyd"; import { FormCompute } from "./form-compute"; import { NgParameter, ParamRadioConfig } from "../ngparam"; @@ -14,18 +14,18 @@ export class FormComputeFixedVar extends FormCompute { return this._formResult as FormResultFixedVar; } - private getVariatedParameter(): NgParameter { - const res = this._formBase.getDisplayedParamFromState(ParamRadioConfig.VAR); - if (res !== undefined) { - return res; - } - - const pms = this._formBase.getDisplayedParamListFromState(ParamRadioConfig.LINK); - for (const p of pms) { - if (p.paramDefinition.hasMultipleValues) { - return p; + private getVariatedParameters(): NgParameter[] { + let res: NgParameter[] = []; + res = this._formBase.getDisplayedParamListFromState(ParamRadioConfig.VAR); + if (res.length === 0) { + const pms = this._formBase.getDisplayedParamListFromState(ParamRadioConfig.LINK); + for (const p of pms) { + if (p.paramDefinition.hasMultipleValues) { + res.push(p); + } } } + return res; } private getComputedParameter(): NgParameter { @@ -42,15 +42,15 @@ export class FormComputeFixedVar extends FormCompute { const computedParam: NgParameter = this.getComputedParameter(); this.formResult.resetResults(); // to avoid adding fixed parameters more than once (see below) this.formResult.addFixedParameters(); - const varParam: NgParameter = this.getVariatedParameter(); + const varParams: NgParameter[] = this.getVariatedParameters(); - if (varParam === undefined) { + if (varParams.length === 0) { // pas de paramètre à varier this.formResult.fixedResults.result = nub.result; this.formResult.fixedResults.calculatedParameter = computedParam; } else { // il y a un paramètre à varier - this.formResult.varResults.variatedParameter = varParam; + this.formResult.varResults.variatedParameters = varParams; this.formResult.varResults.calculatedParameter = computedParam; this.formResult.varResults.result = nub.result; diff --git a/src/app/formulaire/definition/form-compute-section-parametree.ts b/src/app/formulaire/definition/form-compute-section-parametree.ts index d30352a577096f548986041f60cde084b368e641..3e833eed46eeac7a0a991bafde36403d373036b9 100644 --- a/src/app/formulaire/definition/form-compute-section-parametree.ts +++ b/src/app/formulaire/definition/form-compute-section-parametree.ts @@ -39,10 +39,10 @@ export class FormComputeSectionParametree extends FormCompute { const sect: acSection = sectNub.section; this._sectionResults.section = sect; - const varParam = this._formSection.getSectionVariatedParameter(); - if (varParam) { + const varParams = this._formSection.getSectionVariatedParameters(); + if (varParams.length > 0) { // résultats variés avec tous les résultats complémentaires - this._varResults.variatedParameter = varParam; + this._varResults.variatedParameters = varParams; this._varResults.result = sectNub.result; this._varResults.update(false); } else { diff --git a/src/app/formulaire/definition/form-def-section.ts b/src/app/formulaire/definition/form-def-section.ts index 309a06613147474af44c2a683d39d325122842e3..a2c011e8df49e4a62fa8010da406a92e1322c1dd 100644 --- a/src/app/formulaire/definition/form-def-section.ts +++ b/src/app/formulaire/definition/form-def-section.ts @@ -18,8 +18,8 @@ export class FormDefSection { return this._sectionSourceId !== undefined; } - public getSectionVariatedParameter(): NgParameter { - return this._formBase.getDisplayedParamFromState(ParamRadioConfig.VAR); + public getSectionVariatedParameters(): NgParameter[] { + return this._formBase.getDisplayedParamListFromState(ParamRadioConfig.VAR); } public getSectionComputedParam(): { symbol: string, label: string } { diff --git a/src/app/formulaire/ngparam.ts b/src/app/formulaire/ngparam.ts index 0154d6ae487375456d7897b826d265f59d6df597..679d3b1f3f4058d76279820637706cf9e3224621 100644 --- a/src/app/formulaire/ngparam.ts +++ b/src/app/formulaire/ngparam.ts @@ -237,6 +237,10 @@ export class NgParameter extends InputField implements Observer { return this._paramDef.valueList; } + public get inferredValuesList() { + return this._paramDef.getInferredValuesList(); + } + public get isValid() { if (this.radioState === undefined) { return false; @@ -296,6 +300,10 @@ export class NgParameter extends InputField implements Observer { } } + public getExtendedValuesIterator(size: number): INumberIterator { + return this._paramDef.getExtendedValuesIterator(size); + } + /** * notification envoyée après la modification de la valeur du paramètre */ diff --git a/src/app/results/plottable-data.ts b/src/app/results/plottable-data.ts index 609c388aaaa0cb49556063ce170c88478cec7c26..a5493b94be96bd509ec89ad9c9a61facd54ffa9c 100644 --- a/src/app/results/plottable-data.ts +++ b/src/app/results/plottable-data.ts @@ -14,7 +14,13 @@ export interface PlottableData { * (usually a variable symbol like "Q", "Z1"…) * @param symbol parameter / result symbol (ex: "Q") */ - getChartAxisLabel(symbol: string); + getChartAxisLabel(symbol: string): string; + + /** + * Returns the translated name of the given symbol (usually an extraResult) + * if available, with its unit, but without the symbol itself + */ + expandLabelFromSymbol(symbol: string): string; /** * Returns a list of plottable parameters / result elements, that can be defined @@ -27,4 +33,10 @@ export interface PlottableData { * @param symbol parameter / result symbol (ex: "Q") */ getValuesSeries(symbol: string): any[]; + + /** + * Returns the list of variating parameters + * (used by tooltip functions) + */ + getVariatingParametersSymbols(): string[]; } diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts index c8cdd29641aa9801f8394052f6d888f00bf2dcd7..27e5685d9d0c257798729acf56326acf3c22d1dc 100644 --- a/src/app/results/plottable-pab-results.ts +++ b/src/app/results/plottable-pab-results.ts @@ -29,10 +29,14 @@ export class PlottablePabResults implements PlottableData { * Returns the label to display, for an element of getAvailableChartAxis() * @param symbol parameter / result symbol (ex: "Q") */ - public getChartAxisLabel(symbol: string) { + public getChartAxisLabel(symbol: string): string { return this.pabResults.headers[this.pabResults.columns.indexOf(symbol)]; } + public expandLabelFromSymbol(symbol: string): string { + return symbol; + } + /** * Returns a list of plottable parameters / result elements, that can be defined * as X or Y chart axis @@ -41,6 +45,11 @@ export class PlottablePabResults implements PlottableData { return this.pabResults.columns; } + // just to implement interface + public getVariatingParametersSymbols(): string[] { + return []; + } + /** * Returns the series of values for the required symbol * @param symbol parameter / result symbol (ex: "Q") diff --git a/src/app/results/remous-results.ts b/src/app/results/remous-results.ts index 1127bf61fb4b6b2015f46bee279a9dbb3bfccfbe..6d6e1f6e104badd016b4c449f01127e889ee05f0 100644 --- a/src/app/results/remous-results.ts +++ b/src/app/results/remous-results.ts @@ -137,7 +137,7 @@ export class RemousResults extends CalculatorResults { this._log.addLog(this._result.globalLog); this._varResults = new VarResults(); - this._varResults.variatedParameter = new NgParameter(this._xValues, undefined); + this._varResults.variatedParameters = [ new NgParameter(this._xValues, undefined) ]; this._varResults.calculatedParameter = new NgParameter(new ParamDefinition(null, "Ligne d'eau", ParamDomainValue.POS_NULL), undefined); this._varResults.result = this._result; diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts index 891f7c008aa8375fef89edc1c1b5469eafb942a8..b01195b15a1cd932d5b18b4fdf6d8ae9cd9fd795 100644 --- a/src/app/results/var-results.ts +++ b/src/app/results/var-results.ts @@ -8,14 +8,14 @@ import { GraphType } from "./graph-type"; export class VarResults extends CalculatedParamResults implements PlottableData { /** - * paramètre varié + * paramètres variés */ - private _variatedParam: NgParameter; + private _variatedParams: NgParameter[]; /** - * titre de la 1ère colonne des résultats variés + * titre des colonnes des résultats variés */ - private _variableParamHeader: string; + private _variableParamHeaders: string[]; /** * clés des résultats complémentaires @@ -41,6 +41,12 @@ export class VarResults extends CalculatedParamResults implements PlottableData */ public chartY: string; + /** size of the longest variated parameter */ + public size: number; + + /** index of the longest variated parameter */ + public longest: number; + /** * tableau des ordonnées du graphe des résultats variés */ @@ -53,23 +59,26 @@ export class VarResults extends CalculatedParamResults implements PlottableData public reset() { super.reset(); - this._variableParamHeader = undefined; + this._variableParamHeaders = []; this._extraResultHeaders = []; this.extraResultKeys = []; this._yValues = []; + this.longest = 0; } - public get variatedParameter(): NgParameter { - return this._variatedParam; + public get variatedParameters(): NgParameter[] { + return this._variatedParams; } - public set variatedParameter(p: NgParameter) { - this._variatedParam = p; - this._variableParamHeader = CalculatorResults.paramLabel(this._variatedParam, true); + public set variatedParameters(p: NgParameter[]) { + this._variatedParams = p; + this._variableParamHeaders = this._variatedParams.map((v) => { + return CalculatorResults.paramLabel(v, true); + }); } - public get variableParamHeader() { - return this._variableParamHeader; + public get variableParamHeaders() { + return this._variableParamHeaders; } public get yValues() { @@ -84,24 +93,34 @@ export class VarResults extends CalculatedParamResults implements PlottableData return this._extraResultHeaders; } - public getChartAxisLabel(symbol: string) { + public getChartAxisLabel(symbol: string): string { // 1. calculated param ? if (this.calculatedParameter && this.calculatedParameter.symbol === symbol) { return this.calculatedParameterHeader; - } else + } // 2. variated param ? - if (this.variatedParameter.symbol === symbol) { - return this.variableParamHeader; - } else { - // 3. Result element ? - // calculator type for translation - const sn = this.result.sourceNub; - let ct = sn.calcType; - if (sn.parent) { - ct = sn.parent.calcType; + for (let i = 0; i < this.variatedParameters.length; i++) { + if (this._variatedParams[i].symbol === symbol) { + return this.variableParamHeaders[i]; } - return ServiceFactory.instance.formulaireService.expandVariableNameAndUnit(ct, symbol); } + // 3. Result element + return this.expandLabelFromSymbol(symbol); + + } + + /** + * Returns the translated name of the given symbol (usually an extraResult) with + * its unit, but without the symbol itself + */ + public expandLabelFromSymbol(symbol: string): string { + // calculator type for translation + const sn = this.result.sourceNub; + let ct = sn.calcType; + if (sn.parent) { + ct = sn.parent.calcType; + } + return ServiceFactory.instance.formulaireService.expandVariableNameAndUnit(ct, symbol); } /** @@ -117,19 +136,21 @@ export class VarResults extends CalculatedParamResults implements PlottableData series.push(r.vCalc); } } - } else + } // 2. variated param ? - if (this.variatedParameter.symbol === symbol) { - for (const v of this.variatedParameter.valuesIterator) { - series.push(v); + for (let i = 0; i < this.variatedParameters.length; i++) { + if (this._variatedParams[i].symbol === symbol) { + const iter = this.variatedParameters[i].getExtendedValuesIterator(this.size); + for (const v of iter) { + series.push(v); + } } - } else { - // 3. Result element ? - for (const r of this.result.resultElements) { // re:ResultElement - for (const k in r.extraResults) { - if (k === symbol) { - series.push(r.extraResults[k]); - } + } + // 3. Result element ? + for (const r of this.result.resultElements) { // re:ResultElement + for (const k in r.extraResults) { + if (k === symbol) { + series.push(r.extraResults[k]); } } } @@ -146,16 +167,42 @@ export class VarResults extends CalculatedParamResults implements PlottableData if (this.calculatedParameter) { res.push(this.calculatedParameter.symbol); } - res.push(this.variatedParameter.symbol); + for (const v of this._variatedParams) { + res.push(v.symbol); + } for (const erk of this.extraResultKeys) { res.push(erk); } return res; } + /** + * Returns the list of variating parameters + * (used by tooltip functions) + */ + public getVariatingParametersSymbols(): string[] { + return this._variatedParams.map((vp) => { + return vp.symbol; + }); + } + public update(displaySymbol: boolean) { - if (this._variableParamHeader === undefined) { - this._variableParamHeader = CalculatorResults.paramLabel(this.variatedParameter, displaySymbol); + if (this._variableParamHeaders.length === 0) { + this._variableParamHeaders = this._variatedParams.map((v) => { + return CalculatorResults.paramLabel(v, true); + }); + } + + // liste la plus longue + this.size = 0; + let i = 0; + for (const v of this._variatedParams) { + const s = v.valuesIterator.count(); + if (s > this.size) { + this.size = s; + this.longest = i; + } + i++; } // valeurs du paramètre à calculer @@ -181,7 +228,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData } else if (this.extraResultKeys.length > 0) { defaultY = this.extraResultKeys[0]; } - this.chartX = this.chartX || this.variatedParameter.symbol; + this.chartX = this.chartX || this.variatedParameters[this.longest].symbol; this.chartY = defaultY; // calculator type for translation @@ -202,10 +249,10 @@ export class VarResults extends CalculatedParamResults implements PlottableData // (might be the previous variated parameter, that is not accessible anymore) const aca = this.getAvailableChartAxis(); if (! aca.includes(this.chartX)) { - this.chartX = this.variatedParameter.symbol; + this.chartX = this.variatedParameters[0].symbol; } if (! aca.includes(this.chartY)) { - this.chartY = this.variatedParameter.symbol; + this.chartY = this.variatedParameters[0].symbol; } } } diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json index b521d5451ff8f2ac832d7be94c448749a3e894ec..32364c09832fef08f3c9054093616ecdb6886227 100644 --- a/src/locale/messages.en.json +++ b/src/locale/messages.en.json @@ -212,6 +212,9 @@ "INFO_PARAMFIELD_PARAMFIXE": "Fixed", "INFO_PARAMFIELD_PARAMLIE_LABEL": "Linked parameter", "INFO_PARAMFIELD_PARAMLIE": "Link", + "INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY": "Values list extension strategy", + "INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY_REPEAT_LAST": "Repeat last value", + "INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY_RECYCLE": "Recycle values", "INFO_PARAMFIELD_PARAMVARIER_IMPORT_FICHIER": "Import file", "INFO_PARAMFIELD_PARAMVARIER_MINMAXSTEP": "min: %s, max: %s, step: %s", "INFO_PARAMFIELD_PARAMVARIER_MODE": "Mode", diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json index efa2d9ba84232826e707875717056569989a9283..7228186b3420c17e0e4e7633247c1623fca744fb 100644 --- a/src/locale/messages.fr.json +++ b/src/locale/messages.fr.json @@ -212,6 +212,9 @@ "INFO_PARAMFIELD_PARAMFIXE": "fixé", "INFO_PARAMFIELD_PARAMLIE_LABEL": "Paramètre lié", "INFO_PARAMFIELD_PARAMLIE": "lié", + "INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY": "Stratégie d'extension de la liste de valeurs", + "INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY_REPEAT_LAST": "Répéter la dernière valeur", + "INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY_RECYCLE": "Réutiliser les valeurs", "INFO_PARAMFIELD_PARAMVARIER_IMPORT_FICHIER": "Importer un fichier", "INFO_PARAMFIELD_PARAMVARIER_MINMAXSTEP": "min : %s, max : %s, pas : %s", "INFO_PARAMFIELD_PARAMVARIER_MODE": "Mode",