@eclipse-docks/core 0.7.94 → 0.7.96
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/api/index.js +3 -3
- package/dist/{api-DISr4dl4.js → api-BCLny6A5.js} +13 -13
- package/dist/api-BCLny6A5.js.map +1 -0
- package/dist/core/constants.d.ts +2 -0
- package/dist/core/constants.d.ts.map +1 -1
- package/dist/core/extensionregistry.d.ts +0 -1
- package/dist/core/extensionregistry.d.ts.map +1 -1
- package/dist/externals/webawesome.js +1 -1
- package/dist/index.js +3 -3
- package/dist/parts/index.js +1 -1
- package/dist/parts/tabs.d.ts +8 -0
- package/dist/parts/tabs.d.ts.map +1 -1
- package/dist/{parts-CKBZls6J.js → parts-Bl4MkOUi.js} +116 -33
- package/dist/parts-Bl4MkOUi.js.map +1 -0
- package/dist/{webawesome-CsYKhg4S.js → webawesome-BIXFq9iK.js} +10 -2
- package/dist/webawesome-BIXFq9iK.js.map +1 -0
- package/package.json +1 -1
- package/src/commands/global.ts +1 -6
- package/src/contributions/default-ui-contributions.ts +7 -1
- package/src/core/constants.ts +3 -0
- package/src/core/extensionregistry.ts +26 -35
- package/src/icons/extensions.svg +17 -0
- package/src/icons/icons.txt +5 -0
- package/src/icons/settings.svg +8 -0
- package/src/layouts/standard-layout.ts +3 -3
- package/src/parts/tabs.ts +94 -8
- package/src/parts/toolbar.ts +1 -1
- package/dist/api-DISr4dl4.js.map +0 -1
- package/dist/parts-CKBZls6J.js.map +0 -1
- package/dist/webawesome-CsYKhg4S.js.map +0 -1
|
@@ -60,6 +60,9 @@ import "@awesome.me/webawesome/dist/styles/native.css";
|
|
|
60
60
|
import "@awesome.me/webawesome/dist/styles/utilities.css";
|
|
61
61
|
import "@awesome.me/webawesome/dist/styles/themes/default.css";
|
|
62
62
|
import { registerIconLibrary } from "@awesome.me/webawesome";
|
|
63
|
+
//#region src/icons/extensions.svg?url
|
|
64
|
+
var extensions_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='9.5'%20y='0.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='0.5'%20y='9.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='9.5'%20y='9.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='0.5'%20y='0.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.55'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3c/svg%3e";
|
|
65
|
+
//#endregion
|
|
63
66
|
//#region src/icons/file-plus.svg?url
|
|
64
67
|
var file_plus_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3e%3cpolyline%20fill='none'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20points='14%202%2014%208%2020%208'/%3e%3cline%20x1='12'%20y1='13'%20x2='12'%20y2='17'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3cline%20x1='10'%20y1='15'%20x2='14'%20y2='15'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e";
|
|
65
68
|
//#endregion
|
|
@@ -87,10 +90,14 @@ var mark_github_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/
|
|
|
87
90
|
//#region src/icons/python.svg?url
|
|
88
91
|
var python_default = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0164%202C10.8193%202%209.03825%203.72453%209.03825%205.85185V8.51852H15.9235V9.25926H5.97814C3.78107%209.25926%202%2010.9838%202%2013.1111L2%2018.8889C2%2021.0162%203.78107%2022.7407%205.97814%2022.7407H8.27322V19.4815C8.27322%2017.3542%2010.0543%2015.6296%2012.2514%2015.6296H19.5956C21.4547%2015.6296%2022.9617%2014.1704%2022.9617%2012.3704V5.85185C22.9617%203.72453%2021.1807%202%2018.9836%202H13.0164ZM12.0984%206.74074C12.8589%206.74074%2013.4754%206.14378%2013.4754%205.40741C13.4754%204.67103%2012.8589%204.07407%2012.0984%204.07407C11.3378%204.07407%2010.7213%204.67103%2010.7213%205.40741C10.7213%206.14378%2011.3378%206.74074%2012.0984%206.74074Z'%20fill='url(%23paint0_linear_87_8204)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.9834%2030C21.1805%2030%2022.9616%2028.2755%2022.9616%2026.1482V23.4815L16.0763%2023.4815L16.0763%2022.7408L26.0217%2022.7408C28.2188%2022.7408%2029.9998%2021.0162%2029.9998%2018.8889V13.1111C29.9998%2010.9838%2028.2188%209.25928%2026.0217%209.25928L23.7266%209.25928V12.5185C23.7266%2014.6459%2021.9455%2016.3704%2019.7485%2016.3704L12.4042%2016.3704C10.5451%2016.3704%209.03809%2017.8296%209.03809%2019.6296L9.03809%2026.1482C9.03809%2028.2755%2010.8192%2030%2013.0162%2030H18.9834ZM19.9015%2025.2593C19.1409%2025.2593%2018.5244%2025.8562%2018.5244%2026.5926C18.5244%2027.329%2019.1409%2027.9259%2019.9015%2027.9259C20.662%2027.9259%2021.2785%2027.329%2021.2785%2026.5926C21.2785%2025.8562%2020.662%2025.2593%2019.9015%2025.2593Z'%20fill='url(%23paint1_linear_87_8204)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_87_8204'%20x1='12.4809'%20y1='2'%20x2='12.4809'%20y2='22.7407'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23327EBD'/%3e%3cstop%20offset='1'%20stop-color='%231565A7'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_87_8204'%20x1='19.519'%20y1='9.25928'%20x2='19.519'%20y2='30'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFDA4B'/%3e%3cstop%20offset='1'%20stop-color='%23F9C600'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e";
|
|
89
92
|
//#endregion
|
|
93
|
+
//#region src/icons/settings.svg?url
|
|
94
|
+
var settings_default = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3cline%20x1='1.5'%20y1='5.5'%20x2='22.5'%20y2='5.5'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3cline%20x1='1.5'%20y1='12'%20x2='22.5'%20y2='12'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3cline%20x1='1.5'%20y1='18.5'%20x2='22.5'%20y2='18.5'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3ccircle%20cx='16.75'%20cy='5.5'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3ccircle%20cx='7.25'%20cy='12'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3ccircle%20cx='14.25'%20cy='18.5'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3c/svg%3e";
|
|
95
|
+
//#endregion
|
|
90
96
|
//#region src/externals/webawesome.ts
|
|
91
97
|
registerIconLibrary("docks", {
|
|
92
98
|
resolver: (name) => {
|
|
93
99
|
return new URL((/* @__PURE__ */ Object.assign({
|
|
100
|
+
"../icons/extensions.svg": extensions_default,
|
|
94
101
|
"../icons/file-plus.svg": file_plus_default,
|
|
95
102
|
"../icons/js.svg": js_default,
|
|
96
103
|
"../icons/jupyter.svg": jupyter_default,
|
|
@@ -99,7 +106,8 @@ registerIconLibrary("docks", {
|
|
|
99
106
|
"../icons/layout-standard-full.svg": layout_standard_full_default,
|
|
100
107
|
"../icons/layout-standard.svg": layout_standard_default,
|
|
101
108
|
"../icons/mark-github.svg": mark_github_default,
|
|
102
|
-
"../icons/python.svg": python_default
|
|
109
|
+
"../icons/python.svg": python_default,
|
|
110
|
+
"../icons/settings.svg": settings_default
|
|
103
111
|
}))[`../icons/${name}.svg`], import.meta.url).href;
|
|
104
112
|
},
|
|
105
113
|
mutator: (svg) => {
|
|
@@ -110,4 +118,4 @@ registerIconLibrary("docks", {
|
|
|
110
118
|
//#endregion
|
|
111
119
|
export { registerIconLibrary as t };
|
|
112
120
|
|
|
113
|
-
//# sourceMappingURL=webawesome-
|
|
121
|
+
//# sourceMappingURL=webawesome-BIXFq9iK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webawesome-BIXFq9iK.js","names":[],"sources":["../src/icons/extensions.svg?url","../src/icons/file-plus.svg?url","../src/icons/js.svg?url","../src/icons/jupyter.svg?url","../src/icons/layout-standard-bottom-panel.svg?url","../src/icons/layout-standard-bottom-sidebar.svg?url","../src/icons/layout-standard-full.svg?url","../src/icons/layout-standard.svg?url","../src/icons/mark-github.svg?url","../src/icons/python.svg?url","../src/icons/settings.svg?url","../src/externals/webawesome.ts"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='9.5'%20y='0.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='0.5'%20y='9.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='9.5'%20y='9.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-brand-fill-loud)'%20fill-opacity='0.28'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.9'%20stroke-width='1'%20stroke-linejoin='round'/%3e%3crect%20x='0.5'%20y='0.5'%20width='8'%20height='8'%20rx='1'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.55'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3cpath%20fill='none'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20d='M14%202H6a2%202%200%200%200-2%202v16a2%202%200%200%200%202%202h12a2%202%200%200%200%202-2V8z'/%3e%3cpolyline%20fill='none'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'%20points='14%202%2014%208%2020%208'/%3e%3cline%20x1='12'%20y1='13'%20x2='12'%20y2='17'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3cline%20x1='10'%20y1='15'%20x2='14'%20y2='15'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='2'%20y='2'%20width='28'%20height='28'%20fill='%23FFCA28'/%3e%3cpath%20d='M19%2025.2879L21.0615%2023.9237C21.2231%2024.4313%2022.2462%2025.6368%2023.5385%2025.6368C24.8308%2025.6368%2025.4308%2024.931%2025.4308%2024.463C25.4308%2023.1878%2024.1112%2022.7382%2023.4774%2022.5223C23.374%2022.4871%2023.289%2022.4581%2023.2308%2022.4328C23.2009%2022.4198%2023.1558%2022.4025%2023.0979%2022.3804C22.393%2022.1111%2019.7923%2021.1175%2019.7923%2018.2373C19.7923%2015.065%2022.8538%2014.7002%2023.5462%2014.7002C23.9991%2014.7002%2026.1769%2014.7557%2027.2615%2016.7939L25.2615%2018.1898C24.8231%2017.3015%2024.0946%2017.0081%2023.6462%2017.0081C22.5385%2017.0081%2022.3077%2017.8201%2022.3077%2018.1898C22.3077%2019.227%2023.5112%2019.6919%2024.5273%2020.0844C24.7932%2020.1871%2025.0462%2020.2848%2025.2615%2020.3866C26.3692%2020.91%2028%2021.7666%2028%2024.463C28%2025.8136%2026.8672%2028.0002%2024.0154%2028.0002C20.1846%2028.0002%2019.1692%2025.7003%2019%2025.2879Z'%20fill='%233E3E3E'/%3e%3cpath%20d='M9%2025.5587L11.1487%2024.1953C11.317%2024.7026%2011.9713%2025.638%2012.9205%2025.638C13.8698%2025.638%2014.3557%2024.663%2014.3557%2024.1953V15.0002H16.9982V24.1953C17.041%2025.4636%2016.3376%2028.0002%2013.2332%2028.0002C10.379%2028.0002%209.19242%2026.3039%209%2025.5587Z'%20fill='%233E3E3E'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='-22%200%20300%20300'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20preserveAspectRatio='xMidYMid'%3e%3cg%3e%3cpath%20d='M10.5838307,156.409656%20L10.5838307,156.196646%20L10.5838307,123.657627%20L17.7200527,123.657627%20L17.7200527,158.912657%20C18.0516208,161.753926%2017.8075656,164.63288%2017.0023629,167.377784%20C16.19722,170.122687%2014.8474392,172.677251%2013.0335946,174.88924%20C9.6624625,177.797086%205.34298451,179.369568%200.891381719,179.309391%20L0.145805038,173.983903%20C3.01718628,173.985518%205.78730255,172.922981%207.92105685,171.001585%20C9.83826599,168.76489%2010.5838307,165.729334%2010.5838307,156.409656%20Z%20M63.8037763,152.209035%20C63.8037763,156.203166%2063.8037763,159.771277%2064.1232613,162.860071%20L57.7859014,162.860071%20L57.3598815,156.522711%20C56.0343268,158.765028%2054.1386519,160.616318%2051.8656486,161.888456%20C49.5925854,163.160593%2047.0232464,163.808237%2044.4187946,163.765408%20C38.2412071,163.765408%2030.8919752,160.410366%2030.8919752,146.723715%20L30.8919752,123.983721%20L38.0281972,123.983721%20L38.0281972,145.285823%20C38.0281972,152.688352%2040.3181887,157.641058%2046.7620834,157.641058%20C48.0878176,157.655354%2049.4030239,157.404719%2050.6306575,156.903927%20C51.8582911,156.403136%2052.9735276,155.662296%2053.9110465,154.724777%20C54.8485056,153.787318%2055.5894046,152.672022%2056.0901963,151.444448%20C56.5909282,150.216815%2056.8415633,148.901549%2056.8273268,147.575814%20L56.8273268,123.717444%20L63.9634889,123.717444%20L63.9634889,151.996025%20L63.8037763,152.209035%20Z%20M77.330762,136.653806%20C77.330762,131.70104%2077.330762,127.653648%2077.0112304,123.979032%20L83.4018876,123.979032%20L83.7213726,130.635931%20C85.1452074,128.23088%2087.1949721,126.257257%2089.6521533,124.925482%20C92.1093944,123.593709%2094.8819333,122.953703%2097.6742718,123.073695%20C107.153723,123.073695%20114.289945,131.008713%20114.289945,142.831393%20C114.289945,156.784292%20105.715831,163.707504%2096.4493898,163.707504%20C94.0776877,163.813321%2091.7187865,163.305232%2089.6009496,162.232346%20C87.4831127,161.159401%2085.6780613,159.558028%2084.3604623,157.583154%20L84.3604623,178.885226%20L77.330762,178.885226%20L77.330762,136.813578%20L77.330762,136.653806%20Z%20M84.3604623,147.038594%20C84.3797833,148.004885%2084.4867369,148.967408%2084.6800071,149.914378%20C85.2842232,152.279021%2086.6597255,154.374666%2088.5887785,155.869683%20C90.5178913,157.364761%2092.8904309,158.173852%2095.3310427,158.168947%20C102.840047,158.168947%20107.260258,152.044597%20107.260258,143.150938%20C107.260258,135.375686%20103.106354,128.718758%2095.59735,128.718758%20C92.6257387,128.962101%2089.844945,130.280974%2087.7762781,132.428062%20C85.7076111,134.575149%2084.4931374,137.403079%2084.3604623,140.381689%20L84.3604623,147.038594%20Z%20M127.004503,123.94359%20L135.578617,146.896647%20C136.483954,149.452886%20137.442529,152.54168%20138.081618,154.831671%20C138.827183,152.488442%20139.625985,149.506124%20140.58462,146.736875%20L148.359872,123.94359%20L155.868876,123.94359%20L145.21784,151.636343%20C139.892293,164.950152%20136.643726,171.820127%20131.744199,175.97403%20C129.27643,178.228071%20126.267791,179.805756%20123.010354,180.553953%20L121.252929,174.589376%20C123.530581,173.840999%20125.645092,172.666304%20127.48382,171.127799%20C130.081872,169.010501%20132.14366,166.310102%20133.501635,163.246013%20C133.792288,162.715372%20133.990404,162.139031%20134.087428,161.541814%20C134.026892,160.899135%20133.865146,160.270094%20133.60817,159.677902%20L119.122716,123.837079%20L126.897968,123.837079%20L127.004503,123.94359%20Z%20M174.813541,112.770851%20L174.813541,123.954441%20L185.038557,123.954441%20L185.038557,129.279989%20L174.813541,129.279989%20L174.813541,150.262575%20C174.813541,155.055568%20176.198196,157.824817%20180.139089,157.824817%20C181.538758,157.847727%20182.935316,157.686579%20184.292992,157.345559%20L184.612537,162.671047%20C182.57671,163.376355%20180.428486,163.701283%20178.275118,163.629682%20C176.849069,163.718929%20175.420569,163.498622%20174.087657,162.983833%20C172.754744,162.469044%20171.549004,161.671976%20170.553103,160.647363%20C168.383883,157.745977%20167.394359,154.130491%20167.783854,150.528882%20L167.783854,129.226751%20L161.712742,129.226751%20L161.712742,123.901204%20L167.890329,123.901204%20L167.890329,114.421764%20L174.813541,112.770851%20Z%20M198.184399,144.647511%20C198.03988,146.453639%20198.289199,148.269577%20198.915189,149.969888%20C199.541179,151.670199%20200.528884,153.214267%20201.810114,154.495437%20C203.091285,155.776667%20204.635352,156.764373%20206.335664,157.390363%20C208.035975,158.016352%20209.851913,158.265672%20211.658041,158.121153%20C215.311153,158.202863%20218.940457,157.513288%20222.309077,156.097409%20L223.533958,161.422956%20C219.400274,163.12572%20214.955358,163.942168%20210.486396,163.819423%20C207.881107,163.997798%20205.268101,163.61054%20202.826592,162.684147%20C200.385023,161.757814%20198.172795,160.3143%20196.341489,158.452721%20C194.51022,156.591082%20193.103284,154.355345%20192.217196,151.898941%20C191.331104,149.442478%20190.986827,146.82349%20191.207978,144.221491%20C191.207978,132.505346%20198.184399,123.238905%20209.581059,123.238905%20C222.362314,123.238905%20225.557643,134.422495%20225.557643,141.558717%20C225.625954,142.658281%20225.625954,143.761016%20225.557643,144.860581%20L198.024687,144.860581%20L198.184399,144.647511%20Z%20M219.06051,139.322023%20C219.266043,137.898188%20219.163995,136.446897%20218.761184,135.065892%20C218.358433,133.684886%20217.664311,132.406228%20216.725656,131.316115%20C215.786941,130.226062%20214.625525,129.349856%20213.31959,128.746561%20C212.013656,128.143278%20210.59353,127.826939%20209.155039,127.818864%20C206.228949,128.030665%20203.487515,129.327603%20201.467959,131.455549%20C199.448402,133.583436%20198.296377,136.388874%20198.237697,139.322023%20L219.06051,139.322023%20Z%20M236.385366,136.053478%20C236.385366,131.473555%20236.385366,127.532637%20236.065834,123.911277%20L242.456492,123.911277%20L242.456492,131.526792%20L242.775977,131.526792%20C243.446769,129.176325%20244.83268,127.093027%20246.741335,125.566097%20C248.64999,124.039161%20250.986699,123.144369%20253.427072,123.005938%20C254.098762,122.917777%20254.779066,122.917777%20255.450756,123.005938%20L255.450756,129.66288%20C254.63688,129.568608%20253.814868,129.568608%20253.000992,129.66288%20C250.58353,129.756495%20248.282771,130.726973%20246.528505,132.393068%20C244.774238,134.059104%20243.686458,136.306745%20243.468304,138.716252%20C243.269171,139.805946%20243.162278,140.910475%20243.148819,142.018055%20L243.148819,162.734394%20L236.11909,162.734394%20L236.11909,136.106715%20L236.385366,136.053478%20Z'%20fill='%234E4E4E'%3e%3c/path%3e%3cpath%20d='M233.257943,16.9621357%20C233.476636,20.5398773%20232.625434,24.1017075%20230.812666,27.1939108%20C228.999898,30.286174%20226.307754,32.7687777%20223.079047,34.3255867%20C219.85034,35.8823358%20216.231324,36.4427655%20212.683013,35.9355136%20C209.134702,35.4282017%20205.817704,33.8761781%20203.154559,31.4770796%20C200.491421,29.0780409%20198.602703,25.9404959%20197.729013,22.4642047%20C196.855323,18.9879135%20197.036209,15.330196%20198.248625,11.9570899%20C199.461041,8.5839838%20201.650109,5.64808944%20204.536953,3.52346926%20C207.423803,1.39884909%20210.877782,0.181657262%20214.458814,0.0269503701%20C216.806708,-0.10224713%20219.156996,0.233972409%20221.374429,1.01627461%20C223.591922,1.79857323%20225.632893,3.01152758%20227.379981,4.58537259%20C229.12701,6.15922358%20230.54576,8.06291398%20231.554522,10.1869719%20C232.563283,12.3110298%20233.142196,14.6135829%20233.257943,16.9621357%20Z'%20fill='%23767677'%3e%3c/path%3e%3cpath%20d='M127.952969,225.540984%20C80.0236372,225.540984%2037.8984531,208.339518%2016.1170646,182.936721%20C24.5683135,205.78944%2039.8176362,225.504615%2059.8124569,239.428562%20C79.8070981,253.352629%20103.588124,260.816651%20127.952969,260.816651%20C152.318411,260.816651%20176.098839,253.352629%20196.094019,239.428562%20C216.0886,225.504615%20231.337863,205.78944%20239.789471,182.936721%20C218.061379,208.339518%20176.095848,225.540984%20127.952969,225.540984%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M127.952969,60.3543133%20C175.882898,60.3543133%20218.008142,77.5557785%20239.789471,102.958396%20C231.337863,80.1058563%20216.0886,60.3906823%20196.094019,46.4667348%20C176.098839,32.5427873%20152.318411,25.0784666%20127.952969,25.0784666%20C103.588124,25.0784666%2079.8070981,32.5427873%2059.8124569,46.4667348%20C39.8176362,60.3906823%2024.5683135,80.1058563%2016.1170646,102.958396%20C37.8984531,77.502541%2079.8106871,60.3543133%20127.952969,60.3543133%20Z'%20fill='%23F37726'%3e%3c/path%3e%3cpath%20d='M61.9716874,274.975202%20C62.2528294,279.48161%2061.186045,283.969713%2058.9072992,287.867658%20C56.6284936,291.765602%2053.2409116,294.896926%2049.1761363,296.862707%20C45.1113611,298.828488%2040.5533909,299.539717%2036.0829934,298.905772%20C31.6125362,298.271767%2027.4320141,296.321359%2024.0740419,293.30297%20C20.7160636,290.284582%2018.3326671,286.334835%2017.2274978,281.957035%20C16.1223339,277.579176%2016.3454363,272.971497%2017.868382,268.720869%20C19.3913284,264.470301%2022.1451683,260.769335%2025.7790187,258.089483%20C29.4129289,255.40962%2033.7623156,253.872201%2038.2730898,253.673106%20C41.2280121,253.515051%2044.1851476,253.940738%2046.9755719,254.925846%20C49.7659364,255.910962%2052.3349165,257.436187%2054.5356604,259.414404%20C56.7364042,261.392633%2058.5259031,263.785032%2059.8017495,266.455044%20C61.0776558,269.124996%2061.8150255,272.02022%2061.9716874,274.975202%20Z'%20fill='%239E9E9E'%3e%3c/path%3e%3cpath%20d='M21.5641016,54.5650606%20C18.9814831,54.6363631%2016.4354131,53.9424806%2014.2460944,52.570687%20C12.0567996,51.1988336%2010.3219858,49.2102622%209.25983722,46.8551295%20C8.19768984,44.499937%207.85562972,41.8832824%208.276674,39.3342215%20C8.69771827,36.7851606%209.86306631,34.4174662%2011.6261678,32.5289814%20C13.3892752,30.6404727%2015.6714246,29.3154324%2018.1856119,28.7204982%20C20.6997394,28.1255646%2023.3336813,28.2873008%2025.7562282,29.1853653%20C28.1787154,30.0834346%2030.2815979,31.6777312%2031.800363,33.767765%20C33.3191879,35.8578106%2034.1861222,38.3502842%2034.2921188,40.9317063%20C34.3930308,44.4222341%2033.113057,47.8117302%2030.7300493,50.3642007%20C28.3470417,52.916731%2025.0533134,54.4262842%2021.5641016,54.5650606%20Z'%20fill='%23616262'%3e%3c/path%3e%3c/g%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='4'%20y='3'%20width='12'%20height='8'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2'%20y1='20'%20x2='18'%20y2='20'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='20'%20y1='2'%20x2='20'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='10'%20y='4'%20width='12'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='9'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='2.5'%20y1='15'%20x2='2.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='8'%20height='8'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='21.5'%20y1='2'%20x2='21.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='6'%20y1='20'%20x2='18'%20y2='20'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3crect%20x='8'%20y='4'%20width='8'%20height='16'%20rx='1.25'%20ry='1.25'%20fill='none'%20stroke='currentColor'%20stroke-width='1.25'%20stroke-linejoin='round'/%3e%3cline%20x1='2.5'%20y1='2'%20x2='2.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3cline%20x1='21.5'%20y1='2'%20x2='21.5'%20y2='22'%20stroke='%233b82f6'%20stroke-width='2'%20stroke-linecap='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20width='16'%20height='16'%3e%3cpath%20fill-rule='evenodd'%20d='M8%200C3.58%200%200%203.58%200%208c0%203.54%202.29%206.53%205.47%207.59.4.07.55-.17.55-.38%200-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01%201.08.58%201.23.82.72%201.21%201.87.87%202.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95%200-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12%200%200%20.67-.21%202.2.82.64-.18%201.32-.27%202-.27.68%200%201.36.09%202%20.27%201.53-1.04%202.2-.82%202.2-.82.44%201.1.16%201.92.08%202.12.51.56.82%201.27.82%202.15%200%203.07-1.87%203.75-3.65%203.95.29.25.54.73.54%201.48%200%201.07-.01%201.93-.01%202.2%200%20.21.15.46.55.38A8.013%208.013%200%200016%208c0-4.42-3.58-8-8-8z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M13.0164%202C10.8193%202%209.03825%203.72453%209.03825%205.85185V8.51852H15.9235V9.25926H5.97814C3.78107%209.25926%202%2010.9838%202%2013.1111L2%2018.8889C2%2021.0162%203.78107%2022.7407%205.97814%2022.7407H8.27322V19.4815C8.27322%2017.3542%2010.0543%2015.6296%2012.2514%2015.6296H19.5956C21.4547%2015.6296%2022.9617%2014.1704%2022.9617%2012.3704V5.85185C22.9617%203.72453%2021.1807%202%2018.9836%202H13.0164ZM12.0984%206.74074C12.8589%206.74074%2013.4754%206.14378%2013.4754%205.40741C13.4754%204.67103%2012.8589%204.07407%2012.0984%204.07407C11.3378%204.07407%2010.7213%204.67103%2010.7213%205.40741C10.7213%206.14378%2011.3378%206.74074%2012.0984%206.74074Z'%20fill='url(%23paint0_linear_87_8204)'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M18.9834%2030C21.1805%2030%2022.9616%2028.2755%2022.9616%2026.1482V23.4815L16.0763%2023.4815L16.0763%2022.7408L26.0217%2022.7408C28.2188%2022.7408%2029.9998%2021.0162%2029.9998%2018.8889V13.1111C29.9998%2010.9838%2028.2188%209.25928%2026.0217%209.25928L23.7266%209.25928V12.5185C23.7266%2014.6459%2021.9455%2016.3704%2019.7485%2016.3704L12.4042%2016.3704C10.5451%2016.3704%209.03809%2017.8296%209.03809%2019.6296L9.03809%2026.1482C9.03809%2028.2755%2010.8192%2030%2013.0162%2030H18.9834ZM19.9015%2025.2593C19.1409%2025.2593%2018.5244%2025.8562%2018.5244%2026.5926C18.5244%2027.329%2019.1409%2027.9259%2019.9015%2027.9259C20.662%2027.9259%2021.2785%2027.329%2021.2785%2026.5926C21.2785%2025.8562%2020.662%2025.2593%2019.9015%2025.2593Z'%20fill='url(%23paint1_linear_87_8204)'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_87_8204'%20x1='12.4809'%20y1='2'%20x2='12.4809'%20y2='22.7407'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23327EBD'/%3e%3cstop%20offset='1'%20stop-color='%231565A7'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_87_8204'%20x1='19.519'%20y1='9.25928'%20x2='19.519'%20y2='30'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFDA4B'/%3e%3cstop%20offset='1'%20stop-color='%23F9C600'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20aria-hidden='true'%3e%3cline%20x1='1.5'%20y1='5.5'%20x2='22.5'%20y2='5.5'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3cline%20x1='1.5'%20y1='12'%20x2='22.5'%20y2='12'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3cline%20x1='1.5'%20y1='18.5'%20x2='22.5'%20y2='18.5'%20stroke='var(--wa-color-brand-fill-loud)'%20stroke-opacity='0.45'%20stroke-width='2.5'%20stroke-linecap='round'/%3e%3ccircle%20cx='16.75'%20cy='5.5'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3ccircle%20cx='7.25'%20cy='12'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3ccircle%20cx='14.25'%20cy='18.5'%20r='3.5'%20fill='var(--wa-color-success-fill-loud)'%20fill-opacity='0.85'%20stroke='var(--wa-color-success-fill-loud)'%20stroke-opacity='1'%20stroke-width='1'/%3e%3c/svg%3e\"","// unfortunately, webawesome has no all-in-one import, so we need to import each component individually\nimport '@awesome.me/webawesome/dist/components/animated-image/animated-image.js';\nimport '@awesome.me/webawesome/dist/components/animation/animation.js';\nimport '@awesome.me/webawesome/dist/components/avatar/avatar.js';\nimport '@awesome.me/webawesome/dist/components/badge/badge.js';\nimport '@awesome.me/webawesome/dist/components/breadcrumb/breadcrumb.js';\nimport '@awesome.me/webawesome/dist/components/breadcrumb-item/breadcrumb-item.js';\nimport '@awesome.me/webawesome/dist/components/button/button.js';\nimport '@awesome.me/webawesome/dist/components/button-group/button-group.js';\nimport '@awesome.me/webawesome/dist/components/callout/callout.js';\nimport '@awesome.me/webawesome/dist/components/card/card.js';\nimport '@awesome.me/webawesome/dist/components/carousel/carousel.js';\nimport '@awesome.me/webawesome/dist/components/carousel-item/carousel-item.js';\nimport '@awesome.me/webawesome/dist/components/checkbox/checkbox.js';\nimport '@awesome.me/webawesome/dist/components/color-picker/color-picker.js';\nimport '@awesome.me/webawesome/dist/components/comparison/comparison.js';\nimport '@awesome.me/webawesome/dist/components/copy-button/copy-button.js';\nimport '@awesome.me/webawesome/dist/components/details/details.js';\nimport '@awesome.me/webawesome/dist/components/dialog/dialog.js';\nimport '@awesome.me/webawesome/dist/components/divider/divider.js';\nimport '@awesome.me/webawesome/dist/components/drawer/drawer.js';\nimport '@awesome.me/webawesome/dist/components/dropdown/dropdown.js';\nimport '@awesome.me/webawesome/dist/components/dropdown-item/dropdown-item.js';\nimport '@awesome.me/webawesome/dist/components/format-bytes/format-bytes.js';\nimport '@awesome.me/webawesome/dist/components/format-date/format-date.js';\nimport '@awesome.me/webawesome/dist/components/format-number/format-number.js';\nimport '@awesome.me/webawesome/dist/components/icon/icon.js';\nimport '@awesome.me/webawesome/dist/components/include/include.js';\nimport '@awesome.me/webawesome/dist/components/input/input.js';\nimport '@awesome.me/webawesome/dist/components/intersection-observer/intersection-observer.js';\nimport '@awesome.me/webawesome/dist/components/mutation-observer/mutation-observer.js';\nimport '@awesome.me/webawesome/dist/components/number-input/number-input.js';\nimport '@awesome.me/webawesome/dist/components/option/option.js';\nimport '@awesome.me/webawesome/dist/components/popover/popover.js';\nimport '@awesome.me/webawesome/dist/components/popup/popup.js';\nimport '@awesome.me/webawesome/dist/components/progress-bar/progress-bar.js';\nimport '@awesome.me/webawesome/dist/components/progress-ring/progress-ring.js';\nimport '@awesome.me/webawesome/dist/components/qr-code/qr-code.js';\nimport '@awesome.me/webawesome/dist/components/radio/radio.js';\nimport '@awesome.me/webawesome/dist/components/radio-group/radio-group.js';\nimport '@awesome.me/webawesome/dist/components/rating/rating.js';\nimport '@awesome.me/webawesome/dist/components/relative-time/relative-time.js';\nimport '@awesome.me/webawesome/dist/components/resize-observer/resize-observer.js';\nimport '@awesome.me/webawesome/dist/components/scroller/scroller.js';\nimport '@awesome.me/webawesome/dist/components/select/select.js';\nimport '@awesome.me/webawesome/dist/components/skeleton/skeleton.js';\nimport '@awesome.me/webawesome/dist/components/slider/slider.js';\nimport '@awesome.me/webawesome/dist/components/spinner/spinner.js';\nimport '@awesome.me/webawesome/dist/components/split-panel/split-panel.js';\nimport '@awesome.me/webawesome/dist/components/switch/switch.js';\nimport '@awesome.me/webawesome/dist/components/tab/tab.js';\nimport '@awesome.me/webawesome/dist/components/tab-group/tab-group.js';\nimport '@awesome.me/webawesome/dist/components/tab-panel/tab-panel.js';\nimport '@awesome.me/webawesome/dist/components/tag/tag.js';\nimport '@awesome.me/webawesome/dist/components/textarea/textarea.js';\nimport '@awesome.me/webawesome/dist/components/tooltip/tooltip.js';\nimport '@awesome.me/webawesome/dist/components/tree/tree.js';\nimport '@awesome.me/webawesome/dist/components/tree-item/tree-item.js';\nimport '@awesome.me/webawesome/dist/components/zoomable-frame/zoomable-frame.js';\n\n// Import default WebAwesome styles\nimport '@awesome.me/webawesome/dist/styles/native.css';\nimport '@awesome.me/webawesome/dist/styles/utilities.css';\nimport '@awesome.me/webawesome/dist/styles/themes/default.css';\n\nimport {registerIconLibrary} from '@awesome.me/webawesome'\n\nregisterIconLibrary('docks', {\n resolver: (name: string) => {\n return new URL(`../icons/${name}.svg`, import.meta.url).href;\n },\n mutator: (svg: SVGElement) => {\n svg.setAttribute('fill', 'currentColor');\n svg.setAttribute('stroke', 'currentColor');\n }\n});\n\nexport { registerIconLibrary };"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,qBAAe;;;ACAf,IAAA,oBAAe;;;ACAf,IAAA,aAAe;;;ACAf,IAAA,kBAAe;;;ACAf,IAAA,uCAAe;;;ACAf,IAAA,yCAAe;;;ACAf,IAAA,+BAAe;;;ACAf,IAAA,0BAAe;;;ACAf,IAAA,sBAAe;;;ACAf,IAAA,iBAAe;;;ACAf,IAAA,mBAAe;;;ACmEf,oBAAoB,SAAS;CACzB,WAAW,SAAiB;AACxB,SAAO,IAAA,KAAA,uBAAA,OAAA;GAAA,2BAAA;GAAA,0BAAA;GAAA,mBAAA;GAAA,wBAAA;GAAA,6CAAA;GAAA,+CAAA;GAAA,qCAAA;GAAA,gCAAA;GAAA,4BAAA;GAAA,uBAAA;GAAA,yBAAA;GAAA,CAAA,EAAA,YAAA,KAAA,QAAA,OAAA,KAAA,IAAgD,CAAC;;CAE5D,UAAU,QAAoB;AAC1B,MAAI,aAAa,QAAQ,eAAe;AACxC,MAAI,aAAa,UAAU,eAAe;;CAEjD,CAAC"}
|
package/package.json
CHANGED
package/src/commands/global.ts
CHANGED
|
@@ -121,18 +121,13 @@ registerAll({
|
|
|
121
121
|
title: "Extensions",
|
|
122
122
|
data: {},
|
|
123
123
|
key: "system.extensions",
|
|
124
|
-
icon: "
|
|
124
|
+
icon: "docks extensions",
|
|
125
125
|
state: {},
|
|
126
126
|
component: (id: string) => html`<docks-extensions id="${id}"></docks-extensions>`,
|
|
127
127
|
}
|
|
128
128
|
editorRegistry.loadEditor(editorInput, "extensions-editor").then()
|
|
129
129
|
}
|
|
130
130
|
},
|
|
131
|
-
contribution: {
|
|
132
|
-
target: TOOLBAR_MAIN_RIGHT,
|
|
133
|
-
icon: "puzzle-piece",
|
|
134
|
-
label: "Open Extensions",
|
|
135
|
-
}
|
|
136
131
|
})
|
|
137
132
|
|
|
138
133
|
registerAll({
|
|
@@ -3,6 +3,7 @@ import { contributionRegistry, type HTMLContribution } from "../core/contributio
|
|
|
3
3
|
import {
|
|
4
4
|
PANEL_BOTTOM,
|
|
5
5
|
SIDEBAR_MAIN,
|
|
6
|
+
SIDEBAR_MAIN_TOOLBAR,
|
|
6
7
|
TOOLBAR_BOTTOM_END,
|
|
7
8
|
TOOLBAR_MAIN_RIGHT
|
|
8
9
|
} from "../core/constants";
|
|
@@ -18,7 +19,7 @@ import {
|
|
|
18
19
|
contributionRegistry.registerContribution(SIDEBAR_MAIN, {
|
|
19
20
|
name: VIEW_FILEBROWSER,
|
|
20
21
|
label: "Workspace",
|
|
21
|
-
icon: "folder
|
|
22
|
+
icon: "folder",
|
|
22
23
|
component: (id: string) => html`<docks-filebrowser id="${id}"></docks-filebrowser>`
|
|
23
24
|
});
|
|
24
25
|
|
|
@@ -55,3 +56,8 @@ contributionRegistry.registerContribution(TOOLBAR_MAIN_RIGHT, {
|
|
|
55
56
|
component: () => html`<docks-layout-switcher></docks-layout-switcher>`
|
|
56
57
|
} as HTMLContribution);
|
|
57
58
|
|
|
59
|
+
contributionRegistry.registerContribution(SIDEBAR_MAIN_TOOLBAR, {
|
|
60
|
+
command: "open_extensions",
|
|
61
|
+
icon: "docks extensions",
|
|
62
|
+
label: "Extensions",
|
|
63
|
+
});
|
package/src/core/constants.ts
CHANGED
|
@@ -6,6 +6,9 @@ export const TOOLBAR_BOTTOM = "app-toolbars-bottom"
|
|
|
6
6
|
export const TOOLBAR_BOTTOM_CENTER = "app-toolbars-bottom-center"
|
|
7
7
|
export const TOOLBAR_BOTTOM_END = "app-toolbars-bottom-end"
|
|
8
8
|
|
|
9
|
+
/** Commands/HTML at the end of the main sidebar activity rail (wa-tab-group nav slot). */
|
|
10
|
+
export const SIDEBAR_MAIN_TOOLBAR = "sidebar-main-toolbar"
|
|
11
|
+
|
|
9
12
|
export const SYSTEM_VIEWS = "system-views"
|
|
10
13
|
export const SYSTEM_LAYOUTS = "system.layouts"
|
|
11
14
|
|
|
@@ -198,8 +198,8 @@ class ExtensionRegistry {
|
|
|
198
198
|
logger.info(`Registered extension from URL: ${id}`);
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
this.
|
|
202
|
-
|
|
201
|
+
await this.enableAsync(id, false);
|
|
202
|
+
|
|
203
203
|
logger.info(`Successfully enabled extension from URL: ${finalUrl}`);
|
|
204
204
|
return id;
|
|
205
205
|
} catch (error) {
|
|
@@ -248,22 +248,33 @@ class ExtensionRegistry {
|
|
|
248
248
|
return
|
|
249
249
|
}
|
|
250
250
|
logger.debug(`Loading extension: ${extensionId}`)
|
|
251
|
-
this.load(extensionId)
|
|
252
|
-
this.
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
251
|
+
this.load(extensionId)
|
|
252
|
+
.then(() => this.updateEnablementAsync(extensionId, true, informUser))
|
|
253
|
+
.catch(_e => {
|
|
254
|
+
logger.error(`Could not load extension: ${extensionId}: ${_e}`)
|
|
255
|
+
})
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
/** Like enable() but returns a Promise that resolves when the extension is loaded. Use when the caller must wait for commands/contributions to be registered (e.g. before rendering the app). */
|
|
259
259
|
public async enableAsync(extensionId: string, informUser: boolean = false): Promise<void> {
|
|
260
260
|
if (this.isEnabled(extensionId)) {
|
|
261
|
-
|
|
261
|
+
if (!this.isLoaded(extensionId)) {
|
|
262
|
+
logger.debug(
|
|
263
|
+
`Extension ${extensionId} is enabled in settings but not loaded; loading now`,
|
|
264
|
+
);
|
|
265
|
+
try {
|
|
266
|
+
await this.load(extensionId);
|
|
267
|
+
} catch (e) {
|
|
268
|
+
logger.error(`Could not load extension: ${extensionId}: ${e}`);
|
|
269
|
+
throw e;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
return;
|
|
262
273
|
}
|
|
263
274
|
logger.debug(`Loading extension: ${extensionId}`)
|
|
264
275
|
try {
|
|
265
276
|
await this.load(extensionId)
|
|
266
|
-
this.
|
|
277
|
+
await this.updateEnablementAsync(extensionId, true, informUser)
|
|
267
278
|
} catch (e) {
|
|
268
279
|
logger.error(`Could not load extension: ${extensionId}: ${e}`)
|
|
269
280
|
throw e
|
|
@@ -341,17 +352,17 @@ class ExtensionRegistry {
|
|
|
341
352
|
}
|
|
342
353
|
})
|
|
343
354
|
|
|
344
|
-
// Mark as loaded BEFORE executing the module
|
|
345
|
-
this.loadedExtensions.add(extensionId)
|
|
346
|
-
|
|
347
355
|
if (module?.default instanceof Function) {
|
|
348
356
|
try {
|
|
349
|
-
module.default(uiContext.getProxy())
|
|
357
|
+
const activationResult = module.default(uiContext.getProxy())
|
|
358
|
+
await Promise.resolve(activationResult)
|
|
350
359
|
} catch (error) {
|
|
351
360
|
logger.error(`Error executing extension function for ${extensionId}: ${error}`)
|
|
352
361
|
throw error
|
|
353
362
|
}
|
|
354
363
|
}
|
|
364
|
+
|
|
365
|
+
this.loadedExtensions.add(extensionId)
|
|
355
366
|
|
|
356
367
|
} catch (error) {
|
|
357
368
|
// If loading failed, remove from loaded set
|
|
@@ -371,28 +382,8 @@ class ExtensionRegistry {
|
|
|
371
382
|
if (!this.isEnabled(extensionId)) {
|
|
372
383
|
return
|
|
373
384
|
}
|
|
374
|
-
this.
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
private updateEnablement(extensionId: string, enabled: boolean, informUser: boolean) {
|
|
378
|
-
this.checkExtensionsConfig().then(() => {
|
|
379
|
-
const extension = this.extensionsSettings?.find(e => e.id == extensionId)
|
|
380
|
-
if (extension) {
|
|
381
|
-
extension.enabled = enabled
|
|
382
|
-
} else {
|
|
383
|
-
this.extensionsSettings?.push({id: extensionId, enabled: enabled})
|
|
384
|
-
}
|
|
385
|
-
appSettings.set(KEY_EXTENSIONS_CONFIG, this.extensionsSettings).then(() => {
|
|
386
|
-
if (informUser) {
|
|
387
|
-
const extObj = this.extensions[extensionId]
|
|
388
|
-
if (enabled) {
|
|
389
|
-
toastInfo(extObj.name + " enabled.")
|
|
390
|
-
} else {
|
|
391
|
-
toastInfo(extObj.name + " disabled " + " - Please restart to take effect")
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
publish(TOPIC_EXTENSIONS_CHANGED, this.extensionsSettings)
|
|
395
|
-
})
|
|
385
|
+
void this.updateEnablementAsync(extensionId, false, informUser).catch((e) => {
|
|
386
|
+
logger.error(`Could not persist disable for extension ${extensionId}: ${e}`)
|
|
396
387
|
})
|
|
397
388
|
}
|
|
398
389
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
2
|
+
<rect x="9.5" y="0.5" width="8" height="8" rx="1"
|
|
3
|
+
fill="var(--wa-color-brand-fill-loud)" fill-opacity="0.28"
|
|
4
|
+
stroke="var(--wa-color-brand-fill-loud)" stroke-opacity="0.9"
|
|
5
|
+
stroke-width="1" stroke-linejoin="round"/>
|
|
6
|
+
<rect x="0.5" y="9.5" width="8" height="8" rx="1"
|
|
7
|
+
fill="var(--wa-color-brand-fill-loud)" fill-opacity="0.28"
|
|
8
|
+
stroke="var(--wa-color-brand-fill-loud)" stroke-opacity="0.9"
|
|
9
|
+
stroke-width="1" stroke-linejoin="round"/>
|
|
10
|
+
<rect x="9.5" y="9.5" width="8" height="8" rx="1"
|
|
11
|
+
fill="var(--wa-color-brand-fill-loud)" fill-opacity="0.28"
|
|
12
|
+
stroke="var(--wa-color-brand-fill-loud)" stroke-opacity="0.9"
|
|
13
|
+
stroke-width="1" stroke-linejoin="round"/>
|
|
14
|
+
<rect x="0.5" y="0.5" width="8" height="8" rx="1"
|
|
15
|
+
fill="var(--wa-color-success-fill-loud)" fill-opacity="0.55"
|
|
16
|
+
stroke="var(--wa-color-success-fill-loud)" stroke-opacity="1" stroke-width="1"/>
|
|
17
|
+
</svg>
|
package/src/icons/icons.txt
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
# Provenance — bundled icons in this folder (licence, author, source).
|
|
2
|
+
# Used for compliance review and attribution; resolver: registerIconLibrary('docks') in externals/webawesome.ts
|
|
3
|
+
|
|
1
4
|
- python.svg: Licence=MIT, Author=Garuda Technology, Source=https://www.svgrepo.com/svg/452091/python
|
|
2
5
|
- js.svg: Licence=MIT, Author=Garuda Technology, Source=https://www.svgrepo.com/svg/452045/js
|
|
3
6
|
- jupyter.svg: Licence=Logo License, Author=gilbarbara, Source=https://www.svgrepo.com/svg/353949/jupyter
|
|
@@ -7,3 +10,5 @@
|
|
|
7
10
|
- layout-standard-full.svg: Licence=Project-internal, Author=Eclipse Docks Team
|
|
8
11
|
- mark-github.svg: Licence=MIT, Author=GitHub, Source=https://github.com/primer/octicons (icons/mark-github-16.svg)
|
|
9
12
|
- file-plus.svg: Licence=Project-internal, Author=Eclipse Docks Team
|
|
13
|
+
- settings.svg: Licence=Project-internal, Author=Eclipse Docks Team, Note=Settings; duotone brand tracks + success knobs (sliders motif)
|
|
14
|
+
- extensions.svg: Licence=Project-internal, Author=Eclipse Docks Team, Note=Extensions; 2×2 tile grid like docks favicon (packages/app/public/favicon.svg); one success tile, three brand tiles
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
2
|
+
<line x1="1.5" y1="5.5" x2="22.5" y2="5.5" stroke="var(--wa-color-brand-fill-loud)" stroke-opacity="0.45" stroke-width="2.5" stroke-linecap="round"/>
|
|
3
|
+
<line x1="1.5" y1="12" x2="22.5" y2="12" stroke="var(--wa-color-brand-fill-loud)" stroke-opacity="0.45" stroke-width="2.5" stroke-linecap="round"/>
|
|
4
|
+
<line x1="1.5" y1="18.5" x2="22.5" y2="18.5" stroke="var(--wa-color-brand-fill-loud)" stroke-opacity="0.45" stroke-width="2.5" stroke-linecap="round"/>
|
|
5
|
+
<circle cx="16.75" cy="5.5" r="3.5" fill="var(--wa-color-success-fill-loud)" fill-opacity="0.85" stroke="var(--wa-color-success-fill-loud)" stroke-opacity="1" stroke-width="1"/>
|
|
6
|
+
<circle cx="7.25" cy="12" r="3.5" fill="var(--wa-color-success-fill-loud)" fill-opacity="0.85" stroke="var(--wa-color-success-fill-loud)" stroke-opacity="1" stroke-width="1"/>
|
|
7
|
+
<circle cx="14.25" cy="18.5" r="3.5" fill="var(--wa-color-success-fill-loud)" fill-opacity="0.85" stroke="var(--wa-color-success-fill-loud)" stroke-opacity="1" stroke-width="1"/>
|
|
8
|
+
</svg>
|
|
@@ -139,11 +139,11 @@ export class DocksStandardLayout extends DocksContainer {
|
|
|
139
139
|
id="left-sidebar-split"
|
|
140
140
|
orientation="vertical"
|
|
141
141
|
sizes="50%, 50%">
|
|
142
|
-
<docks-tabs id="${SIDEBAR_MAIN}"></docks-tabs>
|
|
143
|
-
<docks-tabs id="${SIDEBAR_MAIN_BOTTOM}"></docks-tabs>
|
|
142
|
+
<docks-tabs id="${SIDEBAR_MAIN}" placement="start" icon-only with-toolbar></docks-tabs>
|
|
143
|
+
<docks-tabs id="${SIDEBAR_MAIN_BOTTOM}" placement="start" icon-only></docks-tabs>
|
|
144
144
|
</docks-resizable-grid>
|
|
145
145
|
`
|
|
146
|
-
: html`<docks-tabs id="${SIDEBAR_MAIN}"></docks-tabs>`
|
|
146
|
+
: html`<docks-tabs id="${SIDEBAR_MAIN}" placement="start" icon-only with-toolbar></docks-tabs>`
|
|
147
147
|
}
|
|
148
148
|
`
|
|
149
149
|
: nothing
|
package/src/parts/tabs.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {customElement, property, state} from "lit/decorators.js";
|
|
2
2
|
import {css, html, nothing} from "lit";
|
|
3
3
|
import {DocksContainer} from "./container";
|
|
4
|
+
import {appLoaderService} from "../core/apploader";
|
|
4
5
|
import {contributionRegistry, ContributionChangeEvent, TabContribution, TOPIC_CONTRIBUTEIONS_CHANGED} from "../core/contributionregistry";
|
|
5
6
|
import {when} from "lit/directives/when.js";
|
|
6
7
|
import {repeat} from "lit/directives/repeat.js";
|
|
@@ -12,8 +13,6 @@ import {MouseButton, EDITOR_AREA_MAIN} from "../core/constants";
|
|
|
12
13
|
import {activePartSignal, activeEditorSignal, partDirtySignal} from "../core/appstate";
|
|
13
14
|
import {watchSignal} from "../core/signals";
|
|
14
15
|
import {confirmDialog} from "../dialogs";
|
|
15
|
-
import {appLoaderService} from "../core/apploader";
|
|
16
|
-
|
|
17
16
|
/**
|
|
18
17
|
* DocksTabs - A dynamic tab container component
|
|
19
18
|
*
|
|
@@ -32,6 +31,16 @@ export class DocksTabs extends DocksContainer {
|
|
|
32
31
|
@property({reflect: true})
|
|
33
32
|
placement: "top" | "bottom" | "start" | "end" = "top";
|
|
34
33
|
|
|
34
|
+
/** When true, tab contributions show icons only (labels remain on title + wa-icon for a11y). */
|
|
35
|
+
@property({type: Boolean, reflect: true, attribute: 'icon-only'})
|
|
36
|
+
iconOnly: boolean = false;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* When true, render a `docks-toolbar` in the tab group `nav` slot after tabs (extensions contribute via id `${containerId}-toolbar`).
|
|
40
|
+
*/
|
|
41
|
+
@property({type: Boolean, reflect: true, attribute: 'with-toolbar'})
|
|
42
|
+
withToolbar: boolean = false;
|
|
43
|
+
|
|
35
44
|
/** Tab contributions for this container */
|
|
36
45
|
@state()
|
|
37
46
|
private contributions: TabContribution[] = [];
|
|
@@ -60,11 +69,14 @@ export class DocksTabs extends DocksContainer {
|
|
|
60
69
|
this.updateComplete.then(() => this.ensureTabGroupListenersAndActivate());
|
|
61
70
|
|
|
62
71
|
subscribe(TOPIC_CONTRIBUTEIONS_CHANGED, (event: ContributionChangeEvent) => {
|
|
63
|
-
if (!this.containerId
|
|
64
|
-
|
|
72
|
+
if (!this.containerId) return;
|
|
73
|
+
const navToolbarId = `${this.containerId}-toolbar`;
|
|
74
|
+
if (event.target === navToolbarId) return;
|
|
75
|
+
if (event.target !== this.containerId) return;
|
|
76
|
+
|
|
65
77
|
this.loadAndResolveContributions();
|
|
66
78
|
this.requestUpdate();
|
|
67
|
-
|
|
79
|
+
|
|
68
80
|
this.updateComplete.then(() => {
|
|
69
81
|
this.activateNextAvailableTab();
|
|
70
82
|
});
|
|
@@ -326,6 +338,11 @@ export class DocksTabs extends DocksContainer {
|
|
|
326
338
|
return label.slice(0, startLen) + ellipsis + label.slice(-(take - startLen));
|
|
327
339
|
}
|
|
328
340
|
|
|
341
|
+
/** Aligns `docks-toolbar` with `placement`: side rails → vertical, top/bottom tab strip → horizontal. */
|
|
342
|
+
private withToolbarOrientation(): "horizontal" | "vertical" {
|
|
343
|
+
return this.placement === "start" || this.placement === "end" ? "vertical" : "horizontal";
|
|
344
|
+
}
|
|
345
|
+
|
|
329
346
|
private renderEmptyState() {
|
|
330
347
|
const currentApp = appLoaderService.getCurrentApp();
|
|
331
348
|
return html`
|
|
@@ -351,6 +368,7 @@ export class DocksTabs extends DocksContainer {
|
|
|
351
368
|
if (this.contributions.length === 0) {
|
|
352
369
|
return this.renderEmptyState();
|
|
353
370
|
}
|
|
371
|
+
const navToolbarId = this.containerId ? `${this.containerId}-toolbar` : '';
|
|
354
372
|
return html`
|
|
355
373
|
<wa-tab-group ${ref(this.tabGroup)} placement=${this.placement}>
|
|
356
374
|
${repeat(
|
|
@@ -364,7 +382,7 @@ export class DocksTabs extends DocksContainer {
|
|
|
364
382
|
title="${fullLabel}"
|
|
365
383
|
@auxclick="${(e: MouseEvent) => this.handleTabAuxClick(e, c)}">
|
|
366
384
|
${icon(c.icon, { label: fullLabel })}
|
|
367
|
-
${shortLabel}
|
|
385
|
+
${this.iconOnly ? nothing : shortLabel}
|
|
368
386
|
${when(c.closable, () => html`
|
|
369
387
|
<wa-icon name="xmark" label="Close" @click="${(e: Event) => this.closeTab(e, c.name)}"></wa-icon>
|
|
370
388
|
`)}
|
|
@@ -375,6 +393,18 @@ export class DocksTabs extends DocksContainer {
|
|
|
375
393
|
`;
|
|
376
394
|
}
|
|
377
395
|
)}
|
|
396
|
+
${this.withToolbar && navToolbarId
|
|
397
|
+
? html`
|
|
398
|
+
<div class="nav-toolbar-spacer" slot="nav" aria-hidden="true"></div>
|
|
399
|
+
<docks-toolbar
|
|
400
|
+
slot="nav"
|
|
401
|
+
id=${navToolbarId}
|
|
402
|
+
orientation=${this.withToolbarOrientation()}
|
|
403
|
+
align="center"
|
|
404
|
+
size="large"
|
|
405
|
+
></docks-toolbar>
|
|
406
|
+
`
|
|
407
|
+
: nothing}
|
|
378
408
|
</wa-tab-group>
|
|
379
409
|
`;
|
|
380
410
|
}
|
|
@@ -388,15 +418,22 @@ export class DocksTabs extends DocksContainer {
|
|
|
388
418
|
wa-tab-group {
|
|
389
419
|
height: 100%;
|
|
390
420
|
width: 100%;
|
|
421
|
+
min-height: 0;
|
|
391
422
|
}
|
|
392
423
|
|
|
393
|
-
wa-tab-group::part(base) {
|
|
424
|
+
:host(:is([placement="top"], [placement="bottom"])) wa-tab-group::part(base) {
|
|
394
425
|
display: grid;
|
|
395
426
|
grid-template-rows: auto minmax(0, 1fr);
|
|
396
427
|
height: 100%;
|
|
397
428
|
width: 100%;
|
|
398
429
|
}
|
|
399
430
|
|
|
431
|
+
:host(:is([placement="start"], [placement="end"])) wa-tab-group::part(base) {
|
|
432
|
+
height: 100%;
|
|
433
|
+
width: 100%;
|
|
434
|
+
min-height: 0;
|
|
435
|
+
}
|
|
436
|
+
|
|
400
437
|
wa-tab-panel[active] {
|
|
401
438
|
display: grid;
|
|
402
439
|
grid-template-rows: minmax(0, 1fr);
|
|
@@ -416,6 +453,56 @@ export class DocksTabs extends DocksContainer {
|
|
|
416
453
|
padding: 3px 0.5rem;
|
|
417
454
|
}
|
|
418
455
|
|
|
456
|
+
:host([icon-only]) wa-tab::part(base) {
|
|
457
|
+
justify-content: center;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
:host([icon-only]:is([placement="top"], [placement="bottom"])) wa-tab::part(base) {
|
|
461
|
+
padding: var(--wa-space-s);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
:host([icon-only]:is([placement="start"], [placement="end"])) wa-tab::part(base) {
|
|
465
|
+
padding-inline: 0;
|
|
466
|
+
padding-block: var(--wa-space-s);
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
:host([icon-only]) wa-tab wa-icon {
|
|
470
|
+
font-size: var(--wa-font-size-l);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
:host([icon-only]:is([placement="start"], [placement="end"])) wa-tab-group::part(nav),
|
|
474
|
+
:host([icon-only]:is([placement="start"], [placement="end"])) wa-tab-group::part(tabs) {
|
|
475
|
+
padding: 0;
|
|
476
|
+
margin: 0;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
:host([icon-only]:is([placement="start"], [placement="end"])) wa-tab-group::part(nav) {
|
|
480
|
+
flex: 0 0 auto;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
:host([with-toolbar]) .nav-toolbar-spacer {
|
|
484
|
+
flex: 1 1 auto;
|
|
485
|
+
min-height: 0;
|
|
486
|
+
min-width: 0;
|
|
487
|
+
pointer-events: none;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
:host([with-toolbar]:is([placement="start"], [placement="end"])) wa-tab-group::part(nav) {
|
|
491
|
+
display: grid;
|
|
492
|
+
grid-template-rows: 1fr;
|
|
493
|
+
height: 100%;
|
|
494
|
+
min-height: 0;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
:host([with-toolbar]:is([placement="start"], [placement="end"])) wa-tab-group::part(tabs) {
|
|
498
|
+
display: flex;
|
|
499
|
+
flex-direction: column;
|
|
500
|
+
min-height: 0;
|
|
501
|
+
height: 100%;
|
|
502
|
+
flex: 1 1 auto;
|
|
503
|
+
align-self: stretch;
|
|
504
|
+
}
|
|
505
|
+
|
|
419
506
|
wa-tab-panel {
|
|
420
507
|
--padding: 0px;
|
|
421
508
|
}
|
|
@@ -431,7 +518,6 @@ export class DocksTabs extends DocksContainer {
|
|
|
431
518
|
justify-content: center;
|
|
432
519
|
width: 100%;
|
|
433
520
|
height: 100%;
|
|
434
|
-
grid-row: 2;
|
|
435
521
|
}
|
|
436
522
|
|
|
437
523
|
.empty-content {
|
package/src/parts/toolbar.ts
CHANGED
|
@@ -135,7 +135,7 @@ export class DocksToolbar extends DocksElement {
|
|
|
135
135
|
|
|
136
136
|
protected doBeforeUI() {
|
|
137
137
|
this.refreshContributions();
|
|
138
|
-
|
|
138
|
+
|
|
139
139
|
subscribe(TOPIC_CONTRIBUTEIONS_CHANGED, (event: ContributionChangeEvent) => {
|
|
140
140
|
const id = this.getAttribute("id");
|
|
141
141
|
if (!id) return;
|