{"version":3,"file":"xxmachina-components-routes-transformer.mjs","sources":["../../../../../packages/@xxmachina/components/src/lib/routes/transformer/transformer.routes.ts","../../../../../packages/@xxmachina/components/src/lib/routes/transformer/xxmachina-components-routes-transformer.ts"],"sourcesContent":["import { computed, effect, inject } from '@angular/core';\nimport { Routes } from '@angular/router';\nimport { buildColumns, injectIndexFormBuilder } from '@ng-atomic/components/organisms/table';\nimport { applyToInput, provideEffect } from '@ng-atomic/core';\nimport { Spec } from '@xxmachina/common/domain/models';\nimport { QueryPage, QueryPageStore } from '@xxmachina/components/pages/query';\nimport { AppService } from '@xxmachina/components/services/app';\n\nenum ActionId {\n  RUN_TESTS = 'Run Tests',\n  RUN_TEST = 'Run Test',\n  CREATE_SPEC = 'Add Spec',\n  UPDATE_SPEC = 'Update Spec',\n  DELETE_SPEC = 'Delete Spec',\n}\n\nexport const routes: Routes = [\n  {\n    path: '',\n    component: QueryPage,\n    data: {\n      queryId: 'yCWbCvBV6gTknUI2h5nA',\n    },\n    // loadChildren: () => import('./pages/pages.routes'),\n    providers: [\n      QueryPageStore.provideForCustomPage(),\n      QueryPageStore.DI.provideConfig(() => config => ({\n        ...config,\n        childrenKey: 'children',\n        style: {\n          ...config.style,\n          width: `var(--page-width-lv2)`,\n        },\n      })),\n      QueryPageStore.Initializer.provide((store) => {\n        const fb = injectIndexFormBuilder();\n        const form = fb.build({columns: buildColumns(['id', 'inputJson', 'outputJson', '__actions'])});\n        applyToInput(store, 'form', form);\n      }),\n      QueryPageStore.Initializer.provide((store)=> {\n        const transformer = computed(() => store.itemsMap()?.['transformers']?.items?.[0] ?? null);\n        effect(() => applyToInput(store, 'title', transformer()?.id ?? undefined));\n      }),\n      QueryPageStore.Initializer.provide((store) => {\n        const navEndActions = computed(() => [[\n          { id: ActionId.RUN_TESTS, name: 'Run Tests', icon: 'play_arrow' },\n          { id: ActionId.CREATE_SPEC, name: 'Create Spec', icon: 'add' },\n        ]]);\n        effect(() => applyToInput(store, 'navEndActions', navEndActions()));\n      }),\n      QueryPageStore.Initializer.provide((store) => {\n        const itemActions = computed(() => {\n          return (item: Spec) => [\n            { id: ActionId.UPDATE_SPEC, name: 'Update Spec', icon: 'edit', payload: item },\n            { id: ActionId.DELETE_SPEC, name: 'Delete Spec', icon: 'delete', payload: item },\n            { id: ActionId.RUN_TEST, name: 'Run Test', icon: 'play_arrow', payload: item },\n          ];\n        });\n        effect(() => applyToInput(store, 'itemActions', itemActions()));\n      }),\n      provideEffect(ActionId.RUN_TESTS, () => {\n        const store = inject(QueryPageStore);\n        const transformer = computed(() => store.itemsMap()?.['transformers']?.items?.[0] ?? null);\n        const specs = computed(() => store.itemsMap()?.['specs']?.items ?? []);\n        const app = inject(AppService);\n\n        return () => {\n          app.transformer.runTests(transformer(), specs()).then((result => {\n            if (!result.every(result => result.isEqual)) throw new Error('Test failed');\n            app.snackBar.open('Test All Passed');\n          })).catch((error) => {\n            console.error('[TransformerRoutes] error:', error);\n            app.snackBar.open(`Error: ${error.message}`);\n          });\n        };\n      }),\n      provideEffect(ActionId.RUN_TEST, () => {\n        const store = inject(QueryPageStore);\n        const transformer = computed(() => store.itemsMap()?.['transformers']?.items?.[0] ?? null);\n        const app = inject(AppService);\n\n        return (item) => {\n          app.transformer.runTest(transformer(), item).then((result => {\n            if (!result.isEqual) throw new Error('Test failed');\n            app.snackBar.open('Test Passed');\n          })).catch((error) => {\n            console.error('[TransformerRoutes] error:', error);\n            app.snackBar.open(`Error: ${error.message}`);\n          });\n        };\n      }),\n    ],\n  }\n];","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}