@abi-software/simulationvuer 0.5.0 → 0.5.3

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