@compas-oscd/open-scd 0.34.22 → 0.34.24
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.
- package/dist/WizardDivider.d.ts +1 -0
- package/dist/WizardDivider.d.ts.map +1 -0
- package/dist/Wizarding.d.ts +20 -0
- package/dist/Wizarding.d.ts.map +1 -0
- package/dist/Wizarding.js +4 -1
- package/dist/Wizarding.js.map +1 -1
- package/dist/action-icon.d.ts +1 -0
- package/dist/action-icon.d.ts.map +1 -0
- package/dist/action-pane.d.ts +1 -0
- package/dist/action-pane.d.ts.map +1 -0
- package/dist/addons/Editor.d.ts +1 -0
- package/dist/addons/Editor.d.ts.map +1 -0
- package/dist/addons/History.d.ts +12 -1
- package/dist/addons/History.d.ts.map +1 -0
- package/dist/addons/History.js +10 -0
- package/dist/addons/History.js.map +1 -1
- package/dist/addons/Layout.d.ts +1 -0
- package/dist/addons/Layout.d.ts.map +1 -0
- package/dist/addons/Settings.d.ts +1 -0
- package/dist/addons/Settings.d.ts.map +1 -0
- package/dist/addons/Waiter.d.ts +1 -0
- package/dist/addons/Waiter.d.ts.map +1 -0
- package/dist/addons/Wizards.d.ts +1 -0
- package/dist/addons/Wizards.d.ts.map +1 -0
- package/dist/addons/editor/edit-action-to-v1-converter.d.ts +1 -0
- package/dist/addons/editor/edit-action-to-v1-converter.d.ts.map +1 -0
- package/dist/addons/editor/edit-v1-to-v2-converter.d.ts +1 -0
- package/dist/addons/editor/edit-v1-to-v2-converter.d.ts.map +1 -0
- package/dist/addons/history/get-log-text.d.ts +1 -0
- package/dist/addons/history/get-log-text.d.ts.map +1 -0
- package/dist/addons/menu-tabs/menu-tabs.d.ts +1 -0
- package/dist/addons/menu-tabs/menu-tabs.d.ts.map +1 -0
- package/dist/addons/plugin-manager/custom-plugin-dialog.d.ts +1 -0
- package/dist/addons/plugin-manager/custom-plugin-dialog.d.ts.map +1 -0
- package/dist/addons/plugin-manager/plugin-manager.d.ts +1 -0
- package/dist/addons/plugin-manager/plugin-manager.d.ts.map +1 -0
- package/dist/filtered-list.d.ts +1 -0
- package/dist/filtered-list.d.ts.map +1 -0
- package/dist/finder-list.d.ts +1 -0
- package/dist/finder-list.d.ts.map +1 -0
- package/dist/foundation/compare.d.ts +1 -0
- package/dist/foundation/compare.d.ts.map +1 -0
- package/dist/foundation/dai.d.ts +1 -0
- package/dist/foundation/dai.d.ts.map +1 -0
- package/dist/foundation/generators.d.ts +1 -0
- package/dist/foundation/generators.d.ts.map +1 -0
- package/dist/foundation/ied.d.ts +1 -0
- package/dist/foundation/ied.d.ts.map +1 -0
- package/dist/foundation/nsd.d.ts +1 -0
- package/dist/foundation/nsd.d.ts.map +1 -0
- package/dist/foundation/nsdoc.d.ts +1 -0
- package/dist/foundation/nsdoc.d.ts.map +1 -0
- package/dist/foundation/scl.d.ts +1 -0
- package/dist/foundation/scl.d.ts.map +1 -0
- package/dist/foundation.d.ts +1 -0
- package/dist/foundation.d.ts.map +1 -0
- package/dist/icons/compare.d.ts +1 -0
- package/dist/icons/compare.d.ts.map +1 -0
- package/dist/icons/icons.d.ts +1 -0
- package/dist/icons/icons.d.ts.map +1 -0
- package/dist/icons/ied-icons.d.ts +1 -0
- package/dist/icons/ied-icons.d.ts.map +1 -0
- package/dist/icons/lnode.d.ts +1 -0
- package/dist/icons/lnode.d.ts.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/open-scd.d.ts +1 -0
- package/dist/open-scd.d.ts.map +1 -0
- package/dist/oscd-filter-button.d.ts +1 -0
- package/dist/oscd-filter-button.d.ts.map +1 -0
- package/dist/plain-compare-list.d.ts +1 -0
- package/dist/plain-compare-list.d.ts.map +1 -0
- package/dist/plugin-tag.d.ts +1 -0
- package/dist/plugin-tag.d.ts.map +1 -0
- package/dist/plugin.d.ts +1 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.events.d.ts +1 -0
- package/dist/plugin.events.d.ts.map +1 -0
- package/dist/plugins.d.ts +1 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/schemas.d.ts +1 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/themes.d.ts +1 -0
- package/dist/themes.d.ts.map +1 -0
- package/dist/translations/de.d.ts +1 -0
- package/dist/translations/de.d.ts.map +1 -0
- package/dist/translations/en.d.ts +1 -0
- package/dist/translations/en.d.ts.map +1 -0
- package/dist/translations/loader.d.ts +1 -0
- package/dist/translations/loader.d.ts.map +1 -0
- package/dist/wizard-checkbox.d.ts +1 -0
- package/dist/wizard-checkbox.d.ts.map +1 -0
- package/dist/wizard-dialog.d.ts +1 -0
- package/dist/wizard-dialog.d.ts.map +1 -0
- package/dist/wizard-select.d.ts +1 -0
- package/dist/wizard-select.d.ts.map +1 -0
- package/dist/wizard-textfield.d.ts +2 -1
- package/dist/wizard-textfield.d.ts.map +1 -0
- package/dist/wizards.d.ts +1 -0
- package/dist/wizards.d.ts.map +1 -0
- package/package.json +317 -47
- package/dist/core/api/api.js +0 -7
- package/dist/core/api/api.js.map +0 -1
- package/dist/core/api/editor/subject.js +0 -22
- package/dist/core/api/editor/subject.js.map +0 -1
- package/dist/core/api/editor/xml-editor.js +0 -82
- package/dist/core/api/editor/xml-editor.js.map +0 -1
- package/dist/core/api/plugin-state-api.js +0 -27
- package/dist/core/api/plugin-state-api.js.map +0 -1
- package/dist/core/foundation/cyrb64.js +0 -26
- package/dist/core/foundation/cyrb64.js.map +0 -1
- package/dist/core/foundation/deprecated/edit-event.js +0 -44
- package/dist/core/foundation/deprecated/edit-event.js.map +0 -1
- package/dist/core/foundation/deprecated/editor.js +0 -94
- package/dist/core/foundation/deprecated/editor.js.map +0 -1
- package/dist/core/foundation/deprecated/history.js +0 -17
- package/dist/core/foundation/deprecated/history.js.map +0 -1
- package/dist/core/foundation/deprecated/open-event.js +0 -9
- package/dist/core/foundation/deprecated/open-event.js.map +0 -1
- package/dist/core/foundation/deprecated/settings.js +0 -19
- package/dist/core/foundation/deprecated/settings.js.map +0 -1
- package/dist/core/foundation/deprecated/validation.js +0 -8
- package/dist/core/foundation/deprecated/validation.js.map +0 -1
- package/dist/core/foundation/deprecated/waiter.js +0 -12
- package/dist/core/foundation/deprecated/waiter.js.map +0 -1
- package/dist/core/foundation/edit-completed-event.js +0 -11
- package/dist/core/foundation/edit-completed-event.js.map +0 -1
- package/dist/core/foundation/edit-event.js +0 -8
- package/dist/core/foundation/edit-event.js.map +0 -1
- package/dist/core/foundation/edit.js +0 -31
- package/dist/core/foundation/edit.js.map +0 -1
- package/dist/core/foundation/handle-edit.js +0 -151
- package/dist/core/foundation/handle-edit.js.map +0 -1
- package/dist/core/foundation/open-event.js +0 -8
- package/dist/core/foundation/open-event.js.map +0 -1
- package/dist/core/foundation/plugin.js +0 -2
- package/dist/core/foundation/plugin.js.map +0 -1
- package/dist/core/foundation.js +0 -14
- package/dist/core/foundation.js.map +0 -1
- package/dist/core/locales.js +0 -21
- package/dist/core/locales.js.map +0 -1
- package/dist/openscd/src/WizardDivider.js +0 -37
- package/dist/openscd/src/WizardDivider.js.map +0 -1
- package/dist/openscd/src/Wizarding.js +0 -38
- package/dist/openscd/src/Wizarding.js.map +0 -1
- package/dist/openscd/src/action-icon.js +0 -220
- package/dist/openscd/src/action-icon.js.map +0 -1
- package/dist/openscd/src/action-pane.js +0 -176
- package/dist/openscd/src/action-pane.js.map +0 -1
- package/dist/openscd/src/addons/Editor.js +0 -106
- package/dist/openscd/src/addons/Editor.js.map +0 -1
- package/dist/openscd/src/addons/History.js +0 -581
- package/dist/openscd/src/addons/History.js.map +0 -1
- package/dist/openscd/src/addons/Layout.js +0 -619
- package/dist/openscd/src/addons/Layout.js.map +0 -1
- package/dist/openscd/src/addons/Settings.js +0 -465
- package/dist/openscd/src/addons/Settings.js.map +0 -1
- package/dist/openscd/src/addons/Waiter.js +0 -45
- package/dist/openscd/src/addons/Waiter.js.map +0 -1
- package/dist/openscd/src/addons/Wizards.js +0 -48
- package/dist/openscd/src/addons/Wizards.js.map +0 -1
- package/dist/openscd/src/addons/editor/edit-action-to-v1-converter.js +0 -96
- package/dist/openscd/src/addons/editor/edit-action-to-v1-converter.js.map +0 -1
- package/dist/openscd/src/addons/editor/edit-v1-to-v2-converter.js +0 -37
- package/dist/openscd/src/addons/editor/edit-v1-to-v2-converter.js.map +0 -1
- package/dist/openscd/src/addons/history/get-log-text.js +0 -26
- package/dist/openscd/src/addons/history/get-log-text.js.map +0 -1
- package/dist/openscd/src/addons/menu-tabs/menu-tabs.js +0 -74
- package/dist/openscd/src/addons/menu-tabs/menu-tabs.js.map +0 -1
- package/dist/openscd/src/addons/plugin-manager/custom-plugin-dialog.js +0 -177
- package/dist/openscd/src/addons/plugin-manager/custom-plugin-dialog.js.map +0 -1
- package/dist/openscd/src/addons/plugin-manager/plugin-manager.js +0 -165
- package/dist/openscd/src/addons/plugin-manager/plugin-manager.js.map +0 -1
- package/dist/openscd/src/filtered-list.js +0 -168
- package/dist/openscd/src/filtered-list.js.map +0 -1
- package/dist/openscd/src/finder-list.js +0 -207
- package/dist/openscd/src/finder-list.js.map +0 -1
- package/dist/openscd/src/foundation/compare.js +0 -273
- package/dist/openscd/src/foundation/compare.js.map +0 -1
- package/dist/openscd/src/foundation/dai.js +0 -127
- package/dist/openscd/src/foundation/dai.js.map +0 -1
- package/dist/openscd/src/foundation/generators.js +0 -67
- package/dist/openscd/src/foundation/generators.js.map +0 -1
- package/dist/openscd/src/foundation/ied.js +0 -84
- package/dist/openscd/src/foundation/ied.js.map +0 -1
- package/dist/openscd/src/foundation/nsd.js +0 -13
- package/dist/openscd/src/foundation/nsd.js.map +0 -1
- package/dist/openscd/src/foundation/nsdoc.js +0 -180
- package/dist/openscd/src/foundation/nsdoc.js.map +0 -1
- package/dist/openscd/src/foundation/scl.js +0 -64
- package/dist/openscd/src/foundation/scl.js.map +0 -1
- package/dist/openscd/src/foundation.js +0 -1922
- package/dist/openscd/src/foundation.js.map +0 -1
- package/dist/openscd/src/icons/compare.js +0 -11
- package/dist/openscd/src/icons/compare.js.map +0 -1
- package/dist/openscd/src/icons/icons.js +0 -611
- package/dist/openscd/src/icons/icons.js.map +0 -1
- package/dist/openscd/src/icons/ied-icons.js +0 -11
- package/dist/openscd/src/icons/ied-icons.js.map +0 -1
- package/dist/openscd/src/icons/lnode.js +0 -50
- package/dist/openscd/src/icons/lnode.js.map +0 -1
- package/dist/openscd/src/open-scd.js +0 -483
- package/dist/openscd/src/open-scd.js.map +0 -1
- package/dist/openscd/src/oscd-filter-button.js +0 -89
- package/dist/openscd/src/oscd-filter-button.js.map +0 -1
- package/dist/openscd/src/plain-compare-list.js +0 -132
- package/dist/openscd/src/plain-compare-list.js.map +0 -1
- package/dist/openscd/src/plugin-tag.js +0 -23
- package/dist/openscd/src/plugin-tag.js.map +0 -1
- package/dist/openscd/src/plugin.events.js +0 -12
- package/dist/openscd/src/plugin.events.js.map +0 -1
- package/dist/openscd/src/plugin.js +0 -2
- package/dist/openscd/src/plugin.js.map +0 -1
- package/dist/openscd/src/plugins.js +0 -256
- package/dist/openscd/src/plugins.js.map +0 -1
- package/dist/openscd/src/schemas.js +0 -9325
- package/dist/openscd/src/schemas.js.map +0 -1
- package/dist/openscd/src/themes.js +0 -122
- package/dist/openscd/src/themes.js.map +0 -1
- package/dist/openscd/src/translations/de.js +0 -954
- package/dist/openscd/src/translations/de.js.map +0 -1
- package/dist/openscd/src/translations/en.js +0 -950
- package/dist/openscd/src/translations/en.js.map +0 -1
- package/dist/openscd/src/translations/loader.js +0 -10
- package/dist/openscd/src/translations/loader.js.map +0 -1
- package/dist/openscd/src/wizard-checkbox.js +0 -152
- package/dist/openscd/src/wizard-checkbox.js.map +0 -1
- package/dist/openscd/src/wizard-dialog.js +0 -374
- package/dist/openscd/src/wizard-dialog.js.map +0 -1
- package/dist/openscd/src/wizard-select.js +0 -115
- package/dist/openscd/src/wizard-select.js.map +0 -1
- package/dist/openscd/src/wizard-textfield.js +0 -191
- package/dist/openscd/src/wizard-textfield.js.map +0 -1
- package/dist/openscd/src/wizards.js +0 -196
- package/dist/openscd/src/wizards.js.map +0 -1
- package/dist/xml/src/foundation.js +0 -67
- package/dist/xml/src/foundation.js.map +0 -1
- package/dist/xml/src/index.js +0 -2
- package/dist/xml/src/index.js.map +0 -1
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { html, state, query, customElement, LitElement, property, } from 'lit-element';
|
|
3
|
-
import '../wizard-dialog.js';
|
|
4
|
-
/** `LitElement` mixin that adds a `workflow` property which [[`Wizard`]]s are
|
|
5
|
-
* queued onto on incoming [[`WizardEvent`]]s, first come first displayed. */
|
|
6
|
-
let OscdWizards = class OscdWizards extends LitElement {
|
|
7
|
-
constructor() {
|
|
8
|
-
super(...arguments);
|
|
9
|
-
/** FIFO queue of [[`Wizard`]]s to display. */
|
|
10
|
-
this.workflow = [];
|
|
11
|
-
}
|
|
12
|
-
onWizard(we) {
|
|
13
|
-
const wizard = we.detail.wizard;
|
|
14
|
-
if (wizard === null)
|
|
15
|
-
this.workflow.shift();
|
|
16
|
-
else if (we.detail.subwizard)
|
|
17
|
-
this.workflow.unshift(wizard);
|
|
18
|
-
else
|
|
19
|
-
this.workflow.push(wizard);
|
|
20
|
-
this.requestUpdate('workflow');
|
|
21
|
-
this.updateComplete.then(() => this.wizardUI.updateComplete.then(() => this.wizardUI.dialog?.updateComplete.then(() => this.wizardUI.dialog?.focus())));
|
|
22
|
-
}
|
|
23
|
-
connectedCallback() {
|
|
24
|
-
super.connectedCallback();
|
|
25
|
-
this.host.addEventListener('wizard', this.onWizard.bind(this));
|
|
26
|
-
this.host.addEventListener('editor-action', () => this.wizardUI.requestUpdate());
|
|
27
|
-
}
|
|
28
|
-
render() {
|
|
29
|
-
return html `<slot></slot>
|
|
30
|
-
<wizard-dialog .wizard=${this.workflow[0]?.() ?? []}></wizard-dialog>`;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
__decorate([
|
|
34
|
-
property({
|
|
35
|
-
type: Object,
|
|
36
|
-
})
|
|
37
|
-
], OscdWizards.prototype, "host", void 0);
|
|
38
|
-
__decorate([
|
|
39
|
-
state()
|
|
40
|
-
], OscdWizards.prototype, "workflow", void 0);
|
|
41
|
-
__decorate([
|
|
42
|
-
query('wizard-dialog')
|
|
43
|
-
], OscdWizards.prototype, "wizardUI", void 0);
|
|
44
|
-
OscdWizards = __decorate([
|
|
45
|
-
customElement('oscd-wizards')
|
|
46
|
-
], OscdWizards);
|
|
47
|
-
export { OscdWizards };
|
|
48
|
-
//# sourceMappingURL=Wizards.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Wizards.js","sourceRoot":"","sources":["../../../../src/addons/Wizards.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,EACJ,KAAK,EAEL,KAAK,EACL,aAAa,EACb,UAAU,EACV,QAAQ,GACT,MAAM,aAAa,CAAC;AAGrB,OAAO,qBAAqB,CAAC;AAG7B;6EAC6E;AAEtE,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAU;IAApC;;QAML,8CAA8C;QAE9C,aAAQ,GAAoB,EAAE,CAAC;IAgCjC,CAAC;IA5BS,QAAQ,CAAC,EAAe;QAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAChC,IAAI,MAAM,KAAK,IAAI;YAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aACtC,IAAI,EAAE,CAAC,MAAM,CAAC,SAAS;YAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;;YACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAC5B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,CAC9B,CACF,CACF,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,GAAG,EAAE,CAC/C,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAC9B,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;+BACgB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,mBAAmB,CAAC;IAC3E,CAAC;CACF,CAAA;AApCC;IAHC,QAAQ,CAAC;QACR,IAAI,EAAE,MAAM;KACb,CAAC;yCACiB;AAInB;IADC,KAAK,EAAE;6CACuB;AAEP;IAAvB,KAAK,CAAC,eAAe,CAAC;6CAAyB;AAVrC,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAwCvB;SAxCY,WAAW","sourcesContent":["import {\n html,\n state,\n TemplateResult,\n query,\n customElement,\n LitElement,\n property,\n} from 'lit-element';\nimport { WizardEvent, WizardFactory } from '../foundation.js';\n\nimport '../wizard-dialog.js';\nimport { WizardDialog } from '../wizard-dialog.js';\n\n/** `LitElement` mixin that adds a `workflow` property which [[`Wizard`]]s are\n * queued onto on incoming [[`WizardEvent`]]s, first come first displayed. */\n@customElement('oscd-wizards')\nexport class OscdWizards extends LitElement {\n @property({\n type: Object,\n })\n host!: HTMLElement;\n\n /** FIFO queue of [[`Wizard`]]s to display. */\n @state()\n workflow: WizardFactory[] = [];\n\n @query('wizard-dialog') wizardUI!: WizardDialog;\n\n private onWizard(we: WizardEvent) {\n const wizard = we.detail.wizard;\n if (wizard === null) this.workflow.shift();\n else if (we.detail.subwizard) this.workflow.unshift(wizard);\n else this.workflow.push(wizard);\n this.requestUpdate('workflow');\n this.updateComplete.then(() =>\n this.wizardUI.updateComplete.then(() =>\n this.wizardUI.dialog?.updateComplete.then(() =>\n this.wizardUI.dialog?.focus()\n )\n )\n );\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.host.addEventListener('wizard', this.onWizard.bind(this));\n this.host.addEventListener('editor-action', () =>\n this.wizardUI.requestUpdate()\n );\n }\n\n render(): TemplateResult {\n return html`<slot></slot>\n <wizard-dialog .wizard=${this.workflow[0]?.() ?? []}></wizard-dialog>`;\n }\n}\n"]}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { isCreate, isDelete, isMove, isReplace, isSimple, isUpdate } from '@openscd/core/foundation/deprecated/editor.js';
|
|
2
|
-
import { getReference } from '../../foundation.js';
|
|
3
|
-
export function convertEditActiontoV1(action) {
|
|
4
|
-
if (isSimple(action)) {
|
|
5
|
-
return convertSimpleAction(action);
|
|
6
|
-
}
|
|
7
|
-
else {
|
|
8
|
-
return action.actions.map(convertSimpleAction);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
function convertSimpleAction(action) {
|
|
12
|
-
if (isCreate(action)) {
|
|
13
|
-
return convertCreate(action);
|
|
14
|
-
}
|
|
15
|
-
else if (isDelete(action)) {
|
|
16
|
-
return convertDelete(action);
|
|
17
|
-
}
|
|
18
|
-
else if (isUpdate(action)) {
|
|
19
|
-
return convertUpdate(action);
|
|
20
|
-
}
|
|
21
|
-
else if (isMove(action)) {
|
|
22
|
-
return convertMove(action);
|
|
23
|
-
}
|
|
24
|
-
else if (isReplace(action)) {
|
|
25
|
-
return convertReplace(action);
|
|
26
|
-
}
|
|
27
|
-
throw new Error('Unknown action type');
|
|
28
|
-
}
|
|
29
|
-
function convertCreate(action) {
|
|
30
|
-
let reference = null;
|
|
31
|
-
if (action.new.reference === undefined &&
|
|
32
|
-
action.new.element instanceof Element &&
|
|
33
|
-
action.new.parent instanceof Element) {
|
|
34
|
-
reference = getReference(action.new.parent, action.new.element.tagName);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
reference = action.new.reference ?? null;
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
parent: action.new.parent,
|
|
41
|
-
node: action.new.element,
|
|
42
|
-
reference
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
function convertDelete(action) {
|
|
46
|
-
return {
|
|
47
|
-
node: action.old.element
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
function convertUpdate(action) {
|
|
51
|
-
const oldAttributesToRemove = {};
|
|
52
|
-
Array.from(action.element.attributes).forEach(attr => {
|
|
53
|
-
oldAttributesToRemove[attr.name] = null;
|
|
54
|
-
});
|
|
55
|
-
const attributes = {
|
|
56
|
-
...oldAttributesToRemove,
|
|
57
|
-
...action.newAttributes
|
|
58
|
-
};
|
|
59
|
-
return {
|
|
60
|
-
element: action.element,
|
|
61
|
-
attributes
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function convertMove(action) {
|
|
65
|
-
if (action.new.reference === undefined) {
|
|
66
|
-
action.new.reference = getReference(action.new.parent, action.old.element.tagName);
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
parent: action.new.parent,
|
|
70
|
-
node: action.old.element,
|
|
71
|
-
reference: action.new.reference ?? null
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
function convertReplace(action) {
|
|
75
|
-
const oldChildren = action.old.element.children;
|
|
76
|
-
// We have to clone the children, because otherwise undoing the action would remove the children from the old element, because append removes the old parent
|
|
77
|
-
const copiedChildren = Array.from(oldChildren).map(e => e.cloneNode(true));
|
|
78
|
-
const newNode = action.new.element.cloneNode(true);
|
|
79
|
-
newNode.append(...Array.from(copiedChildren));
|
|
80
|
-
const parent = action.old.element.parentElement;
|
|
81
|
-
if (!parent) {
|
|
82
|
-
throw new Error('Replace action called without parent in old element');
|
|
83
|
-
}
|
|
84
|
-
const reference = action.old.element.nextSibling;
|
|
85
|
-
const remove = { node: action.old.element };
|
|
86
|
-
const insert = {
|
|
87
|
-
parent,
|
|
88
|
-
node: newNode,
|
|
89
|
-
reference
|
|
90
|
-
};
|
|
91
|
-
return [
|
|
92
|
-
remove,
|
|
93
|
-
insert
|
|
94
|
-
];
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=edit-action-to-v1-converter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edit-action-to-v1-converter.js","sourceRoot":"","sources":["../../../../../src/addons/editor/edit-action-to-v1-converter.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Create,\n Delete,\n EditorAction,\n isCreate,\n isDelete,\n isMove,\n isReplace,\n isSimple,\n isUpdate,\n Move,\n Replace,\n SimpleAction,\n Update\n} from '@openscd/core/foundation/deprecated/editor.js';\nimport { Edit, Insert, Remove, Update as UpdateV2 } from '@openscd/core';\nimport { getReference, SCLTag } from '../../foundation.js';\n\n\nexport function convertEditActiontoV1(action: EditorAction): Edit {\n if (isSimple(action)) {\n return convertSimpleAction(action);\n } else {\n return action.actions.map(convertSimpleAction);\n }\n}\n\nfunction convertSimpleAction(action: SimpleAction): Edit {\n if (isCreate(action)) {\n return convertCreate(action);\n } else if (isDelete(action)) {\n return convertDelete(action);\n } else if (isUpdate(action)) {\n return convertUpdate(action);\n } else if (isMove(action)) {\n return convertMove(action);\n } else if (isReplace(action)) {\n return convertReplace(action);\n }\n\n throw new Error('Unknown action type');\n}\n\nfunction convertCreate(action: Create): Insert {\n let reference: Node | null = null;\n if (\n action.new.reference === undefined &&\n action.new.element instanceof Element &&\n action.new.parent instanceof Element\n ) {\n reference = getReference(\n action.new.parent,\n <SCLTag>action.new.element.tagName\n );\n } else {\n reference = action.new.reference ?? null; \n }\n\n return {\n parent: action.new.parent,\n node: action.new.element,\n reference\n };\n}\n\nfunction convertDelete(action: Delete): Remove {\n return {\n node: action.old.element\n };\n}\n\nfunction convertUpdate(action: Update): UpdateV2 {\n const oldAttributesToRemove: Record<string, string | null> = {};\n Array.from(action.element.attributes).forEach(attr => {\n oldAttributesToRemove[attr.name] = null;\n });\n\n const attributes = {\n ...oldAttributesToRemove,\n ...action.newAttributes\n };\n\n return {\n element: action.element,\n attributes\n };\n}\n\nfunction convertMove(action: Move): Insert {\n if (action.new.reference === undefined) {\n action.new.reference = getReference(\n action.new.parent,\n <SCLTag>action.old.element.tagName\n );\n }\n\n return {\n parent: action.new.parent,\n node: action.old.element,\n reference: action.new.reference ?? null\n }\n}\n\nfunction convertReplace(action: Replace): Edit {\n const oldChildren = action.old.element.children;\n // We have to clone the children, because otherwise undoing the action would remove the children from the old element, because append removes the old parent\n const copiedChildren = Array.from(oldChildren).map(e => e.cloneNode(true));\n\n const newNode = action.new.element.cloneNode(true) as Element;\n newNode.append(...Array.from(copiedChildren));\n const parent = action.old.element.parentElement;\n\n if (!parent) {\n throw new Error('Replace action called without parent in old element');\n }\n\n const reference = action.old.element.nextSibling;\n\n const remove: Remove = { node: action.old.element };\n const insert: Insert = {\n parent,\n node: newNode,\n reference\n };\n\n return [\n remove,\n insert\n ];\n}\n"]}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { isComplex, isInsert, isNamespaced, isRemove, isUpdate } from '@openscd/core';
|
|
2
|
-
export function convertEditV1toV2(edit) {
|
|
3
|
-
if (isComplex(edit)) {
|
|
4
|
-
return edit.map(convertEditV1toV2);
|
|
5
|
-
}
|
|
6
|
-
else if (isRemove(edit)) {
|
|
7
|
-
return edit;
|
|
8
|
-
}
|
|
9
|
-
else if (isInsert(edit)) {
|
|
10
|
-
return edit;
|
|
11
|
-
}
|
|
12
|
-
else if (isUpdate(edit)) {
|
|
13
|
-
return convertUpdate(edit);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
throw new Error('Unknown edit type');
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function convertUpdate(edit) {
|
|
20
|
-
const attributes = {};
|
|
21
|
-
const attributesNS = {};
|
|
22
|
-
Object.entries(edit.attributes).forEach(([key, value]) => {
|
|
23
|
-
if (isNamespaced(value)) {
|
|
24
|
-
const ns = value.namespaceURI;
|
|
25
|
-
if (!ns)
|
|
26
|
-
return;
|
|
27
|
-
if (!attributesNS[ns]) {
|
|
28
|
-
attributesNS[ns] = {};
|
|
29
|
-
}
|
|
30
|
-
attributesNS[ns][key] = value.value;
|
|
31
|
-
}
|
|
32
|
-
else
|
|
33
|
-
attributes[key] = value;
|
|
34
|
-
});
|
|
35
|
-
return { element: edit.element, attributes, attributesNS };
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=edit-v1-to-v2-converter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edit-v1-to-v2-converter.js","sourceRoot":"","sources":["../../../../../src/addons/editor/edit-v1-to-v2-converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAU,MAAM,eAAe,CAAC;AAE5G,MAAM,UAAU,iBAAiB,CAAC,IAAU;IAC1C,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;KACpC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;QACzB,OAAO,IAAc,CAAC;KACvB;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;QACzB,OAAO,IAAc,CAAC;KACvB;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;QACzB,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;KAC5B;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;KACtC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,UAAU,GAA2C,EAAE,CAAC;IAC9D,MAAM,YAAY,GAEd,EAAE,CAAC;IAEP,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACvD,IAAI,YAAY,CAAC,KAAM,CAAC,EAAE;YACxB,MAAM,EAAE,GAAG,KAAK,CAAC,YAAY,CAAC;YAC9B,IAAI,CAAC,EAAE;gBAAE,OAAO;YAEhB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE;gBACrB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;aACvB;YACD,YAAY,CAAC,EAAE,CAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;SACtC;;YAAM,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AAC7D,CAAC","sourcesContent":["import { Edit, EditV2, isComplex, isInsert, isNamespaced, isRemove, isUpdate, Update } from '@openscd/core';\n\nexport function convertEditV1toV2(edit: Edit): EditV2 {\n if (isComplex(edit)) {\n return edit.map(convertEditV1toV2);\n } else if (isRemove(edit)) {\n return edit as EditV2;\n } else if (isInsert(edit)) {\n return edit as EditV2;\n } else if (isUpdate(edit)) {\n return convertUpdate(edit);\n } else {\n throw new Error('Unknown edit type');\n }\n}\n\nfunction convertUpdate(edit: Update): EditV2 {\n const attributes: Partial<Record<string, string | null>> = {};\n const attributesNS: Partial<\n Record<string, Partial<Record<string, string | null>>>\n > = {};\n\n Object.entries(edit.attributes).forEach(([key, value]) => {\n if (isNamespaced(value!)) {\n const ns = value.namespaceURI;\n if (!ns) return;\n\n if (!attributesNS[ns]) {\n attributesNS[ns] = {};\n }\n attributesNS[ns]![key] = value.value;\n } else attributes[key] = value;\n });\n\n return { element: edit.element, attributes, attributesNS };\n}\n"]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { isInsertV2, isRemoveV2, isSetAttributesV2, isSetTextContentV2, isComplexV2 } from '@openscd/core';
|
|
2
|
-
import { get } from 'lit-translate';
|
|
3
|
-
export const getLogText = (edit) => {
|
|
4
|
-
if (isInsertV2(edit)) {
|
|
5
|
-
const name = edit.node instanceof Element ?
|
|
6
|
-
edit.node.tagName :
|
|
7
|
-
get('editing.node');
|
|
8
|
-
return { title: get('editing.created', { name }) };
|
|
9
|
-
}
|
|
10
|
-
else if (isSetAttributesV2(edit) || isSetTextContentV2(edit)) {
|
|
11
|
-
const name = edit.element.tagName;
|
|
12
|
-
return { title: get('editing.updated', { name }) };
|
|
13
|
-
}
|
|
14
|
-
else if (isRemoveV2(edit)) {
|
|
15
|
-
const name = edit.node instanceof Element ?
|
|
16
|
-
edit.node.tagName :
|
|
17
|
-
get('editing.node');
|
|
18
|
-
return { title: get('editing.deleted', { name }) };
|
|
19
|
-
}
|
|
20
|
-
else if (isComplexV2(edit)) {
|
|
21
|
-
const message = edit.map(e => getLogText(e)).map(({ title }) => title).join(', ');
|
|
22
|
-
return { title: get('editing.complex'), message };
|
|
23
|
-
}
|
|
24
|
-
return { title: '' };
|
|
25
|
-
};
|
|
26
|
-
//# sourceMappingURL=get-log-text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-log-text.js","sourceRoot":"","sources":["../../../../../src/addons/history/get-log-text.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAuC,EAAE;IAC9E,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,YAAY,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,GAAG,CAAC,cAAc,CAAC,CAAC;QACpB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;KACpD;SAAM,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;KACpD;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,YAAY,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnB,GAAG,CAAC,cAAc,CAAC,CAAC;QACpB,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;KACpD;SAAM,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC;KACnD;IAED,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACvB,CAAC,CAAA","sourcesContent":["import {\n EditV2,\n isInsertV2,\n isRemoveV2,\n isSetAttributesV2,\n isSetTextContentV2,\n isComplexV2\n} from '@openscd/core';\nimport { get } from 'lit-translate';\n\nexport const getLogText = (edit: EditV2): { title: string, message?: string } => {\n if (isInsertV2(edit)) {\n const name = edit.node instanceof Element ?\n edit.node.tagName :\n get('editing.node');\n return { title: get('editing.created', { name }) };\n } else if (isSetAttributesV2(edit) || isSetTextContentV2(edit)) {\n const name = edit.element.tagName;\n return { title: get('editing.updated', { name }) };\n } else if (isRemoveV2(edit)) {\n const name = edit.node instanceof Element ?\n edit.node.tagName :\n get('editing.node');\n return { title: get('editing.deleted', { name }) };\n } else if (isComplexV2(edit)) {\n const message = edit.map(e => getLogText(e)).map(({ title }) => title).join(', ');\n return { title: get('editing.complex'), message };\n }\n \n return { title: '' };\n}\n"]}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { customElement, html, LitElement, property, state, css } from 'lit-element';
|
|
3
|
-
import '@material/mwc-list';
|
|
4
|
-
import '@material/mwc-tab';
|
|
5
|
-
import '@material/mwc-tab-bar';
|
|
6
|
-
import '@material/mwc-button';
|
|
7
|
-
let OscdMenuTabs = class OscdMenuTabs extends LitElement {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this.editors = [];
|
|
11
|
-
this.activeTabIndex = 0;
|
|
12
|
-
}
|
|
13
|
-
get activeEditor() { return this._activeEditor; }
|
|
14
|
-
set activeEditor(editor) {
|
|
15
|
-
this._activeEditor = editor;
|
|
16
|
-
const editorIndex = this.editors.findIndex(e => e.name === editor?.name && e.src === editor?.src);
|
|
17
|
-
this.activeTabIndex = editorIndex > -1 ? editorIndex : 0;
|
|
18
|
-
this.requestUpdate();
|
|
19
|
-
}
|
|
20
|
-
;
|
|
21
|
-
render() {
|
|
22
|
-
if (this.editors.length === 0) {
|
|
23
|
-
return html ``;
|
|
24
|
-
}
|
|
25
|
-
return html `
|
|
26
|
-
<mwc-tab-bar
|
|
27
|
-
@MDCTabBar:activated=${this.handleActivatedEditorTab}
|
|
28
|
-
activeIndex=${this.activeTabIndex}
|
|
29
|
-
>
|
|
30
|
-
${this.editors.map(EditorTab)}
|
|
31
|
-
</mwc-tab-bar>
|
|
32
|
-
`;
|
|
33
|
-
}
|
|
34
|
-
handleActivatedEditorTab(e) {
|
|
35
|
-
const tabIndex = e.detail.index;
|
|
36
|
-
const editor = this.editors[tabIndex];
|
|
37
|
-
this.activeTabIndex = tabIndex;
|
|
38
|
-
this.dispatchActivateEditor(editor);
|
|
39
|
-
}
|
|
40
|
-
dispatchActivateEditor(editor) {
|
|
41
|
-
const newEvent = new CustomEvent(TabActivatedEventKey, {
|
|
42
|
-
detail: { editor },
|
|
43
|
-
composed: true,
|
|
44
|
-
bubbles: true
|
|
45
|
-
});
|
|
46
|
-
this.dispatchEvent(newEvent);
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
OscdMenuTabs.styles = css `
|
|
50
|
-
mwc-tab {
|
|
51
|
-
background-color: var(--primary);
|
|
52
|
-
--mdc-theme-primary: var(--mdc-theme-on-primary);
|
|
53
|
-
}
|
|
54
|
-
`;
|
|
55
|
-
__decorate([
|
|
56
|
-
property({ type: Array })
|
|
57
|
-
], OscdMenuTabs.prototype, "editors", void 0);
|
|
58
|
-
__decorate([
|
|
59
|
-
property({ type: Object })
|
|
60
|
-
], OscdMenuTabs.prototype, "activeEditor", null);
|
|
61
|
-
__decorate([
|
|
62
|
-
state()
|
|
63
|
-
], OscdMenuTabs.prototype, "activeTabIndex", void 0);
|
|
64
|
-
OscdMenuTabs = __decorate([
|
|
65
|
-
customElement('oscd-menu-tabs')
|
|
66
|
-
], OscdMenuTabs);
|
|
67
|
-
export { OscdMenuTabs };
|
|
68
|
-
function EditorTab({ name, icon }) {
|
|
69
|
-
return html `
|
|
70
|
-
<mwc-tab label=${name} icon=${icon || 'edit'}> </mwc-tab>
|
|
71
|
-
`;
|
|
72
|
-
}
|
|
73
|
-
export const TabActivatedEventKey = 'oscd-editor-tab-activated';
|
|
74
|
-
//# sourceMappingURL=menu-tabs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-tabs.js","sourceRoot":"","sources":["../../../../../src/addons/menu-tabs/menu-tabs.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,IAAI,EACJ,UAAU,EACV,QAAQ,EAER,KAAK,EAEL,GAAG,EACJ,MAAM,aAAa,CAAC;AAErB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,mBAAmB,CAAC;AAC3B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,sBAAsB,CAAC;AAQvB,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QAEsB,YAAO,GAAa,EAAE,CAAC;QAUjC,mBAAc,GAAG,CAAC,CAAC;IAqCtC,CAAC;IA7C6B,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7E,IAAI,YAAY,CAAC,MAA0B;QACzC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,EAAE,GAAG,CAAC,CAAC;QAClG,IAAI,CAAC,cAAc,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAAA,CAAC;IAIF,MAAM;QACJ,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAC;YAAE,OAAO,IAAI,CAAA,EAAE,CAAC;SAAE;QAE/C,OAAO,IAAI,CAAA;;+BAEgB,IAAI,CAAC,wBAAwB;sBACtC,IAAI,CAAC,cAAc;;UAE9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,SAAS,CAAG;;KAEpC,CAAA;IACH,CAAC;IASO,wBAAwB,CAAC,CAAc;QAC7C,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEO,sBAAsB,CAAE,MAAc;QAC5C,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,oBAAoB,EAAE;YACrD,MAAM,EAAE,EAAE,MAAM,EAAE;YAClB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI;SACd,CAAC,CAAA;QACF,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC;;AArBM,mBAAM,GAAG,GAAG,CAAA;;;;;GAKlB,CAAA;AA9B0B;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;6CAAwB;AAEtB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAAkD;AAQpE;IAAR,KAAK,EAAE;oDAA4B;AAZzB,YAAY;IADxB,aAAa,CAAC,gBAAgB,CAAC;GACnB,YAAY,CAiDxB;SAjDY,YAAY;AAmDzB,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAU;IACvC,OAAO,IAAI,CAAA;qBACQ,IAAI,SAAS,IAAI,IAAI,MAAM;GAC7C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAA","sourcesContent":["import {\n customElement,\n html,\n LitElement,\n property,\n query,\n state,\n TemplateResult,\n css\n} from 'lit-element';\n\nimport '@material/mwc-list';\nimport '@material/mwc-tab';\nimport '@material/mwc-tab-bar';\nimport '@material/mwc-button';\n\nimport {\n Plugin,\n} from \"../../plugin.js\"\n\n\n@customElement('oscd-menu-tabs')\nexport class OscdMenuTabs extends LitElement {\n\n @property({ type: Array }) editors: Plugin[] = [];\n _activeEditor: Plugin | undefined;\n @property({ type: Object }) get activeEditor() { return this._activeEditor; }\n set activeEditor(editor: Plugin | undefined) {\n this._activeEditor = editor;\n const editorIndex = this.editors.findIndex(e => e.name === editor?.name && e.src === editor?.src);\n this.activeTabIndex = editorIndex > -1 ? editorIndex : 0;\n this.requestUpdate();\n };\n\n @state() private activeTabIndex = 0;\n\n render(){\n if(this.editors.length === 0){ return html``; }\n\n return html`\n <mwc-tab-bar\n @MDCTabBar:activated=${this.handleActivatedEditorTab}\n activeIndex=${this.activeTabIndex}\n >\n ${ this.editors.map( EditorTab ) }\n </mwc-tab-bar>\n `\n }\n\n static styles = css`\n mwc-tab {\n background-color: var(--primary);\n --mdc-theme-primary: var(--mdc-theme-on-primary);\n }\n `\n\n private handleActivatedEditorTab(e: CustomEvent): void {\n const tabIndex = e.detail.index;\n const editor = this.editors[tabIndex];\n this.activeTabIndex = tabIndex;\n this.dispatchActivateEditor(editor);\n }\n\n private dispatchActivateEditor( editor: Plugin ){\n const newEvent = new CustomEvent(TabActivatedEventKey, {\n detail: { editor },\n composed: true,\n bubbles: true\n })\n this.dispatchEvent(newEvent)\n }\n}\n\nfunction EditorTab({ name, icon }: Plugin): TemplateResult {\n return html`\n <mwc-tab label=${name} icon=${icon || 'edit'}> </mwc-tab>\n `;\n}\n\nexport const TabActivatedEventKey = 'oscd-editor-tab-activated'\nexport type TabActivatedEvent = CustomEvent<TabActivatedEventDetail>;\nexport type TabActivatedEventDetail = { editor: Plugin }\n"]}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { customElement, html, LitElement, query, css, } from 'lit-element';
|
|
3
|
-
import { get } from 'lit-translate';
|
|
4
|
-
import { newAddExternalPluginEvent, pluginIcons } from '../../open-scd.js';
|
|
5
|
-
import { menuPosition } from "../../plugin.js";
|
|
6
|
-
import '@material/mwc-dialog';
|
|
7
|
-
import '@material/mwc-drawer';
|
|
8
|
-
import '@material/mwc-list';
|
|
9
|
-
import '@material/mwc-select';
|
|
10
|
-
import '@material/mwc-switch';
|
|
11
|
-
import '@material/mwc-textfield';
|
|
12
|
-
let OscdCustomPluginDialog = class OscdCustomPluginDialog extends LitElement {
|
|
13
|
-
render() {
|
|
14
|
-
return html `
|
|
15
|
-
<mwc-dialog id="dialog" heading="${get('plugins.add.heading')}">
|
|
16
|
-
<div style="display: flex; flex-direction: column; row-gap: 8px;">
|
|
17
|
-
<p style="color:var(--mdc-theme-error);">
|
|
18
|
-
${get('plugins.add.warning')}
|
|
19
|
-
</p>
|
|
20
|
-
<mwc-textfield
|
|
21
|
-
label="${get('plugins.add.name')}"
|
|
22
|
-
helper="${get('plugins.add.nameHelper')}"
|
|
23
|
-
required
|
|
24
|
-
id="pluginNameInput"
|
|
25
|
-
></mwc-textfield>
|
|
26
|
-
<mwc-list id="pluginKindList">
|
|
27
|
-
<mwc-radio-list-item
|
|
28
|
-
id="editor"
|
|
29
|
-
value="editor"
|
|
30
|
-
hasMeta
|
|
31
|
-
selected
|
|
32
|
-
left
|
|
33
|
-
>
|
|
34
|
-
${get('plugins.editor')}
|
|
35
|
-
<mwc-icon slot="meta">
|
|
36
|
-
${pluginIcons['editor']}
|
|
37
|
-
</mwc-icon>
|
|
38
|
-
</mwc-radio-list-item>
|
|
39
|
-
<mwc-radio-list-item value="menu" hasMeta left>
|
|
40
|
-
${get('plugins.menu')}
|
|
41
|
-
<mwc-icon slot="meta">
|
|
42
|
-
${pluginIcons['menu']}
|
|
43
|
-
</mwc-icon>
|
|
44
|
-
</mwc-radio-list-item>
|
|
45
|
-
<div id="menudetails">
|
|
46
|
-
<mwc-formfield
|
|
47
|
-
id="enabledefault"
|
|
48
|
-
label="${get('plugins.requireDoc')}"
|
|
49
|
-
>
|
|
50
|
-
<mwc-switch id="requireDoc" checked></mwc-switch>
|
|
51
|
-
</mwc-formfield>
|
|
52
|
-
<mwc-select id="positionList" value="middle" fixedpositionList>
|
|
53
|
-
${Object.values(menuPosition).map(menutype => html `<mwc-list-item value="${menutype}"
|
|
54
|
-
>${get('plugins.' + menutype)}</mwc-list-item
|
|
55
|
-
>`)}
|
|
56
|
-
</mwc-select>
|
|
57
|
-
</div>
|
|
58
|
-
<style>
|
|
59
|
-
#menudetails {
|
|
60
|
-
display: none;
|
|
61
|
-
padding: 20px;
|
|
62
|
-
padding-left: 50px;
|
|
63
|
-
}
|
|
64
|
-
#pluginKindList [value="menu"][selected] ~ #menudetails {
|
|
65
|
-
display: grid;
|
|
66
|
-
}
|
|
67
|
-
#enabledefault {
|
|
68
|
-
padding-bottom: 20px;
|
|
69
|
-
}
|
|
70
|
-
#positionList {
|
|
71
|
-
max-width: 250px;
|
|
72
|
-
}
|
|
73
|
-
</style>
|
|
74
|
-
<mwc-radio-list-item id="validator" value="validator" hasMeta left>
|
|
75
|
-
${get('plugins.validator')}
|
|
76
|
-
<mwc-icon slot="meta">
|
|
77
|
-
${pluginIcons['validator']}
|
|
78
|
-
</mwc-icon>
|
|
79
|
-
</mwc-radio-list-item>
|
|
80
|
-
</mwc-list>
|
|
81
|
-
<mwc-textfield
|
|
82
|
-
label="${get('plugins.add.src')}"
|
|
83
|
-
helper="${get('plugins.add.srcHelper')}"
|
|
84
|
-
placeholder="http://example.com/plugin.js"
|
|
85
|
-
type="url"
|
|
86
|
-
required
|
|
87
|
-
id="pluginSrcInput">
|
|
88
|
-
</mwc-textfield>
|
|
89
|
-
</div>
|
|
90
|
-
<mwc-button
|
|
91
|
-
slot="secondaryAction"
|
|
92
|
-
dialogAction="close"
|
|
93
|
-
label="${get('cancel')}">
|
|
94
|
-
</mwc-button>
|
|
95
|
-
<mwc-button
|
|
96
|
-
id="addButton"
|
|
97
|
-
slot="primaryAction"
|
|
98
|
-
icon="add"
|
|
99
|
-
label="${get('add')}"
|
|
100
|
-
trailingIcon
|
|
101
|
-
@click=${() => this.handleAddPlugin()}>
|
|
102
|
-
</mwc-button>
|
|
103
|
-
</mwc-dialog>
|
|
104
|
-
`;
|
|
105
|
-
}
|
|
106
|
-
close() {
|
|
107
|
-
this.dialog.close();
|
|
108
|
-
}
|
|
109
|
-
show() {
|
|
110
|
-
this.dialog.show();
|
|
111
|
-
}
|
|
112
|
-
get open() {
|
|
113
|
-
return this.dialog.open;
|
|
114
|
-
}
|
|
115
|
-
handleAddPlugin() {
|
|
116
|
-
if (!(this.pluginSrcInput.checkValidity() &&
|
|
117
|
-
this.pluginNameInput.checkValidity() &&
|
|
118
|
-
this.pluginKindList.selected &&
|
|
119
|
-
this.requireDoc &&
|
|
120
|
-
this.positionList.selected))
|
|
121
|
-
return;
|
|
122
|
-
this.dispatchEvent(newAddExternalPluginEvent({
|
|
123
|
-
src: this.pluginSrcInput.value,
|
|
124
|
-
name: this.pluginNameInput.value,
|
|
125
|
-
kind: this.pluginKindList.selected.value,
|
|
126
|
-
requireDoc: this.requireDoc.checked,
|
|
127
|
-
position: this.positionList.value,
|
|
128
|
-
active: true,
|
|
129
|
-
// this is an added plugin and will be remove by reset either way
|
|
130
|
-
activeByDefault: false,
|
|
131
|
-
}));
|
|
132
|
-
this.requestUpdate();
|
|
133
|
-
this.dialog.close();
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
OscdCustomPluginDialog.styles = css `
|
|
137
|
-
|
|
138
|
-
mwc-dialog {
|
|
139
|
-
--mdc-dialog-max-width: 98vw;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
mwc-dialog > form {
|
|
143
|
-
display: flex;
|
|
144
|
-
flex-direction: column;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
mwc-dialog > form > * {
|
|
148
|
-
display: block;
|
|
149
|
-
margin-top: 16px;
|
|
150
|
-
}
|
|
151
|
-
`;
|
|
152
|
-
__decorate([
|
|
153
|
-
query('#dialog')
|
|
154
|
-
], OscdCustomPluginDialog.prototype, "dialog", void 0);
|
|
155
|
-
__decorate([
|
|
156
|
-
query('#pluginSrcInput')
|
|
157
|
-
], OscdCustomPluginDialog.prototype, "pluginSrcInput", void 0);
|
|
158
|
-
__decorate([
|
|
159
|
-
query('#pluginNameInput')
|
|
160
|
-
], OscdCustomPluginDialog.prototype, "pluginNameInput", void 0);
|
|
161
|
-
__decorate([
|
|
162
|
-
query('#pluginKindList')
|
|
163
|
-
], OscdCustomPluginDialog.prototype, "pluginKindList", void 0);
|
|
164
|
-
__decorate([
|
|
165
|
-
query('#requireDoc')
|
|
166
|
-
], OscdCustomPluginDialog.prototype, "requireDoc", void 0);
|
|
167
|
-
__decorate([
|
|
168
|
-
query('#positionList')
|
|
169
|
-
], OscdCustomPluginDialog.prototype, "positionList", void 0);
|
|
170
|
-
__decorate([
|
|
171
|
-
query('#addButton')
|
|
172
|
-
], OscdCustomPluginDialog.prototype, "addButton", void 0);
|
|
173
|
-
OscdCustomPluginDialog = __decorate([
|
|
174
|
-
customElement('oscd-custom-plugin-dialog')
|
|
175
|
-
], OscdCustomPluginDialog);
|
|
176
|
-
export { OscdCustomPluginDialog };
|
|
177
|
-
//# sourceMappingURL=custom-plugin-dialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"custom-plugin-dialog.js","sourceRoot":"","sources":["../../../../../src/addons/plugin-manager/custom-plugin-dialog.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport {\n customElement,\n html,\n LitElement,\n query,\n TemplateResult,\n css,\n} from 'lit-element';\nimport { get } from 'lit-translate';\nimport {\n newAddExternalPluginEvent,\n pluginIcons\n} from '../../open-scd.js';\n\nimport {\n MenuPosition,\n menuPosition,\n PluginKind\n} from \"../../plugin.js\";\n\nimport type { Button } from '@material/mwc-button';\nimport type { Dialog } from '@material/mwc-dialog';\nimport { List } from '@material/mwc-list';\nimport type { ListItem } from '@material/mwc-list/mwc-list-item';\nimport type { Select } from '@material/mwc-select';\nimport type { Switch } from '@material/mwc-switch';\nimport type { TextField } from '@material/mwc-textfield';\n\nimport '@material/mwc-dialog';\nimport '@material/mwc-drawer';\nimport '@material/mwc-list';\nimport '@material/mwc-select';\nimport '@material/mwc-switch';\nimport '@material/mwc-textfield';\n\n\n@customElement('oscd-custom-plugin-dialog')\nexport class OscdCustomPluginDialog extends LitElement {\n\n @query('#dialog') dialog!: Dialog\n @query('#pluginSrcInput') pluginSrcInput!: TextField\n @query('#pluginNameInput') pluginNameInput!: TextField\n @query('#pluginKindList') pluginKindList!: List\n @query('#requireDoc') requireDoc!: Switch\n @query('#positionList') positionList!: Select\n @query('#addButton') addButton!: Button\n\n render(): TemplateResult {\n return html`\n <mwc-dialog id=\"dialog\" heading=\"${get('plugins.add.heading')}\">\n <div style=\"display: flex; flex-direction: column; row-gap: 8px;\">\n <p style=\"color:var(--mdc-theme-error);\">\n ${get('plugins.add.warning')}\n </p>\n <mwc-textfield\n label=\"${get('plugins.add.name')}\"\n helper=\"${get('plugins.add.nameHelper')}\"\n required\n id=\"pluginNameInput\"\n ></mwc-textfield>\n <mwc-list id=\"pluginKindList\">\n <mwc-radio-list-item\n id=\"editor\"\n value=\"editor\"\n hasMeta\n selected\n left\n >\n ${get('plugins.editor')}\n <mwc-icon slot=\"meta\">\n ${pluginIcons['editor']}\n </mwc-icon>\n </mwc-radio-list-item>\n <mwc-radio-list-item value=\"menu\" hasMeta left>\n ${get('plugins.menu')}\n <mwc-icon slot=\"meta\">\n ${pluginIcons['menu']}\n </mwc-icon>\n </mwc-radio-list-item>\n <div id=\"menudetails\">\n <mwc-formfield\n id=\"enabledefault\"\n label=\"${get('plugins.requireDoc')}\"\n >\n <mwc-switch id=\"requireDoc\" checked></mwc-switch>\n </mwc-formfield>\n <mwc-select id=\"positionList\" value=\"middle\" fixedpositionList>\n ${Object.values(menuPosition).map(\n menutype =>\n html`<mwc-list-item value=\"${menutype}\"\n >${get('plugins.' + menutype)}</mwc-list-item\n >`\n )}\n </mwc-select>\n </div>\n <style>\n #menudetails {\n display: none;\n padding: 20px;\n padding-left: 50px;\n }\n #pluginKindList [value=\"menu\"][selected] ~ #menudetails {\n display: grid;\n }\n #enabledefault {\n padding-bottom: 20px;\n }\n #positionList {\n max-width: 250px;\n }\n </style>\n <mwc-radio-list-item id=\"validator\" value=\"validator\" hasMeta left>\n ${get('plugins.validator')}\n <mwc-icon slot=\"meta\">\n ${pluginIcons['validator']}\n </mwc-icon>\n </mwc-radio-list-item>\n </mwc-list>\n <mwc-textfield\n label=\"${get('plugins.add.src')}\"\n helper=\"${get('plugins.add.srcHelper')}\"\n placeholder=\"http://example.com/plugin.js\"\n type=\"url\"\n required\n id=\"pluginSrcInput\">\n </mwc-textfield>\n </div>\n <mwc-button\n slot=\"secondaryAction\"\n dialogAction=\"close\"\n label=\"${get('cancel')}\">\n </mwc-button>\n <mwc-button\n id=\"addButton\"\n slot=\"primaryAction\"\n icon=\"add\"\n label=\"${get('add')}\"\n trailingIcon\n @click=${() => this.handleAddPlugin()}>\n </mwc-button>\n </mwc-dialog>\n `;\n }\n\n static styles = css`\n\n mwc-dialog {\n --mdc-dialog-max-width: 98vw;\n }\n\n mwc-dialog > form {\n display: flex;\n flex-direction: column;\n }\n\n mwc-dialog > form > * {\n display: block;\n margin-top: 16px;\n }\n `\n\n public close(){\n this.dialog.close()\n }\n\n public show(){\n this.dialog.show()\n }\n\n get open(){\n return this.dialog.open\n }\n\n private handleAddPlugin() {\n\n if (\n !(\n this.pluginSrcInput.checkValidity() &&\n this.pluginNameInput.checkValidity() &&\n this.pluginKindList.selected &&\n this.requireDoc &&\n this.positionList.selected\n )\n )\n return;\n\n this.dispatchEvent(\n newAddExternalPluginEvent({\n src: this.pluginSrcInput.value,\n name: this.pluginNameInput.value,\n kind: <PluginKind>(<ListItem>this.pluginKindList.selected).value,\n requireDoc: this.requireDoc.checked,\n position: <MenuPosition>this.positionList.value,\n active: true,\n // this is an added plugin and will be remove by reset either way\n activeByDefault: false,\n })\n );\n\n this.requestUpdate();\n this.dialog.close();\n }\n\n}\n\n\n"]}
|