Skip to content

Commit e4655a5

Browse files
authored
Merge pull request #92 from Exabyte-io/feature/SOF-7753
Feature/SOF-7753 Update: move CP names to ESSE
2 parents f04fbf8 + 56f2569 commit e4655a5

33 files changed

+986
-630
lines changed

dist/js/context/ContextProvider.d.ts

Lines changed: 12 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,27 @@
1+
import { ContextProviderSchema, Name as ContextProviderNameEnum } from "@mat3ra/esse/dist/js/types";
12
export interface ContextProviderInstance {
23
constructor: typeof ContextProvider;
3-
config: ContextProviderConfig;
4-
}
5-
export interface ContextProviderConfig {
6-
name: ContextProviderName | `${ContextProviderName}`;
7-
domain?: string;
8-
entityName?: string;
9-
data?: object;
10-
extraData?: object;
11-
isEdited?: boolean;
12-
context?: object;
13-
}
14-
export declare enum ContextProviderName {
15-
PlanewaveCutoffDataManager = "PlanewaveCutoffDataManager",
16-
KGridFormDataManager = "KGridFormDataManager",
17-
QGridFormDataManager = "QGridFormDataManager",
18-
IGridFormDataManager = "IGridFormDataManager",
19-
QPathFormDataManager = "QPathFormDataManager",
20-
IPathFormDataManager = "IPathFormDataManager",
21-
KPathFormDataManager = "KPathFormDataManager",
22-
ExplicitKPathFormDataManager = "ExplicitKPathFormDataManager",
23-
ExplicitKPath2PIBAFormDataManager = "ExplicitKPath2PIBAFormDataManager",
24-
HubbardJContextManager = "HubbardJContextManager",
25-
HubbardUContextManager = "HubbardUContextManager",
26-
HubbardVContextManager = "HubbardVContextManager",
27-
HubbardContextManagerLegacy = "HubbardContextManagerLegacy",
28-
NEBFormDataManager = "NEBFormDataManager",
29-
BoundaryConditionsFormDataManager = "BoundaryConditionsFormDataManager",
30-
MLSettingsDataManager = "MLSettingsDataManager",
31-
MLTrainTestSplitDataManager = "MLTrainTestSplitDataManager",
32-
IonDynamicsContextProvider = "IonDynamicsContextProvider",
33-
CollinearMagnetizationDataManager = "CollinearMagnetizationDataManager",
34-
NonCollinearMagnetizationDataManager = "NonCollinearMagnetizationDataManager",
35-
QEPWXInputDataManager = "QEPWXInputDataManager",
36-
QENEBInputDataManager = "QENEBInputDataManager",
37-
VASPInputDataManager = "VASPInputDataManager",
38-
VASPNEBInputDataManager = "VASPNEBInputDataManager",
39-
NWChemInputDataManager = "NWChemInputDataManager"
4+
config: ContextProviderSchema;
405
}
416
export interface ContextProviderStatic {
42-
getConstructorConfig: (config: ContextProviderConfig) => ContextProviderInstance;
43-
createConfigFromContext: (config: ContextProviderConfig) => ContextProviderConfig;
7+
getConstructorConfig: (config: ContextProviderSchema) => ContextProviderInstance;
8+
createConfigFromContext: (config: ContextProviderSchema) => ContextProviderSchema;
449
getExtraDataKeyByName: (name: string) => string;
4510
getIsEditedKeyByName: (name: string) => string;
4611
}
47-
export default class ContextProvider {
48-
config: ContextProviderConfig;
49-
name: `${ContextProviderName}`;
12+
export default class ContextProvider implements ContextProviderSchema {
13+
config: ContextProviderSchema;
14+
name: ContextProviderNameEnum;
5015
domain?: string;
5116
entityName?: string;
5217
data?: object;
5318
extraData?: object;
5419
isEdited?: boolean;
55-
constructor(config: ContextProviderConfig);
56-
static getConstructorConfig(config: ContextProviderConfig): ContextProviderInstance;
57-
static createConfigFromContext(config: ContextProviderConfig): ContextProviderConfig & ({
20+
context?: object;
21+
[k: string]: unknown;
22+
constructor(config: ContextProviderSchema);
23+
static getConstructorConfig(config: ContextProviderSchema): ContextProviderInstance;
24+
static createConfigFromContext(config: ContextProviderSchema): ContextProviderSchema & ({
5825
data: never;
5926
extraData: any;
6027
isEdited: any;

dist/js/context/ContextProvider.js

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,49 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
33
return (mod && mod.__esModule) ? mod : { "default": mod };
44
};
55
Object.defineProperty(exports, "__esModule", { value: true });
6-
exports.ContextProviderName = void 0;
7-
/*
8-
* @summary This is a standalone class that contains "data" for a property with "name". Helps facilitate UI logic.
9-
* Can be initialized from context when user edits are present:
10-
* - user edits the corresponding property, eg. "kpath"
11-
* - isKpathEdited is set to `true`
12-
* - context property is updated for the parent entity (eg. Unit) in a way that persists in Redux state
13-
* - new entity inherits the "data" through "context" field in config
14-
* - `extraData` field is used to store any other data that should be passed from one instance of provider
15-
* to next one, for example data about material to track when it is changed.
16-
* @notes Should hold static data only (see `setData` method), no classes or functions
17-
*/
186
const utils_1 = require("@mat3ra/utils");
197
const lodash_1 = __importDefault(require("lodash"));
20-
// TODO: separate application-specific CPs
21-
var ContextProviderName;
22-
(function (ContextProviderName) {
23-
ContextProviderName["PlanewaveCutoffDataManager"] = "PlanewaveCutoffDataManager";
24-
ContextProviderName["KGridFormDataManager"] = "KGridFormDataManager";
25-
ContextProviderName["QGridFormDataManager"] = "QGridFormDataManager";
26-
ContextProviderName["IGridFormDataManager"] = "IGridFormDataManager";
27-
ContextProviderName["QPathFormDataManager"] = "QPathFormDataManager";
28-
ContextProviderName["IPathFormDataManager"] = "IPathFormDataManager";
29-
ContextProviderName["KPathFormDataManager"] = "KPathFormDataManager";
30-
ContextProviderName["ExplicitKPathFormDataManager"] = "ExplicitKPathFormDataManager";
31-
ContextProviderName["ExplicitKPath2PIBAFormDataManager"] = "ExplicitKPath2PIBAFormDataManager";
32-
ContextProviderName["HubbardJContextManager"] = "HubbardJContextManager";
33-
ContextProviderName["HubbardUContextManager"] = "HubbardUContextManager";
34-
ContextProviderName["HubbardVContextManager"] = "HubbardVContextManager";
35-
ContextProviderName["HubbardContextManagerLegacy"] = "HubbardContextManagerLegacy";
36-
ContextProviderName["NEBFormDataManager"] = "NEBFormDataManager";
37-
ContextProviderName["BoundaryConditionsFormDataManager"] = "BoundaryConditionsFormDataManager";
38-
ContextProviderName["MLSettingsDataManager"] = "MLSettingsDataManager";
39-
ContextProviderName["MLTrainTestSplitDataManager"] = "MLTrainTestSplitDataManager";
40-
ContextProviderName["IonDynamicsContextProvider"] = "IonDynamicsContextProvider";
41-
ContextProviderName["CollinearMagnetizationDataManager"] = "CollinearMagnetizationDataManager";
42-
ContextProviderName["NonCollinearMagnetizationDataManager"] = "NonCollinearMagnetizationDataManager";
43-
ContextProviderName["QEPWXInputDataManager"] = "QEPWXInputDataManager";
44-
ContextProviderName["QENEBInputDataManager"] = "QENEBInputDataManager";
45-
ContextProviderName["VASPInputDataManager"] = "VASPInputDataManager";
46-
ContextProviderName["VASPNEBInputDataManager"] = "VASPNEBInputDataManager";
47-
ContextProviderName["NWChemInputDataManager"] = "NWChemInputDataManager";
48-
})(ContextProviderName || (exports.ContextProviderName = ContextProviderName = {}));
498
class ContextProvider {
509
constructor(config) {
5110
this.config = config;
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { ContextProviderSchema } from "@mat3ra/esse/dist/js/types";
2+
import ContextProvider from "./ContextProvider";
3+
interface JSONSchemaDataProviderConfig extends ContextProviderSchema {
4+
isUsingJinjaVariables?: boolean;
5+
}
6+
export default class ContextProviderJinja extends ContextProvider {
7+
isUsingJinjaVariables: boolean;
8+
constructor(config: JSONSchemaDataProviderConfig);
9+
}
10+
export {};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"use strict";
2+
var __importDefault = (this && this.__importDefault) || function (mod) {
3+
return (mod && mod.__esModule) ? mod : { "default": mod };
4+
};
5+
Object.defineProperty(exports, "__esModule", { value: true });
6+
const ContextProvider_1 = __importDefault(require("./ContextProvider"));
7+
class ContextProviderJinja extends ContextProvider_1.default {
8+
constructor(config) {
9+
super(config);
10+
this.isUsingJinjaVariables = Boolean(config.isUsingJinjaVariables);
11+
}
12+
}
13+
exports.default = ContextProviderJinja;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import JinjaContextProvider from "./JinjaContextProvider";
2+
/**
3+
* @summary Provides jsonSchema only.
4+
*/
5+
export default class JSONSchemaDataProvider extends JinjaContextProvider {
6+
get jsonSchema(): void;
7+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use strict";
2+
var __importDefault = (this && this.__importDefault) || function (mod) {
3+
return (mod && mod.__esModule) ? mod : { "default": mod };
4+
};
5+
Object.defineProperty(exports, "__esModule", { value: true });
6+
/* eslint-disable class-methods-use-this */
7+
const JinjaContextProvider_1 = __importDefault(require("./JinjaContextProvider"));
8+
/**
9+
* @summary Provides jsonSchema only.
10+
*/
11+
class JSONSchemaDataProvider extends JinjaContextProvider_1.default {
12+
get jsonSchema() {
13+
throw new Error("Not implemented.");
14+
}
15+
}
16+
exports.default = JSONSchemaDataProvider;
Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
import type { UiSchema } from "react-jsonschema-form";
2-
import ContextProvider, { type ContextProviderConfig } from "./ContextProvider";
3-
interface JSONSchemaFormDataProviderConfig extends ContextProviderConfig {
4-
isUsingJinjaVariables?: boolean;
5-
}
2+
import JSONSchemaDataProvider from "./JSONSchemaDataProvider";
63
/**
74
* @summary Provides jsonSchema and uiSchema for generating react-jsonschema-form
85
* See https://github.com/mozilla-services/react-jsonschema-form for Form UI.
@@ -13,13 +10,9 @@ interface JSONSchemaFormDataProviderConfig extends ContextProviderConfig {
1310
* formData={provider.getData(unit.important)} />
1411
* ```
1512
*/
16-
export default class JSONSchemaFormDataProvider extends ContextProvider {
17-
isUsingJinjaVariables: boolean;
18-
constructor(config: JSONSchemaFormDataProviderConfig);
19-
get jsonSchema(): void;
13+
export default class JSONSchemaFormDataProvider extends JSONSchemaDataProvider {
2014
get uiSchema(): UiSchema;
2115
get fields(): {};
2216
get defaultFieldStyles(): {};
2317
get uiSchemaStyled(): UiSchema;
2418
}
25-
export {};

dist/js/context/JSONSchemaFormDataProvider.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
33
return (mod && mod.__esModule) ? mod : { "default": mod };
44
};
55
Object.defineProperty(exports, "__esModule", { value: true });
6-
const ContextProvider_1 = __importDefault(require("./ContextProvider"));
6+
const JSONSchemaDataProvider_1 = __importDefault(require("./JSONSchemaDataProvider"));
77
/**
88
* @summary Provides jsonSchema and uiSchema for generating react-jsonschema-form
99
* See https://github.com/mozilla-services/react-jsonschema-form for Form UI.
@@ -14,14 +14,8 @@ const ContextProvider_1 = __importDefault(require("./ContextProvider"));
1414
* formData={provider.getData(unit.important)} />
1515
* ```
1616
*/
17-
class JSONSchemaFormDataProvider extends ContextProvider_1.default {
18-
constructor(config) {
19-
super(config);
20-
this.isUsingJinjaVariables = Boolean(config === null || config === void 0 ? void 0 : config.isUsingJinjaVariables);
21-
}
22-
get jsonSchema() {
23-
throw new Error("Not implemented.");
24-
}
17+
// TODO: MOVE to WebApp/ave or wove
18+
class JSONSchemaFormDataProvider extends JSONSchemaDataProvider_1.default {
2519
get uiSchema() {
2620
throw new Error("Not implemented.");
2721
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import { ContextProviderSchema } from "@mat3ra/esse/dist/js/types";
2+
import ContextProvider from "./ContextProvider";
3+
interface JSONSchemaDataProviderConfig extends ContextProviderSchema {
4+
isUsingJinjaVariables?: boolean;
5+
}
6+
export default class JinjaContextProvider extends ContextProvider {
7+
isUsingJinjaVariables: boolean;
8+
constructor(config: JSONSchemaDataProviderConfig);
9+
}
10+
export {};
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"use strict";
2+
var __importDefault = (this && this.__importDefault) || function (mod) {
3+
return (mod && mod.__esModule) ? mod : { "default": mod };
4+
};
5+
Object.defineProperty(exports, "__esModule", { value: true });
6+
const ContextProvider_1 = __importDefault(require("./ContextProvider"));
7+
class JinjaContextProvider extends ContextProvider_1.default {
8+
constructor(config) {
9+
super(config);
10+
this.isUsingJinjaVariables = Boolean(config.isUsingJinjaVariables);
11+
}
12+
}
13+
exports.default = JinjaContextProvider;

0 commit comments

Comments
 (0)