@abi-software/simulationvuer 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -96,12 +96,12 @@ return /******/ (function(modules) { // webpackBootstrap
96
96
  /************************************************************************/
97
97
  /******/ ({
98
98
 
99
- /***/ "020d":
99
+ /***/ "12e0":
100
100
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
101
101
 
102
102
  "use strict";
103
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_button_css_vue_type_style_index_2_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("dccf");
104
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_button_css_vue_type_style_index_2_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_button_css_vue_type_style_index_2_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
103
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_button_css_vue_type_style_index_1_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("82f6");
104
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_button_css_vue_type_style_index_1_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_button_css_vue_type_style_index_1_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
105
105
  /* unused harmony reexport * */
106
106
 
107
107
 
@@ -114,12 +114,12 @@ module.exports = require("core-js/modules/web.dom-collections.for-each.js");
114
114
 
115
115
  /***/ }),
116
116
 
117
- /***/ "1e1f":
117
+ /***/ "1b6b":
118
118
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
119
119
 
120
120
  "use strict";
121
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_container_css_vue_type_style_index_3_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("df2b");
122
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_container_css_vue_type_style_index_3_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_container_css_vue_type_style_index_3_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
121
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuerInput_vue_vue_type_style_index_0_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9e8b");
122
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuerInput_vue_vue_type_style_index_0_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuerInput_vue_vue_type_style_index_0_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
123
123
  /* unused harmony reexport * */
124
124
 
125
125
 
@@ -132,46 +132,42 @@ module.exports = require("core-js/modules/es.regexp.to-string.js");
132
132
 
133
133
  /***/ }),
134
134
 
135
- /***/ "379f":
136
- /***/ (function(module, exports, __webpack_require__) {
135
+ /***/ "4391":
136
+ /***/ (function(module, exports) {
137
137
 
138
- // extracted by mini-css-extract-plugin
138
+ module.exports = require("core-js/modules/es.array.map.js");
139
139
 
140
140
  /***/ }),
141
141
 
142
- /***/ "4391":
142
+ /***/ "4933":
143
143
  /***/ (function(module, exports) {
144
144
 
145
- module.exports = require("core-js/modules/es.array.map.js");
145
+ module.exports = require("core-js/modules/es.symbol.description.js");
146
146
 
147
147
  /***/ }),
148
148
 
149
- /***/ "47b7":
149
+ /***/ "49bc":
150
150
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
151
151
 
152
152
  "use strict";
153
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuer_vue_vue_type_style_index_0_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("aaaf");
154
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuer_vue_vue_type_style_index_0_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuer_vue_vue_type_style_index_0_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
153
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_loading_css_vue_type_style_index_3_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6505");
154
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_loading_css_vue_type_style_index_3_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_loading_css_vue_type_style_index_3_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
155
155
  /* unused harmony reexport * */
156
156
 
157
157
 
158
158
  /***/ }),
159
159
 
160
- /***/ "4933":
161
- /***/ (function(module, exports) {
160
+ /***/ "5b75":
161
+ /***/ (function(module, exports, __webpack_require__) {
162
162
 
163
- module.exports = require("core-js/modules/es.symbol.description.js");
163
+ // extracted by mini-css-extract-plugin
164
164
 
165
165
  /***/ }),
166
166
 
167
- /***/ "5b43":
168
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
169
-
170
- "use strict";
171
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_select_css_vue_type_style_index_6_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("660d");
172
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_select_css_vue_type_style_index_6_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_select_css_vue_type_style_index_6_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
173
- /* unused harmony reexport * */
167
+ /***/ "5cd4":
168
+ /***/ (function(module, exports, __webpack_require__) {
174
169
 
170
+ // extracted by mini-css-extract-plugin
175
171
 
176
172
  /***/ }),
177
173
 
@@ -189,25 +185,32 @@ module.exports = require("core-js/modules/es.string.replace.js");
189
185
 
190
186
  /***/ }),
191
187
 
192
- /***/ "660d":
188
+ /***/ "6505":
193
189
  /***/ (function(module, exports, __webpack_require__) {
194
190
 
195
191
  // extracted by mini-css-extract-plugin
196
192
 
197
193
  /***/ }),
198
194
 
199
- /***/ "7a96":
195
+ /***/ "68c9":
200
196
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
201
197
 
202
198
  "use strict";
203
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_slider_css_vue_type_style_index_7_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("da9e");
204
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_slider_css_vue_type_style_index_7_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_slider_css_vue_type_style_index_7_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
199
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_slider_css_vue_type_style_index_4_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5b75");
200
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_slider_css_vue_type_style_index_4_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_slider_css_vue_type_style_index_4_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
205
201
  /* unused harmony reexport * */
206
202
 
207
203
 
208
204
  /***/ }),
209
205
 
210
- /***/ "8518":
206
+ /***/ "82f6":
207
+ /***/ (function(module, exports, __webpack_require__) {
208
+
209
+ // extracted by mini-css-extract-plugin
210
+
211
+ /***/ }),
212
+
213
+ /***/ "8468":
211
214
  /***/ (function(module, exports, __webpack_require__) {
212
215
 
213
216
  // extracted by mini-css-extract-plugin
@@ -233,24 +236,6 @@ module.exports = require("core-js/modules/es.regexp.constructor.js");
233
236
 
234
237
  module.exports = require("vue");
235
238
 
236
- /***/ }),
237
-
238
- /***/ "8f10":
239
- /***/ (function(module, exports, __webpack_require__) {
240
-
241
- // extracted by mini-css-extract-plugin
242
-
243
- /***/ }),
244
-
245
- /***/ "9043":
246
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
247
-
248
- "use strict";
249
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_input_number_css_vue_type_style_index_4_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8518");
250
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_input_number_css_vue_type_style_index_4_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_input_number_css_vue_type_style_index_4_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
251
- /* unused harmony reexport * */
252
-
253
-
254
239
  /***/ }),
255
240
 
256
241
  /***/ "97d3":
@@ -274,6 +259,13 @@ module.exports = require("@soda/get-current-script");
274
259
 
275
260
  /***/ }),
276
261
 
262
+ /***/ "9e8b":
263
+ /***/ (function(module, exports, __webpack_require__) {
264
+
265
+ // extracted by mini-css-extract-plugin
266
+
267
+ /***/ }),
268
+
277
269
  /***/ "9e9d":
278
270
  /***/ (function(module, exports) {
279
271
 
@@ -281,44 +273,55 @@ module.exports = require("jsonschema");
281
273
 
282
274
  /***/ }),
283
275
 
284
- /***/ "aaaf":
285
- /***/ (function(module, exports, __webpack_require__) {
276
+ /***/ "a447":
277
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
278
+
279
+ "use strict";
280
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_input_number_css_vue_type_style_index_1_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5cd4");
281
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_input_number_css_vue_type_style_index_1_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_input_number_css_vue_type_style_index_1_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
282
+ /* unused harmony reexport * */
286
283
 
287
- // extracted by mini-css-extract-plugin
288
284
 
289
285
  /***/ }),
290
286
 
291
- /***/ "be94":
292
- /***/ (function(module, exports) {
287
+ /***/ "b01d":
288
+ /***/ (function(module, exports, __webpack_require__) {
293
289
 
294
- module.exports = require("core-js/modules/es.array.join.js");
290
+ // extracted by mini-css-extract-plugin
295
291
 
296
292
  /***/ }),
297
293
 
298
- /***/ "c8a6":
294
+ /***/ "be94":
299
295
  /***/ (function(module, exports) {
300
296
 
301
- module.exports = require("core-js/modules/es.regexp.exec.js");
297
+ module.exports = require("core-js/modules/es.array.join.js");
302
298
 
303
299
  /***/ }),
304
300
 
305
- /***/ "c9af":
301
+ /***/ "c048":
306
302
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
307
303
 
308
304
  "use strict";
309
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_option_css_vue_type_style_index_5_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8f10");
310
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_option_css_vue_type_style_index_5_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_option_css_vue_type_style_index_5_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
305
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_divider_css_vue_type_style_index_2_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b01d");
306
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_divider_css_vue_type_style_index_2_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_divider_css_vue_type_style_index_2_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
311
307
  /* unused harmony reexport * */
312
308
 
313
309
 
314
310
  /***/ }),
315
311
 
316
- /***/ "d7fe":
312
+ /***/ "c8a6":
313
+ /***/ (function(module, exports) {
314
+
315
+ module.exports = require("core-js/modules/es.regexp.exec.js");
316
+
317
+ /***/ }),
318
+
319
+ /***/ "cb09":
317
320
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
318
321
 
319
322
  "use strict";
320
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_aside_css_vue_type_style_index_1_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("379f");
321
- /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_aside_css_vue_type_style_index_1_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_aside_css_vue_type_style_index_1_id_3e94221a_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
323
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_option_css_vue_type_style_index_2_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e2bf");
324
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_option_css_vue_type_style_index_2_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_option_css_vue_type_style_index_2_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
322
325
  /* unused harmony reexport * */
323
326
 
324
327
 
@@ -331,13 +334,6 @@ module.exports = require("@abi-software/plotvuer/dist/plotvuer.css");
331
334
 
332
335
  /***/ }),
333
336
 
334
- /***/ "da9e":
335
- /***/ (function(module, exports, __webpack_require__) {
336
-
337
- // extracted by mini-css-extract-plugin
338
-
339
- /***/ }),
340
-
341
337
  /***/ "db0a":
342
338
  /***/ (function(module, exports) {
343
339
 
@@ -345,24 +341,28 @@ module.exports = require("core-js/modules/es.function.name.js");
345
341
 
346
342
  /***/ }),
347
343
 
348
- /***/ "dccf":
344
+ /***/ "e2bf":
349
345
  /***/ (function(module, exports, __webpack_require__) {
350
346
 
351
347
  // extracted by mini-css-extract-plugin
352
348
 
353
349
  /***/ }),
354
350
 
355
- /***/ "df2b":
356
- /***/ (function(module, exports, __webpack_require__) {
351
+ /***/ "ea64":
352
+ /***/ (function(module, exports) {
357
353
 
358
- // extracted by mini-css-extract-plugin
354
+ module.exports = require("core-js/modules/es.object.keys.js");
359
355
 
360
356
  /***/ }),
361
357
 
362
- /***/ "ea64":
363
- /***/ (function(module, exports) {
358
+ /***/ "ea79":
359
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
360
+
361
+ "use strict";
362
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_select_css_vue_type_style_index_3_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fdaa");
363
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_select_css_vue_type_style_index_3_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_select_css_vue_type_style_index_3_id_ca4c3b6e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
364
+ /* unused harmony reexport * */
364
365
 
365
- module.exports = require("core-js/modules/es.object.keys.js");
366
366
 
367
367
  /***/ }),
368
368
 
@@ -414,12 +414,12 @@ if (typeof window !== 'undefined') {
414
414
  // Indicate to webpack that this file can be concatenated
415
415
  /* harmony default export */ var setPublicPath = (null);
416
416
 
417
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"143c7da7-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SimulationVuer.vue?vue&type=template&id=3e94221a&scoped=true&
418
- var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.simulationBeingComputed),expression:"simulationBeingComputed"}],staticClass:"simulation-vuer",attrs:{"element-loading-text":"Loading simulation results..."}},[(!_vm.hasValidJson)?_c('p',{staticClass:"default error"},[_c('span',{staticClass:"error"},[_vm._v("Error:")]),_vm._v(" an unknown or invalid model was provided.")]):_vm._e(),(_vm.hasValidJson)?_c('div',{staticClass:"main"},[_c('div',{staticClass:"main-left"},[_c('p',{staticClass:"default title"},[_vm._v(_vm._s(_vm.title))]),_c('el-divider'),_c('p',{staticClass:"default input-parameters"},[_vm._v("Input parameters")]),_c('div',{ref:"input"}),_c('div',{staticClass:"primary-button"},[_c('el-button',{attrs:{"type":"primary","size":"mini"},on:{"click":function($event){return _vm.runSimulation()}}},[_vm._v("Run simulation")])],1),_c('div',{staticClass:"secondary-button"},[_c('el-button',{attrs:{"size":"mini"},on:{"click":function($event){return _vm.goToOsparc()}}},[_vm._v("Go to oSPARC")])],1),_c('div',{staticClass:"secondary-button"},[_c('el-button',{attrs:{"size":"mini"},on:{"click":function($event){return _vm.viewDataset()}}},[_vm._v("View dataset")])],1),_c('p',{staticClass:"default note"},[_vm._v("Additional parameters are available on oSPARC")])],1),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.simulationValid),expression:"simulationValid"}],ref:"output",staticClass:"main-right"},_vm._l((_vm.json.output.plots),function(outputPlot,index){return _c('PlotVuer',{key:("output-" + index),attrs:{"layout-input":_vm.layout[index],"dataInput":_vm.simulationData[index],"plotType":'plotly-only'}})}),1),_c('div',{directives:[{name:"show",rawName:"v-show",value:(!_vm.simulationValid),expression:"!simulationValid"}],staticClass:"main-right"},[_c('p',{staticClass:"default error"},[_c('span',{staticClass:"error"},[_vm._v("Error:")]),_vm._v(" "),_c('span',{domProps:{"innerHTML":_vm._s(_vm.errorMessage)}}),_vm._v(".")])])]):_vm._e()])}
417
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"514aa80e-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SimulationVuer.vue?vue&type=template&id=d2c3a0be&scoped=true&
418
+ var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.showUserMessage),expression:"showUserMessage"}],staticClass:"simulation-vuer",attrs:{"element-loading-text":_vm.userMessage}},[(!_vm.hasValidSimulationUiInformation && !_vm.showUserMessage)?_c('p',{staticClass:"default error"},[_c('span',{staticClass:"error"},[_vm._v("Error:")]),_vm._v(" an unknown or invalid model was provided.")]):_vm._e(),(_vm.hasValidSimulationUiInformation)?_c('div',{staticClass:"main"},[_c('div',{staticClass:"main-left"},[_c('p',{staticClass:"default title"},[_vm._v(_vm._s(_vm.title))]),_c('el-divider'),_c('p',{staticClass:"default input-parameters"},[_vm._v("Input parameters")]),_c('div',_vm._l((_vm.simulationUiInformation.input),function(input,index){return _c('SimulationVuerInput',{key:("input-" + index),attrs:{"defaultValue":input.defaultValue,"firstScalarInput":_vm.firstScalarInput[index],"name":input.name,"maximumValue":input.maximumValue,"minimumValue":input.minimumValue,"possibleValues":input.possibleValues}})}),1),_c('div',{ref:"input"}),_c('div',{staticClass:"primary-button"},[_c('el-button',{attrs:{"type":"primary","size":"mini"},on:{"click":function($event){return _vm.runSimulation()}}},[_vm._v("Run simulation")])],1),_c('div',{staticClass:"secondary-button"},[_c('el-button',{attrs:{"size":"mini"},on:{"click":function($event){return _vm.goToOsparc()}}},[_vm._v("Go to oSPARC")])],1),_c('div',{staticClass:"secondary-button"},[_c('el-button',{attrs:{"size":"mini"},on:{"click":function($event){return _vm.viewDataset()}}},[_vm._v("View dataset")])],1),_c('p',{staticClass:"default note"},[_vm._v("Additional parameters are available on oSPARC")])],1),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.isSimulationValid),expression:"isSimulationValid"}],ref:"output",staticClass:"main-right"},_vm._l((_vm.simulationUiInformation.output.plots),function(outputPlot,index){return _c('PlotVuer',{key:("output-" + index),attrs:{"layout-input":_vm.layout[index],"dataInput":_vm.simulationData[index],"plotType":'plotly-only'}})}),1),_c('div',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isSimulationValid),expression:"!isSimulationValid"}],staticClass:"main-right"},[_c('p',{staticClass:"default error"},[_c('span',{staticClass:"error"},[_vm._v("Error:")]),_vm._v(" "),_c('span',{domProps:{"innerHTML":_vm._s(_vm.errorMessage)}}),_vm._v(".")])])]):_vm._e()])}
419
419
  var staticRenderFns = []
420
420
 
421
421
 
422
- // CONCATENATED MODULE: ./src/components/SimulationVuer.vue?vue&type=template&id=3e94221a&scoped=true&
422
+ // CONCATENATED MODULE: ./src/components/SimulationVuer.vue?vue&type=template&id=d2c3a0be&scoped=true&
423
423
 
424
424
  // EXTERNAL MODULE: external "core-js/modules/es.function.name.js"
425
425
  var es_function_name_js_ = __webpack_require__("db0a");
@@ -446,118 +446,19 @@ var plotvuer_ = __webpack_require__("f164");
446
446
  // EXTERNAL MODULE: external "@abi-software/plotvuer/dist/plotvuer.css"
447
447
  var plotvuer_css_ = __webpack_require__("d856");
448
448
 
449
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"514aa80e-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SimulationVuerInput.vue?vue&type=template&id=ca4c3b6e&scoped=true&
450
+ var SimulationVuerInputvue_type_template_id_ca4c3b6e_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{class:_vm.labelClasses},[_vm._v(_vm._s(_vm.name))]),(_vm.isDiscrete)?_c('el-select',{staticClass:"discrete",attrs:{"popper-class":"discrete-popper","size":"mini","disabled":!_vm.enabled,"popper-append-to-body":false},on:{"change":function($event){return _vm.updateUi()}},model:{value:(_vm.vModel),callback:function ($$v) {_vm.vModel=$$v},expression:"vModel"}},_vm._l((_vm.possibleValues),function(possibleValue){return _c('el-option',{key:possibleValue.value,attrs:{"label":possibleValue.name,"value":possibleValue.value}})}),1):_vm._e(),(!_vm.isDiscrete)?_c('div',{staticClass:"sliders-and-fields"},[_c('el-slider',{attrs:{"disabled":!_vm.enabled,"max":_vm.maximumValue,"min":_vm.minimumValue,"show-input":false,"show-tooltip":false},on:{"change":function($event){return _vm.updateUi()}},model:{value:(_vm.vModel),callback:function ($$v) {_vm.vModel=$$v},expression:"vModel"}}),_c('el-input-number',{staticClass:"scalar",attrs:{"size":"mini","controls":false,"disabled":!_vm.enabled,"max":_vm.maximumValue,"min":_vm.minimumValue},on:{"input":function($event){return _vm.updateUi()}},model:{value:(_vm.vModel),callback:function ($$v) {_vm.vModel=$$v},expression:"vModel"}})],1):_vm._e()],1)}
451
+ var SimulationVuerInputvue_type_template_id_ca4c3b6e_scoped_true_staticRenderFns = []
452
+
453
+
454
+ // CONCATENATED MODULE: ./src/components/SimulationVuerInput.vue?vue&type=template&id=ca4c3b6e&scoped=true&
455
+
456
+ // EXTERNAL MODULE: external "core-js/modules/es.number.constructor.js"
457
+ var es_number_constructor_js_ = __webpack_require__("f989");
458
+
449
459
  // EXTERNAL MODULE: external "element-ui"
450
460
  var external_element_ui_ = __webpack_require__("5f72");
451
461
 
452
- // CONCATENATED MODULE: ./src/components/configuration.js
453
- function jsonForNormalModel() {
454
- return {
455
- input: [{
456
- defaultValue: 0,
457
- id: "sm",
458
- name: "Simulation mode",
459
- possibleValues: [{
460
- name: "Normal sinus rhythm",
461
- value: 0
462
- }, {
463
- name: "Stellate stimulation",
464
- value: 1
465
- }, {
466
- name: "Vagal stimulation",
467
- value: 2
468
- }]
469
- }, {
470
- defaultValue: 0,
471
- enabled: "(sm == 1) || (sm == 2)",
472
- id: "sl",
473
- maximumValue: 10,
474
- minimumValue: 0,
475
- name: "Stimulation level"
476
- }],
477
- output: {
478
- data: [{
479
- id: "time",
480
- name: "environment/time"
481
- }, {
482
- id: "vm",
483
- name: "Membrane/V"
484
- }],
485
- plots: [{
486
- xAxisTitle: "Time (s)",
487
- xValue: "time",
488
- yAxisTitle: "Membrane potential (mV)",
489
- yValue: "vm"
490
- }]
491
- },
492
- parameters: [{
493
- name: "Rate_modulation_experiments/Iso_1_uM",
494
- value: "(sm == 0) ? 0.0 : 1.0"
495
- }, {
496
- name: "Rate_modulation_experiments/ACh",
497
- value: "(sm == 0) ? 0.0 : (sm === 1) ? (1.0 - 0.1 * sl) * 22.0e-6 : 22.0e-6 + 0.1 * sl * (38.0e-6 - 22.0e-6)"
498
- }],
499
- simulation: {
500
- endingPoint: 3.0,
501
- pointInterval: 0.001
502
- }
503
- };
504
- }
505
- function jsonForCompositeModel() {
506
- return {
507
- input: [{
508
- defaultValue: 300,
509
- id: "sf",
510
- maximumValue: 1000,
511
- minimumValue: 0,
512
- name: "Spike frequency"
513
- }, {
514
- defaultValue: 10,
515
- id: "sn",
516
- maximumValue: 30,
517
- minimumValue: 0,
518
- name: "Spike number"
519
- }, {
520
- defaultValue: 10,
521
- id: "sa",
522
- maximumValue: 30,
523
- minimumValue: 0,
524
- name: "Spike amplitude"
525
- }],
526
- output: {
527
- data: [{
528
- id: "sa",
529
- name: "Brain_stem/w"
530
- }, {
531
- id: "time",
532
- name: "environment/time"
533
- }, {
534
- id: "vm",
535
- name: "Membrane/V"
536
- }],
537
- plots: [{
538
- xAxisTitle: "Time (s)",
539
- xValue: "time",
540
- yAxisTitle: "Spike amplitude",
541
- yValue: "100.0 * sa"
542
- }, {
543
- xAxisTitle: "Time (s)",
544
- xValue: "time",
545
- yAxisTitle: "Membrane potential (mV)",
546
- yValue: "vm"
547
- }]
548
- },
549
- parameters: [{
550
- name: "Brain_stem/t_period",
551
- value: "sf"
552
- }, {
553
- name: "Brain_stem/w_n",
554
- value: "sn"
555
- }, {
556
- name: "Brain_stem/w_value",
557
- value: "0.01 * sa"
558
- }]
559
- };
560
- }
561
462
  // EXTERNAL MODULE: external "core-js/modules/es.regexp.constructor.js"
562
463
  var es_regexp_constructor_js_ = __webpack_require__("86d1");
563
464
 
@@ -586,21 +487,285 @@ function doEvaluateValue(value, from, to) {
586
487
  return value;
587
488
  }
588
489
 
589
- function evaluateValue(ui, value) {
590
- ui.discreteElements.forEach(function (discreteElement) {
591
- value = doEvaluateValue(value, discreteElement.id, discreteElement.select.vModel);
592
- });
593
- ui.scalarElements.forEach(function (scalarElement) {
594
- value = doEvaluateValue(value, scalarElement.id, scalarElement.input_number.vModel);
490
+ function evaluateValue(parent, value) {
491
+ var index = -1;
492
+ parent.simulationUiInformation.input.forEach(function (input) {
493
+ ++index;
494
+ value = doEvaluateValue(value, input.id, parent.$children[index].vModel);
595
495
  });
596
496
  return Function("return " + value + ";")();
597
497
  }
598
498
  function evaluateSimulationValue(parent, results, value, i) {
599
- parent.json.output.data.forEach(function (data) {
499
+ parent.simulationUiInformation.output.data.forEach(function (data) {
600
500
  value = doEvaluateValue(value, data.id, results[parent.simulationDataId[data.id]][i]);
601
501
  });
602
502
  return Function("return " + value + ";")();
603
503
  }
504
+ // CONCATENATED MODULE: ./src/components/ui.js
505
+
506
+
507
+
508
+ function initialiseUi(parent) {
509
+ // Initialise some input-related data.
510
+ var index = -1;
511
+ var isPreviousDiscrete = true;
512
+ parent.simulationUiInformation.input.forEach(function (input) {
513
+ var isDiscrete = input.possibleValues !== undefined;
514
+ parent.firstScalarInput[++index] = !isDiscrete && isPreviousDiscrete;
515
+ isPreviousDiscrete = isDiscrete;
516
+ }); // Initialise some output-related data.
517
+
518
+ parent.simulationUiInformation.output.data.forEach(function (data) {
519
+ parent.simulationDataId[data.id] = data.name;
520
+ });
521
+ index = -1;
522
+ parent.simulationUiInformation.output.plots.forEach(function (outputPlot) {
523
+ ++index;
524
+ parent.layout[index] = {
525
+ xaxis: {
526
+ title: {
527
+ text: outputPlot.xAxisTitle,
528
+ font: {
529
+ size: 10
530
+ }
531
+ }
532
+ },
533
+ yaxis: {
534
+ title: {
535
+ text: outputPlot.yAxisTitle,
536
+ font: {
537
+ size: 10
538
+ }
539
+ }
540
+ }
541
+ };
542
+ parent.simulationData[index] = [{}];
543
+ });
544
+ }
545
+ function finaliseUi(parent) {
546
+ // Finalise our UI, but only if we haven't already done so, we are mounted,
547
+ // and we have some valid simulation UI information.
548
+ if (!parent.hasFinalisedUi && parent.isMounted && parent.hasValidSimulationUiInformation) {
549
+ // Configure the PlotVuer's.
550
+ parent.$refs.output.classList.add("x" + parent.simulationUiInformation.output.plots.length); // Make sure that our UI is up to date.
551
+
552
+ ui_updateUi(parent);
553
+ parent.hasFinalisedUi = true;
554
+ }
555
+ }
556
+ function ui_updateUi(parent) {
557
+ // Enable/disable all the elements.
558
+ // Note: we do this using $nextTick() to be ensure that the UI has been fully
559
+ // mounted.
560
+ parent.$nextTick(function () {
561
+ var index = -1;
562
+ parent.simulationUiInformation.input.forEach(function (input) {
563
+ parent.$children[++index].enabled = input.enabled === undefined ? true : evaluateValue(parent, input.enabled);
564
+ });
565
+ });
566
+ }
567
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SimulationVuerInput.vue?vue&type=script&lang=js&
568
+
569
+ //
570
+ //
571
+ //
572
+ //
573
+ //
574
+ //
575
+ //
576
+ //
577
+ //
578
+ //
579
+ //
580
+ //
581
+ //
582
+
583
+
584
+
585
+ external_vue_default.a.use(external_element_ui_["InputNumber"]);
586
+ external_vue_default.a.use(external_element_ui_["Option"]);
587
+ external_vue_default.a.use(external_element_ui_["Select"]);
588
+ external_vue_default.a.use(external_element_ui_["Slider"]);
589
+ /* harmony default export */ var SimulationVuerInputvue_type_script_lang_js_ = ({
590
+ name: "SimulationVuerInput",
591
+ props: {
592
+ defaultValue: {
593
+ required: true,
594
+ type: Number
595
+ },
596
+ firstScalarInput: {
597
+ type: Boolean
598
+ },
599
+ maximumValue: {
600
+ type: Number
601
+ },
602
+ minimumValue: {
603
+ type: Number
604
+ },
605
+ name: {
606
+ required: true,
607
+ type: String
608
+ },
609
+ possibleValues: {
610
+ type: Array
611
+ }
612
+ },
613
+ data: function data() {
614
+ return {
615
+ enabled: true,
616
+ isDiscrete: this.possibleValues !== undefined,
617
+ labelClasses: "default " + (this.possibleValues !== undefined ? "discrete" : this.firstScalarInput ? "first-scalar" : "scalar"),
618
+ vModel: this.defaultValue
619
+ };
620
+ },
621
+ methods: {
622
+ updateUi: function updateUi() {
623
+ ui_updateUi(this.$parent);
624
+ }
625
+ }
626
+ });
627
+ // CONCATENATED MODULE: ./src/components/SimulationVuerInput.vue?vue&type=script&lang=js&
628
+ /* harmony default export */ var components_SimulationVuerInputvue_type_script_lang_js_ = (SimulationVuerInputvue_type_script_lang_js_);
629
+ // EXTERNAL MODULE: ./src/components/SimulationVuerInput.vue?vue&type=style&index=0&id=ca4c3b6e&scoped=true&lang=css&
630
+ var SimulationVuerInputvue_type_style_index_0_id_ca4c3b6e_scoped_true_lang_css_ = __webpack_require__("1b6b");
631
+
632
+ // EXTERNAL MODULE: ./src/styles/purple/input-number.css?vue&type=style&index=1&id=ca4c3b6e&scoped=true&lang=css&
633
+ var input_numbervue_type_style_index_1_id_ca4c3b6e_scoped_true_lang_css_ = __webpack_require__("a447");
634
+
635
+ // EXTERNAL MODULE: ./src/styles/purple/option.css?vue&type=style&index=2&id=ca4c3b6e&scoped=true&lang=css&
636
+ var optionvue_type_style_index_2_id_ca4c3b6e_scoped_true_lang_css_ = __webpack_require__("cb09");
637
+
638
+ // EXTERNAL MODULE: ./src/styles/purple/select.css?vue&type=style&index=3&id=ca4c3b6e&scoped=true&lang=css&
639
+ var selectvue_type_style_index_3_id_ca4c3b6e_scoped_true_lang_css_ = __webpack_require__("ea79");
640
+
641
+ // EXTERNAL MODULE: ./src/styles/purple/slider.css?vue&type=style&index=4&id=ca4c3b6e&scoped=true&lang=css&
642
+ var slidervue_type_style_index_4_id_ca4c3b6e_scoped_true_lang_css_ = __webpack_require__("68c9");
643
+
644
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
645
+ /* globals __VUE_SSR_CONTEXT__ */
646
+
647
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
648
+ // This module is a runtime utility for cleaner component module output and will
649
+ // be included in the final webpack user bundle.
650
+
651
+ function normalizeComponent (
652
+ scriptExports,
653
+ render,
654
+ staticRenderFns,
655
+ functionalTemplate,
656
+ injectStyles,
657
+ scopeId,
658
+ moduleIdentifier, /* server only */
659
+ shadowMode /* vue-cli only */
660
+ ) {
661
+ // Vue.extend constructor export interop
662
+ var options = typeof scriptExports === 'function'
663
+ ? scriptExports.options
664
+ : scriptExports
665
+
666
+ // render functions
667
+ if (render) {
668
+ options.render = render
669
+ options.staticRenderFns = staticRenderFns
670
+ options._compiled = true
671
+ }
672
+
673
+ // functional template
674
+ if (functionalTemplate) {
675
+ options.functional = true
676
+ }
677
+
678
+ // scopedId
679
+ if (scopeId) {
680
+ options._scopeId = 'data-v-' + scopeId
681
+ }
682
+
683
+ var hook
684
+ if (moduleIdentifier) { // server build
685
+ hook = function (context) {
686
+ // 2.3 injection
687
+ context =
688
+ context || // cached call
689
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
690
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
691
+ // 2.2 with runInNewContext: true
692
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
693
+ context = __VUE_SSR_CONTEXT__
694
+ }
695
+ // inject component styles
696
+ if (injectStyles) {
697
+ injectStyles.call(this, context)
698
+ }
699
+ // register component module identifier for async chunk inferrence
700
+ if (context && context._registeredComponents) {
701
+ context._registeredComponents.add(moduleIdentifier)
702
+ }
703
+ }
704
+ // used by ssr in case component is cached and beforeCreate
705
+ // never gets called
706
+ options._ssrRegister = hook
707
+ } else if (injectStyles) {
708
+ hook = shadowMode
709
+ ? function () {
710
+ injectStyles.call(
711
+ this,
712
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
713
+ )
714
+ }
715
+ : injectStyles
716
+ }
717
+
718
+ if (hook) {
719
+ if (options.functional) {
720
+ // for template-only hot-reload because in that case the render fn doesn't
721
+ // go through the normalizer
722
+ options._injectStyles = hook
723
+ // register for functional component in vue file
724
+ var originalRender = options.render
725
+ options.render = function renderWithStyleInjection (h, context) {
726
+ hook.call(context)
727
+ return originalRender(h, context)
728
+ }
729
+ } else {
730
+ // inject component registration as beforeCreate hook
731
+ var existing = options.beforeCreate
732
+ options.beforeCreate = existing
733
+ ? [].concat(existing, hook)
734
+ : [hook]
735
+ }
736
+ }
737
+
738
+ return {
739
+ exports: scriptExports,
740
+ options: options
741
+ }
742
+ }
743
+
744
+ // CONCATENATED MODULE: ./src/components/SimulationVuerInput.vue
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
+
755
+ /* normalize component */
756
+
757
+ var component = normalizeComponent(
758
+ components_SimulationVuerInputvue_type_script_lang_js_,
759
+ SimulationVuerInputvue_type_template_id_ca4c3b6e_scoped_true_render,
760
+ SimulationVuerInputvue_type_template_id_ca4c3b6e_scoped_true_staticRenderFns,
761
+ false,
762
+ null,
763
+ "ca4c3b6e",
764
+ null
765
+
766
+ )
767
+
768
+ /* harmony default export */ var SimulationVuerInput = (component.exports);
604
769
  // EXTERNAL MODULE: external "core-js/modules/es.object.to-string.js"
605
770
  var es_object_to_string_js_ = __webpack_require__("97d3");
606
771
 
@@ -643,6 +808,9 @@ function validJson(json) {
643
808
  required: true,
644
809
  type: "number"
645
810
  },
811
+ enabled: {
812
+ type: "string"
813
+ },
646
814
  id: {
647
815
  type: "string"
648
816
  },
@@ -970,294 +1138,6 @@ function validJson(json) {
970
1138
 
971
1139
  return true;
972
1140
  }
973
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
974
- function _classCallCheck(instance, Constructor) {
975
- if (!(instance instanceof Constructor)) {
976
- throw new TypeError("Cannot call a class as a function");
977
- }
978
- }
979
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
980
- function _defineProperties(target, props) {
981
- for (var i = 0; i < props.length; i++) {
982
- var descriptor = props[i];
983
- descriptor.enumerable = descriptor.enumerable || false;
984
- descriptor.configurable = true;
985
- if ("value" in descriptor) descriptor.writable = true;
986
- Object.defineProperty(target, descriptor.key, descriptor);
987
- }
988
- }
989
-
990
- function _createClass(Constructor, protoProps, staticProps) {
991
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
992
- if (staticProps) _defineProperties(Constructor, staticProps);
993
- return Constructor;
994
- }
995
- // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
996
- function _defineProperty(obj, key, value) {
997
- if (key in obj) {
998
- Object.defineProperty(obj, key, {
999
- value: value,
1000
- enumerable: true,
1001
- configurable: true,
1002
- writable: true
1003
- });
1004
- } else {
1005
- obj[key] = value;
1006
- }
1007
-
1008
- return obj;
1009
- }
1010
- // EXTERNAL MODULE: external "core-js/modules/es.number.constructor.js"
1011
- var es_number_constructor_js_ = __webpack_require__("f989");
1012
-
1013
- // CONCATENATED MODULE: ./src/components/ui.js
1014
-
1015
-
1016
-
1017
-
1018
-
1019
-
1020
-
1021
-
1022
- function prepareForUi(parent) {
1023
- var index = -1;
1024
- parent.json.output.data.forEach(function (data) {
1025
- parent.simulationDataId[data.id] = data.name;
1026
- });
1027
- parent.json.output.plots.forEach(function (outputPlot) {
1028
- ++index;
1029
- parent.layout[index] = {
1030
- xaxis: {
1031
- title: {
1032
- text: outputPlot.xAxisTitle,
1033
- font: {
1034
- size: 10
1035
- }
1036
- }
1037
- },
1038
- yaxis: {
1039
- title: {
1040
- text: outputPlot.yAxisTitle,
1041
- font: {
1042
- size: 10
1043
- }
1044
- }
1045
- }
1046
- };
1047
- parent.simulationData[index] = [{}];
1048
- });
1049
- }
1050
- var VueContainer = external_vue_default.a.extend({
1051
- template: "\n <div class=\"sliders-and-fields\"/>\n "
1052
- });
1053
- var VueInputNumber = external_vue_default.a.extend({
1054
- methods: {
1055
- emitSynchroniseSliderAndInputNumber: function emitSynchroniseSliderAndInputNumber(value) {
1056
- this.$emit("synchroniseSliderAndInputNumber", this.index, value);
1057
- }
1058
- },
1059
- props: {
1060
- disabled: Boolean,
1061
- index: Number,
1062
- maximumValue: Number,
1063
- minimumValue: Number,
1064
- parent: Object,
1065
- vModel: Number
1066
- },
1067
- template: "\n <el-input-number class=\"scalar\" size=\"mini\" v-model=\"vModel\" :controls=\"false\" :disabled=\"disabled\" :max=\"maximumValue\" :min=\"minimumValue\" @change=\"emitSynchroniseSliderAndInputNumber\" />\n "
1068
- });
1069
- var VueLabel = external_vue_default.a.extend({
1070
- props: {
1071
- classes: String,
1072
- label: String
1073
- },
1074
- template: "\n <p :class=\"classes\">{{ label }}</p>\n "
1075
- });
1076
- var VueSelect = external_vue_default.a.extend({
1077
- methods: {
1078
- emitSelectionChanged: function emitSelectionChanged(value) {
1079
- this.$emit("selectionChanged", this.index, value);
1080
- }
1081
- },
1082
- props: {
1083
- index: Number,
1084
- parent: Object,
1085
- possibleValues: Array,
1086
- vModel: Number
1087
- },
1088
- template: "\n <el-select class=\"discrete\" popper-class=\"discrete-popper\" size=\"mini\" v-model=\"vModel\" :popper-append-to-body=\"false\" @change=\"emitSelectionChanged\">\n <el-option v-for=\"possibleValue in possibleValues\" :key=\"possibleValue.value\" :label=\"possibleValue.name\" :value=\"possibleValue.value\" />\n </el-select>\n "
1089
- });
1090
- var VueSlider = external_vue_default.a.extend({
1091
- methods: {
1092
- emitSynchroniseSliderAndInputNumber: function emitSynchroniseSliderAndInputNumber(value) {
1093
- this.$emit("synchroniseSliderAndInputNumber", this.index, value);
1094
- }
1095
- },
1096
- props: {
1097
- disabled: Boolean,
1098
- index: Number,
1099
- maximumValue: Number,
1100
- parent: Object,
1101
- vModel: Number
1102
- },
1103
- template: "\n <el-slider v-model=\"vModel\" :disabled=\"disabled\" :max=\"maximumValue\" :show-input=\"false\" :show-tooltip=\"false\" @input=\"emitSynchroniseSliderAndInputNumber\" />\n "
1104
- });
1105
-
1106
- var ui_Ui = /*#__PURE__*/function () {
1107
- function Ui(parent) {
1108
- var _this = this;
1109
-
1110
- _classCallCheck(this, Ui);
1111
-
1112
- _defineProperty(this, "discreteElements", []);
1113
-
1114
- _defineProperty(this, "scalarElements", []);
1115
-
1116
- // Generate the UI for the input fields.
1117
- var inputRoot = parent.$refs.input;
1118
- var isPreviousDiscrete = true;
1119
- var slidersAndFieldsContainer = undefined;
1120
- var firstScalarInput = true;
1121
- var discreteElementIndex = -1;
1122
- var scalarElementIndex = -1;
1123
- parent.json.input.forEach(function (input) {
1124
- // Determine whether we are dealing with a discrete or a scalar input.
1125
- var isDiscrete = input.possibleValues !== undefined; // Determine our element mode and create a container for our sliders and
1126
- // input numbers, if needed.
1127
-
1128
- if (!isDiscrete && isPreviousDiscrete) {
1129
- slidersAndFieldsContainer = new VueContainer();
1130
-
1131
- _this.addVueElement(inputRoot, inputRoot, slidersAndFieldsContainer);
1132
- }
1133
-
1134
- isPreviousDiscrete = isDiscrete; // Add the Label.
1135
-
1136
- var label = new VueLabel({
1137
- propsData: {
1138
- classes: "default " + (isDiscrete ? "discrete" : firstScalarInput ? "first-scalar" : "scalar"),
1139
- label: input.name
1140
- }
1141
- });
1142
-
1143
- _this.addVueElement(inputRoot, isDiscrete ? inputRoot : slidersAndFieldsContainer.$el, label);
1144
-
1145
- firstScalarInput = isDiscrete; // Add a drop-down list or a slider and a text box depending on whether
1146
- // we are dealing with a discrete or a scalar input.
1147
-
1148
- if (isDiscrete) {
1149
- // Add the drop-down list.
1150
- ++discreteElementIndex;
1151
- var select = new VueSelect({
1152
- propsData: {
1153
- index: discreteElementIndex,
1154
- parent: _this,
1155
- possibleValues: input.possibleValues,
1156
- vModel: input.defaultValue
1157
- }
1158
- });
1159
-
1160
- _this.addVueElement(inputRoot, inputRoot, select);
1161
-
1162
- select.$on("selectionChanged", _this.selectionChanged); // Keep track of the select and its id.
1163
-
1164
- _this.discreteElements[discreteElementIndex] = {
1165
- id: input.id,
1166
- select: select
1167
- };
1168
- } else {
1169
- // Add the slider and input number.
1170
- ++scalarElementIndex;
1171
- var slider = new VueSlider({
1172
- propsData: {
1173
- index: scalarElementIndex,
1174
- maximumValue: input.maximumValue,
1175
- parent: _this,
1176
- vModel: input.defaultValue
1177
- }
1178
- });
1179
- var inputNumber = new VueInputNumber({
1180
- propsData: {
1181
- index: scalarElementIndex,
1182
- maximumValue: input.maximumValue,
1183
- minimumValue: input.minimumValue,
1184
- parent: _this,
1185
- vModel: input.defaultValue
1186
- }
1187
- });
1188
-
1189
- _this.addVueElement(inputRoot, slidersAndFieldsContainer.$el, slider);
1190
-
1191
- _this.addVueElement(inputRoot, slidersAndFieldsContainer.$el, inputNumber);
1192
-
1193
- slider.$on("synchroniseSliderAndInputNumber", _this.synchroniseSliderAndInputNumber);
1194
- inputNumber.$on("synchroniseSliderAndInputNumber", _this.synchroniseSliderAndInputNumber); // Keep track of the slider and input number.
1195
-
1196
- _this.scalarElements[scalarElementIndex] = {
1197
- enabled: input.enabled,
1198
- id: input.id,
1199
- input_number: inputNumber,
1200
- slider: slider
1201
- };
1202
- }
1203
- }); // Configure the PlotVuer's.
1204
- // Note: the PlotVuer's are created in SimulationVuer.vue since we can't
1205
- // create them dynamically. So, all we need to do here is to configure
1206
- // them.
1207
-
1208
- parent.$refs.output.classList.add("x" + parent.json.output.plots.length); // Enable/disable all the elements by pretending that a selection changed.
1209
-
1210
- this.selectionChanged();
1211
- }
1212
-
1213
- _createClass(Ui, [{
1214
- key: "setVueAttributes",
1215
- value: function setVueAttributes(root, element) {
1216
- var _this2 = this;
1217
-
1218
- root.attributes.forEach(function (attribute) {
1219
- element.setAttribute(attribute.nodeName, attribute.nodeValue);
1220
- });
1221
- element.children.forEach(function (childElement) {
1222
- _this2.setVueAttributes(root, childElement);
1223
- });
1224
- }
1225
- }, {
1226
- key: "addVueElement",
1227
- value: function addVueElement(root, parent, element) {
1228
- element.$mount();
1229
- this.setVueAttributes(root, element.$el);
1230
- parent.appendChild(element.$el);
1231
- }
1232
- }, {
1233
- key: "selectionChanged",
1234
- value: function selectionChanged() {
1235
- // Enable/disable all the scalar elements.
1236
- var ui = this instanceof Ui ? this : this.parent;
1237
- ui.scalarElements.forEach(function (scalarElement) {
1238
- var enabled = scalarElement.enabled;
1239
-
1240
- if (enabled !== undefined) {
1241
- var disabled = !evaluateValue(ui, enabled);
1242
- scalarElement.slider.disabled = disabled;
1243
- scalarElement.input_number.disabled = disabled;
1244
- }
1245
- });
1246
- }
1247
- }, {
1248
- key: "synchroniseSliderAndInputNumber",
1249
- value: function synchroniseSliderAndInputNumber(index, value) {
1250
- // Make sure that both a slider and its corresponding input number have
1251
- // the same value.
1252
- this.parent.scalarElements[index].slider.vModel = value;
1253
- this.parent.scalarElements[index].input_number.vModel = value;
1254
- }
1255
- }]);
1256
-
1257
- return Ui;
1258
- }();
1259
-
1260
-
1261
1141
  // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/SimulationVuer.vue?vue&type=script&lang=js&
1262
1142
 
1263
1143
 
@@ -1294,6 +1174,9 @@ var ui_Ui = /*#__PURE__*/function () {
1294
1174
  //
1295
1175
  //
1296
1176
  //
1177
+ //
1178
+ //
1179
+ //
1297
1180
 
1298
1181
 
1299
1182
 
@@ -1302,21 +1185,14 @@ var ui_Ui = /*#__PURE__*/function () {
1302
1185
 
1303
1186
 
1304
1187
 
1305
-
1306
- external_vue_default.a.use(external_element_ui_["Aside"]);
1307
1188
  external_vue_default.a.use(external_element_ui_["Button"]);
1308
- external_vue_default.a.use(external_element_ui_["Container"]);
1309
1189
  external_vue_default.a.use(external_element_ui_["Divider"]);
1310
- external_vue_default.a.use(external_element_ui_["InputNumber"]);
1311
1190
  external_vue_default.a.use(external_element_ui_["Loading"]);
1312
- external_vue_default.a.use(external_element_ui_["Main"]);
1313
- external_vue_default.a.use(external_element_ui_["Option"]);
1314
- external_vue_default.a.use(external_element_ui_["Select"]);
1315
- external_vue_default.a.use(external_element_ui_["Slider"]);
1316
1191
  /* harmony default export */ var SimulationVuervue_type_script_lang_js_ = ({
1317
1192
  name: "SimulationVuer",
1318
1193
  components: {
1319
- PlotVuer: plotvuer_["PlotVuer"]
1194
+ PlotVuer: plotvuer_["PlotVuer"],
1195
+ SimulationVuerInput: SimulationVuerInput
1320
1196
  },
1321
1197
  props: {
1322
1198
  apiLocation: {
@@ -1330,16 +1206,18 @@ external_vue_default.a.use(external_element_ui_["Slider"]);
1330
1206
  },
1331
1207
  data: function data() {
1332
1208
  return {
1333
- mode: 0,
1334
- //---GRY--- TO BE DELETED!
1335
- json: {},
1336
- hasValidJson: true,
1337
1209
  errorMessage: "",
1210
+ firstScalarInput: [],
1211
+ hasFinalisedUi: false,
1212
+ hasValidSimulationUiInformation: false,
1213
+ isMounted: false,
1214
+ isSimulationValid: true,
1338
1215
  layout: [],
1216
+ showUserMessage: false,
1339
1217
  simulationData: [],
1340
1218
  simulationDataId: {},
1341
- simulationBeingComputed: false,
1342
- simulationValid: true,
1219
+ simulationUiInformation: {},
1220
+ userMessage: "",
1343
1221
  title: this.entry !== undefined ? this.entry.name : "",
1344
1222
  ui: null
1345
1223
  };
@@ -1354,33 +1232,34 @@ external_vue_default.a.use(external_element_ui_["Slider"]);
1354
1232
  runSimulation: function runSimulation() {
1355
1233
  var _this = this;
1356
1234
 
1357
- this.simulationBeingComputed = true;
1235
+ this.userMessage = "Loading simulation results...";
1236
+ this.showUserMessage = true;
1358
1237
  var request = {
1359
1238
  model_url: this.entry.resource,
1360
1239
  json_config: {}
1361
- }; // Specify the ending point and point interval for the normal mode (since
1362
- // our resource is a CellML file).
1240
+ }; // Specify the ending point and point interval, if we have some simulation
1241
+ // data.
1363
1242
 
1364
- if (this.json.simulation !== undefined) {
1243
+ if (this.simulationUiInformation.simulation !== undefined) {
1365
1244
  request.json_config.simulation = {
1366
- "Ending point": this.json.simulation.endingPoint,
1367
- "Point interval": this.json.simulation.pointInterval
1245
+ "Ending point": this.simulationUiInformation.simulation.endingPoint,
1246
+ "Point interval": this.simulationUiInformation.simulation.pointInterval
1368
1247
  };
1369
1248
  } // Specify the simulation parameters.
1370
1249
 
1371
1250
 
1372
- if (this.json.parameters != undefined) {
1251
+ if (this.simulationUiInformation.parameters != undefined) {
1373
1252
  request.json_config.parameters = {};
1374
- this.json.parameters.forEach(function (parameter) {
1375
- request.json_config.parameters[parameter.name] = evaluateValue(_this.ui, parameter.value);
1253
+ this.simulationUiInformation.parameters.forEach(function (parameter) {
1254
+ request.json_config.parameters[parameter.name] = evaluateValue(_this, parameter.value);
1376
1255
  });
1377
1256
  } // Specify what we want to retrieve.
1378
1257
 
1379
1258
 
1380
- if (this.json.output.data !== undefined) {
1259
+ if (this.simulationUiInformation.output.data !== undefined) {
1381
1260
  var index = -1;
1382
1261
  request.json_config.output = [];
1383
- this.json.output.data.forEach(function (outputData) {
1262
+ this.simulationUiInformation.output.data.forEach(function (outputData) {
1384
1263
  request.json_config.output[++index] = outputData.name;
1385
1264
  });
1386
1265
  } // Run the simulation.
@@ -1392,19 +1271,19 @@ external_vue_default.a.use(external_element_ui_["Slider"]);
1392
1271
 
1393
1272
  xmlhttp.onreadystatechange = function () {
1394
1273
  if (xmlhttp.readyState === 4) {
1395
- _this.simulationBeingComputed = false;
1274
+ _this.showUserMessage = false;
1396
1275
 
1397
1276
  if (xmlhttp.status === 200) {
1398
1277
  var response = JSON.parse(xmlhttp.responseText);
1399
- _this.simulationValid = response.status === "ok";
1278
+ _this.isSimulationValid = response.status === "ok";
1400
1279
 
1401
- if (_this.simulationValid) {
1280
+ if (_this.isSimulationValid) {
1402
1281
  // Retrieve and post-process the simulation data.
1403
1282
  var _index = -1;
1404
1283
 
1405
1284
  var iMax = response.results[_this.simulationDataId[Object.keys(_this.simulationDataId)[0]]].length;
1406
1285
 
1407
- _this.json.output.plots.forEach(function (outputPlot) {
1286
+ _this.simulationUiInformation.output.plots.forEach(function (outputPlot) {
1408
1287
  var xValue = [];
1409
1288
  var yValue = [];
1410
1289
 
@@ -1422,7 +1301,7 @@ external_vue_default.a.use(external_element_ui_["Slider"]);
1422
1301
  _this.errorMessage = response.description;
1423
1302
  }
1424
1303
  } else {
1425
- _this.simulationValid = false;
1304
+ _this.isSimulationValid = false;
1426
1305
  _this.errorMessage = xmlhttp.statusText.toLowerCase() + " (<a href='https://httpstatuses.com/" + xmlhttp.status + "/' target='_blank'>" + xmlhttp.status + "</a>)";
1427
1306
  }
1428
1307
  }
@@ -1432,162 +1311,64 @@ external_vue_default.a.use(external_element_ui_["Slider"]);
1432
1311
  }
1433
1312
  },
1434
1313
  created: function created() {
1435
- // Manually (for now) specify the JSON configuration to be used by either
1436
- // the normal model or the composite model.
1437
- this.mode = -1;
1438
-
1439
- if (this.entry !== undefined) {
1440
- if (this.entry.resource === "https://models.physiomeproject.org/workspace/486/rawfile/55879cbc485e2d4c41f3dc6d60424b849f94c4ee/HumanSAN_Fabbri_Fantini_Wilders_Severi_2017.cellml") {
1441
- this.mode = 0;
1442
- this.json = jsonForNormalModel();
1443
- } else if (this.entry.resource === "https://models.physiomeproject.org/workspace/698/rawfile/f3fc911063ac72ed44e84c0c5af28df41c25d452/fabbri_et_al_based_composite_SAN_model.sedml") {
1444
- this.mode = 1;
1445
- this.json = jsonForCompositeModel();
1446
- }
1447
- } // Make sure that the JSON configuration is valid.
1314
+ var _this2 = this;
1315
+
1316
+ this.userMessage = "Retrieving UI information...";
1317
+ this.showUserMessage = true; // Retrieve the simulation UI file for the given dataset.
1318
+
1319
+ var xmlhttp = new XMLHttpRequest();
1320
+ xmlhttp.open("GET", this.apiLocation + "/simulation_ui_file/" + this.entry.datasetId, true);
1321
+ xmlhttp.setRequestHeader("Content-type", "application/json");
1322
+
1323
+ xmlhttp.onreadystatechange = function () {
1324
+ if (xmlhttp.readyState === 4) {
1325
+ // Keep track of the simulation UI information.
1326
+ _this2.simulationUiInformation = JSON.parse(xmlhttp.responseText); // Make sure that the simulation UI information is valid.
1448
1327
 
1328
+ _this2.hasValidSimulationUiInformation = validJson(_this2.simulationUiInformation);
1449
1329
 
1450
- this.hasValidJson = validJson(this.json);
1330
+ if (!_this2.hasValidSimulationUiInformation) {
1331
+ _this2.showUserMessage = false;
1332
+ return;
1333
+ } // Initialise our UI.
1451
1334
 
1452
- if (!this.hasValidJson) {
1453
- return;
1454
- } // Prepare ourselves for the UI by initialising some data.
1455
1335
 
1336
+ initialiseUi(_this2); // Finalise our UI.
1337
+ // Note: we try both here and in the mounded() function since we have no
1338
+ // idea how long it's going to take to retrieve the simulation UI
1339
+ // information.
1456
1340
 
1457
- prepareForUi(this);
1341
+ _this2.$nextTick(function () {
1342
+ finaliseUi(_this2);
1343
+ _this2.showUserMessage = false;
1344
+ });
1345
+ }
1346
+ };
1347
+
1348
+ xmlhttp.send();
1458
1349
  },
1459
1350
  mounted: function mounted() {
1460
- // Finish mounting by creating the UI for the given simulation dataset.
1461
- if (this.hasValidJson) {
1462
- this.ui = new ui_Ui(this);
1463
- }
1351
+ // Finalise our UI.
1352
+ // Note: we try both here and in the created() function since we have no
1353
+ // idea how long it's going to take to retrieve the simulation UI
1354
+ // information.
1355
+ this.isMounted = true;
1356
+ finaliseUi(this);
1464
1357
  }
1465
1358
  });
1466
1359
  // CONCATENATED MODULE: ./src/components/SimulationVuer.vue?vue&type=script&lang=js&
1467
1360
  /* harmony default export */ var components_SimulationVuervue_type_script_lang_js_ = (SimulationVuervue_type_script_lang_js_);
1468
- // EXTERNAL MODULE: ./src/components/SimulationVuer.vue?vue&type=style&index=0&id=3e94221a&scoped=true&lang=css&
1469
- var SimulationVuervue_type_style_index_0_id_3e94221a_scoped_true_lang_css_ = __webpack_require__("47b7");
1470
-
1471
- // EXTERNAL MODULE: ./src/styles/purple/aside.css?vue&type=style&index=1&id=3e94221a&scoped=true&lang=css&
1472
- var asidevue_type_style_index_1_id_3e94221a_scoped_true_lang_css_ = __webpack_require__("d7fe");
1473
-
1474
- // EXTERNAL MODULE: ./src/styles/purple/button.css?vue&type=style&index=2&id=3e94221a&scoped=true&lang=css&
1475
- var buttonvue_type_style_index_2_id_3e94221a_scoped_true_lang_css_ = __webpack_require__("020d");
1476
-
1477
- // EXTERNAL MODULE: ./src/styles/purple/container.css?vue&type=style&index=3&id=3e94221a&scoped=true&lang=css&
1478
- var containervue_type_style_index_3_id_3e94221a_scoped_true_lang_css_ = __webpack_require__("1e1f");
1479
-
1480
- // EXTERNAL MODULE: ./src/styles/purple/input-number.css?vue&type=style&index=4&id=3e94221a&scoped=true&lang=css&
1481
- var input_numbervue_type_style_index_4_id_3e94221a_scoped_true_lang_css_ = __webpack_require__("9043");
1482
-
1483
- // EXTERNAL MODULE: ./src/styles/purple/option.css?vue&type=style&index=5&id=3e94221a&scoped=true&lang=css&
1484
- var optionvue_type_style_index_5_id_3e94221a_scoped_true_lang_css_ = __webpack_require__("c9af");
1485
-
1486
- // EXTERNAL MODULE: ./src/styles/purple/select.css?vue&type=style&index=6&id=3e94221a&scoped=true&lang=css&
1487
- var selectvue_type_style_index_6_id_3e94221a_scoped_true_lang_css_ = __webpack_require__("5b43");
1488
-
1489
- // EXTERNAL MODULE: ./src/styles/purple/slider.css?vue&type=style&index=7&id=3e94221a&scoped=true&lang=css&
1490
- var slidervue_type_style_index_7_id_3e94221a_scoped_true_lang_css_ = __webpack_require__("7a96");
1491
-
1492
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
1493
- /* globals __VUE_SSR_CONTEXT__ */
1494
-
1495
- // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
1496
- // This module is a runtime utility for cleaner component module output and will
1497
- // be included in the final webpack user bundle.
1498
-
1499
- function normalizeComponent (
1500
- scriptExports,
1501
- render,
1502
- staticRenderFns,
1503
- functionalTemplate,
1504
- injectStyles,
1505
- scopeId,
1506
- moduleIdentifier, /* server only */
1507
- shadowMode /* vue-cli only */
1508
- ) {
1509
- // Vue.extend constructor export interop
1510
- var options = typeof scriptExports === 'function'
1511
- ? scriptExports.options
1512
- : scriptExports
1513
-
1514
- // render functions
1515
- if (render) {
1516
- options.render = render
1517
- options.staticRenderFns = staticRenderFns
1518
- options._compiled = true
1519
- }
1520
-
1521
- // functional template
1522
- if (functionalTemplate) {
1523
- options.functional = true
1524
- }
1525
-
1526
- // scopedId
1527
- if (scopeId) {
1528
- options._scopeId = 'data-v-' + scopeId
1529
- }
1361
+ // EXTERNAL MODULE: ./src/components/SimulationVuer.vue?vue&type=style&index=0&id=d2c3a0be&scoped=true&lang=css&
1362
+ var SimulationVuervue_type_style_index_0_id_d2c3a0be_scoped_true_lang_css_ = __webpack_require__("feac");
1530
1363
 
1531
- var hook
1532
- if (moduleIdentifier) { // server build
1533
- hook = function (context) {
1534
- // 2.3 injection
1535
- context =
1536
- context || // cached call
1537
- (this.$vnode && this.$vnode.ssrContext) || // stateful
1538
- (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
1539
- // 2.2 with runInNewContext: true
1540
- if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
1541
- context = __VUE_SSR_CONTEXT__
1542
- }
1543
- // inject component styles
1544
- if (injectStyles) {
1545
- injectStyles.call(this, context)
1546
- }
1547
- // register component module identifier for async chunk inferrence
1548
- if (context && context._registeredComponents) {
1549
- context._registeredComponents.add(moduleIdentifier)
1550
- }
1551
- }
1552
- // used by ssr in case component is cached and beforeCreate
1553
- // never gets called
1554
- options._ssrRegister = hook
1555
- } else if (injectStyles) {
1556
- hook = shadowMode
1557
- ? function () {
1558
- injectStyles.call(
1559
- this,
1560
- (options.functional ? this.parent : this).$root.$options.shadowRoot
1561
- )
1562
- }
1563
- : injectStyles
1564
- }
1364
+ // EXTERNAL MODULE: ./src/styles/purple/button.css?vue&type=style&index=1&id=d2c3a0be&scoped=true&lang=css&
1365
+ var buttonvue_type_style_index_1_id_d2c3a0be_scoped_true_lang_css_ = __webpack_require__("12e0");
1565
1366
 
1566
- if (hook) {
1567
- if (options.functional) {
1568
- // for template-only hot-reload because in that case the render fn doesn't
1569
- // go through the normalizer
1570
- options._injectStyles = hook
1571
- // register for functional component in vue file
1572
- var originalRender = options.render
1573
- options.render = function renderWithStyleInjection (h, context) {
1574
- hook.call(context)
1575
- return originalRender(h, context)
1576
- }
1577
- } else {
1578
- // inject component registration as beforeCreate hook
1579
- var existing = options.beforeCreate
1580
- options.beforeCreate = existing
1581
- ? [].concat(existing, hook)
1582
- : [hook]
1583
- }
1584
- }
1367
+ // EXTERNAL MODULE: ./src/styles/purple/divider.css?vue&type=style&index=2&id=d2c3a0be&scoped=true&lang=css&
1368
+ var dividervue_type_style_index_2_id_d2c3a0be_scoped_true_lang_css_ = __webpack_require__("c048");
1585
1369
 
1586
- return {
1587
- exports: scriptExports,
1588
- options: options
1589
- }
1590
- }
1370
+ // EXTERNAL MODULE: ./src/styles/purple/loading.css?vue&type=style&index=3&id=d2c3a0be&scoped=true&lang=css&
1371
+ var loadingvue_type_style_index_3_id_d2c3a0be_scoped_true_lang_css_ = __webpack_require__("49bc");
1591
1372
 
1592
1373
  // CONCATENATED MODULE: ./src/components/SimulationVuer.vue
1593
1374
 
@@ -1599,24 +1380,20 @@ function normalizeComponent (
1599
1380
 
1600
1381
 
1601
1382
 
1602
-
1603
-
1604
-
1605
-
1606
1383
  /* normalize component */
1607
1384
 
1608
- var component = normalizeComponent(
1385
+ var SimulationVuer_component = normalizeComponent(
1609
1386
  components_SimulationVuervue_type_script_lang_js_,
1610
1387
  render,
1611
1388
  staticRenderFns,
1612
1389
  false,
1613
1390
  null,
1614
- "3e94221a",
1391
+ "d2c3a0be",
1615
1392
  null
1616
1393
 
1617
1394
  )
1618
1395
 
1619
- /* harmony default export */ var SimulationVuer = (component.exports);
1396
+ /* harmony default export */ var SimulationVuer = (SimulationVuer_component.exports);
1620
1397
  // CONCATENATED MODULE: ./src/components/index.js
1621
1398
  // The Vue build version to load with the `import` command
1622
1399
  // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
@@ -1634,6 +1411,24 @@ var component = normalizeComponent(
1634
1411
 
1635
1412
  module.exports = require("core-js/modules/es.string.includes.js");
1636
1413
 
1414
+ /***/ }),
1415
+
1416
+ /***/ "fdaa":
1417
+ /***/ (function(module, exports, __webpack_require__) {
1418
+
1419
+ // extracted by mini-css-extract-plugin
1420
+
1421
+ /***/ }),
1422
+
1423
+ /***/ "feac":
1424
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
1425
+
1426
+ "use strict";
1427
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuer_vue_vue_type_style_index_0_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8468");
1428
+ /* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuer_vue_vue_type_style_index_0_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SimulationVuer_vue_vue_type_style_index_0_id_d2c3a0be_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
1429
+ /* unused harmony reexport * */
1430
+
1431
+
1637
1432
  /***/ })
1638
1433
 
1639
1434
  /******/ });