@omicronenergy/oscd-scl-dialogs 0.0.11 → 0.0.13

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +4 -2
  3. package/custom-elements.json +292 -3
  4. package/dist/OscdSclDialogs.d.ts +2 -0
  5. package/dist/OscdSclDialogs.js +62 -12
  6. package/dist/OscdSclDialogs.js.map +1 -1
  7. package/dist/wizards/dataset.d.ts +2 -0
  8. package/dist/wizards/dataset.js +86 -0
  9. package/dist/wizards/dataset.js.map +1 -0
  10. package/dist/wizards/dataset.spec.d.ts +1 -0
  11. package/dist/wizards/dataset.spec.js +240 -0
  12. package/dist/wizards/dataset.spec.js.map +1 -0
  13. package/dist/wizards/gsecontrol.d.ts +2 -0
  14. package/dist/wizards/gsecontrol.js +86 -0
  15. package/dist/wizards/gsecontrol.js.map +1 -0
  16. package/dist/wizards/gsecontrol.spec.d.ts +1 -0
  17. package/dist/wizards/gsecontrol.spec.js +216 -0
  18. package/dist/wizards/gsecontrol.spec.js.map +1 -0
  19. package/dist/wizards/lnode.d.ts +1 -0
  20. package/dist/wizards/lnode.js +101 -1
  21. package/dist/wizards/lnode.js.map +1 -1
  22. package/dist/wizards/patterns.d.ts +2 -0
  23. package/dist/wizards/patterns.js +2 -0
  24. package/dist/wizards/patterns.js.map +1 -1
  25. package/dist/wizards/sampledvaluecontrol.d.ts +2 -0
  26. package/dist/wizards/sampledvaluecontrol.js +115 -0
  27. package/dist/wizards/sampledvaluecontrol.js.map +1 -0
  28. package/dist/wizards/sampledvaluecontrol.spec.d.ts +1 -0
  29. package/dist/wizards/sampledvaluecontrol.spec.js +227 -0
  30. package/dist/wizards/sampledvaluecontrol.spec.js.map +1 -0
  31. package/dist/wizards/smvopts.d.ts +2 -0
  32. package/dist/wizards/smvopts.js +43 -0
  33. package/dist/wizards/smvopts.js.map +1 -0
  34. package/dist/wizards/smvopts.spec.d.ts +1 -0
  35. package/dist/wizards/smvopts.spec.js +193 -0
  36. package/dist/wizards/smvopts.spec.js.map +1 -0
  37. package/dist/wizards/wizards.js +16 -4
  38. package/dist/wizards/wizards.js.map +1 -1
  39. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.13](https://github.com/OMICRONEnergyOSS/oscd-scl-dialogs/compare/oscd-scl-dialogs-v0.0.12...oscd-scl-dialogs-v0.0.13) (2026-03-30)
4
+
5
+
6
+ ### Features
7
+
8
+ * "GSEControl" & "SampledValueControl" edit support ([b0f6441](https://github.com/OMICRONEnergyOSS/oscd-scl-dialogs/commit/b0f644147a76e8399c9b8f91def00c0449d06505))
9
+
10
+ ## [0.0.12](https://github.com/OMICRONEnergyOSS/oscd-scl-dialogs/compare/oscd-scl-dialogs-v0.0.11...oscd-scl-dialogs-v0.0.12) (2026-03-06)
11
+
12
+
13
+ ### Features
14
+
15
+ * add support for editing LNodes ([5eb8a09](https://github.com/OMICRONEnergyOSS/oscd-scl-dialogs/commit/5eb8a09198678923c1ff0c533dc70917adc1f272))
16
+ * be for user friendly when SCL element is not supported ([2c554ea](https://github.com/OMICRONEnergyOSS/oscd-scl-dialogs/commit/2c554ea80a9ccff897eb22bb026a16b758215fe3))
17
+
3
18
  ## [0.0.11](https://github.com/OMICRONEnergyOSS/oscd-scl-dialogs/compare/oscd-scl-dialogs-v0.0.10...oscd-scl-dialogs-v0.0.11) (2026-03-04)
4
19
 
5
20
 
package/README.md CHANGED
@@ -33,7 +33,7 @@ Currently supported Tag matrix
33
33
  | DOI | ❌ | ❌ |
34
34
  | DOType | ✅ | ❌ |
35
35
  | DataObjectDirectory | ❌ | ❌ |
36
- | DataSet | ❌ | |
36
+ | DataSet | ❌ | |
37
37
  | DataSetDirectory | ❌ | ❌ |
38
38
  | DataTypeTemplates | ❌ | ❌ |
39
39
  | DynAssociation | ❌ | ❌ |
@@ -53,6 +53,7 @@ Currently supported Tag matrix
53
53
  | GOOSE | ❌ | ❌ |
54
54
  | GOOSESecurity | ❌ | ❌ |
55
55
  | GSE | ❌ | ✅ |
56
+ | GSEControl | ❌ | ✅ |
56
57
  | GSEDir | ❌ | ❌ |
57
58
  | GSESettings | ❌ | ❌ |
58
59
  | GSSE | ❌ | ❌ |
@@ -90,6 +91,7 @@ Currently supported Tag matrix
90
91
  | ReportSettings | ❌ | ❌ |
91
92
  | RptEnabled | ❌ | ❌ |
92
93
  | SamplesPerSec | ❌ | ❌ |
94
+ | SampledValueControl | ❌ | ✅ |
93
95
  | SecPerSamples | ❌ | ❌ |
94
96
  | SCL | ❌ | ❌ |
95
97
  | SDI | ❌ | ❌ |
@@ -103,7 +105,7 @@ Currently supported Tag matrix
103
105
  | SGEdit | ❌ | ❌ |
104
106
  | SmpRate | ❌ | ❌ |
105
107
  | SMV | ❌ | ✅ |
106
- | SmvOpts | ❌ | |
108
+ | SmvOpts | ❌ | |
107
109
  | SMVsc | ❌ | ❌ |
108
110
  | SMVSecurity | ❌ | ❌ |
109
111
  | SMVSettings | ❌ | ❌ |
@@ -41,7 +41,7 @@
41
41
  "text": "object"
42
42
  },
43
43
  "static": true,
44
- "default": "{ 'md-dialog': MdDialog, 'md-text-button': MdTextButton, 'md-filled-button': MdFilledButton, 'scl-checkbox': SclCheckbox, 'scl-text-field': SclTextField, 'scl-select': SclSelect, 'md-filled-textfield': MdFilledTextField, 'md-filled-select': MdFilledSelect, 'md-select-option': MdSelectOption, 'md-icon-button': MdIconButton, 'md-icon': MdIcon, 'selection-list': SelectionList, 'action-list': ActionList, 'md-list': MdList, 'md-list-item': MdListItem, 'oscd-text-editor': OscdTextEditor, }"
44
+ "default": "{ 'md-dialog': MdDialog, 'md-text-button': MdTextButton, 'md-filled-button': MdFilledButton, 'md-outlined-button': MdOutlinedButton, 'scl-checkbox': SclCheckbox, 'scl-text-field': SclTextField, 'scl-select': SclSelect, 'md-filled-textfield': MdFilledTextField, 'md-filled-select': MdFilledSelect, 'md-select-option': MdSelectOption, 'md-icon-button': MdIconButton, 'md-icon': MdIcon, 'selection-list': SelectionList, 'action-list': ActionList, 'md-list': MdList, 'md-list-item': MdListItem, 'oscd-text-editor': OscdTextEditor, }"
45
45
  },
46
46
  {
47
47
  "kind": "field",
@@ -215,7 +215,7 @@
215
215
  "kind": "field",
216
216
  "name": "styles",
217
217
  "static": true,
218
- "default": "css` *, md-filled-button * { --md-dialog-container-color: var( --wizard-dialog-background-color, var(--oscd-base3) ); --md-dialog-headline-color: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-dialog-headline-font: var( --wizard-dialog-text-font, var(--oscd-text-font) ); --md-dialog-supporting-text-color: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-dialog-supporting-text-font: var( --wizard-dialog-text-font, var(--oscd-text-font) ); --md-sys-color-primary: var(--wizard-dialog-primary, var(--oscd-primary)); --md-sys-color-secondary: var( --wizard-dialog-secondary, var(--oscd-secondary) ); --md-sys-typescale-body-large-font: var( --wizard-dialog-text-font, var(--oscd-text-font) ); --md-sys-color-surface-container-highest: var( --wizard-dailog-input-background-color, var(--oscd-base3) ); --md-outlined-text-field-input-text-color: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-sys-color-on-surface: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-sys-color-on-primary: var( --wizard-dialog-background-color, var(--oscd-base3) ); --md-sys-color-surface: var(--wizard-dialog-surface, var(--oscd-base3)); --md-sys-color-on-surface-variant: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-menu-container-color: var( --wizard-dialog-background-color, var(--oscd-base3) ); --md-menu-item-selected-container-color: rgb( from var(--wizard-dialog-primary, var(--oscd-primary)) r g b / 0.38 ); } md-dialog { --md-dialog-container-max-height: 100%; --md-dialog-container-max-width: 100%; } md-dialog.editor-mode { width: 80%; height: 80%; } .dialog-header { display: flex; align-items: center; } .dialog-header .title { flex: 1; } .editor-mode form, .editor-content, .editor-content oscd-text-editor { height: 100%; } .editor-mode form { padding-inline: 0px; } .editor-mode form .editor-content { border-top: 1px solid var(--oscd-base0); border-bottom: 1px solid var(--oscd-base0); } .wizard-content { display: flex; flex-direction: column; } .wizard-content > * { display: block; margin-top: 16px; } `"
218
+ "default": "css` *, md-filled-button * { --md-dialog-container-color: var( --wizard-dialog-background-color, var(--oscd-base3) ); --md-dialog-headline-color: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-dialog-headline-font: var( --wizard-dialog-text-font, var(--oscd-text-font) ); --md-dialog-supporting-text-color: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-dialog-supporting-text-font: var( --wizard-dialog-text-font, var(--oscd-text-font) ); --md-sys-color-primary: var(--wizard-dialog-primary, var(--oscd-primary)); --md-sys-color-secondary: var( --wizard-dialog-secondary, var(--oscd-secondary) ); --md-sys-typescale-body-large-font: var( --wizard-dialog-text-font, var(--oscd-text-font) ); --md-sys-color-surface-container-highest: var( --wizard-dailog-input-background-color, var(--oscd-base3) ); --md-outlined-text-field-input-text-color: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-sys-color-on-surface: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-sys-color-on-primary: var( --wizard-dialog-background-color, var(--oscd-base3) ); --md-sys-color-surface: var(--wizard-dialog-surface, var(--oscd-base3)); --md-sys-color-on-surface-variant: var( --wizard-dialog-text-color, var(--oscd-base00) ); --md-menu-container-color: var( --wizard-dialog-background-color, var(--oscd-base3) ); --md-menu-item-selected-container-color: rgb( from var(--wizard-dialog-primary, var(--oscd-primary)) r g b / 0.38 ); } md-dialog { --md-dialog-container-max-height: 100%; --md-dialog-container-max-width: 100%; } md-dialog.editor-mode { width: 80%; height: 80%; } .dialog-header { display: flex; align-items: center; } .dialog-header .title { flex: 1; } .editor-mode form, .editor-content, .editor-content oscd-text-editor { height: 100%; } .editor-mode form { padding-inline: 0px; } .editor-mode form .editor-content { border-top: 1px solid var(--oscd-base0); border-bottom: 1px solid var(--oscd-base0); } .wizard-content { display: flex; flex-direction: column; } .wizard-content > * { display: block; margin-top: 16px; } .unsupported-message { display: flex; flex-direction: column; align-items: center; gap: 16px; } .unsupported-message md-outlined-button { align-self: flex-end; } `"
219
219
  }
220
220
  ],
221
221
  "superclass": {
@@ -2207,6 +2207,62 @@
2207
2207
  }
2208
2208
  ]
2209
2209
  },
2210
+ {
2211
+ "kind": "javascript-module",
2212
+ "path": "wizards/dataset.spec.ts",
2213
+ "declarations": [],
2214
+ "exports": [
2215
+ {
2216
+ "kind": "custom-element-definition",
2217
+ "name": "scl-text-field",
2218
+ "declaration": {
2219
+ "name": "SclTextField",
2220
+ "package": "@openenergytools/scl-text-field"
2221
+ }
2222
+ },
2223
+ {
2224
+ "kind": "custom-element-definition",
2225
+ "name": "selection-list",
2226
+ "declaration": {
2227
+ "name": "SelectionList",
2228
+ "package": "@openenergytools/filterable-lists/dist/SelectionList.js"
2229
+ }
2230
+ }
2231
+ ]
2232
+ },
2233
+ {
2234
+ "kind": "javascript-module",
2235
+ "path": "wizards/dataset.ts",
2236
+ "declarations": [
2237
+ {
2238
+ "kind": "function",
2239
+ "name": "editDataSetWizard",
2240
+ "return": {
2241
+ "type": {
2242
+ "text": "Wizard"
2243
+ }
2244
+ },
2245
+ "parameters": [
2246
+ {
2247
+ "name": "element",
2248
+ "type": {
2249
+ "text": "Element"
2250
+ }
2251
+ }
2252
+ ]
2253
+ }
2254
+ ],
2255
+ "exports": [
2256
+ {
2257
+ "kind": "js",
2258
+ "name": "editDataSetWizard",
2259
+ "declaration": {
2260
+ "name": "editDataSetWizard",
2261
+ "module": "wizards/dataset.ts"
2262
+ }
2263
+ }
2264
+ ]
2265
+ },
2210
2266
  {
2211
2267
  "kind": "javascript-module",
2212
2268
  "path": "wizards/datype.ts",
@@ -2737,6 +2793,70 @@
2737
2793
  }
2738
2794
  ]
2739
2795
  },
2796
+ {
2797
+ "kind": "javascript-module",
2798
+ "path": "wizards/gsecontrol.spec.ts",
2799
+ "declarations": [],
2800
+ "exports": [
2801
+ {
2802
+ "kind": "custom-element-definition",
2803
+ "name": "scl-text-field",
2804
+ "declaration": {
2805
+ "name": "SclTextField",
2806
+ "package": "@openenergytools/scl-text-field"
2807
+ }
2808
+ },
2809
+ {
2810
+ "kind": "custom-element-definition",
2811
+ "name": "scl-select",
2812
+ "declaration": {
2813
+ "name": "SclSelect",
2814
+ "package": "@openenergytools/scl-select"
2815
+ }
2816
+ },
2817
+ {
2818
+ "kind": "custom-element-definition",
2819
+ "name": "scl-checkbox",
2820
+ "declaration": {
2821
+ "name": "SclCheckbox",
2822
+ "package": "@openenergytools/scl-checkbox"
2823
+ }
2824
+ }
2825
+ ]
2826
+ },
2827
+ {
2828
+ "kind": "javascript-module",
2829
+ "path": "wizards/gsecontrol.ts",
2830
+ "declarations": [
2831
+ {
2832
+ "kind": "function",
2833
+ "name": "editGSEControlWizard",
2834
+ "return": {
2835
+ "type": {
2836
+ "text": "Wizard"
2837
+ }
2838
+ },
2839
+ "parameters": [
2840
+ {
2841
+ "name": "element",
2842
+ "type": {
2843
+ "text": "Element"
2844
+ }
2845
+ }
2846
+ ]
2847
+ }
2848
+ ],
2849
+ "exports": [
2850
+ {
2851
+ "kind": "js",
2852
+ "name": "editGSEControlWizard",
2853
+ "declaration": {
2854
+ "name": "editGSEControlWizard",
2855
+ "module": "wizards/gsecontrol.ts"
2856
+ }
2857
+ }
2858
+ ]
2859
+ },
2740
2860
  {
2741
2861
  "kind": "javascript-module",
2742
2862
  "path": "wizards/ied.ts",
@@ -3200,6 +3320,23 @@
3200
3320
  }
3201
3321
  }
3202
3322
  ]
3323
+ },
3324
+ {
3325
+ "kind": "function",
3326
+ "name": "editLNodeWizard",
3327
+ "return": {
3328
+ "type": {
3329
+ "text": "Wizard"
3330
+ }
3331
+ },
3332
+ "parameters": [
3333
+ {
3334
+ "name": "element",
3335
+ "type": {
3336
+ "text": "Element"
3337
+ }
3338
+ }
3339
+ ]
3203
3340
  }
3204
3341
  ],
3205
3342
  "exports": [
@@ -3210,6 +3347,14 @@
3210
3347
  "name": "createLNodeWizard",
3211
3348
  "module": "wizards/lnode.ts"
3212
3349
  }
3350
+ },
3351
+ {
3352
+ "kind": "js",
3353
+ "name": "editLNodeWizard",
3354
+ "declaration": {
3355
+ "name": "editLNodeWizard",
3356
+ "module": "wizards/lnode.ts"
3357
+ }
3213
3358
  }
3214
3359
  ]
3215
3360
  },
@@ -3340,6 +3485,22 @@
3340
3485
  },
3341
3486
  "default": "['SmpPerPeriod', 'SmpPerSec', 'SecPerSmp']"
3342
3487
  },
3488
+ {
3489
+ "kind": "variable",
3490
+ "name": "tGSEControlType",
3491
+ "type": {
3492
+ "text": "array"
3493
+ },
3494
+ "default": "['GOOSE', 'GSSE']"
3495
+ },
3496
+ {
3497
+ "kind": "variable",
3498
+ "name": "tSecurityEnable",
3499
+ "type": {
3500
+ "text": "array"
3501
+ },
3502
+ "default": "['None', 'Signature', 'SignatureAndEncryption']"
3503
+ },
3343
3504
  {
3344
3505
  "kind": "variable",
3345
3506
  "name": "typePattern",
@@ -3431,6 +3592,22 @@
3431
3592
  "module": "wizards/patterns.ts"
3432
3593
  }
3433
3594
  },
3595
+ {
3596
+ "kind": "js",
3597
+ "name": "tGSEControlType",
3598
+ "declaration": {
3599
+ "name": "tGSEControlType",
3600
+ "module": "wizards/patterns.ts"
3601
+ }
3602
+ },
3603
+ {
3604
+ "kind": "js",
3605
+ "name": "tSecurityEnable",
3606
+ "declaration": {
3607
+ "name": "tSecurityEnable",
3608
+ "module": "wizards/patterns.ts"
3609
+ }
3610
+ },
3434
3611
  {
3435
3612
  "kind": "js",
3436
3613
  "name": "typePattern",
@@ -3557,6 +3734,70 @@
3557
3734
  }
3558
3735
  ]
3559
3736
  },
3737
+ {
3738
+ "kind": "javascript-module",
3739
+ "path": "wizards/sampledvaluecontrol.spec.ts",
3740
+ "declarations": [],
3741
+ "exports": [
3742
+ {
3743
+ "kind": "custom-element-definition",
3744
+ "name": "scl-text-field",
3745
+ "declaration": {
3746
+ "name": "SclTextField",
3747
+ "package": "@openenergytools/scl-text-field"
3748
+ }
3749
+ },
3750
+ {
3751
+ "kind": "custom-element-definition",
3752
+ "name": "scl-select",
3753
+ "declaration": {
3754
+ "name": "SclSelect",
3755
+ "package": "@openenergytools/scl-select"
3756
+ }
3757
+ },
3758
+ {
3759
+ "kind": "custom-element-definition",
3760
+ "name": "scl-checkbox",
3761
+ "declaration": {
3762
+ "name": "SclCheckbox",
3763
+ "package": "@openenergytools/scl-checkbox"
3764
+ }
3765
+ }
3766
+ ]
3767
+ },
3768
+ {
3769
+ "kind": "javascript-module",
3770
+ "path": "wizards/sampledvaluecontrol.ts",
3771
+ "declarations": [
3772
+ {
3773
+ "kind": "function",
3774
+ "name": "editSampledValueControlWizard",
3775
+ "return": {
3776
+ "type": {
3777
+ "text": "Wizard"
3778
+ }
3779
+ },
3780
+ "parameters": [
3781
+ {
3782
+ "name": "element",
3783
+ "type": {
3784
+ "text": "Element"
3785
+ }
3786
+ }
3787
+ ]
3788
+ }
3789
+ ],
3790
+ "exports": [
3791
+ {
3792
+ "kind": "js",
3793
+ "name": "editSampledValueControlWizard",
3794
+ "declaration": {
3795
+ "name": "editSampledValueControlWizard",
3796
+ "module": "wizards/sampledvaluecontrol.ts"
3797
+ }
3798
+ }
3799
+ ]
3800
+ },
3560
3801
  {
3561
3802
  "kind": "javascript-module",
3562
3803
  "path": "wizards/sdo.ts",
@@ -3648,6 +3889,54 @@
3648
3889
  }
3649
3890
  ]
3650
3891
  },
3892
+ {
3893
+ "kind": "javascript-module",
3894
+ "path": "wizards/smvopts.spec.ts",
3895
+ "declarations": [],
3896
+ "exports": [
3897
+ {
3898
+ "kind": "custom-element-definition",
3899
+ "name": "scl-checkbox",
3900
+ "declaration": {
3901
+ "name": "SclCheckbox",
3902
+ "package": "@openenergytools/scl-checkbox"
3903
+ }
3904
+ }
3905
+ ]
3906
+ },
3907
+ {
3908
+ "kind": "javascript-module",
3909
+ "path": "wizards/smvopts.ts",
3910
+ "declarations": [
3911
+ {
3912
+ "kind": "function",
3913
+ "name": "editSmvOptsWizard",
3914
+ "return": {
3915
+ "type": {
3916
+ "text": "Wizard"
3917
+ }
3918
+ },
3919
+ "parameters": [
3920
+ {
3921
+ "name": "element",
3922
+ "type": {
3923
+ "text": "Element"
3924
+ }
3925
+ }
3926
+ ]
3927
+ }
3928
+ ],
3929
+ "exports": [
3930
+ {
3931
+ "kind": "js",
3932
+ "name": "editSmvOptsWizard",
3933
+ "declaration": {
3934
+ "name": "editSmvOptsWizard",
3935
+ "module": "wizards/smvopts.ts"
3936
+ }
3937
+ }
3938
+ ]
3939
+ },
3651
3940
  {
3652
3941
  "kind": "javascript-module",
3653
3942
  "path": "wizards/subequipment.ts",
@@ -4306,7 +4595,7 @@
4306
4595
  "type": {
4307
4596
  "text": "Record<\n string,\n {\n edit: SclElementWizard;\n create: SclElementWizard;\n }\n>"
4308
4597
  },
4309
- "default": "{ AccessControl: { edit: emptyWizard, create: emptyWizard, }, AccessPoint: { edit: emptyWizard, create: emptyWizard, }, Address: { edit: emptyWizard, create: emptyWizard, }, Association: { edit: emptyWizard, create: emptyWizard, }, Authentication: { edit: emptyWizard, create: emptyWizard, }, Bay: { edit: editBayWizard, create: createBayWizard, }, BDA: { edit: editBDaWizard, create: emptyWizard, }, BitRate: { edit: emptyWizard, create: emptyWizard, }, ClientLN: { edit: emptyWizard, create: emptyWizard, }, ClientServices: { edit: emptyWizard, create: emptyWizard, }, CommProt: { edit: emptyWizard, create: emptyWizard, }, Communication: { edit: emptyWizard, create: emptyWizard, }, ConductingEquipment: { edit: editConductingEquipmentWizard, create: createConductingEquipmentWizard, }, ConfDataSet: { edit: emptyWizard, create: emptyWizard, }, ConfLdName: { edit: emptyWizard, create: emptyWizard, }, ConfLNs: { edit: emptyWizard, create: emptyWizard, }, ConfLogControl: { edit: emptyWizard, create: emptyWizard, }, ConfReportControl: { edit: emptyWizard, create: emptyWizard, }, ConfSG: { edit: emptyWizard, create: emptyWizard, }, ConfSigRef: { edit: emptyWizard, create: emptyWizard, }, ConnectedAP: { edit: editConnectedApWizard, create: createConnectedApWizard, }, DA: { edit: editDAWizard, create: createDaWizard, }, DAType: { edit: emptyWizard, create: emptyWizard, }, DO: { edit: editDoWizard, create: createDoWizard, }, DOI: { edit: emptyWizard, create: emptyWizard, }, DOType: { edit: emptyWizard, create: createDOTypeWizard, }, DataObjectDirectory: { edit: emptyWizard, create: emptyWizard, }, DataSet: { edit: emptyWizard, create: emptyWizard, }, DataSetDirectory: { edit: emptyWizard, create: emptyWizard, }, DataTypeTemplates: { edit: emptyWizard, create: emptyWizard, }, DynAssociation: { edit: emptyWizard, create: emptyWizard, }, DynDataSet: { edit: emptyWizard, create: emptyWizard, }, EnumType: { edit: emptyWizard, create: createEnumTypeWizard, }, EnumVal: { edit: editEnumValWizard, create: createEnumValWizard, }, EqFunction: { edit: editEqFunctionWizard, create: createEqFunctionWizard, }, EqSubFunction: { edit: editEqSubFunctionWizard, create: createEqSubFunctionWizard, }, ExtRef: { edit: emptyWizard, create: emptyWizard, }, FileHandling: { edit: emptyWizard, create: emptyWizard, }, Function: { edit: editFunctionWizard, create: createFunctionWizard, }, GeneralEquipment: { edit: editGeneralEquipmentWizard, create: createGeneralEquipmentWizard, }, GetCBValues: { edit: emptyWizard, create: emptyWizard, }, GetDataObjectDefinition: { edit: emptyWizard, create: emptyWizard, }, GetDataSetValue: { edit: emptyWizard, create: emptyWizard, }, GetDirectory: { edit: emptyWizard, create: emptyWizard, }, GOOSE: { edit: emptyWizard, create: emptyWizard, }, GOOSESecurity: { edit: emptyWizard, create: emptyWizard, }, GSE: { edit: editGseWizard, create: emptyWizard, }, GSEDir: { edit: emptyWizard, create: emptyWizard, }, GSESettings: { edit: emptyWizard, create: emptyWizard, }, GSSE: { edit: emptyWizard, create: emptyWizard, }, Header: { edit: emptyWizard, create: emptyWizard, }, History: { edit: emptyWizard, create: emptyWizard, }, Hitem: { edit: emptyWizard, create: emptyWizard, }, IED: { edit: editIEDWizard, create: createIEDWizard, }, IEDName: { edit: emptyWizard, create: emptyWizard, }, Inputs: { edit: emptyWizard, create: emptyWizard, }, IssuerName: { edit: emptyWizard, create: emptyWizard, }, KDC: { edit: emptyWizard, create: emptyWizard, }, LDevice: { edit: editLDeviceWizard, create: createLDeviceWizard, }, LN: { edit: updateLNWizard, create: createLNWizard, }, LN0: { edit: updateLN0Wizard, create: emptyWizard, }, LNode: { edit: emptyWizard, create: createLNodeWizard, }, LNodeType: { edit: emptyWizard, create: createLNodeTypeWizard, }, Line: { edit: editLineWizard, create: createLineWizard, }, Log: { edit: emptyWizard, create: emptyWizard, }, LogControl: { edit: emptyWizard, create: emptyWizard, }, LogSettings: { edit: emptyWizard, create: emptyWizard, }, MaxTime: { edit: emptyWizard, create: emptyWizard, }, McSecurity: { edit: emptyWizard, create: emptyWizard, }, MinTime: { edit: emptyWizard, create: emptyWizard, }, NeutralPoint: { edit: emptyWizard, create: emptyWizard, }, P: { edit: emptyWizard, create: emptyWizard, }, PhysConn: { edit: emptyWizard, create: emptyWizard, }, PowerTransformer: { edit: editPowerTransformerWizard, create: createPowerTransformerWizard, }, Private: { edit: emptyWizard, create: emptyWizard, }, Process: { edit: editProcessWizard, create: createProcessWizard, }, ProtNs: { edit: emptyWizard, create: emptyWizard, }, Protocol: { edit: emptyWizard, create: emptyWizard, }, ReadWrite: { edit: emptyWizard, create: emptyWizard, }, RedProt: { edit: emptyWizard, create: emptyWizard, }, ReportControl: { edit: emptyWizard, create: emptyWizard, }, ReportSettings: { edit: emptyWizard, create: emptyWizard, }, RptEnabled: { edit: emptyWizard, create: emptyWizard, }, SamplesPerSec: { edit: emptyWizard, create: emptyWizard, }, SecPerSamples: { edit: emptyWizard, create: emptyWizard, }, SCL: { edit: emptyWizard, create: emptyWizard, }, SDI: { edit: emptyWizard, create: emptyWizard, }, SDO: { edit: editSDoWizard, create: createSDoWizard, }, Server: { edit: emptyWizard, create: emptyWizard, }, ServerAt: { edit: emptyWizard, create: emptyWizard, }, Services: { edit: emptyWizard, create: emptyWizard, }, SetDataSetValue: { edit: emptyWizard, create: emptyWizard, }, SettingControl: { edit: emptyWizard, create: emptyWizard, }, SettingGroups: { edit: emptyWizard, create: emptyWizard, }, SGEdit: { edit: emptyWizard, create: emptyWizard, }, SmpRate: { edit: emptyWizard, create: emptyWizard, }, SMV: { edit: editSMvWizard, create: emptyWizard, }, SmvOpts: { edit: emptyWizard, create: emptyWizard, }, SMVsc: { edit: emptyWizard, create: emptyWizard, }, SMVSecurity: { edit: emptyWizard, create: emptyWizard, }, SMVSettings: { edit: emptyWizard, create: emptyWizard, }, SubEquipment: { edit: editSubEquipmentWizard, create: createSubEquipmentWizard, }, SubFunction: { edit: editSubFunctionWizard, create: createSubFunctionWizard, }, SubNetwork: { edit: editSubNetworkWizard, create: createSubNetworkWizard, }, Subject: { edit: emptyWizard, create: emptyWizard, }, Substation: { edit: editSubstationWizard, create: createSubstationWizard, }, SupSubscription: { edit: emptyWizard, create: emptyWizard, }, TapChanger: { edit: editTapChangerWizard, create: createTapChangerWizard, }, Text: { edit: editTextWizard, create: createTextWizard, }, TimerActivatedControl: { edit: emptyWizard, create: emptyWizard, }, TimeSyncProt: { edit: emptyWizard, create: emptyWizard, }, TransformerWinding: { edit: editTransformerWindingWizard, create: createTransformerWindingWizard, }, Val: { edit: emptyWizard, create: emptyWizard, }, ValueHandling: { edit: emptyWizard, create: emptyWizard, }, Voltage: { edit: emptyWizard, create: emptyWizard, }, VoltageLevel: { edit: editVoltageLevelWizard, create: createVoltageLevelWizard, }, }"
4598
+ "default": "{ AccessControl: { edit: emptyWizard, create: emptyWizard, }, AccessPoint: { edit: emptyWizard, create: emptyWizard, }, Address: { edit: emptyWizard, create: emptyWizard, }, Association: { edit: emptyWizard, create: emptyWizard, }, Authentication: { edit: emptyWizard, create: emptyWizard, }, Bay: { edit: editBayWizard, create: createBayWizard, }, BDA: { edit: editBDaWizard, create: emptyWizard, }, BitRate: { edit: emptyWizard, create: emptyWizard, }, ClientLN: { edit: emptyWizard, create: emptyWizard, }, ClientServices: { edit: emptyWizard, create: emptyWizard, }, CommProt: { edit: emptyWizard, create: emptyWizard, }, Communication: { edit: emptyWizard, create: emptyWizard, }, ConductingEquipment: { edit: editConductingEquipmentWizard, create: createConductingEquipmentWizard, }, ConfDataSet: { edit: emptyWizard, create: emptyWizard, }, ConfLdName: { edit: emptyWizard, create: emptyWizard, }, ConfLNs: { edit: emptyWizard, create: emptyWizard, }, ConfLogControl: { edit: emptyWizard, create: emptyWizard, }, ConfReportControl: { edit: emptyWizard, create: emptyWizard, }, ConfSG: { edit: emptyWizard, create: emptyWizard, }, ConfSigRef: { edit: emptyWizard, create: emptyWizard, }, ConnectedAP: { edit: editConnectedApWizard, create: createConnectedApWizard, }, DA: { edit: editDAWizard, create: createDaWizard, }, DAType: { edit: emptyWizard, create: emptyWizard, }, DO: { edit: editDoWizard, create: createDoWizard, }, DOI: { edit: emptyWizard, create: emptyWizard, }, DOType: { edit: emptyWizard, create: createDOTypeWizard, }, DataObjectDirectory: { edit: emptyWizard, create: emptyWizard, }, DataSet: { edit: editDataSetWizard, create: emptyWizard, }, DataSetDirectory: { edit: emptyWizard, create: emptyWizard, }, DataTypeTemplates: { edit: emptyWizard, create: emptyWizard, }, DynAssociation: { edit: emptyWizard, create: emptyWizard, }, DynDataSet: { edit: emptyWizard, create: emptyWizard, }, EnumType: { edit: emptyWizard, create: createEnumTypeWizard, }, EnumVal: { edit: editEnumValWizard, create: createEnumValWizard, }, EqFunction: { edit: editEqFunctionWizard, create: createEqFunctionWizard, }, EqSubFunction: { edit: editEqSubFunctionWizard, create: createEqSubFunctionWizard, }, ExtRef: { edit: emptyWizard, create: emptyWizard, }, FileHandling: { edit: emptyWizard, create: emptyWizard, }, Function: { edit: editFunctionWizard, create: createFunctionWizard, }, GeneralEquipment: { edit: editGeneralEquipmentWizard, create: createGeneralEquipmentWizard, }, GetCBValues: { edit: emptyWizard, create: emptyWizard, }, GetDataObjectDefinition: { edit: emptyWizard, create: emptyWizard, }, GetDataSetValue: { edit: emptyWizard, create: emptyWizard, }, GetDirectory: { edit: emptyWizard, create: emptyWizard, }, GOOSE: { edit: emptyWizard, create: emptyWizard, }, GOOSESecurity: { edit: emptyWizard, create: emptyWizard, }, GSE: { edit: editGseWizard, create: emptyWizard, }, GSEControl: { edit: editGSEControlWizard, create: emptyWizard, }, GSEDir: { edit: emptyWizard, create: emptyWizard, }, GSESettings: { edit: emptyWizard, create: emptyWizard, }, GSSE: { edit: emptyWizard, create: emptyWizard, }, Header: { edit: emptyWizard, create: emptyWizard, }, History: { edit: emptyWizard, create: emptyWizard, }, Hitem: { edit: emptyWizard, create: emptyWizard, }, IED: { edit: editIEDWizard, create: createIEDWizard, }, IEDName: { edit: emptyWizard, create: emptyWizard, }, Inputs: { edit: emptyWizard, create: emptyWizard, }, IssuerName: { edit: emptyWizard, create: emptyWizard, }, KDC: { edit: emptyWizard, create: emptyWizard, }, LDevice: { edit: editLDeviceWizard, create: createLDeviceWizard, }, LN: { edit: updateLNWizard, create: createLNWizard, }, LN0: { edit: updateLN0Wizard, create: emptyWizard, }, LNode: { edit: editLNodeWizard, create: createLNodeWizard, }, LNodeType: { edit: emptyWizard, create: createLNodeTypeWizard, }, Line: { edit: editLineWizard, create: createLineWizard, }, Log: { edit: emptyWizard, create: emptyWizard, }, LogControl: { edit: emptyWizard, create: emptyWizard, }, LogSettings: { edit: emptyWizard, create: emptyWizard, }, MaxTime: { edit: emptyWizard, create: emptyWizard, }, McSecurity: { edit: emptyWizard, create: emptyWizard, }, MinTime: { edit: emptyWizard, create: emptyWizard, }, NeutralPoint: { edit: emptyWizard, create: emptyWizard, }, P: { edit: emptyWizard, create: emptyWizard, }, PhysConn: { edit: emptyWizard, create: emptyWizard, }, PowerTransformer: { edit: editPowerTransformerWizard, create: createPowerTransformerWizard, }, Private: { edit: emptyWizard, create: emptyWizard, }, Process: { edit: editProcessWizard, create: createProcessWizard, }, ProtNs: { edit: emptyWizard, create: emptyWizard, }, Protocol: { edit: emptyWizard, create: emptyWizard, }, ReadWrite: { edit: emptyWizard, create: emptyWizard, }, RedProt: { edit: emptyWizard, create: emptyWizard, }, ReportControl: { edit: emptyWizard, create: emptyWizard, }, ReportSettings: { edit: emptyWizard, create: emptyWizard, }, RptEnabled: { edit: emptyWizard, create: emptyWizard, }, SamplesPerSec: { edit: emptyWizard, create: emptyWizard, }, SampledValueControl: { edit: editSampledValueControlWizard, create: emptyWizard, }, SecPerSamples: { edit: emptyWizard, create: emptyWizard, }, SCL: { edit: emptyWizard, create: emptyWizard, }, SDI: { edit: emptyWizard, create: emptyWizard, }, SDO: { edit: editSDoWizard, create: createSDoWizard, }, Server: { edit: emptyWizard, create: emptyWizard, }, ServerAt: { edit: emptyWizard, create: emptyWizard, }, Services: { edit: emptyWizard, create: emptyWizard, }, SetDataSetValue: { edit: emptyWizard, create: emptyWizard, }, SettingControl: { edit: emptyWizard, create: emptyWizard, }, SettingGroups: { edit: emptyWizard, create: emptyWizard, }, SGEdit: { edit: emptyWizard, create: emptyWizard, }, SmpRate: { edit: emptyWizard, create: emptyWizard, }, SMV: { edit: editSMvWizard, create: emptyWizard, }, SmvOpts: { edit: editSmvOptsWizard, create: emptyWizard, }, SMVsc: { edit: emptyWizard, create: emptyWizard, }, SMVSecurity: { edit: emptyWizard, create: emptyWizard, }, SMVSettings: { edit: emptyWizard, create: emptyWizard, }, SubEquipment: { edit: editSubEquipmentWizard, create: createSubEquipmentWizard, }, SubFunction: { edit: editSubFunctionWizard, create: createSubFunctionWizard, }, SubNetwork: { edit: editSubNetworkWizard, create: createSubNetworkWizard, }, Subject: { edit: emptyWizard, create: emptyWizard, }, Substation: { edit: editSubstationWizard, create: createSubstationWizard, }, SupSubscription: { edit: emptyWizard, create: emptyWizard, }, TapChanger: { edit: editTapChangerWizard, create: createTapChangerWizard, }, Text: { edit: editTextWizard, create: createTextWizard, }, TimerActivatedControl: { edit: emptyWizard, create: emptyWizard, }, TimeSyncProt: { edit: emptyWizard, create: emptyWizard, }, TransformerWinding: { edit: editTransformerWindingWizard, create: createTransformerWindingWizard, }, Val: { edit: emptyWizard, create: emptyWizard, }, ValueHandling: { edit: emptyWizard, create: emptyWizard, }, Voltage: { edit: emptyWizard, create: emptyWizard, }, VoltageLevel: { edit: editVoltageLevelWizard, create: createVoltageLevelWizard, }, }"
4310
4599
  }
4311
4600
  ],
4312
4601
  "exports": [
@@ -11,6 +11,7 @@ import { MdFilledTextField } from '@scopedelement/material-web/textfield/MdFille
11
11
  import { MdIcon } from '@scopedelement/material-web/icon/MdIcon.js';
12
12
  import { MdIconButton } from '@scopedelement/material-web/iconbutton/MdIconButton.js';
13
13
  import { MdFilledButton } from '@scopedelement/material-web/button/MdFilledButton.js';
14
+ import { MdOutlinedButton } from '@scopedelement/material-web/button/MdOutlinedButton.js';
14
15
  import { MdList } from '@scopedelement/material-web/list/MdList.js';
15
16
  import { MdListItem } from '@scopedelement/material-web/list/MdListItem.js';
16
17
  import { MdSelectOption } from '@scopedelement/material-web/select/MdSelectOption.js';
@@ -35,6 +36,7 @@ export default class OscdSclDialogs extends BaseElement {
35
36
  'md-dialog': typeof MdDialog;
36
37
  'md-text-button': typeof MdTextButton;
37
38
  'md-filled-button': typeof MdFilledButton;
39
+ 'md-outlined-button': typeof MdOutlinedButton;
38
40
  'scl-checkbox': typeof SclCheckbox;
39
41
  'scl-text-field': typeof SclTextField;
40
42
  'scl-select': typeof SclSelect;
@@ -13,6 +13,7 @@ import { MdFilledTextField } from '@scopedelement/material-web/textfield/MdFille
13
13
  import { MdIcon } from '@scopedelement/material-web/icon/MdIcon.js';
14
14
  import { MdIconButton } from '@scopedelement/material-web/iconbutton/MdIconButton.js';
15
15
  import { MdFilledButton } from '@scopedelement/material-web/button/MdFilledButton.js';
16
+ import { MdOutlinedButton } from '@scopedelement/material-web/button/MdOutlinedButton.js';
16
17
  import { MdList } from '@scopedelement/material-web/list/MdList.js';
17
18
  import { MdListItem } from '@scopedelement/material-web/list/MdListItem.js';
18
19
  import { MdSelectOption } from '@scopedelement/material-web/select/MdSelectOption.js';
@@ -43,13 +44,41 @@ function getWizard(wizardType) {
43
44
  return undefined;
44
45
  }
45
46
  function wizardContent(wizardType) {
46
- return ((wizardType && getWizard(wizardType)?.content) || [
47
- html `<div>Invalid wizard type definition</div>`,
48
- ]);
47
+ const wizard = wizardType && getWizard(wizardType);
48
+ if (wizard?.content) {
49
+ return wizard.content;
50
+ }
51
+ if (wizardType && isCreateWizard(wizardType)) {
52
+ return [
53
+ html `<div>
54
+ Creating <strong>${wizardType.tagName}</strong> is not yet supported.
55
+ </div>`,
56
+ ];
57
+ }
58
+ if (wizardType && isEditWizard(wizardType)) {
59
+ return [
60
+ html `<div class="unsupported-message">
61
+ <p>
62
+ Editing <strong>${wizardType.element.tagName}</strong> Elements is not
63
+ yet supported.
64
+ </p>
65
+ </div>`,
66
+ ];
67
+ }
68
+ return [html `<div>Invalid wizard type definition</div>`];
49
69
  }
50
70
  function wizardTitle(wizardType) {
51
- return ((wizardType && getWizard(wizardType)?.title) ||
52
- 'Invalid wizard type definition');
71
+ const wizard = wizardType && getWizard(wizardType);
72
+ if (wizard?.title) {
73
+ return wizard.title;
74
+ }
75
+ if (wizardType && isCreateWizard(wizardType)) {
76
+ return `Add ${wizardType.tagName}`;
77
+ }
78
+ if (wizardType && isEditWizard(wizardType)) {
79
+ return `Edit ${wizardType.element.tagName}`;
80
+ }
81
+ return 'Error';
53
82
  }
54
83
  function wizardAction(wizardType) {
55
84
  if (!wizardType) {
@@ -223,13 +252,22 @@ class OscdSclDialogs extends BaseElement {
223
252
  }}"
224
253
  >Cancel</md-text-button
225
254
  >
226
- <md-filled-button
227
- form="add-data-object"
228
- @click=${() => this.editorMode
229
- ? this.applyTextEdits()
230
- : this.applyFormValues(wizardAction(this.wizardType))}
231
- >Save</md-filled-button
232
- >
255
+ ${!this.editorMode && !(this.wizardType && getWizard(this.wizardType))
256
+ ? html `<md-outlined-button
257
+ @click="${(event) => {
258
+ event.stopImmediatePropagation();
259
+ event.preventDefault();
260
+ this.editorMode = true;
261
+ }}"
262
+ >Use Editor</md-outlined-button
263
+ >`
264
+ : html `<md-filled-button
265
+ form="add-data-object"
266
+ @click=${() => this.editorMode
267
+ ? this.applyTextEdits()
268
+ : this.applyFormValues(wizardAction(this.wizardType))}
269
+ >Save</md-filled-button
270
+ >`}
233
271
  </div>
234
272
  </md-dialog>
235
273
  </div>`;
@@ -239,6 +277,7 @@ OscdSclDialogs.scopedElements = {
239
277
  'md-dialog': MdDialog,
240
278
  'md-text-button': MdTextButton,
241
279
  'md-filled-button': MdFilledButton,
280
+ 'md-outlined-button': MdOutlinedButton,
242
281
  'scl-checkbox': SclCheckbox,
243
282
  'scl-text-field': SclTextField,
244
283
  'scl-select': SclSelect,
@@ -363,6 +402,17 @@ OscdSclDialogs.styles = css `
363
402
  display: block;
364
403
  margin-top: 16px;
365
404
  }
405
+
406
+ .unsupported-message {
407
+ display: flex;
408
+ flex-direction: column;
409
+ align-items: center;
410
+ gap: 16px;
411
+ }
412
+
413
+ .unsupported-message md-outlined-button {
414
+ align-self: flex-end;
415
+ }
366
416
  `;
367
417
  export default OscdSclDialogs;
368
418
  __decorate([