@scifeon/sdk 0.82.0 → 0.86.0

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.
@@ -1,5 +1,6 @@
1
1
  export declare enum ACTION_TARGET {
2
2
  ELN_STEP = "eln.step",
3
3
  ENTITY_SIDEBAR = "entity.sidebar",
4
- MAIN_MENU_CREATE = "main_menu.create"
4
+ MAIN_MENU_CREATE = "main_menu.create",
5
+ ELN_EXPERIMENT = "eln.experiment"
5
6
  }
@@ -6,4 +6,5 @@ var ACTION_TARGET;
6
6
  ACTION_TARGET["ELN_STEP"] = "eln.step";
7
7
  ACTION_TARGET["ENTITY_SIDEBAR"] = "entity.sidebar";
8
8
  ACTION_TARGET["MAIN_MENU_CREATE"] = "main_menu.create";
9
+ ACTION_TARGET["ELN_EXPERIMENT"] = "eln.experiment";
9
10
  })(ACTION_TARGET = exports.ACTION_TARGET || (exports.ACTION_TARGET = {}));
@@ -20,6 +20,7 @@ export declare class AppGenerator {
20
20
  private generateGenAppJs;
21
21
  private addCustomElementDecorators;
22
22
  private addRouteDecorators;
23
+ private addElnStepSectionDecorators;
23
24
  private addActionDecorators;
24
25
  private addStepBuilderDecorators;
25
26
  private addDashboardWidgetDecorators;
@@ -45,6 +45,7 @@ class AppGenerator {
45
45
  this.addStepBuilderDecorators();
46
46
  this.addDashboardWidgetDecorators();
47
47
  this.addGridCardDecorators();
48
+ this.addElnStepSectionDecorators();
48
49
  this.addPluginDecorators();
49
50
  this.transformContributionsJson();
50
51
  this.app = this.generateGenAppJson();
@@ -235,6 +236,25 @@ class AppGenerator {
235
236
  this.contributionsJson.routes.push(route);
236
237
  }
237
238
  }
239
+ addElnStepSectionDecorators() {
240
+ const builderRegex = /@scifeonElnStepSection\s*\(\s*(\{[^]*?\})\s*\)/i;
241
+ const nameRegex = /name\s*:\s*('.*'|".*")/i;
242
+ const idRegex = /id\s*:\s*('.*'|".*")/i;
243
+ for (const file of this.tsFiles) {
244
+ if (!this.fileIncludesDecorator(file.content, "@scifeonElnStepSection"))
245
+ continue;
246
+ const match = builderRegex.exec(file.content);
247
+ const nameMatch = nameRegex.exec(match[1]);
248
+ const idMatch = idRegex.exec(match[1]);
249
+ const section = {
250
+ id: idMatch[1].slice(1, -1),
251
+ src: file.src,
252
+ name: nameMatch[1].slice(1, -1),
253
+ type: plugin_types_1.PLUGIN_TYPE.ELN_STEP_SECTION,
254
+ };
255
+ this.contributionsJson.plugins.push(section);
256
+ }
257
+ }
238
258
  addActionDecorators() {
239
259
  const actionRegex = /@scifeonAction\s*\(\s*(\{[^]*?\})\s*\)/i;
240
260
  const textRegex = /text\s*:\s*('.*'|".*")/i;
@@ -80,9 +80,15 @@ class AppPersist {
80
80
  }
81
81
  if (database.views && Array.isArray(database.views)) {
82
82
  for (const view of database.views) {
83
- const filename = "view_" + this.fileCounter++ + ".sql";
84
- fs.writeFileSync(path.resolve(this.jsonDir, "database", filename), fs.readFileSync(path.resolve(this.config.appPath, view.sql)).toString());
85
- view.sql = filename;
83
+ const filename = `view_${this.fileCounter++}.`;
84
+ const sqlFilename = filename + "sql";
85
+ fs.writeFileSync(path.resolve(this.jsonDir, "database", sqlFilename), fs.readFileSync(path.resolve(this.config.appPath, view.sql)).toString());
86
+ view.sql = sqlFilename;
87
+ if (view.fields) {
88
+ const fieldsFilename = filename + "fields.datamodel";
89
+ fs.writeFileSync(path.resolve(this.jsonDir, "database", fieldsFilename), fs.readFileSync(path.resolve(this.config.appPath, view.fields)).toString());
90
+ view.fields = fieldsFilename;
91
+ }
86
92
  }
87
93
  }
88
94
  if (database.datamodel) {
@@ -11,6 +11,7 @@ export declare enum PLUGIN_TYPE {
11
11
  JSON_FIELD_EDITOR = "json_field_editor",
12
12
  LIST_COLUMN = "list_column",
13
13
  GRID_CARD = "grid_card",
14
+ REQUEST_PANEL = "request.panel",
14
15
  FIELD_TEMPLATE = "field_template",
15
16
  FIELD_GROUP_TEMPLATE = "field_group_template",
16
17
  SPREADSHEET_FUNCTION = "spreadsheet_function",
@@ -27,5 +28,8 @@ export declare enum PLUGIN_TYPE {
27
28
  ELN_STEP_RESULT_SET = "eln.step.result_set",
28
29
  ELN_STEP_RESULT_GRID = "eln.step.result_grid",
29
30
  ELN_SIDEBAR = "eln.sidebar",
31
+ ELN_STEP_SECTION = "eln.step.section",
32
+ ELN_EXPERIMENT_COMPLETE = "eln.experiment.complete",
33
+ ELN_EXPERIMENT_LOCK = "eln.experiment.lock",
30
34
  PRE_PROCESS_SAVE_ENTITY = "pre_process_save_entity"
31
35
  }
@@ -15,6 +15,7 @@ var PLUGIN_TYPE;
15
15
  PLUGIN_TYPE["JSON_FIELD_EDITOR"] = "json_field_editor";
16
16
  PLUGIN_TYPE["LIST_COLUMN"] = "list_column";
17
17
  PLUGIN_TYPE["GRID_CARD"] = "grid_card";
18
+ PLUGIN_TYPE["REQUEST_PANEL"] = "request.panel";
18
19
  PLUGIN_TYPE["FIELD_TEMPLATE"] = "field_template";
19
20
  PLUGIN_TYPE["FIELD_GROUP_TEMPLATE"] = "field_group_template";
20
21
  PLUGIN_TYPE["SPREADSHEET_FUNCTION"] = "spreadsheet_function";
@@ -31,5 +32,8 @@ var PLUGIN_TYPE;
31
32
  PLUGIN_TYPE["ELN_STEP_RESULT_SET"] = "eln.step.result_set";
32
33
  PLUGIN_TYPE["ELN_STEP_RESULT_GRID"] = "eln.step.result_grid";
33
34
  PLUGIN_TYPE["ELN_SIDEBAR"] = "eln.sidebar";
35
+ PLUGIN_TYPE["ELN_STEP_SECTION"] = "eln.step.section";
36
+ PLUGIN_TYPE["ELN_EXPERIMENT_COMPLETE"] = "eln.experiment.complete";
37
+ PLUGIN_TYPE["ELN_EXPERIMENT_LOCK"] = "eln.experiment.lock";
34
38
  PLUGIN_TYPE["PRE_PROCESS_SAVE_ENTITY"] = "pre_process_save_entity";
35
39
  })(PLUGIN_TYPE = exports.PLUGIN_TYPE || (exports.PLUGIN_TYPE = {}));
@@ -1,4 +1,5 @@
1
1
  import { WorkBook } from "@scifeon/plugins/src/xlsx-types";
2
2
  export declare class TestHelper {
3
+ static XLSX(): Promise<any>;
3
4
  static fileToXLSX(filename: string): Promise<WorkBook>;
4
5
  }
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TestHelper = void 0;
13
13
  const fs = require("fs");
14
14
  const node_fetch_1 = require("node-fetch");
15
+ const XLSX_URL = "https://unpkg.com/xlsx/dist/xlsx.full.min.js";
15
16
  const requireCache = {};
16
17
  const requireURL = (url) => __awaiter(void 0, void 0, void 0, function* () {
17
18
  let script;
@@ -30,9 +31,14 @@ const requireURL = (url) => __awaiter(void 0, void 0, void 0, function* () {
30
31
  return _module.exports;
31
32
  });
32
33
  class TestHelper {
34
+ static XLSX() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ return yield requireURL(XLSX_URL);
37
+ });
38
+ }
33
39
  static fileToXLSX(filename) {
34
40
  return __awaiter(this, void 0, void 0, function* () {
35
- const xlsx = yield requireURL("https://unpkg.com/xlsx/dist/xlsx.full.min.js");
41
+ const xlsx = yield TestHelper.XLSX();
36
42
  return xlsx.read(fs.readFileSync(filename));
37
43
  });
38
44
  }
@@ -11,6 +11,10 @@ class WebpackUtils {
11
11
  onErrors: function (severity, errors) {
12
12
  for (const error of errors) {
13
13
  for (const line of error.message.split("\n")) {
14
+ if (line.includes("moment construction falls back to js Date()")
15
+ || line.includes("_isAMomentObject")
16
+ || line.includes("node_modules\\moment"))
17
+ continue;
14
18
  console.log(`##vso[task.logissue type=${severity}] ${line}`);
15
19
  }
16
20
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scifeon/sdk",
3
- "version": "0.82.0",
3
+ "version": "0.86.0",
4
4
  "description": "A tool for developing Apps for Scifeon.",
5
5
  "author": {
6
6
  "name": "Scifeon",
@@ -69,4 +69,4 @@
69
69
  "@types/node": "13.13.4",
70
70
  "rimraf": "3.0.2"
71
71
  }
72
- }
72
+ }