aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/apps/configurationApp/src/models
diff options
context:
space:
mode:
authorsai-neetha <sai-neetha.phulmali@highstreet-technologies.com>2023-03-20 08:05:47 +0100
committerhighstreetherbert <herbert.eiselt@highstreet-technologies.com>2023-03-29 19:06:25 +0200
commit15e2d3a29b0d1a304965e34f114a911e5a7abdb3 (patch)
tree711ef5616aceb115a1081cccd152eeae0e87bc79 /sdnr/wt/odlux/apps/configurationApp/src/models
parentac5e2dc8f1ee4d5549f7260374e8164d52b07f55 (diff)
Odlux Update
Add eslint and custom icons update Issue-ID: CCSDK-3871 Signed-off-by: sai-neetha <sai-neetha.phulmali@highstreet-technologies.com> Change-Id: If6b676128cc9cff0437a5dc54f85eaafd3b8c586 Signed-off-by: highstreetherbert <herbert.eiselt@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/odlux/apps/configurationApp/src/models')
-rw-r--r--sdnr/wt/odlux/apps/configurationApp/src/models/networkElementConnection.ts6
-rw-r--r--sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts256
-rw-r--r--sdnr/wt/odlux/apps/configurationApp/src/models/yang.ts28
3 files changed, 146 insertions, 144 deletions
diff --git a/sdnr/wt/odlux/apps/configurationApp/src/models/networkElementConnection.ts b/sdnr/wt/odlux/apps/configurationApp/src/models/networkElementConnection.ts
index 88f70181c..e1ef1ea2d 100644
--- a/sdnr/wt/odlux/apps/configurationApp/src/models/networkElementConnection.ts
+++ b/sdnr/wt/odlux/apps/configurationApp/src/models/networkElementConnection.ts
@@ -24,7 +24,7 @@ export type NetworkElementConnection = {
username?: string;
password?: string;
isRequired?: boolean;
- status?: "connected" | "mounted" | "unmounted" | "connecting" | "disconnected" | "idle";
+ status?: 'connected' | 'mounted' | 'unmounted' | 'connecting' | 'disconnected' | 'idle';
coreModelCapability?: string;
deviceType?: string;
nodeDetails?: {
@@ -33,5 +33,5 @@ export type NetworkElementConnection = {
failureReason: string;
capability: string;
}[];
- }
-}
+ };
+};
diff --git a/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts b/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts
index 29484d812..7d9e63caf 100644
--- a/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts
+++ b/sdnr/wt/odlux/apps/configurationApp/src/models/uiModels.ts
@@ -16,128 +16,130 @@
* ============LICENSE_END==========================================================================
*/
+import type { WhenAST } from '../yang/whenParser';
+
export type ViewElementBase = {
- "id": string;
- "label": string;
- "module": string;
- "path": string;
- "config": boolean;
- "ifFeature"?: string;
- "when"?: string;
- "mandatory"?: boolean;
- "description"?: string;
- "isList"?: boolean;
- "default"?: string;
- "status"?: "current" | "deprecated" | "obsolete",
- "reference"?: string, // https://tools.ietf.org/html/rfc7950#section-7.21.4
-}
+ 'id': string;
+ 'label': string;
+ 'module': string;
+ 'path': string;
+ 'config': boolean;
+ 'ifFeature'?: string;
+ 'when'?: WhenAST;
+ 'mandatory'?: boolean;
+ 'description'?: string;
+ 'isList'?: boolean;
+ 'default'?: string;
+ 'status'?: 'current' | 'deprecated' | 'obsolete';
+ 'reference'?: string; // https://tools.ietf.org/html/rfc7950#section-7.21.4
+};
// https://tools.ietf.org/html/rfc7950#section-9.8
export type ViewElementBinary = ViewElementBase & {
- "uiType": "binary";
- "length"?: Expression<YangRange>; // number of octets
-}
+ 'uiType': 'binary';
+ 'length'?: Expression<YangRange>; // number of octets
+};
// https://tools.ietf.org/html/rfc7950#section-9.7.4
export type ViewElementBits = ViewElementBase & {
- "uiType": "bits";
- "flags": {
+ 'uiType': 'bits';
+ 'flags': {
[name: string]: number | undefined; // 0 - 4294967295
- }
-}
+ };
+};
// https://tools.ietf.org/html/rfc7950#section-9
export type ViewElementString = ViewElementBase & {
- "uiType": "string";
- "pattern"?: Expression<RegExp>;
- "length"?: Expression<YangRange>;
- "invertMatch"?: true;
-}
+ 'uiType': 'string';
+ 'pattern'?: Expression<RegExp>;
+ 'length'?: Expression<YangRange>;
+ 'invertMatch'?: true;
+};
// special case derived from
export type ViewElementDate = ViewElementBase & {
- "uiType": "date";
- "pattern"?: Expression<RegExp>;
- "length"?: Expression<YangRange>;
- "invertMatch"?: true;
-}
+ 'uiType': 'date';
+ 'pattern'?: Expression<RegExp>;
+ 'length'?: Expression<YangRange>;
+ 'invertMatch'?: true;
+};
// https://tools.ietf.org/html/rfc7950#section-9.3
export type ViewElementNumber = ViewElementBase & {
- "uiType": "number";
- "min": number;
- "max": number;
- "range"?: Expression<YangRange>;
- "units"?: string;
- "format"?: string;
- "fDigits"?: number;
-}
+ 'uiType': 'number';
+ 'min': number;
+ 'max': number;
+ 'range'?: Expression<YangRange>;
+ 'units'?: string;
+ 'format'?: string;
+ 'fDigits'?: number;
+};
// https://tools.ietf.org/html/rfc7950#section-9.5
export type ViewElementBoolean = ViewElementBase & {
- "uiType": "boolean";
- "trueValue"?: string;
- "falseValue"?: string;
-}
+ 'uiType': 'boolean';
+ 'trueValue'?: string;
+ 'falseValue'?: string;
+};
// https://tools.ietf.org/html/rfc7950#section-9.6.4
export type ViewElementSelection = ViewElementBase & {
- "uiType": "selection";
- "multiSelect"?: boolean
- "options": {
- "key": string;
- "value": string;
- "description"?: string,
- "status"?: "current" | "deprecated" | "obsolete",
- "reference"?: string,
+ 'uiType': 'selection';
+ 'multiSelect'?: boolean;
+ 'options': {
+ 'key': string;
+ 'value': string;
+ 'description'?: string;
+ 'status'?: 'current' | 'deprecated' | 'obsolete';
+ 'reference'?: string;
}[];
-}
+};
// is a list if isList is true ;-)
export type ViewElementObject = ViewElementBase & {
- "uiType": "object";
- "isList"?: false;
- "viewId": string;
-}
+ 'uiType': 'object';
+ 'isList'?: false;
+ 'viewId': string;
+};
// Hint: read only lists do not need a key
export type ViewElementList = (ViewElementBase & {
- "uiType": "object";
- "isList": true;
- "viewId": string;
- "key"?: string;
+ 'uiType': 'object';
+ 'isList': true;
+ 'viewId': string;
+ 'key'?: string;
});
export type ViewElementReference = ViewElementBase & {
- "uiType": "reference";
- "referencePath": string;
- "ref": (currentPath: string) => [ViewElement , string] | undefined;
-}
+ 'uiType': 'reference';
+ 'referencePath': string;
+ 'ref': (currentPath: string) => [ViewElement, string] | undefined;
+};
export type ViewElementUnion = ViewElementBase & {
- "uiType": "union";
- "elements": ViewElement[];
-}
+ 'uiType': 'union';
+ 'elements': ViewElement[];
+};
-export type ViewElementChoiseCase = { id: string, label: string, description?: string, elements: { [name: string]: ViewElement } };
+export type ViewElementChoiceCase = { id: string; label: string; description?: string; elements: { [name: string]: ViewElement } };
-export type ViewElementChoise = ViewElementBase & {
- "uiType": "choise";
- "cases": {
- [name: string]: ViewElementChoiseCase;
- }
-}
+export type ViewElementChoice = ViewElementBase & {
+ 'uiType': 'choice';
+ 'cases': {
+ [name: string]: ViewElementChoiceCase;
+ };
+};
// https://tools.ietf.org/html/rfc7950#section-7.14.1
export type ViewElementRpc = ViewElementBase & {
- "uiType": "rpc";
- "inputViewId"?: string;
- "outputViewId"?: string;
-}
+ 'uiType': 'rpc';
+ 'inputViewId'?: string;
+ 'outputViewId'?: string;
+};
export type ViewElementEmpty = ViewElementBase & {
- "uiType": "empty";
-}
+ 'uiType': 'empty';
+};
export type ViewElement =
| ViewElementEmpty
@@ -152,88 +154,88 @@ export type ViewElement =
| ViewElementSelection
| ViewElementReference
| ViewElementUnion
- | ViewElementChoise
+ | ViewElementChoice
| ViewElementRpc;
export const isViewElementString = (viewElement: ViewElement): viewElement is ViewElementString => {
- return viewElement && (viewElement.uiType === "string" || viewElement.uiType === "date");
-}
+ return viewElement && (viewElement.uiType === 'string' || viewElement.uiType === 'date');
+};
export const isViewElementDate = (viewElement: ViewElement): viewElement is ViewElementDate => {
- return viewElement && (viewElement.uiType === "date");
-}
+ return viewElement && (viewElement.uiType === 'date');
+};
export const isViewElementNumber = (viewElement: ViewElement): viewElement is ViewElementNumber => {
- return viewElement && viewElement.uiType === "number";
-}
+ return viewElement && viewElement.uiType === 'number';
+};
export const isViewElementBoolean = (viewElement: ViewElement): viewElement is ViewElementBoolean => {
- return viewElement && viewElement.uiType === "boolean";
-}
+ return viewElement && viewElement.uiType === 'boolean';
+};
export const isViewElementObject = (viewElement: ViewElement): viewElement is ViewElementObject => {
- return viewElement && viewElement.uiType === "object" && viewElement.isList === false;
-}
+ return viewElement && viewElement.uiType === 'object' && viewElement.isList === false;
+};
export const isViewElementList = (viewElement: ViewElement): viewElement is ViewElementList => {
- return viewElement && viewElement.uiType === "object" && viewElement.isList === true;
-}
+ return viewElement && viewElement.uiType === 'object' && viewElement.isList === true;
+};
export const isViewElementObjectOrList = (viewElement: ViewElement): viewElement is ViewElementObject | ViewElementList => {
- return viewElement && viewElement.uiType === "object";
-}
+ return viewElement && viewElement.uiType === 'object';
+};
export const isViewElementSelection = (viewElement: ViewElement): viewElement is ViewElementSelection => {
- return viewElement && viewElement.uiType === "selection";
-}
+ return viewElement && viewElement.uiType === 'selection';
+};
export const isViewElementReference = (viewElement: ViewElement): viewElement is ViewElementReference => {
- return viewElement && viewElement.uiType === "reference";
-}
+ return viewElement && viewElement.uiType === 'reference';
+};
export const isViewElementUnion = (viewElement: ViewElement): viewElement is ViewElementUnion => {
- return viewElement && viewElement.uiType === "union";
-}
+ return viewElement && viewElement.uiType === 'union';
+};
-export const isViewElementChoise = (viewElement: ViewElement): viewElement is ViewElementChoise => {
- return viewElement && viewElement.uiType === "choise";
-}
+export const isViewElementChoice = (viewElement: ViewElement): viewElement is ViewElementChoice => {
+ return viewElement && viewElement.uiType === 'choice';
+};
export const isViewElementRpc = (viewElement: ViewElement): viewElement is ViewElementRpc => {
- return viewElement && viewElement.uiType === "rpc";
-}
+ return viewElement && viewElement.uiType === 'rpc';
+};
export const isViewElementEmpty = (viewElement: ViewElement): viewElement is ViewElementRpc => {
- return viewElement && viewElement.uiType === "empty";
-}
+ return viewElement && viewElement.uiType === 'empty';
+};
-export const ResolveFunction = Symbol("IsResolved");
+export const ResolveFunction = Symbol('IsResolved');
export type ViewSpecification = {
- "id": string;
- "ns"?: string;
- "name"?: string;
- "title"?: string;
- "parentView"?: string;
- "language": string;
- "ifFeature"?: string;
- "when"?: string;
- "uses"?: (string[]) & { [ResolveFunction]?: (parent: string) => void };
- "elements": { [name: string]: ViewElement };
- "config": boolean;
- readonly "canEdit": boolean;
-}
+ id: string;
+ ns?: string;
+ name?: string;
+ title?: string;
+ parentView?: string;
+ language: string;
+ ifFeature?: string;
+ when?: WhenAST;
+ uses?: (string[]) & { [ResolveFunction]?: (parent: string) => void };
+ elements: { [name: string]: ViewElement };
+ config: boolean;
+ readonly canEdit: boolean;
+};
export type YangRange = {
- min: number,
- max: number,
-}
+ min: number;
+ max: number;
+};
export type Expression<T> =
| T
| Operator<T>;
export type Operator<T> = {
- operation: "AND" | "OR";
+ operation: 'AND' | 'OR';
arguments: Expression<T>[];
-} \ No newline at end of file
+}; \ No newline at end of file
diff --git a/sdnr/wt/odlux/apps/configurationApp/src/models/yang.ts b/sdnr/wt/odlux/apps/configurationApp/src/models/yang.ts
index 79704ae34..e4e59fb96 100644
--- a/sdnr/wt/odlux/apps/configurationApp/src/models/yang.ts
+++ b/sdnr/wt/odlux/apps/configurationApp/src/models/yang.ts
@@ -16,7 +16,7 @@
* ============LICENSE_END==========================================================================
*/
-import { ViewElement, ViewSpecification } from "./uiModels";
+import { ViewElement, ViewSpecification } from './uiModels';
export enum ModuleState {
stable,
@@ -30,27 +30,27 @@ export type Token = {
value: string;
start: number;
end: number;
-}
+};
export type Statement = {
key: string;
arg?: string;
sub?: Statement[];
-}
+};
export type Identity = {
- id: string,
- label: string,
- base?: string,
- description?: string,
- reference?: string,
- children?: Identity[],
- values?: Identity[],
-}
+ id: string;
+ label: string;
+ base?: string;
+ description?: string;
+ reference?: string;
+ children?: Identity[];
+ values?: Identity[];
+};
export type Revision = {
- description?: string,
- reference?: string
+ description?: string;
+ reference?: string;
};
export type Module = {
@@ -68,4 +68,4 @@ export type Module = {
views: { [view: string]: ViewSpecification };
elements: { [view: string]: ViewElement };
executionOrder?: number;
-} \ No newline at end of file
+}; \ No newline at end of file