@compas-oscd/open-scd 0.34.12 → 0.34.14

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 (160) hide show
  1. package/package.json +1 -1
  2. package/dist/src/WizardDivider.d.ts +0 -8
  3. package/dist/src/WizardDivider.js +0 -37
  4. package/dist/src/WizardDivider.js.map +0 -1
  5. package/dist/src/Wizarding.d.ts +0 -10
  6. package/dist/src/Wizarding.js +0 -38
  7. package/dist/src/Wizarding.js.map +0 -1
  8. package/dist/src/action-icon.d.ts +0 -25
  9. package/dist/src/action-icon.js +0 -220
  10. package/dist/src/action-icon.js.map +0 -1
  11. package/dist/src/action-pane.d.ts +0 -25
  12. package/dist/src/action-pane.js +0 -176
  13. package/dist/src/action-pane.js.map +0 -1
  14. package/dist/src/addons/Editor.d.ts +0 -25
  15. package/dist/src/addons/Editor.js +0 -106
  16. package/dist/src/addons/Editor.js.map +0 -1
  17. package/dist/src/addons/History.d.ts +0 -93
  18. package/dist/src/addons/History.js +0 -491
  19. package/dist/src/addons/History.js.map +0 -1
  20. package/dist/src/addons/Layout.d.ts +0 -96
  21. package/dist/src/addons/Layout.js +0 -619
  22. package/dist/src/addons/Layout.js.map +0 -1
  23. package/dist/src/addons/Settings.d.ts +0 -68
  24. package/dist/src/addons/Settings.js +0 -465
  25. package/dist/src/addons/Settings.js.map +0 -1
  26. package/dist/src/addons/Waiter.d.ts +0 -14
  27. package/dist/src/addons/Waiter.js +0 -45
  28. package/dist/src/addons/Waiter.js.map +0 -1
  29. package/dist/src/addons/Wizards.d.ts +0 -15
  30. package/dist/src/addons/Wizards.js +0 -48
  31. package/dist/src/addons/Wizards.js.map +0 -1
  32. package/dist/src/addons/editor/edit-action-to-v1-converter.d.ts +0 -3
  33. package/dist/src/addons/editor/edit-action-to-v1-converter.js +0 -96
  34. package/dist/src/addons/editor/edit-action-to-v1-converter.js.map +0 -1
  35. package/dist/src/addons/editor/edit-v1-to-v2-converter.d.ts +0 -2
  36. package/dist/src/addons/editor/edit-v1-to-v2-converter.js +0 -37
  37. package/dist/src/addons/editor/edit-v1-to-v2-converter.js.map +0 -1
  38. package/dist/src/addons/history/get-log-text.d.ts +0 -5
  39. package/dist/src/addons/history/get-log-text.js +0 -26
  40. package/dist/src/addons/history/get-log-text.js.map +0 -1
  41. package/dist/src/addons/menu-tabs/menu-tabs.d.ts +0 -22
  42. package/dist/src/addons/menu-tabs/menu-tabs.js +0 -74
  43. package/dist/src/addons/menu-tabs/menu-tabs.js.map +0 -1
  44. package/dist/src/addons/plugin-manager/custom-plugin-dialog.d.ts +0 -28
  45. package/dist/src/addons/plugin-manager/custom-plugin-dialog.js +0 -177
  46. package/dist/src/addons/plugin-manager/custom-plugin-dialog.js.map +0 -1
  47. package/dist/src/addons/plugin-manager/plugin-manager.d.ts +0 -20
  48. package/dist/src/addons/plugin-manager/plugin-manager.js +0 -165
  49. package/dist/src/addons/plugin-manager/plugin-manager.js.map +0 -1
  50. package/dist/src/filtered-list.d.ts +0 -27
  51. package/dist/src/filtered-list.js +0 -168
  52. package/dist/src/filtered-list.js.map +0 -1
  53. package/dist/src/finder-list.d.ts +0 -37
  54. package/dist/src/finder-list.js +0 -207
  55. package/dist/src/finder-list.js.map +0 -1
  56. package/dist/src/foundation/compare.d.ts +0 -79
  57. package/dist/src/foundation/compare.js +0 -273
  58. package/dist/src/foundation/compare.js.map +0 -1
  59. package/dist/src/foundation/dai.d.ts +0 -30
  60. package/dist/src/foundation/dai.js +0 -127
  61. package/dist/src/foundation/dai.js.map +0 -1
  62. package/dist/src/foundation/generators.d.ts +0 -13
  63. package/dist/src/foundation/generators.js +0 -67
  64. package/dist/src/foundation/generators.js.map +0 -1
  65. package/dist/src/foundation/ied.d.ts +0 -22
  66. package/dist/src/foundation/ied.js +0 -84
  67. package/dist/src/foundation/ied.js.map +0 -1
  68. package/dist/src/foundation/nsd.d.ts +0 -4
  69. package/dist/src/foundation/nsd.js +0 -13
  70. package/dist/src/foundation/nsd.js.map +0 -1
  71. package/dist/src/foundation/nsdoc.d.ts +0 -14
  72. package/dist/src/foundation/nsdoc.js +0 -180
  73. package/dist/src/foundation/nsdoc.js.map +0 -1
  74. package/dist/src/foundation/scl.d.ts +0 -1
  75. package/dist/src/foundation/scl.js +0 -64
  76. package/dist/src/foundation/scl.js.map +0 -1
  77. package/dist/src/foundation.d.ts +0 -230
  78. package/dist/src/foundation.js +0 -1922
  79. package/dist/src/foundation.js.map +0 -1
  80. package/dist/src/icons/compare.d.ts +0 -3
  81. package/dist/src/icons/compare.js +0 -11
  82. package/dist/src/icons/compare.js.map +0 -1
  83. package/dist/src/icons/icons.d.ts +0 -41
  84. package/dist/src/icons/icons.js +0 -611
  85. package/dist/src/icons/icons.js.map +0 -1
  86. package/dist/src/icons/ied-icons.d.ts +0 -3
  87. package/dist/src/icons/ied-icons.js +0 -11
  88. package/dist/src/icons/ied-icons.js.map +0 -1
  89. package/dist/src/icons/lnode.d.ts +0 -16
  90. package/dist/src/icons/lnode.js +0 -50
  91. package/dist/src/icons/lnode.js.map +0 -1
  92. package/dist/src/open-scd.d.ts +0 -131
  93. package/dist/src/open-scd.js +0 -483
  94. package/dist/src/open-scd.js.map +0 -1
  95. package/dist/src/oscd-filter-button.d.ts +0 -27
  96. package/dist/src/oscd-filter-button.js +0 -89
  97. package/dist/src/oscd-filter-button.js.map +0 -1
  98. package/dist/src/plain-compare-list.d.ts +0 -36
  99. package/dist/src/plain-compare-list.js +0 -132
  100. package/dist/src/plain-compare-list.js.map +0 -1
  101. package/dist/src/plugin-tag.d.ts +0 -6
  102. package/dist/src/plugin-tag.js +0 -23
  103. package/dist/src/plugin-tag.js.map +0 -1
  104. package/dist/src/plugin.d.ts +0 -23
  105. package/dist/src/plugin.events.d.ts +0 -15
  106. package/dist/src/plugin.events.js +0 -12
  107. package/dist/src/plugin.events.js.map +0 -1
  108. package/dist/src/plugin.js +0 -2
  109. package/dist/src/plugin.js.map +0 -1
  110. package/dist/src/plugins.d.ts +0 -3
  111. package/dist/src/plugins.js +0 -256
  112. package/dist/src/plugins.js.map +0 -1
  113. package/dist/src/schemas.d.ts +0 -58
  114. package/dist/src/schemas.js +0 -9325
  115. package/dist/src/schemas.js.map +0 -1
  116. package/dist/src/themes.d.ts +0 -3
  117. package/dist/src/themes.js +0 -122
  118. package/dist/src/themes.js.map +0 -1
  119. package/dist/src/translations/de.d.ts +0 -2
  120. package/dist/src/translations/de.js +0 -954
  121. package/dist/src/translations/de.js.map +0 -1
  122. package/dist/src/translations/en.d.ts +0 -963
  123. package/dist/src/translations/en.js +0 -950
  124. package/dist/src/translations/en.js.map +0 -1
  125. package/dist/src/translations/loader.d.ts +0 -12
  126. package/dist/src/translations/loader.js +0 -10
  127. package/dist/src/translations/loader.js.map +0 -1
  128. package/dist/src/wizard-checkbox.d.ts +0 -37
  129. package/dist/src/wizard-checkbox.js +0 -152
  130. package/dist/src/wizard-checkbox.js.map +0 -1
  131. package/dist/src/wizard-dialog.d.ts +0 -45
  132. package/dist/src/wizard-dialog.js +0 -374
  133. package/dist/src/wizard-dialog.js.map +0 -1
  134. package/dist/src/wizard-select.d.ts +0 -31
  135. package/dist/src/wizard-select.js +0 -115
  136. package/dist/src/wizard-select.js.map +0 -1
  137. package/dist/src/wizard-textfield.d.ts +0 -50
  138. package/dist/src/wizard-textfield.js +0 -191
  139. package/dist/src/wizard-textfield.js.map +0 -1
  140. package/dist/src/wizards.d.ts +0 -23
  141. package/dist/src/wizards.js +0 -196
  142. package/dist/src/wizards.js.map +0 -1
  143. package/dist/test/foundation.d.ts +0 -34
  144. package/dist/test/foundation.js +0 -55
  145. package/dist/test/foundation.js.map +0 -1
  146. package/dist/test/mock-editor-logger.d.ts +0 -16
  147. package/dist/test/mock-editor-logger.js +0 -53
  148. package/dist/test/mock-editor-logger.js.map +0 -1
  149. package/dist/test/mock-edits.d.ts +0 -7
  150. package/dist/test/mock-edits.js +0 -12
  151. package/dist/test/mock-edits.js.map +0 -1
  152. package/dist/test/mock-open-scd.d.ts +0 -22
  153. package/dist/test/mock-open-scd.js +0 -53
  154. package/dist/test/mock-open-scd.js.map +0 -1
  155. package/dist/test/mock-plugins.d.ts +0 -33
  156. package/dist/test/mock-plugins.js +0 -239
  157. package/dist/test/mock-plugins.js.map +0 -1
  158. package/dist/test/mock-wizard-editor.d.ts +0 -15
  159. package/dist/test/mock-wizard-editor.js +0 -50
  160. package/dist/test/mock-wizard-editor.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"oscd-filter-button.js","sourceRoot":"","sources":["../../src/oscd-filter-button.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,GAAG,EACH,aAAa,EACb,IAAI,EACJ,QAAQ,EACR,KAAK,EAEL,SAAS,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,2BAA2B,CAAC;AACnC,OAAO,sBAAsB,CAAC;AAE9B,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;GAEG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,YAAY;IAAvC;;QAML,aAAQ,GAAG,KAAK,CAAC;IAuDnB,CAAC;IAlDS,UAAU;QAChB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAEO,SAAS;QACf,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,IAAI,CAAC,QAAQ,YAAY,KAAK,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAC/D;iBAAM;gBACL,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACzC;YACD,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC,CAAC;SACjE;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,IAAI,CAAC,IAAI;kBACP,IAAI,CAAC,UAAU;qBACZ,IAAI,CAAC,QAAQ;;;;;;mBAMf,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;;oBAExC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE;;UAEhC,KAAK,CAAC,MAAM,EAAE;;YAEZ,GAAG,CAAC,OAAO,CAAC;;;KAGnB,CAAC;IACJ,CAAC;;AAEM,mBAAM,GAAG,GAAG,CAAA;MACf,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC;;;;;;;;;GASjC,CAAC;AA1DF;IADC,QAAQ,EAAE;4CACsB;AAEjC;IADC,QAAQ,EAAE;0CACG;AAEd;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACX;AAGjB;IADC,KAAK,CAAC,eAAe,CAAC;kDACO;AATnB,YAAY;IADxB,aAAa,CAAC,oBAAoB,CAAC;GACvB,YAAY,CA6DxB;SA7DY,YAAY;AAmEzB,SAAS,4BAA4B,CACnC,aAAuB,EACvB,aAA2D;IAE3D,OAAO,IAAI,WAAW,CAA6B,wBAAwB,EAAE;QAC3E,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,GAAG,aAAa;QAChB,MAAM,EAAE,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,MAAM,EAAE;KACpD,CAAC,CAAC;AACL,CAAC","sourcesContent":["import {\n css,\n customElement,\n html,\n property,\n query,\n TemplateResult,\n unsafeCSS,\n} from 'lit-element';\nimport { get } from 'lit-translate';\n\nimport '@material/mwc-icon-button';\nimport '@material/mwc-dialog';\n\nimport './filtered-list.js';\n\nimport { FilteredList } from './filtered-list.js';\nimport { Dialog } from '@material/mwc-dialog';\n\n/**\n * A mwc-list with mwc-textfield that filters the list items for given or separated terms\n */\n@customElement('oscd-filter-button')\nexport class FilterButton extends FilteredList {\n @property()\n header!: TemplateResult | string;\n @property()\n icon!: string;\n @property({ type: Boolean })\n disabled = false;\n\n @query('#filterDialog')\n private filterDialog!: Dialog;\n\n private toggleList(): void {\n this.filterDialog.show();\n }\n\n private onClosing(): void {\n const selectedItems: string[] = [];\n if (this.selected) {\n if (this.selected instanceof Array) {\n this.selected.forEach(item => selectedItems.push(item.value));\n } else {\n selectedItems.push(this.selected.value);\n }\n this.dispatchEvent(newSelectedItemsChangedEvent(selectedItems));\n }\n }\n\n render(): TemplateResult {\n return html`\n <mwc-icon-button\n icon=\"${this.icon}\"\n @click=\"${this.toggleList}\"\n ?disabled=\"${this.disabled}\"\n >\n <slot name=\"icon\"></slot>\n </mwc-icon-button>\n <mwc-dialog\n id=\"filterDialog\"\n heading=\"${this.header ? this.header : get('filter')}\"\n scrimClickAction=\"\"\n @closing=\"${() => this.onClosing()}\"\n >\n ${super.render()}\n <mwc-button slot=\"primaryAction\" dialogAction=\"close\">\n ${get('close')}\n </mwc-button>\n </mwc-dialog>\n `;\n }\n\n static styles = css`\n ${unsafeCSS(FilteredList.styles)}\n\n mwc-icon-button {\n color: var(--mdc-theme-on-surface);\n }\n\n mwc-dialog {\n --mdc-dialog-max-height: calc(100vh - 150px);\n }\n `;\n}\n\nexport interface SelectedItemsChangedDetail {\n selectedItems: string[];\n}\nexport type SelectedItemsChangedEvent = CustomEvent<SelectedItemsChangedDetail>;\nfunction newSelectedItemsChangedEvent(\n selectedItems: string[],\n eventInitDict?: CustomEventInit<SelectedItemsChangedDetail>\n): SelectedItemsChangedEvent {\n return new CustomEvent<SelectedItemsChangedDetail>('selected-items-changed', {\n bubbles: true,\n composed: true,\n ...eventInitDict,\n detail: { selectedItems, ...eventInitDict?.detail },\n });\n}\n\ndeclare global {\n interface ElementEventMap {\n ['selected-items-changed']: SelectedItemsChangedEvent;\n }\n}\n"]}
@@ -1,36 +0,0 @@
1
- import { LitElement, TemplateResult } from 'lit-element';
2
- import { DiffFilter } from './foundation/compare.js';
3
- export declare class PlainCompareList extends LitElement {
4
- /**
5
- * The title of the left list
6
- */
7
- leftHandTitle: string;
8
- /**
9
- * The title of the right list
10
- */
11
- rightHandTitle: string;
12
- /**
13
- * The left Element that should be compared
14
- */
15
- leftHandObject: Element;
16
- /**
17
- * The right element that should be compared against
18
- */
19
- rightHandObject: Element;
20
- /**
21
- * Optional filter to ignore differences
22
- */
23
- filterToIgnore?: DiffFilter<Element>;
24
- /**
25
- * The subtitle of the left list (optional)
26
- */
27
- leftHandSubtitle: string;
28
- /**
29
- * The subtitle of the right list (optional)
30
- */
31
- rightHandSubtitle: string;
32
- filterMutables: boolean;
33
- render(): TemplateResult;
34
- protected renderFilterCheckbox(): TemplateResult;
35
- static styles: import("lit-element").CSSResult;
36
- }
@@ -1,132 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { customElement, LitElement, property, html, css, state, } from 'lit-element';
3
- import { get } from 'lit-translate';
4
- import { renderDiff } from './foundation/compare.js';
5
- let PlainCompareList = class PlainCompareList extends LitElement {
6
- constructor() {
7
- super(...arguments);
8
- /**
9
- * The title of the left list
10
- */
11
- this.leftHandTitle = '';
12
- /**
13
- * The title of the right list
14
- */
15
- this.rightHandTitle = '';
16
- /**
17
- * The subtitle of the left list (optional)
18
- */
19
- this.leftHandSubtitle = '';
20
- /**
21
- * The subtitle of the right list (optional)
22
- */
23
- this.rightHandSubtitle = '';
24
- this.filterMutables = true;
25
- }
26
- render() {
27
- return html `
28
- ${this.renderFilterCheckbox()}
29
- <div class="container container--alt">
30
- <div class="list__container list__container--left">
31
- <h3 class="mdc-dialog__title">${this.leftHandTitle}</h3>
32
- ${this.leftHandSubtitle && this.leftHandSubtitle.length > 0
33
- ? html `<h5 class="mdc-dialog__title">${this.leftHandSubtitle}</h5> `
34
- : ''}
35
- </div>
36
- <div class="list__container">
37
- <h3 class="mdc-dialog__title">${this.rightHandTitle}</h3>
38
- ${this.rightHandSubtitle && this.rightHandSubtitle.length > 0
39
- ? html `<h5 class="mdc-dialog__title">
40
- ${this.rightHandSubtitle}
41
- </h5> `
42
- : ''}
43
- </div>
44
- </div>
45
- ${this.leftHandObject && this.rightHandObject
46
- ? html `
47
- ${renderDiff(this.rightHandObject, this.leftHandObject, this.filterMutables ? this.filterToIgnore : {})}
48
- `
49
- : ''}
50
- `;
51
- }
52
- renderFilterCheckbox() {
53
- if (this.filterToIgnore) {
54
- return html `
55
- <div class="container">
56
- <div class="flex"></div>
57
- <mwc-formfield label="${get('compare.filterMutables')}">
58
- <mwc-checkbox
59
- ?checked=${this.filterMutables}
60
- @change=${() => (this.filterMutables = !this.filterMutables)}
61
- >
62
- </mwc-checkbox>
63
- </mwc-formfield>
64
- </div>
65
- `;
66
- }
67
- return html ``;
68
- }
69
- };
70
- PlainCompareList.styles = css `
71
- mwc-list-item {
72
- --mdc-list-item-graphic-margin: 0;
73
- }
74
-
75
- .mdc-dialog__title {
76
- padding: 0 16px;
77
- }
78
-
79
- .container {
80
- display: flex;
81
- gap: 4px;
82
- }
83
-
84
- .container--alt {
85
- background: var(--base2);
86
- }
87
-
88
- .list__container {
89
- width: 50%;
90
- background: var(--base3);
91
- }
92
- .list__container--left {
93
- text-align: right;
94
- }
95
- .flex {
96
- flex: 1;
97
- }
98
-
99
- mwc-list-item[right] {
100
- text-align: right;
101
- direction: rtl;
102
- }
103
- `;
104
- __decorate([
105
- property({ type: String })
106
- ], PlainCompareList.prototype, "leftHandTitle", void 0);
107
- __decorate([
108
- property({ type: String })
109
- ], PlainCompareList.prototype, "rightHandTitle", void 0);
110
- __decorate([
111
- property({ type: Object })
112
- ], PlainCompareList.prototype, "leftHandObject", void 0);
113
- __decorate([
114
- property({ type: Object })
115
- ], PlainCompareList.prototype, "rightHandObject", void 0);
116
- __decorate([
117
- property({ type: Object })
118
- ], PlainCompareList.prototype, "filterToIgnore", void 0);
119
- __decorate([
120
- property({ type: String })
121
- ], PlainCompareList.prototype, "leftHandSubtitle", void 0);
122
- __decorate([
123
- property({ type: String })
124
- ], PlainCompareList.prototype, "rightHandSubtitle", void 0);
125
- __decorate([
126
- state()
127
- ], PlainCompareList.prototype, "filterMutables", void 0);
128
- PlainCompareList = __decorate([
129
- customElement('plain-compare-list')
130
- ], PlainCompareList);
131
- export { PlainCompareList };
132
- //# sourceMappingURL=plain-compare-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plain-compare-list.js","sourceRoot":"","sources":["../../src/plain-compare-list.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,IAAI,EAEJ,GAAG,EACH,KAAK,GACN,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,OAAO,EAAc,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAG1D,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAAzC;;QACL;;WAEG;QAEH,kBAAa,GAAG,EAAE,CAAC;QAEnB;;WAEG;QAEH,mBAAc,GAAG,EAAE,CAAC;QAoBpB;;WAEG;QAEH,qBAAgB,GAAG,EAAE,CAAC;QAEtB;;WAEG;QAEH,sBAAiB,GAAG,EAAE,CAAC;QAGvB,mBAAc,GAAG,IAAI,CAAC;IAqFxB,CAAC;IAnFC,MAAM;QACJ,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,oBAAoB,EAAE;;;0CAGO,IAAI,CAAC,aAAa;YAChD,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzD,CAAC,CAAC,IAAI,CAAA,iCAAiC,IAAI,CAAC,gBAAgB,QAAQ;YACpE,CAAC,CAAC,EAAE;;;0CAG0B,IAAI,CAAC,cAAc;YACjD,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAC3D,CAAC,CAAC,IAAI,CAAA;kBACA,IAAI,CAAC,iBAAiB;qBACnB;YACT,CAAC,CAAC,EAAE;;;QAGR,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe;YAC3C,CAAC,CAAC,IAAI,CAAA;cACA,UAAU,CACV,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAC/C;WACF;YACH,CAAC,CAAC,EAAE;KACP,CAAC;IACJ,CAAC;IAES,oBAAoB;QAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,OAAO,IAAI,CAAA;;;kCAGiB,GAAG,CAAC,wBAAwB,CAAC;;yBAEtC,IAAI,CAAC,cAAc;wBACpB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC;;;;;OAKnE,CAAC;SACH;QACD,OAAO,IAAI,CAAA,EAAE,CAAC;IAChB,CAAC;;AAEM,uBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiClB,CAAC;AA3HF;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACR;AAMnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACP;AAMpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACF;AAMzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACD;AAM1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;wDACU;AAMrC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DACL;AAMtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2DACJ;AAGvB;IADC,KAAK,EAAE;wDACc;AA5CX,gBAAgB;IAD5B,aAAa,CAAC,oBAAoB,CAAC;GACvB,gBAAgB,CAiI5B;SAjIY,gBAAgB","sourcesContent":["import {\n customElement,\n LitElement,\n property,\n html,\n TemplateResult,\n css,\n state,\n} from 'lit-element';\nimport { get } from 'lit-translate';\n\nimport { DiffFilter, renderDiff } from './foundation/compare.js';\n\n@customElement('plain-compare-list')\nexport class PlainCompareList extends LitElement {\n /**\n * The title of the left list\n */\n @property({ type: String })\n leftHandTitle = '';\n\n /**\n * The title of the right list\n */\n @property({ type: String })\n rightHandTitle = '';\n\n /**\n * The left Element that should be compared\n */\n @property({ type: Object })\n leftHandObject!: Element;\n\n /**\n * The right element that should be compared against\n */\n @property({ type: Object })\n rightHandObject!: Element;\n\n /**\n * Optional filter to ignore differences\n */\n @property({ type: Object })\n filterToIgnore?: DiffFilter<Element>;\n\n /**\n * The subtitle of the left list (optional)\n */\n @property({ type: String })\n leftHandSubtitle = '';\n\n /**\n * The subtitle of the right list (optional)\n */\n @property({ type: String })\n rightHandSubtitle = '';\n\n @state()\n filterMutables = true;\n\n render(): TemplateResult {\n return html`\n ${this.renderFilterCheckbox()}\n <div class=\"container container--alt\">\n <div class=\"list__container list__container--left\">\n <h3 class=\"mdc-dialog__title\">${this.leftHandTitle}</h3>\n ${this.leftHandSubtitle && this.leftHandSubtitle.length > 0\n ? html`<h5 class=\"mdc-dialog__title\">${this.leftHandSubtitle}</h5> `\n : ''}\n </div>\n <div class=\"list__container\">\n <h3 class=\"mdc-dialog__title\">${this.rightHandTitle}</h3>\n ${this.rightHandSubtitle && this.rightHandSubtitle.length > 0\n ? html`<h5 class=\"mdc-dialog__title\">\n ${this.rightHandSubtitle}\n </h5> `\n : ''}\n </div>\n </div>\n ${this.leftHandObject && this.rightHandObject\n ? html`\n ${renderDiff(\n this.rightHandObject,\n this.leftHandObject,\n this.filterMutables ? this.filterToIgnore : {}\n )}\n `\n : ''}\n `;\n }\n\n protected renderFilterCheckbox(): TemplateResult {\n if (this.filterToIgnore) {\n return html`\n <div class=\"container\">\n <div class=\"flex\"></div>\n <mwc-formfield label=\"${get('compare.filterMutables')}\">\n <mwc-checkbox\n ?checked=${this.filterMutables}\n @change=${() => (this.filterMutables = !this.filterMutables)}\n >\n </mwc-checkbox>\n </mwc-formfield>\n </div>\n `;\n }\n return html``;\n }\n\n static styles = css`\n mwc-list-item {\n --mdc-list-item-graphic-margin: 0;\n }\n\n .mdc-dialog__title {\n padding: 0 16px;\n }\n\n .container {\n display: flex;\n gap: 4px;\n }\n\n .container--alt {\n background: var(--base2);\n }\n\n .list__container {\n width: 50%;\n background: var(--base3);\n }\n .list__container--left {\n text-align: right;\n }\n .flex {\n flex: 1;\n }\n\n mwc-list-item[right] {\n text-align: right;\n direction: rtl;\n }\n `;\n}\n"]}
@@ -1,6 +0,0 @@
1
- /**
2
- * Hashes `uri` using cyrb64 analogous to
3
- * https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js .
4
- * @returns a valid customElement tagName containing the URI hash.
5
- */
6
- export declare function pluginTag(uri: string): string;
@@ -1,23 +0,0 @@
1
- /**
2
- * Hashes `uri` using cyrb64 analogous to
3
- * https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js .
4
- * @returns a valid customElement tagName containing the URI hash.
5
- */
6
- export function pluginTag(uri) {
7
- let h1 = 0xdeadbeef, h2 = 0x41c6ce57;
8
- for (let i = 0, ch; i < uri.length; i++) {
9
- ch = uri.charCodeAt(i);
10
- h1 = Math.imul(h1 ^ ch, 2654435761);
11
- h2 = Math.imul(h2 ^ ch, 1597334677);
12
- }
13
- h1 =
14
- Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^
15
- Math.imul(h2 ^ (h2 >>> 13), 3266489909);
16
- h2 =
17
- Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^
18
- Math.imul(h1 ^ (h1 >>> 13), 3266489909);
19
- return 'oscd-plugin' +
20
- ((h2 >>> 0).toString(16).padStart(8, '0') +
21
- (h1 >>> 0).toString(16).padStart(8, '0'));
22
- }
23
- //# sourceMappingURL=plugin-tag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-tag.js","sourceRoot":"","sources":["../../src/plugin-tag.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACjC,IAAI,EAAE,GAAG,UAAU,EACnB,EAAE,GAAG,UAAU,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACvB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;QACpC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;KACnC;IACD,EAAE;QACF,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACxC,EAAE;QACF,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IACxC,OAAO,aAAa;QAChB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;YACzC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;AACjD,CAAC","sourcesContent":["\n/**\n * Hashes `uri` using cyrb64 analogous to\n * https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js .\n * @returns a valid customElement tagName containing the URI hash.\n */\nexport function pluginTag(uri: string): string {\n let h1 = 0xdeadbeef,\n h2 = 0x41c6ce57;\n for (let i = 0, ch; i < uri.length; i++) {\n ch = uri.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 =\n Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^\n Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 =\n Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^\n Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n return 'oscd-plugin' +\n ((h2 >>> 0).toString(16).padStart(8, '0') +\n (h1 >>> 0).toString(16).padStart(8, '0'))\n}\n"]}
@@ -1,23 +0,0 @@
1
- import { TemplateResult } from 'lit-element';
2
- import { Plugin as CorePlugin } from "@openscd/core";
3
- export type Plugin = CorePlugin & {
4
- official?: boolean;
5
- active: boolean;
6
- content?: () => TemplateResult;
7
- };
8
- export type PluginConfig = PluginConfigNotMenu | PluginConfigMenu;
9
- export type PluginConfigNotMenu = Omit<Plugin, "position" | "active"> & {
10
- kind: 'editor' | 'validator';
11
- };
12
- export type PluginConfigMenu = Omit<Plugin, "active"> & {
13
- kind: 'menu';
14
- position: MenuPosition;
15
- };
16
- export type InstalledOfficialPlugin = Plugin & {
17
- src: string;
18
- official: true;
19
- installed: boolean;
20
- };
21
- export type PluginKind = 'editor' | 'menu' | 'validator';
22
- export declare const menuPosition: readonly ["top", "middle", "bottom"];
23
- export type MenuPosition = (typeof menuPosition)[number];
@@ -1,15 +0,0 @@
1
- import { Plugin, PluginKind } from './plugin.js';
2
- /**
3
- * The configure plugin event allows the plugin to request that OpenSCD core add, remove, or reconfigure a plugin.
4
- */
5
- export type ConfigurePluginDetail = {
6
- name: string;
7
- kind: PluginKind;
8
- config: Plugin | null;
9
- };
10
- export type ConfigurePluginEvent = CustomEvent<ConfigurePluginDetail>;
11
- /**
12
- * The combination of name and kind uniquely identifies the plugin to be configured.
13
- * If config is null, the plugin is removed. Otherwise, the plugin is added or reconfigured.
14
- */
15
- export declare function newConfigurePluginEvent(name: string, kind: PluginKind, config: Plugin | null): ConfigurePluginEvent;
@@ -1,12 +0,0 @@
1
- /**
2
- * The combination of name and kind uniquely identifies the plugin to be configured.
3
- * If config is null, the plugin is removed. Otherwise, the plugin is added or reconfigured.
4
- */
5
- export function newConfigurePluginEvent(name, kind, config) {
6
- return new CustomEvent('oscd-configure-plugin', {
7
- bubbles: true,
8
- composed: true,
9
- detail: { name, kind, config },
10
- });
11
- }
12
- //# sourceMappingURL=plugin.events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.events.js","sourceRoot":"","sources":["../../src/plugin.events.ts"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,IAAgB,EAAE,MAAqB;IAC3F,OAAO,IAAI,WAAW,CAAwB,uBAAuB,EAAE;QACrE,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;KAC/B,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { Plugin, PluginKind } from './plugin.js';\n\n/**\n * The configure plugin event allows the plugin to request that OpenSCD core add, remove, or reconfigure a plugin.\n */\nexport type ConfigurePluginDetail = {\n name: string;\n // The API describes only 'menu' and 'editor' kinds b\n // but we still use the 'validator' too, so I just use the type PluginKind\n kind: PluginKind;\n config: Plugin | null;\n};\n\nexport type ConfigurePluginEvent = CustomEvent<ConfigurePluginDetail>;\n\n/**\n * The combination of name and kind uniquely identifies the plugin to be configured.\n * If config is null, the plugin is removed. Otherwise, the plugin is added or reconfigured.\n */\nexport function newConfigurePluginEvent(name: string, kind: PluginKind, config: Plugin | null): ConfigurePluginEvent {\n return new CustomEvent<ConfigurePluginDetail>('oscd-configure-plugin', {\n bubbles: true,\n composed: true,\n detail: { name, kind, config },\n });\n}\n"]}
@@ -1,2 +0,0 @@
1
- export const menuPosition = ['top', 'middle', 'bottom'];
2
- //# sourceMappingURL=plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AA2BA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC","sourcesContent":["import { TemplateResult } from 'lit-element';\nimport { Plugin as CorePlugin } from \"@openscd/core\"\n\nexport type Plugin = CorePlugin & {\n official?: boolean;\n active: boolean;\n content?: () => TemplateResult;\n};\n\nexport type PluginConfig = PluginConfigNotMenu | PluginConfigMenu\n\nexport type PluginConfigNotMenu = Omit<Plugin, \"position\" | \"active\"> & {\n kind: 'editor' | 'validator';\n}\n\nexport type PluginConfigMenu = Omit<Plugin, \"active\"> & {\n kind: 'menu';\n position: MenuPosition;\n}\n\nexport type InstalledOfficialPlugin = Plugin & {\n src: string;\n official: true;\n installed: boolean;\n};\n\nexport type PluginKind = 'editor' | 'menu' | 'validator';\nexport const menuPosition = ['top', 'middle', 'bottom'] as const;\nexport type MenuPosition = (typeof menuPosition)[number];\n\n"]}
@@ -1,3 +0,0 @@
1
- import { PluginConfig } from './plugin.js';
2
- export declare function generatePluginPath(plugin: string): string;
3
- export declare const officialPlugins: PluginConfig[];
@@ -1,256 +0,0 @@
1
- export function generatePluginPath(plugin) {
2
- return location.origin + location.pathname + plugin;
3
- }
4
- export const officialPlugins = [
5
- {
6
- name: 'IED',
7
- src: generatePluginPath('plugins/src/editors/IED.js'),
8
- icon: 'developer_board',
9
- activeByDefault: true,
10
- kind: 'editor',
11
- requireDoc: true,
12
- },
13
- {
14
- name: 'Substation',
15
- src: generatePluginPath('plugins/src/editors/Substation.js'),
16
- icon: 'margin',
17
- activeByDefault: true,
18
- kind: 'editor',
19
- requireDoc: true,
20
- },
21
- {
22
- name: 'Single Line Diagram',
23
- src: generatePluginPath('plugins/src/editors/SingleLineDiagram.js'),
24
- icon: 'edit',
25
- activeByDefault: false,
26
- kind: 'editor',
27
- requireDoc: true,
28
- },
29
- {
30
- name: 'Subscriber Message Binding (GOOSE)',
31
- src: generatePluginPath('plugins/src/editors/GooseSubscriberMessageBinding.js'),
32
- icon: 'link',
33
- activeByDefault: false,
34
- kind: 'editor',
35
- requireDoc: true,
36
- },
37
- {
38
- name: 'Subscriber Data Binding (GOOSE)',
39
- src: generatePluginPath('plugins/src/editors/GooseSubscriberDataBinding.js'),
40
- icon: 'link',
41
- activeByDefault: false,
42
- kind: 'editor',
43
- requireDoc: true,
44
- },
45
- {
46
- name: 'Subscriber Message Binding (SMV)',
47
- src: generatePluginPath('plugins/src/editors/SMVSubscriberMessageBinding.js'),
48
- icon: 'link',
49
- activeByDefault: false,
50
- kind: 'editor',
51
- requireDoc: true,
52
- },
53
- {
54
- name: 'Subscriber Data Binding (SMV)',
55
- src: generatePluginPath('plugins/src/editors/SMVSubscriberDataBinding.js'),
56
- icon: 'link',
57
- activeByDefault: false,
58
- kind: 'editor',
59
- requireDoc: true,
60
- },
61
- {
62
- name: 'Subscriber Later Binding (SMV/GOOSE)',
63
- src: generatePluginPath('external-plugins/oscd-subscriber-later-binding/oscd-subscriber-later-binding.js'),
64
- icon: 'link',
65
- activeByDefault: true,
66
- kind: 'editor',
67
- requireDoc: true
68
- },
69
- {
70
- name: 'Communication',
71
- src: generatePluginPath('plugins/src/editors/Communication.js'),
72
- icon: 'settings_ethernet',
73
- activeByDefault: true,
74
- kind: 'editor',
75
- requireDoc: true,
76
- },
77
- {
78
- name: '104',
79
- src: generatePluginPath('plugins/src/editors/Protocol104.js'),
80
- icon: 'settings_ethernet',
81
- activeByDefault: false,
82
- kind: 'editor',
83
- requireDoc: true,
84
- },
85
- {
86
- name: 'Templates',
87
- src: generatePluginPath('plugins/src/editors/Templates.js'),
88
- icon: 'copy_all',
89
- activeByDefault: true,
90
- kind: 'editor',
91
- requireDoc: true,
92
- },
93
- {
94
- name: 'Publisher',
95
- src: generatePluginPath('external-plugins/oscd-publisher/oscd-publisher.js'),
96
- icon: 'publish',
97
- activeByDefault: false,
98
- kind: 'editor',
99
- requireDoc: true,
100
- },
101
- {
102
- name: 'Cleanup',
103
- src: generatePluginPath('plugins/src/editors/Cleanup.js'),
104
- icon: 'cleaning_services',
105
- activeByDefault: false,
106
- kind: 'editor',
107
- requireDoc: true,
108
- },
109
- {
110
- name: 'Open project',
111
- src: generatePluginPath('plugins/src/menu/OpenProject.js'),
112
- icon: 'folder_open',
113
- activeByDefault: true,
114
- kind: 'menu',
115
- requireDoc: false,
116
- position: 'top',
117
- },
118
- {
119
- name: 'New project',
120
- src: generatePluginPath('plugins/src/menu/NewProject.js'),
121
- icon: 'create_new_folder',
122
- activeByDefault: true,
123
- kind: 'menu',
124
- requireDoc: false,
125
- position: 'top',
126
- },
127
- {
128
- name: 'Plugin Store (Beta)',
129
- src: 'https://sprinteins.github.io/oscd-plugin-store/index.js',
130
- icon: 'shopping_bag',
131
- activeByDefault: false,
132
- kind: 'menu',
133
- requireDoc: false,
134
- position: 'bottom',
135
- },
136
- {
137
- name: 'Save project',
138
- src: generatePluginPath('plugins/src/menu/SaveProject.js'),
139
- icon: 'save',
140
- activeByDefault: true,
141
- kind: 'menu',
142
- requireDoc: true,
143
- position: 'top',
144
- },
145
- {
146
- name: 'Validate Schema',
147
- src: generatePluginPath('plugins/src/validators/ValidateSchema.js'),
148
- icon: 'rule_folder',
149
- activeByDefault: true,
150
- kind: 'validator',
151
- },
152
- {
153
- name: 'Validate Templates',
154
- src: generatePluginPath('plugins/src/validators/ValidateTemplates.js'),
155
- icon: 'rule_folder',
156
- activeByDefault: true,
157
- kind: 'validator',
158
- },
159
- {
160
- name: 'Import IEDs',
161
- src: generatePluginPath('plugins/src/menu/ImportIEDs.js'),
162
- icon: 'snippet_folder',
163
- activeByDefault: true,
164
- kind: 'menu',
165
- requireDoc: true,
166
- position: 'middle',
167
- },
168
- {
169
- name: 'Create Virtual IED',
170
- src: generatePluginPath('plugins/src/menu/VirtualTemplateIED.js'),
171
- icon: 'developer_board',
172
- activeByDefault: false,
173
- kind: 'menu',
174
- requireDoc: true,
175
- position: 'middle',
176
- },
177
- {
178
- name: 'Subscriber Update',
179
- src: generatePluginPath('plugins/src/menu/SubscriberInfo.js'),
180
- activeByDefault: true,
181
- kind: 'menu',
182
- requireDoc: true,
183
- position: 'middle',
184
- },
185
- {
186
- name: 'Update desc (ABB)',
187
- src: generatePluginPath('plugins/src/menu/UpdateDescriptionABB.js'),
188
- activeByDefault: false,
189
- kind: 'menu',
190
- requireDoc: true,
191
- position: 'middle',
192
- },
193
- {
194
- name: 'Update desc (SEL)',
195
- src: generatePluginPath('plugins/src/menu/UpdateDescriptionSEL.js'),
196
- activeByDefault: false,
197
- kind: 'menu',
198
- requireDoc: true,
199
- position: 'middle',
200
- },
201
- {
202
- name: 'Merge Project',
203
- src: generatePluginPath('plugins/src/menu/Merge.js'),
204
- icon: 'merge_type',
205
- activeByDefault: true,
206
- kind: 'menu',
207
- requireDoc: true,
208
- position: 'middle',
209
- },
210
- {
211
- name: 'Update Substation',
212
- src: generatePluginPath('plugins/src/menu/UpdateSubstation.js'),
213
- icon: 'merge_type',
214
- activeByDefault: true,
215
- kind: 'menu',
216
- requireDoc: true,
217
- position: 'middle',
218
- },
219
- {
220
- name: 'Compare IED',
221
- src: generatePluginPath('plugins/src/menu/CompareIED.js'),
222
- icon: 'compare_arrows',
223
- activeByDefault: true,
224
- kind: 'menu',
225
- requireDoc: true,
226
- position: 'middle',
227
- },
228
- {
229
- name: 'Show SCL History',
230
- src: generatePluginPath('plugins/src/menu/SclHistory.js'),
231
- icon: 'history_toggle_off',
232
- activeByDefault: true,
233
- kind: 'menu',
234
- requireDoc: true,
235
- position: 'bottom',
236
- },
237
- {
238
- name: 'Help',
239
- src: generatePluginPath('plugins/src/menu/Help.js'),
240
- icon: 'help',
241
- activeByDefault: true,
242
- kind: 'menu',
243
- requireDoc: false,
244
- position: 'bottom',
245
- },
246
- {
247
- name: 'Export Communication Section',
248
- src: generatePluginPath('plugins/src/menu/ExportCommunication.js'),
249
- icon: 'sim_card_download',
250
- activeByDefault: false,
251
- kind: 'menu',
252
- requireDoc: true,
253
- position: 'middle',
254
- },
255
- ];
256
- //# sourceMappingURL=plugins.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":"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","sourcesContent":["import { PluginConfig } from './plugin.js';\n\nexport function generatePluginPath(plugin: string): string {\n return location.origin+location.pathname+plugin;\n}\n\nexport const officialPlugins: PluginConfig[] = [\n {\n name: 'IED',\n src: generatePluginPath('plugins/src/editors/IED.js'),\n icon: 'developer_board',\n activeByDefault: true,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Substation',\n src: generatePluginPath('plugins/src/editors/Substation.js'),\n icon: 'margin',\n activeByDefault: true,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Single Line Diagram',\n src: generatePluginPath('plugins/src/editors/SingleLineDiagram.js'),\n icon: 'edit',\n activeByDefault: false,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Subscriber Message Binding (GOOSE)',\n src: generatePluginPath('plugins/src/editors/GooseSubscriberMessageBinding.js'),\n icon: 'link',\n activeByDefault: false,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Subscriber Data Binding (GOOSE)',\n src: generatePluginPath('plugins/src/editors/GooseSubscriberDataBinding.js'),\n icon: 'link',\n activeByDefault: false,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Subscriber Message Binding (SMV)',\n src: generatePluginPath('plugins/src/editors/SMVSubscriberMessageBinding.js'),\n icon: 'link',\n activeByDefault: false,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Subscriber Data Binding (SMV)',\n src: generatePluginPath('plugins/src/editors/SMVSubscriberDataBinding.js'),\n icon: 'link',\n activeByDefault: false,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Subscriber Later Binding (SMV/GOOSE)',\n src: generatePluginPath('external-plugins/oscd-subscriber-later-binding/oscd-subscriber-later-binding.js'),\n icon: 'link',\n activeByDefault: true,\n kind: 'editor',\n requireDoc: true\n },\n {\n name: 'Communication',\n src: generatePluginPath('plugins/src/editors/Communication.js'),\n icon: 'settings_ethernet',\n activeByDefault: true,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: '104',\n src: generatePluginPath('plugins/src/editors/Protocol104.js'),\n icon: 'settings_ethernet',\n activeByDefault: false,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Templates',\n src: generatePluginPath('plugins/src/editors/Templates.js'),\n icon: 'copy_all',\n activeByDefault: true,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Publisher',\n src: generatePluginPath('external-plugins/oscd-publisher/oscd-publisher.js'),\n icon: 'publish',\n activeByDefault: false,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Cleanup',\n src: generatePluginPath('plugins/src/editors/Cleanup.js'),\n icon: 'cleaning_services',\n activeByDefault: false,\n kind: 'editor',\n requireDoc: true,\n },\n {\n name: 'Open project',\n src: generatePluginPath('plugins/src/menu/OpenProject.js'),\n icon: 'folder_open',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: false,\n position: 'top',\n },\n {\n name: 'New project',\n src: generatePluginPath('plugins/src/menu/NewProject.js'),\n icon: 'create_new_folder',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: false,\n position: 'top',\n },\n {\n name: 'Plugin Store (Beta)',\n src: 'https://sprinteins.github.io/oscd-plugin-store/index.js',\n icon: 'shopping_bag',\n activeByDefault: false,\n kind: 'menu',\n requireDoc: false,\n position: 'bottom',\n },\n {\n name: 'Save project',\n src: generatePluginPath('plugins/src/menu/SaveProject.js'),\n icon: 'save',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: true,\n position: 'top',\n },\n {\n name: 'Validate Schema',\n src: generatePluginPath('plugins/src/validators/ValidateSchema.js'),\n icon: 'rule_folder',\n activeByDefault: true,\n kind: 'validator',\n },\n {\n name: 'Validate Templates',\n src: generatePluginPath('plugins/src/validators/ValidateTemplates.js'),\n icon: 'rule_folder',\n activeByDefault: true,\n kind: 'validator',\n },\n {\n name: 'Import IEDs',\n src: generatePluginPath('plugins/src/menu/ImportIEDs.js'),\n icon: 'snippet_folder',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n {\n name: 'Create Virtual IED',\n src: generatePluginPath('plugins/src/menu/VirtualTemplateIED.js'),\n icon: 'developer_board',\n activeByDefault: false,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n {\n name: 'Subscriber Update',\n src: generatePluginPath('plugins/src/menu/SubscriberInfo.js'),\n activeByDefault: true,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n {\n name: 'Update desc (ABB)',\n src: generatePluginPath('plugins/src/menu/UpdateDescriptionABB.js'),\n activeByDefault: false,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n {\n name: 'Update desc (SEL)',\n src: generatePluginPath('plugins/src/menu/UpdateDescriptionSEL.js'),\n activeByDefault: false,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n {\n name: 'Merge Project',\n src: generatePluginPath('plugins/src/menu/Merge.js'),\n icon: 'merge_type',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n {\n name: 'Update Substation',\n src: generatePluginPath('plugins/src/menu/UpdateSubstation.js'),\n icon: 'merge_type',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n {\n name: 'Compare IED',\n src: generatePluginPath('plugins/src/menu/CompareIED.js'),\n icon: 'compare_arrows',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n {\n name: 'Show SCL History',\n src: generatePluginPath('plugins/src/menu/SclHistory.js'),\n icon: 'history_toggle_off',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: true,\n position: 'bottom',\n },\n {\n name: 'Help',\n src: generatePluginPath('plugins/src/menu/Help.js'),\n icon: 'help',\n activeByDefault: true,\n kind: 'menu',\n requireDoc: false,\n position: 'bottom',\n },\n {\n name: 'Export Communication Section',\n src: generatePluginPath('plugins/src/menu/ExportCommunication.js'),\n icon: 'sim_card_download',\n activeByDefault: false,\n kind: 'menu',\n requireDoc: true,\n position: 'middle',\n },\n];\n"]}
@@ -1,58 +0,0 @@
1
- /** Returns a new empty SCD document. */
2
- export declare function newEmptySCD(id: string, versionId: SupportedVersion): XMLDocument;
3
- export declare const SCL_NAMESPACE = "http://www.iec.ch/61850/2003/SCL";
4
- /**
5
- * Check if the namespace of the passed element is the standard SCL Namespace.
6
- * @param element - The element to check.
7
- */
8
- export declare function isSCLNamespace(element: Element): boolean;
9
- export interface ValidationError {
10
- file: string;
11
- line: number;
12
- column: number;
13
- level: 0 | 1 | 2 | 3;
14
- message: string;
15
- node: string;
16
- part: string;
17
- code: number;
18
- valid?: undefined;
19
- loaded?: undefined;
20
- }
21
- export interface ValidationResult {
22
- file: string;
23
- code: number;
24
- valid: boolean;
25
- loaded?: undefined;
26
- }
27
- export interface LoadSchemaResult {
28
- file: string;
29
- valid?: undefined;
30
- loaded: boolean;
31
- }
32
- export type WorkerMessage = ValidationError | ValidationResult | LoadSchemaResult | string;
33
- export declare function isValidationError(msg: WorkerMessage): msg is ValidationError;
34
- export declare function isValidationResult(msg: WorkerMessage): msg is ValidationResult;
35
- export declare function isLoadSchemaResult(msg: WorkerMessage): msg is LoadSchemaResult;
36
- export type Validator = (xml: string, xmlName: string) => Promise<ValidationResult>;
37
- export declare function getSchema(version: string, revision: string, release: string): string;
38
- export type SupportedVersion = keyof typeof schemas;
39
- export declare function isSupported(version: string): version is SupportedVersion;
40
- export type SchemaAttributes = {
41
- version: '';
42
- revision: '';
43
- release: '';
44
- } | {
45
- version: '2007';
46
- revision: 'B';
47
- release: '';
48
- } | {
49
- version: '2007';
50
- revision: 'B';
51
- release: '4';
52
- };
53
- export declare const supportedAttributes: Record<SupportedVersion, SchemaAttributes>;
54
- export declare const schemas: {
55
- '2003': string;
56
- '2007B': string;
57
- '2007B4': string;
58
- };