Skip to content

Commit 6a9b00e

Browse files
vwfoxstbischof
authored andcommitted
refactoring inversify
1 parent ef19a78 commit 6a9b00e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+362
-372
lines changed

eslint.config.mjs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ export default [
2222
{
2323
name: 'app/files-to-lint',
2424
files: ['**/*.{ts,mts,tsx,vue}'],
25+
rules: {
26+
'spaced-comment': 'off'
27+
},
2528
},
2629

2730
{
@@ -41,5 +44,5 @@ export default [
4144
...pluginPlaywright.configs['flat/recommended'],
4245
files: ['e2e/**/*.{test,spec}.{js,ts,jsx,tsx}'],
4346
},
44-
skipFormatting,
47+
skipFormatting
4548
]

packages/app/default/src/main.ts

Lines changed: 77 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
* Smart City Jena
1212
**********************************************************************/
1313

14+
1415
import { createVuestic } from 'vuestic-ui'
1516
import 'vuestic-ui/styles/essential.css'
1617
import 'vuestic-ui/styles/typography.css'
@@ -24,8 +25,41 @@ import router from './router'
2425

2526
import { init } from 'org.eclipse.daanse.board.app.lib.module1'
2627
import { container, identifiers } from 'org.eclipse.daanse.board.app.lib.core'
27-
import { TinyEmitter } from 'tiny-emitter'
2828

29+
const app = createApp(App)
30+
app.use(createVuestic({
31+
config: {
32+
colors: {
33+
presets: {
34+
light: {
35+
primary: '#606060',
36+
lightPrim:'#cbcbcb',
37+
orange:'#c29803',
38+
//active:"rgba(255,201,132,0.25)",
39+
active:"rgba(147,147,147,0.25)",
40+
/*secondary: '#E79542',*/
41+
textPrimary: '#3a3a3a',
42+
}
43+
}
44+
}
45+
},
46+
}))
47+
48+
init(container)
49+
container.bind(identifiers.CONTAINER).toDynamicValue((ctx: any) => {
50+
return ctx
51+
})
52+
53+
54+
app.config.globalProperties.$container = container
55+
app.provide('container',container);
56+
app.provide('codeEditorType', 'monaco');
57+
const symbolForApp = Symbol.for('App');
58+
container.bind('App').toConstantValue(app);
59+
const pinia = createPinia();
60+
setActivePinia(pinia)
61+
app.use(pinia)
62+
loadPackages()
2963
// TODO: Move this to initialization of the app
3064
import {
3165
type ConnectionRepository,
@@ -54,37 +88,6 @@ import 'org.eclipse.daanse.board.app.lib.datasource.sparql'
5488
import { init as initChartComposer } from 'org.eclipse.daanse.board.app.lib.composer.chart'
5589
import { init as initDatatableComposer } from 'org.eclipse.daanse.board.app.lib.composer.datatable'
5690

57-
import { init as initI18next, symbolForI18n } from 'org.eclipse.daanse.board.app.lib.i18next'
58-
59-
import { init as initCommonEn } from 'org.eclipse.daanse.board.app.ui.vue.lang.common.en'
60-
61-
import {
62-
init as initI18nextVuePlugin,
63-
I18nextVuePlugin,
64-
} from 'org.eclipse.daanse.board.app.ui.vue.plugins.i18next'
65-
66-
import { init as initLangEnIconWidget } from 'org.eclipse.daanse.board.app.ui.vue.lang.icon.en'
67-
import { init as initLangEnIamgeWidget } from 'org.eclipse.daanse.board.app.ui.vue.lang.image.en'
68-
import {
69-
init as initLangEnPrgressWidget
70-
} from 'org.eclipse.daanse.board.app.ui.vue.lang.progress.en'
71-
import { init as initLangEnVideoWidget } from 'org.eclipse.daanse.board.app.ui.vue.lang.video.en'
72-
import {
73-
init as initLangEnSvgBaseWidget
74-
} from 'org.eclipse.daanse.board.app.ui.vue.lang.svg.base.en'
75-
import {
76-
init as initLangEnSvgRepeatWidget
77-
} from 'org.eclipse.daanse.board.app.ui.vue.lang.svg.repeat.en'
78-
import {
79-
init as initLangEnTextRichWidget
80-
} from 'org.eclipse.daanse.board.app.ui.vue.lang.text.rich.en'
81-
import {
82-
init as initLangEnTextPlainWidget
83-
} from 'org.eclipse.daanse.board.app.ui.vue.lang.text.plain.en'
84-
import {
85-
init as initLangEnWidgetWrapper
86-
} from 'org.eclipse.daanse.board.app.ui.vue.lang.wrapper.en'
87-
8891
import {
8992
init as initWidgetRepo
9093
} from 'org.eclipse.daanse.board.app.lib.repository.widget'
@@ -151,66 +154,53 @@ import 'org.eclipse.daanse.board.app.ui.vue.variable.constant'
151154
import 'org.eclipse.daanse.board.app.ui.vue.variable.computed'
152155

153156
import { init as initWrapper } from 'org.eclipse.daanse.board.app.ui.vue.widget.wrapper'
154-
/*import {init as initSytles } from 'org.eclipse.daanse.board.app.ui.vue.styles.daanse';*/
155157

156-
import 'org.eclipse.daanse.board.app.ui.vue.datasource.sparql'
157-
import {
158-
init as initEndpointfinderPlugin
159-
} from 'org.eclipse.daanse.board.app.ui.vue.plugins.endpointfinder'
160-
import {
161-
init as initPresitenceRepos
162-
} from 'org.eclipse.daanse.board.app.lib.repository.persistence'
163-
import { init as initPesistaneceLocal } from 'org.eclipse.daanse.board.app.lib.persistence.local'
164-
import { init as initSettingsManager } from 'org.eclipse.daanse.board.app.lib.settings.manager'
165-
import {
166-
init as initPersistenceReopLoader
167-
} from 'org.eclipse.daanse.board.app.lib.persistence.loader'
168-
import { init as initPersistenceHelper } from 'org.eclipse.daanse.board.app.lib.persistence.util'
169-
import { init as initPersistenceRest } from 'org.eclipse.daanse.board.app.lib.persistence.rest'
170-
import { init as initPersistenceGit } from 'org.eclipse.daanse.board.app.lib.persistence.git'
171-
import { init as initPersistenceGitUI } from 'org.eclipse.daanse.board.app.ui.vue.persistence.git'
172-
173-
window.addEventListener('load', () => {
174-
const preloader = document.getElementById('preloader')
158+
if (document.readyState === 'complete') {
159+
// load-Event ist schon vorbei
160+
onLoaded()
161+
} else {
162+
window.addEventListener('load', onLoaded)
163+
}
164+
function onLoaded(){
165+
const preloader = document.getElementById('preloader');
175166
if (preloader) {
176167
preloader.style.display = 'none'
177168
}
178-
})
179-
const app = createApp(App)
180-
app.use(
181-
createVuestic({
182-
config: {
183-
colors: {
184-
presets: {
185-
light: {
186-
primary: '#606060',
187-
lightPrim: '#cbcbcb',
188-
orange: '#c29803',
189-
//active:"rgba(255,201,132,0.25)",
190-
active: 'rgba(147,147,147,0.25)',
191-
/*secondary: '#E79542',*/
192-
textPrimary: '#3a3a3a',
193-
},
194-
},
195-
},
196-
},
197-
}),
198-
)
199-
init(container)
200-
container.bind(identifiers.CONTAINER).toDynamicValue((ctx: any) => {
201-
return ctx
202-
})
169+
}
170+
171+
172+
async function loadPackages(){
173+
await import ("org.eclipse.daanse.board.app.lib.i18next")
174+
await import ("org.eclipse.daanse.board.app.ui.vue.plugins.i18next")
175+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.common.en")
176+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.icon.en")
177+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.image.en")
178+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.progress.en")
179+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.video.en")
180+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.svg.base.en")
181+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.svg.repeat.en")
182+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.text.rich.en")
183+
await import ( "org.eclipse.daanse.board.app.ui.vue.lang.text.plain.en")
184+
await import ( 'org.eclipse.daanse.board.app.ui.vue.lang.wrapper.en')
185+
await import ("org.eclipse.daanse.board.app.lib.settings.manager")
186+
await import ( "org.eclipse.daanse.board.app.ui.vue.plugins.endpointfinder")
187+
188+
await import ( "org.eclipse.daanse.board.app.lib.repository.persistence")
189+
await import ( "org.eclipse.daanse.board.app.lib.persistence.local")
190+
await import ( "org.eclipse.daanse.board.app.lib.persistence.util")
191+
await import ("org.eclipse.daanse.board.app.lib.persistence.rest")
192+
await import ("org.eclipse.daanse.board.app.lib.persistence.git")
193+
await import ("org.eclipse.daanse.board.app.ui.vue.persistence.git")
194+
await import ("org.eclipse.daanse.board.app.lib.persistence.loader")
195+
}
196+
197+
//initSettingsManager(container)
203198

204199
app.config.globalProperties.$container = container
205200
app.provide('container', container)
206201
app.provide('codeEditorType', 'monaco')
207-
const symbolForApp = Symbol.for('App')
208-
container.bind('App').toConstantValue(app)
209-
initSettingsManager(container)
210-
initI18next(container)
211-
//initSytles(container)
212-
initCommonEn(container)
213-
initI18nextVuePlugin(container)
202+
203+
214204

215205
initChartComposer(container)
216206
initDatatableComposer(container)
@@ -234,30 +224,13 @@ initMermaidWidget(container)
234224
initMarkdownWidget(container)
235225
initCodeWidget(container)
236226

237-
initLangEnWidgetWrapper(container)
238-
initLangEnIconWidget(container)
239-
initLangEnIamgeWidget(container)
240-
initLangEnPrgressWidget(container)
241-
initLangEnSvgBaseWidget(container)
242-
initLangEnSvgRepeatWidget(container)
243-
initLangEnTextRichWidget(container)
244-
initLangEnTextPlainWidget(container)
245-
initLangEnVideoWidget(container)
246227
initTableData(container)
247228

248229
initVariable(container)
249230
// // initVariableRepository(container)
250231
// initConstantVariable(container)
251232
// initComputedVariable(container)
252233

253-
initPersistenceHelper(container)
254-
initPresitenceRepos(container)
255-
initPesistaneceLocal(container)
256-
initPersistenceRest(container)
257-
initPersistenceGit(container)
258-
initPersistenceGitUI(container)
259-
initPersistenceReopLoader(container)
260-
// initVariableWrapperFactory(container)
261234

262235

263236

@@ -282,15 +255,12 @@ connectionRepository.registerConnection('test', 'rest', {
282255
type: 'rest',
283256
name: 'test',
284257
})
285-
const pinia = createPinia()
286-
setActivePinia(pinia)
287-
app.use(pinia)
258+
288259

289260
const datasourceRepository = container.get<DatasourceRepository>(DatasourceIdentifier)
290261
initPivotTableUI(container)
291262
initKpiTableUI(container)
292263
initWebsocketConnectionUI(container)
293-
initEndpointfinderPlugin(container)
294264
initChartComposerUi(container)
295265
initDatatableComposerUI(container)
296266
initChartWidgetUI(container)
@@ -300,7 +270,8 @@ datasourceRepository.registerDatasource('test_ds', 'rest', {
300270
connection: 'test',
301271
})
302272

303-
app.use(I18nextVuePlugin)
273+
274+
304275

305276
app.use(router)
306277

packages/app/default/vite.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,9 @@ export default defineConfig({
4141
},
4242
},
4343
},
44+
build:{
45+
rollupOptions: {
46+
external: ['org.eclipse.daanse.board.app.lib.core']
47+
}
48+
}
4449
})

packages/lib/i18next/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@
1818
"bugs": {
1919
"url": "https://github.com/eclipse-daanse/org.eclipse.daanse.board.app/issues"
2020
},
21+
"dev": {
22+
"org.eclipse.daanse.board.app.lib.core": "0.0.1-next.1"
23+
},
2124
"devDependencies": {
2225
"inversify": "7.6.1",
2326
"typescript": "^5.8.2",

packages/lib/i18next/src/index.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,16 @@ Contributors: Smart City Jena
99
*/
1010
import i18next from "i18next";
1111
import type {i18n} from "i18next";
12-
import type { Container } from "inversify";
12+
import { container } from 'org.eclipse.daanse.board.app.lib.core';
1313
const symbolForI18n = Symbol.for('I18next')
1414

15-
const init = (container: Container) => {
16-
console.log('init i18next')
15+
16+
if (!container.isBound(symbolForI18n)) {
1717
i18next.init({fallbackLng: 'en', resources: {}});
1818
container.bind<i18n>(symbolForI18n).toConstantValue(i18next);
19+
console.log('initilaized i18n')
1920
}
20-
2121
export {
22-
init,
2322
symbolForI18n,
2423
i18n
2524
}

packages/lib/i18next/vite.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export default defineConfig({
2121
fileName: 'lib.i18next'
2222
},
2323
rollupOptions: {
24-
external: []
24+
external: ['org.eclipse.daanse.board.app.lib.core']
2525
}
2626
},
2727
plugins: [

packages/lib/persistence/git/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"dependencies": {
3232
"org.eclipse.daanse.board.app.lib.repository.persistence": "0.0.1-next.1",
3333
"octokit": "^5.0.3",
34-
"octokit-commit-multiple-files": "^5.0.2"
34+
"octokit-commit-multiple-files": "^5.0.2",
35+
"org.eclipse.daanse.board.app.lib.core": "0.0.1-next.1"
3536
}
3637
}

packages/lib/persistence/git/src/index.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,25 @@
1212
import { Repository, RepositoryRegistryI, identifier as persistenceIdentifieer } from 'org.eclipse.daanse.board.app.lib.repository.persistence'
1313

1414
import GitRepositoryImpl from './GitRepository/GitRepositoryImpl'
15-
import { Container } from 'inversify'
15+
import {container} from 'org.eclipse.daanse.board.app.lib.core'
1616
import type {GitWritableRepository} from './git_api/api/GitWritableRepsitory';
1717
import {AuthentificationError} from "./git_api/services/common/CastError";
1818
const identifier = Symbol.for('GitRepository')
1919
const type = GitRepositoryImpl.type;
20-
const init = (container: Container) => {
20+
if(!container.isBound(identifier)) {
2121
container.bind<Repository>(identifier).to(GitRepositoryImpl)
2222
const repoRegistry = container.get<RepositoryRegistryI>(persistenceIdentifieer)
2323
if (!repoRegistry) {
2424
console.log('RepositoryRegistry not found')
25-
return
2625
}
27-
repoRegistry.registerRepoType(GitRepositoryImpl.type, identifier)
28-
console.log('📦 GitRepository registered')
26+
else {
27+
repoRegistry.registerRepoType(GitRepositoryImpl.type, identifier)
28+
console.log('📦 GitRepository registered')
29+
}
2930

30-
}
3131

32+
}
3233
export {
33-
init,
3434
identifier,
3535
GitWritableRepository,
3636
type,

packages/lib/persistence/git/vite.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export default defineConfig({
2222
fileName: 'lib.persistence.git'
2323
},
2424
rollupOptions: {
25-
external: []
25+
external: ['org.eclipse.daanse.board.app.lib.core']
2626
}
2727
},
2828
plugins: [

packages/lib/persistence/loader/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
},
3030
"dependencies": {
3131
"org.eclipse.daanse.board.app.lib.settings.manager": "0.0.1-next.1",
32-
"org.eclipse.daanse.board.app.lib.repository.persistence": "0.0.1-next.1"
32+
"org.eclipse.daanse.board.app.lib.repository.persistence": "0.0.1-next.1",
33+
"org.eclipse.daanse.board.app.lib.core": "0.0.1-next.1"
3334
}
3435
}

0 commit comments

Comments
 (0)