@compas-oscd/open-scd 0.34.3 → 0.34.5
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/src/addons/History.d.ts +8 -1
- package/dist/src/addons/History.js +1 -0
- package/dist/src/addons/History.js.map +1 -1
- package/package.json +1 -1
- package/dist/WizardDivider.d.ts +0 -8
- package/dist/WizardDivider.js +0 -37
- package/dist/WizardDivider.js.map +0 -1
- package/dist/Wizarding.d.ts +0 -10
- package/dist/Wizarding.js +0 -38
- package/dist/Wizarding.js.map +0 -1
- package/dist/action-icon.d.ts +0 -25
- package/dist/action-icon.js +0 -220
- package/dist/action-icon.js.map +0 -1
- package/dist/action-pane.d.ts +0 -25
- package/dist/action-pane.js +0 -176
- package/dist/action-pane.js.map +0 -1
- package/dist/addons/Editor.d.ts +0 -25
- package/dist/addons/Editor.js +0 -106
- package/dist/addons/Editor.js.map +0 -1
- package/dist/addons/History.d.ts +0 -86
- package/dist/addons/History.js +0 -490
- package/dist/addons/History.js.map +0 -1
- package/dist/addons/Layout.d.ts +0 -96
- package/dist/addons/Layout.js +0 -619
- package/dist/addons/Layout.js.map +0 -1
- package/dist/addons/Settings.d.ts +0 -68
- package/dist/addons/Settings.js +0 -465
- package/dist/addons/Settings.js.map +0 -1
- package/dist/addons/Waiter.d.ts +0 -14
- package/dist/addons/Waiter.js +0 -45
- package/dist/addons/Waiter.js.map +0 -1
- package/dist/addons/Wizards.d.ts +0 -15
- package/dist/addons/Wizards.js +0 -48
- package/dist/addons/Wizards.js.map +0 -1
- package/dist/addons/editor/edit-action-to-v1-converter.d.ts +0 -3
- package/dist/addons/editor/edit-action-to-v1-converter.js +0 -96
- package/dist/addons/editor/edit-action-to-v1-converter.js.map +0 -1
- package/dist/addons/editor/edit-v1-to-v2-converter.d.ts +0 -2
- package/dist/addons/editor/edit-v1-to-v2-converter.js +0 -37
- package/dist/addons/editor/edit-v1-to-v2-converter.js.map +0 -1
- package/dist/addons/history/get-log-text.d.ts +0 -5
- package/dist/addons/history/get-log-text.js +0 -26
- package/dist/addons/history/get-log-text.js.map +0 -1
- package/dist/addons/menu-tabs/menu-tabs.d.ts +0 -22
- package/dist/addons/menu-tabs/menu-tabs.js +0 -74
- package/dist/addons/menu-tabs/menu-tabs.js.map +0 -1
- package/dist/addons/plugin-manager/custom-plugin-dialog.d.ts +0 -28
- package/dist/addons/plugin-manager/custom-plugin-dialog.js +0 -177
- package/dist/addons/plugin-manager/custom-plugin-dialog.js.map +0 -1
- package/dist/addons/plugin-manager/plugin-manager.d.ts +0 -20
- package/dist/addons/plugin-manager/plugin-manager.js +0 -165
- package/dist/addons/plugin-manager/plugin-manager.js.map +0 -1
- package/dist/filtered-list.d.ts +0 -27
- package/dist/filtered-list.js +0 -168
- package/dist/filtered-list.js.map +0 -1
- package/dist/finder-list.d.ts +0 -37
- package/dist/finder-list.js +0 -207
- package/dist/finder-list.js.map +0 -1
- package/dist/foundation/compare.d.ts +0 -79
- package/dist/foundation/compare.js +0 -273
- package/dist/foundation/compare.js.map +0 -1
- package/dist/foundation/dai.d.ts +0 -30
- package/dist/foundation/dai.js +0 -127
- package/dist/foundation/dai.js.map +0 -1
- package/dist/foundation/generators.d.ts +0 -13
- package/dist/foundation/generators.js +0 -67
- package/dist/foundation/generators.js.map +0 -1
- package/dist/foundation/ied.d.ts +0 -22
- package/dist/foundation/ied.js +0 -84
- package/dist/foundation/ied.js.map +0 -1
- package/dist/foundation/nsd.d.ts +0 -4
- package/dist/foundation/nsd.js +0 -13
- package/dist/foundation/nsd.js.map +0 -1
- package/dist/foundation/nsdoc.d.ts +0 -14
- package/dist/foundation/nsdoc.js +0 -180
- package/dist/foundation/nsdoc.js.map +0 -1
- package/dist/foundation/scl.d.ts +0 -1
- package/dist/foundation/scl.js +0 -64
- package/dist/foundation/scl.js.map +0 -1
- package/dist/foundation.d.ts +0 -230
- package/dist/foundation.js +0 -1922
- package/dist/foundation.js.map +0 -1
- package/dist/icons/compare.d.ts +0 -3
- package/dist/icons/compare.js +0 -11
- package/dist/icons/compare.js.map +0 -1
- package/dist/icons/icons.d.ts +0 -41
- package/dist/icons/icons.js +0 -611
- package/dist/icons/icons.js.map +0 -1
- package/dist/icons/ied-icons.d.ts +0 -3
- package/dist/icons/ied-icons.js +0 -11
- package/dist/icons/ied-icons.js.map +0 -1
- package/dist/icons/lnode.d.ts +0 -16
- package/dist/icons/lnode.js +0 -50
- package/dist/icons/lnode.js.map +0 -1
- package/dist/open-scd.d.ts +0 -131
- package/dist/open-scd.js +0 -483
- package/dist/open-scd.js.map +0 -1
- package/dist/oscd-filter-button.d.ts +0 -27
- package/dist/oscd-filter-button.js +0 -89
- package/dist/oscd-filter-button.js.map +0 -1
- package/dist/plain-compare-list.d.ts +0 -36
- package/dist/plain-compare-list.js +0 -132
- package/dist/plain-compare-list.js.map +0 -1
- package/dist/plugin-tag.d.ts +0 -6
- package/dist/plugin-tag.js +0 -23
- package/dist/plugin-tag.js.map +0 -1
- package/dist/plugin.d.ts +0 -23
- package/dist/plugin.events.d.ts +0 -15
- package/dist/plugin.events.js +0 -12
- package/dist/plugin.events.js.map +0 -1
- package/dist/plugin.js +0 -2
- package/dist/plugin.js.map +0 -1
- package/dist/plugins.d.ts +0 -3
- package/dist/plugins.js +0 -256
- package/dist/plugins.js.map +0 -1
- package/dist/schemas.d.ts +0 -58
- package/dist/schemas.js +0 -9325
- package/dist/schemas.js.map +0 -1
- package/dist/themes.d.ts +0 -3
- package/dist/themes.js +0 -122
- package/dist/themes.js.map +0 -1
- package/dist/translations/de.d.ts +0 -2
- package/dist/translations/de.js +0 -954
- package/dist/translations/de.js.map +0 -1
- package/dist/translations/en.d.ts +0 -963
- package/dist/translations/en.js +0 -950
- package/dist/translations/en.js.map +0 -1
- package/dist/translations/loader.d.ts +0 -12
- package/dist/translations/loader.js +0 -10
- package/dist/translations/loader.js.map +0 -1
- package/dist/wizard-checkbox.d.ts +0 -37
- package/dist/wizard-checkbox.js +0 -152
- package/dist/wizard-checkbox.js.map +0 -1
- package/dist/wizard-dialog.d.ts +0 -45
- package/dist/wizard-dialog.js +0 -374
- package/dist/wizard-dialog.js.map +0 -1
- package/dist/wizard-select.d.ts +0 -31
- package/dist/wizard-select.js +0 -115
- package/dist/wizard-select.js.map +0 -1
- package/dist/wizard-textfield.d.ts +0 -50
- package/dist/wizard-textfield.js +0 -191
- package/dist/wizard-textfield.js.map +0 -1
- package/dist/wizards.d.ts +0 -23
- package/dist/wizards.js +0 -196
- package/dist/wizards.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","sourceRoot":"","sources":["../../src/addons/Settings.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EAEL,aAAa,EACb,UAAU,EACV,GAAG,GACJ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,uBAAuB,EAAW,GAAG,EAAE,MAAM,eAAe,CAAC;AAEtF,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,yBAAyB,CAAC;AACjC,OAAO,kCAAkC,CAAC;AAC1C,OAAO,sBAAsB,CAAC;AAC9B,OAAO,sBAAsB,CAAC;AAM9B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,MAAM,gDAAgD,CAAC;AAC7E,OAAO,EAOL,iBAAiB,EAClB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAa,SAAS,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,qBAAqB,CAAC;AAG7B,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAS,MAAM,wBAAwB,CAAC;AAOhE,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,SAAS;CAC3B,CAAC;AAGK,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QAeL,6FAA6F;QAE7F,UAAK,GAAU,eAAe,EAAE,CAAC;QAQjC,oBAAe,GAAG,IAAI,CAAC;QAGvB,mBAAc,GAAmB,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAmbzD,CAAC;IA9cC,2EAA2E;IAE3E,IAAI,QAAQ;QACV,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC7B,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YACrC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YACjD,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YACjD,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YACjD,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;SAClD,CAAC;IACJ,CAAC;IAgBD;;;OAGG;IACK,KAAK,CAAC,WAAW;QACvB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrD,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;SACX,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG;YAC3C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;YACzB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;YACzB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;YACzB,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC;SACjC,CAAC;QAEF,OAAO;YACL,eAAe,EAAE;gBACf,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;gBACtD,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,SAAS;gBACxD,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;aACvD;YACD,eAAe,EAAE;gBACf,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;gBACtD,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,SAAS;gBACxD,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;aACvD;YACD,eAAe,EAAE;gBACf,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;gBACtD,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,SAAS;gBACxD,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;aACvD;YACD,eAAe,EAAE;gBACf,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;gBACtD,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,SAAS;gBACxD,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS;aACvD;SACF,CAAC;IACJ,CAAC;IAgBO,UAAU,CAA2B,OAAU;QACrD,OAAO,CACe,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,UAAU,CAA2B,OAAU,EAAE,KAAkB;QACjE,YAAY,CAAC,OAAO,CAAC,OAAO,EAAoB,KAAM,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU;YACb,EAAE,aAAa,CAAe,eAAe,CAAC;YAC9C,EAAE,aAAa,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,8CAA8C;IAC9C,aAAa,CAA2B,OAAU;QAChD,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU;YACb,EAAE,aAAa,CAAe,eAAe,CAAC;YAC9C,EAAE,aAAa,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC,KAAK,GAAG,eAAe,EAAE,CAAC,CAAC,eAAe;IACjD,CAAC;IAEO,SAAS,CAAC,EAA0C;QAC1D,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,EAAE;YACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SAChC;aAAM,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE;YACvC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAY,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACpE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SAChC;IACH,CAAC;IAED,OAAO,CAAC,iBAAyD;QAC/D,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjC,IAAI,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrE,CAAC;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAA;;;;;;;;mBAQI,CAAC,GAAU,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;;;iBAG3C,SAAS,CAAC,2BAA2B,CAAC;;iBAEtC,GAAG,EAAE;YACZ,MAAM,KAAK,GAA4B,CACrC,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,aAAa,CAAC,CAC9C,CAAC;YACF,KAAK,EAAE,KAAK,EAAE,CAAC;QACjB,CAAC;;;KAGJ,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,GAAU;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACI,GAAG,CAAC,MAAO,EAAE,KAAK,IAAI,EAAE,CACnD,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,KAAqB;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CACxC,KAAK,CAAC,MAAM,CAAC,KAAK,CACnB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEzB,MAAM,EAAE,GAAG,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,EAAE;YACP,IAAI,CAAC,aAAa,CAChB,WAAW,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,GAAG,CAAC,+BAA+B,EAAE;oBAC1C,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;iBAChC,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO;SACR;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,EAAuB,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG;YACnB,OAAO,EAAE,YAAa,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE;YACpD,QAAQ,EAAE,YAAa,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE;YACtD,OAAO,EAAE,YAAa,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE;SACrD,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE;YAC3C,IAAI,CAAC,aAAa,CAChB,WAAW,CAAC;gBACV,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,GAAG,CAAC,8BAA8B,EAAE;oBACzC,EAAE,EAAE,EAAE;oBACN,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;oBAC/B,UAAU,EAAE,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,OAAO,EAAE;oBAC9E,YAAY,EAAE,GAAG,YAAY,CAAC,OAAO,GAAG,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC,OAAO,EAAE;iBACvF,CAAC;aACH,CAAC,CACH,CAAC;SACH;QAED,IAAI,CAAC,UAAU,CAAC,EAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,GAAG,eAAe,EAAE,CAAC,CAAC,eAAe;IACjD,CAAC;IAED;;;;;OAKG;IACK,OAAO,CAAC,QAAoB,EAAE,QAAoB;QACxD,OAAO,CACL,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO;YACpC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ;YACtC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CACrC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,eAAe,CAA2B,GAAM;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,UAAqC,CAAC;QAC1C,IAAI,WAAsC,CAAC;QAC3C,IAAI,UAAqC,CAAC;QAE1C,IAAI,UAAU,EAAE;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACxE,UAAU,GAAG,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;YAC5C,WAAW,GAAG,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;YAC9C,UAAU,GAAG,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;SAC7C;QAED,OAAO,IAAI,CAAA;WACJ,GAAG;;;;kBAII,CAAC,UAAU;;cAEf,GAAG;QACT,UAAU;YACV,CAAC,CAAC,IAAI,CAAA;eACC,UAAU,GAAG,WAAW,GAAG,UAAU;YACxC;YACJ,CAAC,CAAC,IAAI,CAAA,EAAE;QACR,UAAU;YACV,CAAC,CAAC,IAAI,CAAA,+DAA+D;YACrE,CAAC,CAAC,IAAI,CAAA,8DAA8D;QACpE,UAAU;YACV,CAAC,CAAC,IAAI,CAAA;;;qBAGO,GAAG,EAAE;gBACZ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;;YAED;YACJ,CAAC,CAAC,IAAI,CAAA,EAAE;qBACK,CAAC;IACpB,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,OAAO,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAClE,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,uBAAuB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QACnF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAK,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,GAAoB,EAAE,EAAE;gBACpE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrE,CAAC,CAAC,CAAC;YACG,IAAI,CAAC,IAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,GAAmB,EAAE,EAAE,CACtE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CACtB,CAAC;SACH;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;mBAEI,SAAS,CAAC,gBAAgB,CAAC;mBAC3B,IAAI,CAAC,SAAS;;;;;;;qBAOZ,SAAS,CAAC,mBAAmB,CAAC;;cAErC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,CAC9C,IAAI,CAAC,EAAE,CACL,IAAI,CAAA;;2BAEO,IAAI;8BACD,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,QAAQ;qBACxC,SAAS,CAAC,sBAAsB,IAAI,EAAE,CAAC;kBAC1C,CACL;;kCAEqB,SAAS,CAAC,eAAe,CAAC;;;yBAGnC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM;;;kCAGrB,SAAS,CAAC,eAAe,CAAC;;;yBAGnC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK;;;kCAGnB,SAAS,CAAC,mBAAmB,CAAC;;;yBAGvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI;;;;;UAK9C,IAAI,CAAC,eAAe;YACpB,CAAC,CAAC,IAAI,CAAA;oBACI,SAAS,CAAC,8BAA8B,CAAC;gBAC7C,IAAI,CAAC,gBAAgB,EAAE;uBAChB;YACb,CAAC,CAAC,IAAI,CAAA,EAAE;;YAEN,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;;;YAGrC,SAAS,CAAC,QAAQ,CAAC;;;;;;;YAOnB,SAAS,CAAC,OAAO,CAAC;;;;;;;;YAQlB,SAAS,CAAC,MAAM,CAAC;;;;QAIrB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;IACtC,CAAC;;AAEM,mBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFlB,CAAC;AA3cF;IADC,QAAQ,EAAE;4CAYV;AAGD;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;2CACE;AAKjC;IAHC,QAAQ,CAAC;QACR,IAAI,EAAE,MAAM;KACb,CAAC;0CACiB;AAGnB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACL;AAGvB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oDAC4B;AA6CvD;IADC,KAAK,CAAC,WAAW,CAAC;gDACC;AAEpB;IADC,KAAK,CAAC,WAAW,CAAC;gDACC;AAEpB;IADC,KAAK,CAAC,OAAO,CAAC;iDACM;AAErB;IADC,KAAK,CAAC,OAAO,CAAC;4CACC;AAEhB;IADC,KAAK,CAAC,WAAW,CAAC;gDACC;AAGpB;IADC,KAAK,CAAC,aAAa,CAAC;iDACkB;AApF5B,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CA+cxB;SA/cY,YAAY","sourcesContent":["import {\n html,\n property,\n query,\n TemplateResult,\n customElement,\n LitElement,\n css,\n} from 'lit-element';\nimport { get, translate, registerTranslateConfig, Strings, use } from 'lit-translate';\n\nimport '@material/mwc-button';\nimport '@material/mwc-dialog';\nimport '@material/mwc-formfield';\nimport '@material/mwc-list/mwc-list-item';\nimport '@material/mwc-select';\nimport '@material/mwc-switch';\n\nimport { Dialog } from '@material/mwc-dialog';\nimport { Select } from '@material/mwc-select';\nimport { Switch } from '@material/mwc-switch';\n\nimport { getTheme } from '../themes.js';\n\nimport { newLogEvent } from '@openscd/core/foundation/deprecated/history.js';\nimport { \n Settings, \n SettingsUIEvent, \n Language,\n NsdVersions,\n NsdVersion,\n LoadNsdocEvent,\n newLoadNsdocEvent\n} from '@openscd/core/foundation/deprecated/settings.js';\nimport { Languages, languages, loader } from '../translations/loader.js';\n\nimport '../WizardDivider.js';\nimport { WizardDialog } from '../wizard-dialog.js';\n\nimport {\n iec6185072,\n iec6185073,\n iec6185074,\n iec6185081,\n} from '../foundation/nsd.js';\nimport { initializeNsdoc, Nsdoc } from '../foundation/nsdoc.js';\n\ninterface LanguageConfig {\n loader(lang: string): Promise<Strings>;\n languages: Languages;\n}\n\nexport const defaults: Settings = {\n language: 'en',\n theme: 'light',\n mode: 'safe',\n showieds: 'off',\n 'IEC 61850-7-2': undefined,\n 'IEC 61850-7-3': undefined,\n 'IEC 61850-7-4': undefined,\n 'IEC 61850-8-1': undefined,\n};\n\n@customElement('oscd-settings')\nexport class OscdSettings extends LitElement {\n /** Current [[`Settings`]] in `localStorage`, default to [[`defaults`]]. */\n @property()\n get settings(): Settings {\n return {\n language: this.getSetting('language'),\n theme: this.getSetting('theme'),\n mode: this.getSetting('mode'),\n showieds: this.getSetting('showieds'),\n 'IEC 61850-7-2': this.getSetting('IEC 61850-7-2'),\n 'IEC 61850-7-3': this.getSetting('IEC 61850-7-3'),\n 'IEC 61850-7-4': this.getSetting('IEC 61850-7-4'),\n 'IEC 61850-8-1': this.getSetting('IEC 61850-8-1'),\n };\n }\n /** Object containing all *.nsdoc files and a function extracting element's label form them*/\n @property({ attribute: false })\n nsdoc: Nsdoc = initializeNsdoc();\n\n @property({\n type: Object,\n })\n host!: HTMLElement;\n\n @property({ type: Boolean })\n nsdUploadButton = true;\n\n @property({ type: Object })\n languageConfig: LanguageConfig = { languages, loader };\n\n /**\n * Get the versions of the current OpenSCD NSD files.\n * @returns Current version, revision and release for all current OpenSCD NSD files.\n */\n private async nsdVersions(): Promise<NsdVersions> {\n const [nsd72, nsd73, nsd74, nsd81] = await Promise.all([\n iec6185072,\n iec6185073,\n iec6185074,\n iec6185081,\n ]);\n const [nsd72Ns, nsd73Ns, nsd74Ns, nsd81Ns] = [\n nsd72.querySelector('NS'),\n nsd73.querySelector('NS'),\n nsd74.querySelector('NS'),\n nsd81.querySelector('ServiceNS'),\n ];\n\n return {\n 'IEC 61850-7-2': {\n version: nsd72Ns?.getAttribute('version') ?? undefined,\n revision: nsd72Ns?.getAttribute('revision') ?? undefined,\n release: nsd72Ns?.getAttribute('release') ?? undefined,\n },\n 'IEC 61850-7-3': {\n version: nsd73Ns?.getAttribute('version') ?? undefined,\n revision: nsd73Ns?.getAttribute('revision') ?? undefined,\n release: nsd73Ns?.getAttribute('release') ?? undefined,\n },\n 'IEC 61850-7-4': {\n version: nsd74Ns?.getAttribute('version') ?? undefined,\n revision: nsd74Ns?.getAttribute('revision') ?? undefined,\n release: nsd74Ns?.getAttribute('release') ?? undefined,\n },\n 'IEC 61850-8-1': {\n version: nsd81Ns?.getAttribute('version') ?? undefined,\n revision: nsd81Ns?.getAttribute('revision') ?? undefined,\n release: nsd81Ns?.getAttribute('release') ?? undefined,\n },\n };\n }\n\n @query('#settings')\n settingsUI!: Dialog;\n @query('#language')\n languageUI!: Select;\n @query('#dark')\n darkThemeUI!: Switch;\n @query('#mode')\n modeUI!: Switch;\n @query('#showieds')\n showiedsUI!: Switch;\n\n @query('#nsdoc-file')\n private nsdocFileUI!: HTMLInputElement;\n\n private getSetting<T extends keyof Settings>(setting: T): Settings[T] {\n return (\n <Settings[T] | null>localStorage.getItem(setting) ?? defaults[setting]\n );\n }\n\n /** Update the `value` of `setting`, storing to `localStorage`. */\n setSetting<T extends keyof Settings>(setting: T, value: Settings[T]): void {\n localStorage.setItem(setting, <string>(<unknown>value));\n this.shadowRoot\n ?.querySelector<WizardDialog>('wizard-dialog')\n ?.requestUpdate();\n this.requestUpdate();\n }\n\n /** Remove the `setting` in `localStorage`. */\n removeSetting<T extends keyof Settings>(setting: T): void {\n localStorage.removeItem(setting);\n this.shadowRoot\n ?.querySelector<WizardDialog>('wizard-dialog')\n ?.requestUpdate();\n this.requestUpdate();\n\n this.nsdoc = initializeNsdoc(); // update nsdoc\n }\n\n private onClosing(ae: CustomEvent<{ action: string } | null>): void {\n if (ae.detail?.action === 'reset') {\n Object.keys(this.settings).forEach(item => localStorage.removeItem(item));\n this.requestUpdate('settings');\n } else if (ae.detail?.action === 'save') {\n this.setSetting('language', <Language>this.languageUI.value);\n this.setSetting('theme', this.darkThemeUI.checked ? 'dark' : 'light');\n this.setSetting('mode', this.modeUI.checked ? 'pro' : 'safe');\n this.setSetting('showieds', this.showiedsUI.checked ? 'on' : 'off');\n this.requestUpdate('settings');\n }\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>): void {\n super.updated(changedProperties);\n if (changedProperties.has('settings')) use(this.settings.language);\n }\n\n private renderFileSelect(): TemplateResult {\n return html`\n <input\n id=\"nsdoc-file\"\n accept=\".nsdoc\"\n type=\"file\"\n hidden\n required\n multiple\n @change=\"${(evt: Event) => this.uploadNsdocFile(evt)}}\"\n />\n <mwc-button\n label=\"${translate('settings.selectFileButton')}\"\n id=\"selectFileButton\"\n @click=${() => {\n const input = <HTMLInputElement | null>(\n this.shadowRoot!.querySelector('#nsdoc-file')\n );\n input?.click();\n }}\n >\n </mwc-button>\n `;\n }\n\n private async uploadNsdocFile(evt: Event): Promise<void> {\n const files = Array.from(\n (<HTMLInputElement | null>evt.target)?.files ?? []\n );\n\n if (files.length == 0) return;\n for (const file of files) {\n const text = await file.text();\n this.dispatchEvent(newLoadNsdocEvent(text, file.name));\n }\n\n this.nsdocFileUI.value = '';\n this.requestUpdate();\n }\n\n private async onLoadNsdoc(event: LoadNsdocEvent) {\n const nsdocElement = this.parseToXmlObject(\n event.detail.nsdoc\n ).querySelector('NSDoc');\n\n const id = nsdocElement?.getAttribute('id');\n if (!id) {\n this.dispatchEvent(\n newLogEvent({\n kind: 'error',\n title: get('settings.invalidFileNoIdFound', {\n filename: event.detail.filename,\n }),\n })\n );\n return;\n }\n\n const nsdVersions = await this.nsdVersions();\n const nsdVersion = nsdVersions[id as keyof NsdVersions];\n const nsdocVersion = {\n version: nsdocElement!.getAttribute('version') ?? '',\n revision: nsdocElement!.getAttribute('revision') ?? '',\n release: nsdocElement!.getAttribute('release') ?? '',\n };\n\n if (!this.isEqual(nsdVersion, nsdocVersion)) {\n this.dispatchEvent(\n newLogEvent({\n kind: 'warning',\n title: get('settings.invalidNsdocVersion', {\n id: id,\n filename: event.detail.filename,\n nsdVersion: `${nsdVersion.version}${nsdVersion.revision}${nsdVersion.release}`,\n nsdocVersion: `${nsdocVersion.version}${nsdocVersion.revision}${nsdocVersion.release}`,\n }),\n })\n );\n }\n\n this.setSetting(id as keyof Settings, event.detail.nsdoc);\n this.nsdoc = initializeNsdoc(); // update nsdoc\n }\n\n /**\n * Check the equality of two NsdVersions.\n * @param versionA - First version to compare.\n * @param versionB - Second version to compare.\n * @returns Are they equal or not.\n */\n private isEqual(versionA: NsdVersion, versionB: NsdVersion): boolean {\n return (\n versionA.version == versionB.version &&\n versionA.revision == versionB.revision &&\n versionA.release == versionB.release\n );\n }\n\n /**\n * Render one .nsdoc item in the Settings wizard\n * @param key - The key of the nsdoc file in the settings.\n * @returns a .nsdoc item for the Settings wizard\n */\n private renderNsdocItem<T extends keyof Settings>(key: T): TemplateResult {\n const nsdSetting = this.settings[key];\n let nsdVersion: string | undefined | null;\n let nsdRevision: string | undefined | null;\n let nsdRelease: string | undefined | null;\n\n if (nsdSetting) {\n const nsdoc = this.parseToXmlObject(nsdSetting)!.querySelector('NSDoc');\n nsdVersion = nsdoc?.getAttribute('version');\n nsdRevision = nsdoc?.getAttribute('revision');\n nsdRelease = nsdoc?.getAttribute('release');\n }\n\n return html`<mwc-list-item\n id=${key}\n graphic=\"avatar\"\n hasMeta\n twoline\n .disabled=${!nsdSetting}\n >\n <span>${key}</span>\n ${nsdSetting\n ? html`<span slot=\"secondary\"\n >${nsdVersion}${nsdRevision}${nsdRelease}</span\n >`\n : html``}\n ${nsdSetting\n ? html`<mwc-icon slot=\"graphic\" style=\"color:green;\">done</mwc-icon>`\n : html`<mwc-icon slot=\"graphic\" style=\"color:red;\">close</mwc-icon>`}\n ${nsdSetting\n ? html`<mwc-icon\n id=\"deleteNsdocItem\"\n slot=\"meta\"\n @click=${() => {\n this.removeSetting(key);\n }}\n >delete</mwc-icon\n >`\n : html``}\n </mwc-list-item>`;\n }\n\n private parseToXmlObject(text: string): XMLDocument {\n return new DOMParser().parseFromString(text, 'application/xml');\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n\n registerTranslateConfig({ loader: this.languageConfig.loader, empty: key => key });\n use(this.settings.language);\n\n if (this.host) {\n this.host!.addEventListener('oscd-settings', (evt: SettingsUIEvent) => {\n evt.detail.show ? this.settingsUI.show() : this.settingsUI.close();\n });\n (<any>this.host).addEventListener('load-nsdoc', (evt: LoadNsdocEvent) =>\n this.onLoadNsdoc(evt)\n );\n }\n }\n\n render(): TemplateResult {\n return html`<mwc-dialog\n id=\"settings\"\n heading=\"${translate('settings.title')}\"\n @closing=${this.onClosing}\n >\n <form>\n <mwc-select\n fixedMenuPosition\n id=\"language\"\n icon=\"language\"\n label=\"${translate('settings.language')}\"\n >\n ${Object.keys(this.languageConfig.languages).map(\n lang =>\n html`<mwc-list-item\n graphic=\"icon\"\n value=\"${lang}\"\n ?selected=${lang === this.settings.language}\n >${translate(`settings.languages.${lang}`)}</mwc-list-item\n >`\n )}\n </mwc-select>\n <mwc-formfield label=\"${translate('settings.dark')}\">\n <mwc-switch\n id=\"dark\"\n ?checked=${this.settings.theme === 'dark'}\n ></mwc-switch>\n </mwc-formfield>\n <mwc-formfield label=\"${translate('settings.mode')}\">\n <mwc-switch\n id=\"mode\"\n ?checked=${this.settings.mode === 'pro'}\n ></mwc-switch>\n </mwc-formfield>\n <mwc-formfield label=\"${translate('settings.showieds')}\">\n <mwc-switch\n id=\"showieds\"\n ?checked=${this.settings.showieds === 'on'}\n ></mwc-switch>\n </mwc-formfield>\n </form>\n <wizard-divider></wizard-divider>\n ${this.nsdUploadButton\n ? html`<section id=\"shownsdbutton\">\n <h3>${translate('settings.loadNsdTranslations')}</h3>\n ${this.renderFileSelect()}\n </section>`\n : html``}\n <mwc-list id=\"nsdocList\">\n ${this.renderNsdocItem('IEC 61850-7-2')}\n ${this.renderNsdocItem('IEC 61850-7-3')}\n ${this.renderNsdocItem('IEC 61850-7-4')}\n ${this.renderNsdocItem('IEC 61850-8-1')}\n </mwc-list>\n <mwc-button slot=\"secondaryAction\" dialogAction=\"close\">\n ${translate('cancel')}\n </mwc-button>\n <mwc-button\n style=\"--mdc-theme-primary: var(--mdc-theme-error)\"\n slot=\"secondaryAction\"\n dialogAction=\"reset\"\n >\n ${translate('reset')}\n </mwc-button>\n <mwc-button\n icon=\"save\"\n trailingIcon\n slot=\"primaryAction\"\n dialogAction=\"save\"\n >\n ${translate('save')}\n </mwc-button>\n </mwc-dialog>\n <slot></slot>\n ${getTheme(this.settings.theme)}`;\n }\n\n static styles = css`\n mwc-top-app-bar-fixed {\n --mdc-theme-text-disabled-on-light: rgba(255, 255, 255, 0.38);\n } /* hack to fix disabled icon buttons rendering black */\n\n mwc-tab {\n background-color: var(--primary);\n --mdc-theme-primary: var(--mdc-theme-on-primary);\n }\n\n input[type='file'] {\n display: none;\n }\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 mwc-linear-progress {\n position: fixed;\n --mdc-linear-progress-buffer-color: var(--primary);\n --mdc-theme-primary: var(--secondary);\n left: 0px;\n top: 0px;\n width: 100%;\n pointer-events: none;\n z-index: 1000;\n }\n\n tt {\n font-family: 'Roboto Mono', monospace;\n font-weight: 300;\n }\n\n .landing {\n position: absolute;\n text-align: center;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n }\n\n .landing_icon:hover {\n box-shadow: 0 12px 17px 2px rgba(0, 0, 0, 0.14),\n 0 5px 22px 4px rgba(0, 0, 0, 0.12), 0 7px 8px -4px rgba(0, 0, 0, 0.2);\n }\n\n .landing_icon {\n margin: 12px;\n border-radius: 16px;\n width: 160px;\n height: 140px;\n text-align: center;\n color: var(--mdc-theme-on-secondary);\n background: var(--secondary);\n --mdc-icon-button-size: 100px;\n --mdc-icon-size: 100px;\n --mdc-ripple-color: rgba(0, 0, 0, 0);\n box-shadow: rgb(0 0 0 / 14%) 0px 6px 10px 0px,\n rgb(0 0 0 / 12%) 0px 1px 18px 0px, rgb(0 0 0 / 20%) 0px 3px 5px -1px;\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .landing_label {\n width: 160px;\n height: 50px;\n margin-top: 100px;\n margin-left: -30px;\n font-family: 'Roboto', sans-serif;\n }\n\n .plugin.menu {\n display: flex;\n }\n\n .plugin.validator {\n display: flex;\n }\n `;\n}\n"]}
|
package/dist/addons/Waiter.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { LitElement, TemplateResult } from 'lit-element';
|
|
2
|
-
import '@material/mwc-linear-progress';
|
|
3
|
-
export declare class OscdWaiter extends LitElement {
|
|
4
|
-
/** Whether the element is currently waiting for some async work. */
|
|
5
|
-
waiting: boolean;
|
|
6
|
-
private work;
|
|
7
|
-
/** A promise which resolves once all currently pending work is done. */
|
|
8
|
-
workDone: Promise<PromiseSettledResult<void>[]>;
|
|
9
|
-
private onPendingState;
|
|
10
|
-
constructor();
|
|
11
|
-
connectedCallback(): void;
|
|
12
|
-
disconnectedCallback(): void;
|
|
13
|
-
render(): TemplateResult;
|
|
14
|
-
}
|
package/dist/addons/Waiter.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { customElement, html, LitElement, property, } from 'lit-element';
|
|
3
|
-
import '@material/mwc-linear-progress';
|
|
4
|
-
let OscdWaiter = class OscdWaiter extends LitElement {
|
|
5
|
-
async onPendingState(e) {
|
|
6
|
-
this.waiting = true;
|
|
7
|
-
this.work.add(e.detail.promise);
|
|
8
|
-
this.workDone = Promise.allSettled(this.work);
|
|
9
|
-
await e.detail.promise.catch(reason => console.warn(reason));
|
|
10
|
-
this.work.delete(e.detail.promise);
|
|
11
|
-
this.waiting = this.work.size > 0;
|
|
12
|
-
}
|
|
13
|
-
constructor() {
|
|
14
|
-
super();
|
|
15
|
-
/** Whether the element is currently waiting for some async work. */
|
|
16
|
-
this.waiting = false;
|
|
17
|
-
this.work = new Set();
|
|
18
|
-
/** A promise which resolves once all currently pending work is done. */
|
|
19
|
-
this.workDone = Promise.allSettled(this.work);
|
|
20
|
-
this.onPendingState = this.onPendingState.bind(this);
|
|
21
|
-
}
|
|
22
|
-
connectedCallback() {
|
|
23
|
-
super.connectedCallback();
|
|
24
|
-
this.addEventListener('pending-state', this.onPendingState);
|
|
25
|
-
}
|
|
26
|
-
disconnectedCallback() {
|
|
27
|
-
super.disconnectedCallback();
|
|
28
|
-
this.removeEventListener('pending-state', this.onPendingState);
|
|
29
|
-
}
|
|
30
|
-
render() {
|
|
31
|
-
return html `<slot></slot>
|
|
32
|
-
<mwc-linear-progress
|
|
33
|
-
.closed=${!this.waiting}
|
|
34
|
-
indeterminate
|
|
35
|
-
></mwc-linear-progress>`;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
__decorate([
|
|
39
|
-
property({ type: Boolean })
|
|
40
|
-
], OscdWaiter.prototype, "waiting", void 0);
|
|
41
|
-
OscdWaiter = __decorate([
|
|
42
|
-
customElement('oscd-waiter')
|
|
43
|
-
], OscdWaiter);
|
|
44
|
-
export { OscdWaiter };
|
|
45
|
-
//# sourceMappingURL=Waiter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Waiter.js","sourceRoot":"","sources":["../../src/addons/Waiter.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,IAAI,EACJ,UAAU,EACV,QAAQ,GAET,MAAM,aAAa,CAAC;AAErB,OAAO,+BAA+B,CAAC;AAKhC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAShC,KAAK,CAAC,cAAc,CAAC,CAAkC;QAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAlBV,oEAAoE;QAEpE,YAAO,GAAG,KAAK,CAAC;QAER,SAAI,GAAuB,IAAI,GAAG,EAAE,CAAC;QAC7C,wEAAwE;QACxE,aAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAavC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9D,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;kBAEG,CAAC,IAAI,CAAC,OAAO;;8BAED,CAAC;IAC7B,CAAC;CACF,CAAA;AArCC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2CACZ;AAHL,UAAU;IADtB,aAAa,CAAC,aAAa,CAAC;GAChB,UAAU,CAwCtB;SAxCY,UAAU","sourcesContent":["import {\n customElement,\n html,\n LitElement,\n property,\n TemplateResult,\n} from 'lit-element';\n\nimport '@material/mwc-linear-progress';\n\nimport { PendingStateDetail } from '@openscd/core/foundation/deprecated/waiter.js';\n\n@customElement('oscd-waiter')\nexport class OscdWaiter extends LitElement {\n /** Whether the element is currently waiting for some async work. */\n @property({ type: Boolean })\n waiting = false;\n\n private work: Set<Promise<void>> = new Set();\n /** A promise which resolves once all currently pending work is done. */\n workDone = Promise.allSettled(this.work);\n\n private async onPendingState(e: CustomEvent<PendingStateDetail>) {\n this.waiting = true;\n this.work.add(e.detail.promise);\n this.workDone = Promise.allSettled(this.work);\n await e.detail.promise.catch(reason => console.warn(reason));\n this.work.delete(e.detail.promise);\n this.waiting = this.work.size > 0;\n }\n\n constructor() {\n super();\n this.onPendingState = this.onPendingState.bind(this);\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener('pending-state', this.onPendingState);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('pending-state', this.onPendingState);\n }\n\n render(): TemplateResult {\n return html`<slot></slot>\n <mwc-linear-progress\n .closed=${!this.waiting}\n indeterminate\n ></mwc-linear-progress>`;\n }\n}\n"]}
|
package/dist/addons/Wizards.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { TemplateResult, LitElement } from 'lit-element';
|
|
2
|
-
import { WizardFactory } from '../foundation.js';
|
|
3
|
-
import '../wizard-dialog.js';
|
|
4
|
-
import { WizardDialog } from '../wizard-dialog.js';
|
|
5
|
-
/** `LitElement` mixin that adds a `workflow` property which [[`Wizard`]]s are
|
|
6
|
-
* queued onto on incoming [[`WizardEvent`]]s, first come first displayed. */
|
|
7
|
-
export declare class OscdWizards extends LitElement {
|
|
8
|
-
host: HTMLElement;
|
|
9
|
-
/** FIFO queue of [[`Wizard`]]s to display. */
|
|
10
|
-
workflow: WizardFactory[];
|
|
11
|
-
wizardUI: WizardDialog;
|
|
12
|
-
private onWizard;
|
|
13
|
-
connectedCallback(): void;
|
|
14
|
-
render(): TemplateResult;
|
|
15
|
-
}
|
package/dist/addons/Wizards.js
DELETED
|
@@ -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,22 +0,0 @@
|
|
|
1
|
-
import { LitElement, TemplateResult } from 'lit-element';
|
|
2
|
-
import '@material/mwc-list';
|
|
3
|
-
import '@material/mwc-tab';
|
|
4
|
-
import '@material/mwc-tab-bar';
|
|
5
|
-
import '@material/mwc-button';
|
|
6
|
-
import { Plugin } from "../../plugin.js";
|
|
7
|
-
export declare class OscdMenuTabs extends LitElement {
|
|
8
|
-
editors: Plugin[];
|
|
9
|
-
_activeEditor: Plugin | undefined;
|
|
10
|
-
get activeEditor(): Plugin | undefined;
|
|
11
|
-
set activeEditor(editor: Plugin | undefined);
|
|
12
|
-
private activeTabIndex;
|
|
13
|
-
render(): TemplateResult;
|
|
14
|
-
static styles: import("lit-element").CSSResult;
|
|
15
|
-
private handleActivatedEditorTab;
|
|
16
|
-
private dispatchActivateEditor;
|
|
17
|
-
}
|
|
18
|
-
export declare const TabActivatedEventKey = "oscd-editor-tab-activated";
|
|
19
|
-
export type TabActivatedEvent = CustomEvent<TabActivatedEventDetail>;
|
|
20
|
-
export type TabActivatedEventDetail = {
|
|
21
|
-
editor: Plugin;
|
|
22
|
-
};
|
|
@@ -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,28 +0,0 @@
|
|
|
1
|
-
import { LitElement, TemplateResult } from 'lit-element';
|
|
2
|
-
import type { Button } from '@material/mwc-button';
|
|
3
|
-
import type { Dialog } from '@material/mwc-dialog';
|
|
4
|
-
import { List } from '@material/mwc-list';
|
|
5
|
-
import type { Select } from '@material/mwc-select';
|
|
6
|
-
import type { Switch } from '@material/mwc-switch';
|
|
7
|
-
import type { TextField } from '@material/mwc-textfield';
|
|
8
|
-
import '@material/mwc-dialog';
|
|
9
|
-
import '@material/mwc-drawer';
|
|
10
|
-
import '@material/mwc-list';
|
|
11
|
-
import '@material/mwc-select';
|
|
12
|
-
import '@material/mwc-switch';
|
|
13
|
-
import '@material/mwc-textfield';
|
|
14
|
-
export declare class OscdCustomPluginDialog extends LitElement {
|
|
15
|
-
dialog: Dialog;
|
|
16
|
-
pluginSrcInput: TextField;
|
|
17
|
-
pluginNameInput: TextField;
|
|
18
|
-
pluginKindList: List;
|
|
19
|
-
requireDoc: Switch;
|
|
20
|
-
positionList: Select;
|
|
21
|
-
addButton: Button;
|
|
22
|
-
render(): TemplateResult;
|
|
23
|
-
static styles: import("lit-element").CSSResult;
|
|
24
|
-
close(): void;
|
|
25
|
-
show(): void;
|
|
26
|
-
get open(): boolean;
|
|
27
|
-
private handleAddPlugin;
|
|
28
|
-
}
|