@xxmachina/components 19.12.3 → 19.12.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-pages-query.mjs","sources":["../tmp-esm2022/pages/query/interfaces/action-id.js","../tmp-esm2022/pages/query/utils/items-map.builder.js","../tmp-esm2022/pages/query/query-action.reducer.js","../tmp-esm2022/pages/query/providers/command-effects.provider.js","../tmp-esm2022/pages/query/providers/editing-effects.provider.js","../tmp-esm2022/pages/query/providers/table-effects.provider.js","../tmp-esm2022/pages/query/providers/navigation-effects.provider.js","../tmp-esm2022/pages/query/providers/config.provider.js","../tmp-esm2022/pages/query/providers/index.js","../tmp-esm2022/pages/query/query-page.store.js","../tmp-esm2022/pages/query/query-page.component.js","../tmp-esm2022/pages/query/query.page.js","../tmp-esm2022/pages/query/xxmachina-components-pages-query.js"],"sourcesContent":["export var ActionId;\n(function (ActionId) {\n ActionId[\"NAVIGATE_TO_IFRAME\"] = \"NAVIGATE TO IFRAME\";\n ActionId[\"TOGGLE_PAGE\"] = \"\\u5168\\u4F53\\u8868\\u793A\";\n ActionId[\"TOGGLE_VARIABLES_FORM\"] = \"\\u5909\\u6570\\u30D5\\u30A9\\u30FC\\u30E0\\u306E\\u8868\\u793A\\u5207\\u66FF\";\n ActionId[\"ADD\"] = \"\\u8FFD\\u52A0\";\n ActionId[\"DETAIL\"] = \"\\u8A73\\u7D30\";\n})(ActionId || (ActionId = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvaW50ZXJmYWNlcy9hY3Rpb24taWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFNWDtBQU5ELFdBQVksUUFBUTtJQUNsQixxREFBeUMsQ0FBQTtJQUN6QyxvREFBb0IsQ0FBQTtJQUNwQix3R0FBcUMsQ0FBQTtJQUNyQyxnQ0FBVSxDQUFBO0lBQ1YsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyxRQUFRLEtBQVIsUUFBUSxRQU1uQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFjdGlvbklkIHtcbiAgTkFWSUdBVEVfVE9fSUZSQU1FID0gJ05BVklHQVRFIFRPIElGUkFNRScsXG4gIFRPR0dMRV9QQUdFID0gJ+WFqOS9k+ihqOekuicsXG4gIFRPR0dMRV9WQVJJQUJMRVNfRk9STSA9ICflpInmlbDjg5Xjgqnjg7zjg6Djga7ooajnpLrliIfmm78nLFxuICBBREQgPSAn6L+95YqgJyxcbiAgREVUQUlMID0gJ+ips+e0sCcsXG59XG4iXX0=","import { omitBy } from 'lodash-es';\n/**\n * ItemsMapを構築する\n */\nexport function buildItemsMap(itemsResult = {}, itemsLengthResult = {}) {\n return Object.entries(itemsResult).reduce((acc, [key, items]) => ({\n ...acc,\n [key]: {\n items,\n itemsLength: itemsLengthResult[key] ?? items.length,\n }\n }), {});\n}\n/**\n * クエリ結果からItemsMapを構築する\n */\nexport function buildItemsMapFromResult(result = {}) {\n console.debug('[DEBUG] result:', result);\n const data = omitBy(result, (_, key) => key.startsWith('_'));\n if (Array.isArray(data)) {\n return buildItemsMap({ default: data });\n }\n else if (data && typeof data === 'object' && 'items' in data) {\n const itemsMap = buildItemsMap({ default: data.items }, { default: data?.itemsLength });\n return itemsMap;\n }\n else {\n const itemsResult = {};\n const itemsLengthResult = {};\n Object.entries(data).forEach(([key, value]) => {\n if (key.endsWith('Length')) {\n itemsLengthResult[key.replace('Length', '')] = value;\n }\n else {\n itemsResult[key] = value;\n }\n });\n return buildItemsMap(itemsResult, itemsLengthResult);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtbWFwLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS91dGlscy9pdGVtcy1tYXAuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsY0FBcUMsRUFBRSxFQUN2QyxvQkFBNEMsRUFBRTtJQUU5QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLEdBQUcsR0FBRztRQUNOLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDTCxLQUFLO1lBQ0wsV0FBVyxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNO1NBQ3BEO0tBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxTQUFvRSxFQUFFO0lBRXRFLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUU3RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLGFBQWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7U0FBTSxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9ELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FDNUIsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQWMsRUFBRSxFQUNoQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBcUIsRUFBRSxDQUN6QyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFdBQVcsR0FBMEIsRUFBRSxDQUFDO1FBQzlDLE1BQU0saUJBQWlCLEdBQTJCLEVBQUUsQ0FBQztRQUNyRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBZSxDQUFDO1lBQ2pFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBYyxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sYUFBYSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlbXNNYXAgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL19pbmRleCc7XG5pbXBvcnQgeyBvbWl0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG4vKipcbiAqIEl0ZW1zTWFw44KS5qeL56+J44GZ44KLXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEl0ZW1zTWFwKFxuICBpdGVtc1Jlc3VsdDogUmVjb3JkPHN0cmluZywgYW55W10+ID0ge30sXG4gIGl0ZW1zTGVuZ3RoUmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge30sXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGl0ZW1zUmVzdWx0KS5yZWR1Y2UoKGFjYywgW2tleSwgaXRlbXNdKSA9PiAoe1xuICAgIC4uLmFjYyxcbiAgICBba2V5XToge1xuICAgICAgaXRlbXMsXG4gICAgICBpdGVtc0xlbmd0aDogaXRlbXNMZW5ndGhSZXN1bHRba2V5XSA/PyBpdGVtcy5sZW5ndGgsXG4gICAgfVxuICB9KSwge30pO1xufVxuXG4vKipcbiAqIOOCr+OCqOODque1kOaenOOBi+OCiUl0ZW1zTWFw44KS5qeL56+J44GZ44KLXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEl0ZW1zTWFwRnJvbVJlc3VsdChcbiAgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gJiBSZWNvcmQ8YCR7c3RyaW5nfUxlbmd0aGAsIG51bWJlcj4gPSB7fSxcbik6IEl0ZW1zTWFwPGFueT4ge1xuICBjb25zb2xlLmRlYnVnKCdbREVCVUddIHJlc3VsdDonLCByZXN1bHQpO1xuICBjb25zdCBkYXRhID0gb21pdEJ5KHJlc3VsdCwgKF8sIGtleSkgPT4ga2V5LnN0YXJ0c1dpdGgoJ18nKSk7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICByZXR1cm4gYnVpbGRJdGVtc01hcCh7IGRlZmF1bHQ6IGRhdGEgfSk7XG4gIH0gZWxzZSBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgJ2l0ZW1zJyBpbiBkYXRhKSB7XG4gICAgY29uc3QgaXRlbXNNYXAgPSBidWlsZEl0ZW1zTWFwKFxuICAgICAgeyBkZWZhdWx0OiBkYXRhLml0ZW1zIGFzIGFueVtdIH0sXG4gICAgICB7IGRlZmF1bHQ6IGRhdGE/Lml0ZW1zTGVuZ3RoIGFzIG51bWJlciB9XG4gICAgKTtcbiAgICByZXR1cm4gaXRlbXNNYXA7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgaXRlbXNSZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueVtdPiA9IHt9O1xuICAgIGNvbnN0IGl0ZW1zTGVuZ3RoUmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XG4gICAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoa2V5LmVuZHNXaXRoKCdMZW5ndGgnKSkge1xuICAgICAgICBpdGVtc0xlbmd0aFJlc3VsdFtrZXkucmVwbGFjZSgnTGVuZ3RoJywgJycpXSA9IHZhbHVlIGFzIG51bWJlcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW1zUmVzdWx0W2tleV0gPSB2YWx1ZSBhcyBhbnlbXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYnVpbGRJdGVtc01hcChpdGVtc1Jlc3VsdCwgaXRlbXNMZW5ndGhSZXN1bHQpO1xuICB9XG59XG4iXX0=","import { Injectable, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport * as i0 from \"@angular/core\";\nexport class QueryActionReducer {\n action = signal(null);\n action$ = toObservable(this.action);\n dispatch(action) {\n this.action.set(action);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryActionReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryActionReducer, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryActionReducer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYWN0aW9uLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS9xdWVyeS1hY3Rpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBSTFELE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsTUFBTSxHQUFHLE1BQU0sQ0FBUyxJQUFJLENBQUMsQ0FBQztJQUM5QixPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU3QyxRQUFRLENBQUMsTUFBYztRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO3VHQU5VLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUXVlcnlBY3Rpb25SZWR1Y2VyIHtcbiAgcmVhZG9ubHkgYWN0aW9uID0gc2lnbmFsPEFjdGlvbj4obnVsbCk7XG4gIHJlYWRvbmx5IGFjdGlvbiQgPSB0b09ic2VydmFibGUodGhpcy5hY3Rpb24pO1xuXG4gIGRpc3BhdGNoKGFjdGlvbjogQWN0aW9uKSB7XG4gICAgdGhpcy5hY3Rpb24uc2V0KGFjdGlvbik7XG4gIH1cbn1cbiJdfQ==","import { inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { provideEffect } from '@ng-atomic/core';\nimport { injectHasNext } from '@ng-atomic/common/utils';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { flatten } from 'flat';\nimport { omitBy } from 'lodash-es';\n/**\n * コマンド実行のEffectプロバイダー\n */\nexport function provideCommandExecuteEffect() {\n return [\n provideEffect(CommandService.ActionId.EXECUTE_COMMAND, () => {\n const commandService = inject(CommandService);\n return async (payload) => {\n const app = inject(AppService);\n const obj = omitBy(payload.body, (value) => typeof value === undefined);\n const command = inject(CommandService).getCommand(payload.command.id);\n console.debug('[QueryPage] payload:', payload);\n if (payload.options?.confirm && !(await payload.options?.confirm())) {\n app.snackBar.open('キャンセルされました。');\n return;\n }\n app.loading.await(() => {\n return commandService.execute(command, obj).then(() => {\n app.snackBar.open('成功しました。');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(`エラー: ${error.message}`);\n });\n });\n };\n }),\n ];\n}\n/**\n * コマンドナビゲーションのEffectプロバイダー\n */\nexport function provideCommandNavigateEffect() {\n return [\n provideEffect(CommandService.ActionId.NAVIGATE_TO_COMMAND_PAGE, () => {\n const app = inject(AppService);\n const route = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return (payload) => {\n const flat = flatten({\n data: { id: payload.body?.id },\n queryId: payload?.options?.queryId\n });\n const _flat = omitBy(flat, (value) => value === undefined);\n app.router.navigate(['commands', { skip: true }, payload.command.id, _flat], {\n relativeTo: route,\n replaceUrl: hasNext(),\n });\n };\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1lZmZlY3RzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvcHJvdmlkZXJzL2NvbW1hbmQtZWZmZWN0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxPQUFPO1FBQ0wsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUMxRCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUMsT0FBTyxLQUFLLEVBQUUsT0FBa0MsRUFBRSxFQUFFO2dCQUNsRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUNwRSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDakMsT0FBTztnQkFDVCxDQUFDO2dCQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtvQkFDckIsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUNwRCxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDL0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JCLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7b0JBQzdDLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsT0FBTztRQUNMLGFBQWEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtZQUNuRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sT0FBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxPQUFrQyxFQUFFLEVBQUU7Z0JBQzVDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBaUI7b0JBQ25DLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtvQkFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztpQkFDbkMsQ0FBQyxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDM0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQzNFLFVBQVUsRUFBRSxLQUFLO29CQUNqQixVQUFVLEVBQUUsT0FBTyxFQUFFO2lCQUN0QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHByb3ZpZGVFZmZlY3QgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0SGFzTmV4dCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvYXBwJztcbmltcG9ydCB7IENvbW1hbmRBY3Rpb25QYXlsb2FkIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvY29tbWFuZCc7XG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSAnZmxhdCc7XG5pbXBvcnQgeyBvbWl0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG4vKipcbiAqIOOCs+ODnuODs+ODieWun+ihjOOBrkVmZmVjdOODl+ODreODkOOCpOODgOODvFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbW1hbmRFeGVjdXRlRWZmZWN0KCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHByb3ZpZGVFZmZlY3QoQ29tbWFuZFNlcnZpY2UuQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5ELCAoKSA9PiB7XG4gICAgICBjb25zdCBjb21tYW5kU2VydmljZSA9IGluamVjdChDb21tYW5kU2VydmljZSk7XG4gICAgICByZXR1cm4gYXN5bmMgKHBheWxvYWQ6IENvbW1hbmRBY3Rpb25QYXlsb2FkPGFueT4pID0+IHtcbiAgICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgICBjb25zdCBvYmogPSBvbWl0QnkocGF5bG9hZC5ib2R5LCAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgY29tbWFuZCA9IGluamVjdChDb21tYW5kU2VydmljZSkuZ2V0Q29tbWFuZChwYXlsb2FkLmNvbW1hbmQuaWQpO1xuICAgICAgICBjb25zb2xlLmRlYnVnKCdbUXVlcnlQYWdlXSBwYXlsb2FkOicsIHBheWxvYWQpO1xuICAgICAgICBpZiAocGF5bG9hZC5vcHRpb25zPy5jb25maXJtICYmICEoYXdhaXQgcGF5bG9hZC5vcHRpb25zPy5jb25maXJtKCkpKSB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+OCreODo+ODs+OCu+ODq+OBleOCjOOBvuOBl+OBn+OAgicpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBhcHAubG9hZGluZy5hd2FpdCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvbW1hbmRTZXJ2aWNlLmV4ZWN1dGUoY29tbWFuZCwgb2JqKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfmiJDlip/jgZfjgb7jgZfjgZ/jgIInKTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oYOOCqOODqeODvDogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSksXG4gIF07XG59XG5cbi8qKlxuICog44Kz44Oe44Oz44OJ44OK44OT44Ky44O844K344On44Oz44GuRWZmZWN044OX44Ot44OQ44Kk44OA44O8XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29tbWFuZE5hdmlnYXRlRWZmZWN0KCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHByb3ZpZGVFZmZlY3QoQ29tbWFuZFNlcnZpY2UuQWN0aW9uSWQuTkFWSUdBVEVfVE9fQ09NTUFORF9QQUdFLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICBjb25zdCBoYXNOZXh0ID0gaW5qZWN0SGFzTmV4dCgpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkOiBDb21tYW5kQWN0aW9uUGF5bG9hZDxhbnk+KSA9PiB7XG4gICAgICAgIGNvbnN0IGZsYXQgPSBmbGF0dGVuPG9iamVjdCwgb2JqZWN0Pih7XG4gICAgICAgICAgZGF0YTogeyBpZDogcGF5bG9hZC5ib2R5Py5pZCB9LFxuICAgICAgICAgIHF1ZXJ5SWQ6IHBheWxvYWQ/Lm9wdGlvbnM/LnF1ZXJ5SWRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IF9mbGF0ID0gb21pdEJ5KGZsYXQsICh2YWx1ZSkgPT4gdmFsdWUgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUoWydjb21tYW5kcycsIHsgc2tpcDogdHJ1ZSB9LCBwYXlsb2FkLmNvbW1hbmQuaWQsIF9mbGF0XSwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHJvdXRlLFxuICAgICAgICAgIHJlcGxhY2VVcmw6IGhhc05leHQoKSxcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pLFxuICBdO1xufVxuIl19","import { inject } from '@angular/core';\nimport { provideEffect } from '@ng-atomic/core';\nimport { EditingStateManager } from '@ng-atomic/common';\nimport { ValueCellAtomStore } from '@ng-atomic/components/atoms/value-cell';\n/**\n * 編集状態管理のEffectプロバイダー\n */\nexport function provideEditingStateEffects() {\n return [\n provideEffect(ValueCellAtomStore.ActionId.START_EDIT, () => {\n const editingStateManager = inject(EditingStateManager);\n return (payload) => {\n editingStateManager.startEditing(payload.rowId, payload.columnId);\n };\n }),\n provideEffect(ValueCellAtomStore.ActionId.END_EDIT, () => {\n const editingStateManager = inject(EditingStateManager);\n return (payload) => {\n setTimeout(() => editingStateManager.stopEditing(payload.rowId, payload.columnId), 0);\n };\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGluZy1lZmZlY3RzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvcHJvdmlkZXJzL2VkaXRpbmctZWZmZWN0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU1RTs7R0FFRztBQUNILE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsT0FBTztRQUNMLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUN6RCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sQ0FBQyxPQUF3RCxFQUFFLEVBQUU7Z0JBQ2xFLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7UUFDRixhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUN4RCxPQUFPLENBQUMsT0FBK0MsRUFBRSxFQUFFO2dCQUN6RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUVmZmVjdCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBFZGl0aW5nU3RhdGVNYW5hZ2VyIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24nO1xuaW1wb3J0IHsgVmFsdWVDZWxsQXRvbVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2F0b21zL3ZhbHVlLWNlbGwnO1xuXG4vKipcbiAqIOe3qOmbhueKtuaFi+euoeeQhuOBrkVmZmVjdOODl+ODreODkOOCpOODgOODvFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUVkaXRpbmdTdGF0ZUVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgcHJvdmlkZUVmZmVjdChWYWx1ZUNlbGxBdG9tU3RvcmUuQWN0aW9uSWQuU1RBUlRfRURJVCwgKCkgPT4ge1xuICAgICAgY29uc3QgZWRpdGluZ1N0YXRlTWFuYWdlciA9IGluamVjdChFZGl0aW5nU3RhdGVNYW5hZ2VyKTtcbiAgICAgIHJldHVybiAocGF5bG9hZDogeyByb3dJZDogc3RyaW5nOyBjb2x1bW5JZDogc3RyaW5nOyBpdGVtPzogYW55IH0pID0+IHtcbiAgICAgICAgZWRpdGluZ1N0YXRlTWFuYWdlci5zdGFydEVkaXRpbmcocGF5bG9hZC5yb3dJZCwgcGF5bG9hZC5jb2x1bW5JZCk7XG4gICAgICB9O1xuICAgIH0pLFxuICAgIHByb3ZpZGVFZmZlY3QoVmFsdWVDZWxsQXRvbVN0b3JlLkFjdGlvbklkLkVORF9FRElULCAoKSA9PiB7XG4gICAgICBjb25zdCBlZGl0aW5nU3RhdGVNYW5hZ2VyID0gaW5qZWN0KEVkaXRpbmdTdGF0ZU1hbmFnZXIpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkPzogeyByb3dJZD86IHN0cmluZzsgY29sdW1uSWQ/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVkaXRpbmdTdGF0ZU1hbmFnZXIuc3RvcEVkaXRpbmcocGF5bG9hZC5yb3dJZCwgcGF5bG9hZC5jb2x1bW5JZCksIDApO1xuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcbn1cbiJdfQ==","import { inject } from '@angular/core';\nimport { provideEffect } from '@ng-atomic/core';\nimport { ValueCellAtomStore } from '@ng-atomic/components/atoms/value-cell';\nimport { TableOrganism } from '@ng-atomic/components/organisms/table';\n/**\n * テーブルセル値変更のEffectプロバイダー\n */\nexport function provideTableCellValueChangeEffect(storeToken, handlerFactory, optionsOrColumns) {\n return provideEffect(ValueCellAtomStore.ActionId.UPDATE_VALUE, (injector) => {\n const normalizedOptions = Array.isArray(optionsOrColumns)\n ? { columns: optionsOrColumns }\n : (optionsOrColumns || {});\n const defaultEquals = (current, next) => current === next;\n const equalsFn = normalizedOptions.equals || defaultEquals;\n const handler = handlerFactory(injector);\n return (action) => {\n const { context, next, current, setValue } = action;\n const name = context.name;\n if (normalizedOptions.columns?.length > 0 && !normalizedOptions.columns.includes(name)) {\n return;\n }\n if (equalsFn(current, next, name)) {\n return;\n }\n const change = {\n item: context.item,\n name: name,\n current: current,\n next: next,\n rowIndex: context.position?.row ?? 0,\n columnId: context.name\n };\n handler(change, setValue);\n };\n });\n}\n/**\n * テーブルオートフィルのEffectプロバイダー\n */\nexport function provideTableAutofillEffect(storeToken, handlerFactory) {\n return provideEffect(TableOrganism.ActionId.AUTOFILL_COMPLETE, (injector) => {\n const handler = handlerFactory(injector);\n const store = inject(storeToken);\n return async (payload) => {\n if (!payload.contexts) {\n console.warn('No autofill contexts provided');\n return;\n }\n const { sourceContext, targetContexts } = payload.contexts;\n const sourceItem = sourceContext.item;\n const columnName = sourceContext.name;\n const sourceValue = sourceItem[columnName];\n const affectedItems = [];\n targetContexts.forEach(({ position, context }, index) => {\n const targetItem = context.item;\n let newValue = sourceValue;\n if (typeof sourceValue === 'number') {\n newValue = sourceValue + index + 1;\n }\n else if (typeof sourceValue === 'string') {\n const dateMatch = sourceValue.match(/^(\\d{4}-\\d{2}-\\d{2})$/);\n if (dateMatch) {\n const sourceDate = new Date(dateMatch[1]);\n const newDate = new Date(sourceDate);\n newDate.setDate(sourceDate.getDate() + index + 1);\n newValue = newDate.toISOString().split('T')[0];\n }\n }\n affectedItems.push({\n item: targetItem,\n newValue,\n rowIndex: position.row\n });\n });\n const autofillChange = {\n sourceItem,\n sourceValue,\n columnName,\n columnIndex: payload.sourcePosition.col,\n affectedItems,\n range: payload.targetRange\n };\n await handler(autofillChange);\n };\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZWZmZWN0cy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL3F1ZXJ5L3Byb3ZpZGVycy90YWJsZS1lZmZlY3RzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXNCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3RFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlDQUFpQyxDQUMvQyxVQUFlLEVBQ2YsY0FHUyxFQUNULGdCQUEwRDtJQUUxRCxPQUFPLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBa0IsRUFBRSxFQUFFO1FBQ3BGLE1BQU0saUJBQWlCLEdBQThCLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7WUFDbEYsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFO1lBQy9CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLE1BQU0sYUFBYSxHQUFHLENBQUMsT0FBWSxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQztRQUNwRSxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDO1FBQzNELE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6QyxPQUFPLENBQUMsTUFBMEIsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxPQUFP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LENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNqRCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDakIsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVE7b0JBQ1IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHO2lCQUN2QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sY0FBYyxHQUEyQjtnQkFDN0MsVUFBVTtnQkFDVixXQUFXO2dCQUNYLFVBQVU7Z0JBQ1YsV0FBVyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRztnQkFDdkMsYUFBYTtnQkFDYixLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVc7YUFDM0IsQ0FBQztZQUVGLE1BQU0sT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0b3IsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlRWZmZWN0IH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IFZhbHVlQ2VsbEF0b21TdG9yZSwgVXBkYXRlVmFsdWVQYXlsb2FkIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2F0b21zL3ZhbHVlLWNlbGwnO1xuaW1wb3J0IHsgVGFibGVPcmdhbmlzbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvdGFibGUnO1xuaW1wb3J0IHsgVGFibGVDZWxsVmFsdWVDaGFuZ2UsIFRhYmxlQXV0b2ZpbGxDaGFuZ2UsIFRhYmxlQ2VsbENoYW5nZU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiDjg4bjg7zjg5bjg6vjgrvjg6vlgKTlpInmm7Tjga5FZmZlY3Tjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUYWJsZUNlbGxWYWx1ZUNoYW5nZUVmZmVjdDxUID0gYW55PihcbiAgc3RvcmVUb2tlbjogYW55LFxuICBoYW5kbGVyRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gKFxuICAgIGNoYW5nZTogVGFibGVDZWxsVmFsdWVDaGFuZ2U8VD4sXG4gICAgc2V0VmFsdWU6ICh2YWx1ZTogYW55KSA9PiB2b2lkXG4gICkgPT4gdm9pZCxcbiAgb3B0aW9uc09yQ29sdW1ucz86IFRhYmxlQ2VsbENoYW5nZU9wdGlvbnM8VD4gfCAoa2V5b2YgVClbXSxcbik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoVmFsdWVDZWxsQXRvbVN0b3JlLkFjdGlvbklkLlVQREFURV9WQUxVRSwgKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRPcHRpb25zOiBUYWJsZUNlbGxDaGFuZ2VPcHRpb25zPFQ+ID0gQXJyYXkuaXNBcnJheShvcHRpb25zT3JDb2x1bW5zKVxuICAgICAgPyB7IGNvbHVtbnM6IG9wdGlvbnNPckNvbHVtbnMgfVxuICAgICAgOiAob3B0aW9uc09yQ29sdW1ucyB8fCB7fSk7XG5cbiAgICBjb25zdCBkZWZhdWx0RXF1YWxzID0gKGN1cnJlbnQ6IGFueSwgbmV4dDogYW55KSA9PiBjdXJyZW50ID09PSBuZXh0O1xuICAgIGNvbnN0IGVxdWFsc0ZuID0gbm9ybWFsaXplZE9wdGlvbnMuZXF1YWxzIHx8IGRlZmF1bHRFcXVhbHM7XG4gICAgY29uc3QgaGFuZGxlciA9IGhhbmRsZXJGYWN0b3J5KGluamVjdG9yKTtcblxuICAgIHJldHVybiAoYWN0aW9uOiBVcGRhdGVWYWx1ZVBheWxvYWQpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGV4dCwgbmV4dCwgY3VycmVudCwgc2V0VmFsdWUgfSA9IGFjdGlvbjtcbiAgICAgIGNvbnN0IG5hbWUgPSBjb250ZXh0Lm5hbWUgYXMga2V5b2YgVDtcblxuICAgICAgaWYgKG5vcm1hbGl6ZWRPcHRpb25zLmNvbHVtbnM/Lmxlbmd0aCA+IDAgJiYgIW5vcm1hbGl6ZWRPcHRpb25zLmNvbHVtbnMuaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXF1YWxzRm4oY3VycmVudCwgbmV4dCwgbmFtZSBhcyBzdHJpbmcpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2hhbmdlOiBUYWJsZUNlbGxWYWx1ZUNoYW5nZTxUPiA9IHtcbiAgICAgICAgaXRlbTogY29udGV4dC5pdGVtLFxuICAgICAgICBuYW1lOiBuYW1lIGFzIHN0cmluZyxcbiAgICAgICAgY3VycmVudDogY3VycmVudCxcbiAgICAgICAgbmV4dDogbmV4dCxcbiAgICAgICAgcm93SW5kZXg6IGNvbnRleHQucG9zaXRpb24/LnJvdyA/PyAwLFxuICAgICAgICBjb2x1bW5JZDogY29udGV4dC5uYW1lXG4gICAgICB9O1xuICAgICAgaGFuZGxlcihjaGFuZ2UsIHNldFZhbHVlKTtcbiAgICB9O1xuICB9KTtcbn1cblxuLyoqXG4gKiDjg4bjg7zjg5bjg6vjgqrjg7zjg4jjg5XjgqPjg6vjga5FZmZlY3Tjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUYWJsZUF1dG9maWxsRWZmZWN0PFQgPSBhbnk+KFxuICBzdG9yZVRva2VuOiBhbnksXG4gIGhhbmRsZXJGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiAoXG4gICAgYXV0b2ZpbGw6IFRhYmxlQXV0b2ZpbGxDaGFuZ2U8VD5cbiAgKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoVGFibGVPcmdhbmlzbS5BY3Rpb25JZC5BVVRPRklMTF9DT01QTEVURSwgKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGNvbnN0IGhhbmRsZXIgPSBoYW5kbGVyRmFjdG9yeShpbmplY3Rvcik7XG4gICAgY29uc3Qgc3RvcmUgPSBpbmplY3Qoc3RvcmVUb2tlbik7XG5cbiAgICByZXR1cm4gYXN5bmMgKHBheWxvYWQ6IHsgc291cmNlUG9zaXRpb246IGFueTsgdGFyZ2V0UmFuZ2U6IGFueTsgY29udGV4dHM/OiBhbnkgfSkgPT4ge1xuICAgICAgaWYgKCFwYXlsb2FkLmNvbnRleHRzKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignTm8gYXV0b2ZpbGwgY29udGV4dHMgcHJvdmlkZWQnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNvdXJjZUNvbnRleHQsIHRhcmdldENvbnRleHRzIH0gPSBwYXlsb2FkLmNvbnRleHRzO1xuICAgICAgY29uc3Qgc291cmNlSXRlbSA9IHNvdXJjZUNvbnRleHQuaXRlbSBhcyBUO1xuICAgICAgY29uc3QgY29sdW1uTmFtZSA9IHNvdXJjZUNvbnRleHQubmFtZTtcbiAgICAgIGNvbnN0IHNvdXJjZVZhbHVlID0gKHNvdXJjZUl0ZW0gYXMgYW55KVtjb2x1bW5OYW1lXTtcblxuICAgICAgY29uc3QgYWZmZWN0ZWRJdGVtczogQXJyYXk8eyBpdGVtOiBUOyBuZXdWYWx1ZTogYW55OyByb3dJbmRleDogbnVtYmVyIH0+ID0gW107XG5cbiAgICAgIHRhcmdldENvbnRleHRzLmZvckVhY2goKHsgcG9zaXRpb24sIGNvbnRleHQgfTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldEl0ZW0gPSBjb250ZXh0Lml0ZW0gYXMgVDtcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gc291cmNlVmFsdWU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzb3VyY2VWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICBuZXdWYWx1ZSA9IHNvdXJjZVZhbHVlICsgaW5kZXggKyAxO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzb3VyY2VWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCBkYXRlTWF0Y2ggPSBzb3VyY2VWYWx1ZS5tYXRjaCgvXihcXGR7NH0tXFxkezJ9LVxcZHsyfSkkLyk7XG4gICAgICAgICAgaWYgKGRhdGVNYXRjaCkge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlRGF0ZSA9IG5ldyBEYXRlKGRhdGVNYXRjaFsxXSk7XG4gICAgICAgICAgICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoc291cmNlRGF0ZSk7XG4gICAgICAgICAgICBuZXdEYXRlLnNldERhdGUoc291cmNlRGF0ZS5nZXREYXRlKCkgKyBpbmRleCArIDEpO1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBuZXdEYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhZmZlY3RlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgIGl0ZW06IHRhcmdldEl0ZW0sXG4gICAgICAgICAgbmV3VmFsdWUsXG4gICAgICAgICAgcm93SW5kZXg6IHBvc2l0aW9uLnJvd1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBhdXRvZmlsbENoYW5nZTogVGFibGVBdXRvZmlsbENoYW5nZTxUPiA9IHtcbiAgICAgICAgc291cmNlSXRlbSxcbiAgICAgICAgc291cmNlVmFsdWUsXG4gICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgIGNvbHVtbkluZGV4OiBwYXlsb2FkLnNvdXJjZVBvc2l0aW9uLmNvbCxcbiAgICAgICAgYWZmZWN0ZWRJdGVtcyxcbiAgICAgICAgcmFuZ2U6IHBheWxvYWQudGFyZ2V0UmFuZ2VcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IGhhbmRsZXIoYXV0b2ZpbGxDaGFuZ2UpO1xuICAgIH07XG4gIH0pO1xufVxuIl19","import { inject, effect, ElementRef } from '@angular/core';\nimport { provideEffect } from '@ng-atomic/core';\nimport { injectNavigationExtras } from '@ng-atomic/common/utils';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { IndexTemplateStore } from '@ng-atomic/components/templates/_index';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { ActionId } from '../interfaces';\n/**\n * ナビゲーションモード切替のEffectプロバイダー\n */\nexport function provideNavModeToggleEffect(storeToken) {\n return provideEffect(ActionId.TOGGLE_VARIABLES_FORM, () => {\n const store = inject(storeToken);\n return () => {\n store.navMode.set(store.navMode() === 'collapsed' ? 'expanded' : 'collapsed');\n };\n }, { scopes: ['root', 'host'] });\n}\n/**\n * カラム幅変更のEffectプロバイダー\n */\nexport function provideChangeWidthEffect(storeToken) {\n return [\n provideEffect(IndexTemplateStore.ActionId.TABLE_COLUMN_WIDTH_CHANGE, () => {\n const store = inject(storeToken);\n return (payload) => {\n const form = store.itemsMap()?.[payload.key]?.form || store.form();\n form.patchValue({ columns: { map: { [payload.columnName]: { width: payload.width } } } });\n };\n }),\n ];\n}\n/**\n * ナビゲーションEffectプロバイダー\n */\nexport function provideNavigateEffects(storeToken) {\n return [\n provideEffect(storeToken.ActionId.ADD, () => {\n const app = inject(AppService);\n const extras = injectNavigationExtras();\n return (item) => app.router.navigate(['new'], extras());\n }),\n provideEffect(storeToken.ActionId.DETAIL, () => {\n const app = inject(AppService);\n const extras = injectNavigationExtras();\n return (item) => app.router.navigate([item.id], extras());\n }),\n ];\n}\n/**\n * デバッグスタイルのInitializerプロバイダー\n */\nexport function provideDebugStyleInitializer(storeToken) {\n return [\n storeToken.DI.provideInitializer((store) => {\n const debug = inject(MachinaDevService);\n const el = inject(ElementRef);\n effect(() => el.nativeElement.style.setProperty('--is-debug', debug.isDevMode() ? '1' : '0'));\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1lZmZlY3RzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvcHJvdmlkZXJzL25hdmlnYXRpb24tZWZmZWN0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxVQUFlO0lBQ3hELE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7UUFDeEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBUSxDQUFDO1FBQ3hDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUM7SUFDSixDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxVQUFlO0lBQ3RELE9BQU87UUFDTCxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtZQUN4RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFRLENBQUM7WUFDeEMsT0FBTyxDQUFDLE9BQTJELEVBQUUsRUFBRTtnQkFDckUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1RixDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFVBQWU7SUFDcEQsT0FBTztRQUNMLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7WUFDMUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQztRQUNGLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFVBQWU7SUFDMUQsT0FBTztRQUNMLFVBQVUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUM5QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN4QyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFByb3ZpZGVyLCBlZmZlY3QsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFwcGx5VG9JbnB1dCwgcHJvdmlkZUVmZmVjdCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROYXZpZ2F0aW9uRXh0cmFzIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9hcHAnO1xuaW1wb3J0IHsgSW5kZXhUZW1wbGF0ZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9faW5kZXgnO1xuaW1wb3J0IHsgTWFjaGluYURldlNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvZGVidWcnO1xuaW1wb3J0IHsgQWN0aW9uSWQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiDjg4rjg5PjgrLjg7zjgrfjg6fjg7Pjg6Ljg7zjg4nliIfmm7/jga5FZmZlY3Tjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVOYXZNb2RlVG9nZ2xlRWZmZWN0KHN0b3JlVG9rZW46IGFueSk6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQWN0aW9uSWQuVE9HR0xFX1ZBUklBQkxFU19GT1JNLCAoKSA9PiB7XG4gICAgY29uc3Qgc3RvcmUgPSBpbmplY3Qoc3RvcmVUb2tlbikgYXMgYW55O1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBzdG9yZS5uYXZNb2RlLnNldChzdG9yZS5uYXZNb2RlKCkgPT09ICdjb2xsYXBzZWQnID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnKTtcbiAgICB9O1xuICB9LCB7IHNjb3BlczogWydyb290JywgJ2hvc3QnXSB9KTtcbn1cblxuLyoqXG4gKiDjgqvjg6njg6DluYXlpInmm7Tjga5FZmZlY3Tjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDaGFuZ2VXaWR0aEVmZmVjdChzdG9yZVRva2VuOiBhbnkpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICBwcm92aWRlRWZmZWN0KEluZGV4VGVtcGxhdGVTdG9yZS5BY3Rpb25JZC5UQUJMRV9DT0xVTU5fV0lEVEhfQ0hBTkdFLCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChzdG9yZVRva2VuKSBhcyBhbnk7XG4gICAgICByZXR1cm4gKHBheWxvYWQ6IHsgY29sdW1uTmFtZTogc3RyaW5nLCBrZXk6IG51bWJlciwgd2lkdGg6IG51bWJlciB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSBzdG9yZS5pdGVtc01hcCgpPy5bcGF5bG9hZC5rZXldPy5mb3JtIHx8IHN0b3JlLmZvcm0oKTtcbiAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHsgY29sdW1uczogeyBtYXA6IHsgW3BheWxvYWQuY29sdW1uTmFtZV06IHsgd2lkdGg6IHBheWxvYWQud2lkdGggfSB9IH0gfSk7XG4gICAgICB9O1xuICAgIH0pLFxuICBdO1xufVxuXG4vKipcbiAqIOODiuODk+OCsuODvOOCt+ODp+ODs0VmZmVjdOODl+ODreODkOOCpOODgOODvFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5hdmlnYXRlRWZmZWN0cyhzdG9yZVRva2VuOiBhbnkpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICBwcm92aWRlRWZmZWN0KHN0b3JlVG9rZW4uQWN0aW9uSWQuQURELCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCBleHRyYXMgPSBpbmplY3ROYXZpZ2F0aW9uRXh0cmFzKCk7XG4gICAgICByZXR1cm4gKGl0ZW06IGFueSkgPT4gYXBwLnJvdXRlci5uYXZpZ2F0ZShbJ25ldyddLCBleHRyYXMoKSk7XG4gICAgfSksXG4gICAgcHJvdmlkZUVmZmVjdChzdG9yZVRva2VuLkFjdGlvbklkLkRFVEFJTCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgZXh0cmFzID0gaW5qZWN0TmF2aWdhdGlvbkV4dHJhcygpO1xuICAgICAgcmV0dXJuIChpdGVtOiBhbnkpID0+IGFwcC5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0uaWRdLCBleHRyYXMoKSk7XG4gICAgfSksXG4gIF07XG59XG5cbi8qKlxuICog44OH44OQ44OD44Kw44K544K/44Kk44Or44GuSW5pdGlhbGl6ZXLjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEZWJ1Z1N0eWxlSW5pdGlhbGl6ZXIoc3RvcmVUb2tlbjogYW55KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgc3RvcmVUb2tlbi5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGRlYnVnID0gaW5qZWN0KE1hY2hpbmFEZXZTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgICAgZWZmZWN0KCgpID0+IGVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0taXMtZGVidWcnLCBkZWJ1Zy5pc0Rldk1vZGUoKSA/ICcxJyA6ICcwJykpO1xuICAgIH0pLFxuICBdO1xufVxuIl19","import { computed, effect, inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { applyToInput, createAction } from '@ng-atomic/core';\nimport { injectHasNext, injectRouteData } from '@ng-atomic/common/utils';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { ActionId } from '../interfaces';\nimport { QueryFeature } from '@xxmachina/components/features/query';\n/**\n * ItemActionsをルートデータから設定するプロバイダー\n */\nexport function provideItemActionsFromRouteDataInitializer(storeToken, key = 'itemActionsCommandIds') {\n return storeToken.DI.provideInitializer((store) => {\n const idOrObjectArray = injectRouteData(key);\n const service = inject(CommandService);\n const itemActions = (item) => {\n const params = (idOrObjectArray() ?? []).map((idOrObject) => ({\n id: typeof idOrObject === 'string' ? idOrObject : idOrObject.id,\n options: typeof idOrObject === 'string' ? {} : idOrObject.options,\n }));\n const builder = service.getActionBuilder().setItem(item);\n const actions = params.map(param => builder.setOptions(param.options).buildAction(param.id));\n console.debug('actions:', actions);\n return actions;\n };\n applyToInput(store, 'itemActions', itemActions);\n });\n}\n/**\n * NavEndActionsをルートデータから設定するプロバイダー\n */\nexport function provideNavEndActionsFromRouteDataInitializer(storeToken, key = 'navEndActionsCommandIds') {\n return storeToken.DI.provideInitializer((store) => {\n const ids = injectRouteData(key);\n const queryId = injectRouteData('navEndActionsCommandQueryId');\n const service = inject(CommandService);\n const route = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n effect(() => {\n const actions = service.getActionBuilder()\n .setFilterIds(ids())\n .setOptions({ queryId: queryId() })\n .buildActions(undefined, { relativeTo: route, replaceUrl: hasNext() });\n applyToInput(store, 'navEndActions', [\n store.variablesFormDisplayed() ? {\n id: ActionId.TOGGLE_VARIABLES_FORM,\n icon: store.navMode() === 'collapsed' ? 'expand_less' : 'expand_more'\n } : null,\n actions?.length ? {\n id: 'open_command_menu',\n icon: 'more_vert',\n children: [...actions],\n } : null,\n ].filter(Boolean));\n });\n });\n}\n/**\n * NavEndActionsの基本Initializerプロバイダー\n */\nexport function provideNavEndActionsInitializer(storeToken) {\n return storeToken.DI.provideInitializer((store) => {\n const navEndActions = computed(() => [\n store.variablesFormDisplayed() ? {\n id: ActionId.TOGGLE_VARIABLES_FORM,\n icon: store.navMode() === 'collapsed' ? 'expand_less' : 'expand_more'\n } : null,\n ].filter(Boolean));\n effect(() => applyToInput(store, 'navEndActions', [\n ...navEndActions(),\n ...store.additionalNavEndActions()\n ]));\n });\n}\n/**\n * NavEndActionsのInitializerプロバイダー一式\n */\nexport function provideNavEndActionsInitializers(storeToken) {\n return [\n storeToken.DI.provideInitializer((store) => {\n effect(() => {\n const icon = store.style()?.width === 'var(--page-width-lv3)' ? 'close_fullscreen' : 'open_in_full';\n const navEndActions = [\n createAction(QueryFeature.ActionId.クエリの実行, null, { icon: 'play_arrow' }).create(),\n store.variablesFormDisplayed() ? createAction(ActionId.TOGGLE_PAGE, null, { icon }).create() : null,\n createAction(QueryFeature.ActionId.クエリの更新, null, { icon: 'save' }).create(),\n ].filter(Boolean);\n applyToInput(store, 'navEndActions', navEndActions);\n });\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvcHJvdmlkZXJzL2NvbmZpZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFlLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsMENBQTBDLENBQ3hELFVBQWUsRUFDZixHQUFHLEdBQUcsdUJBQXVCO0lBRTdCLE9BQU8sVUFBVSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQ3JELE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBeUQsR0FBRyxDQUFDLENBQUM7UUFDckcsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sV0FBVyxHQUFnQixDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1RCxFQUFFLEVBQUUsT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUMvRCxPQUFPLEVBQUUsT0FBTyxVQUFVLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPO2FBQ2xFLENBQUMsQ0FBQyxDQUFDO1lBQ0osTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0YsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQyxDQUFDO1FBQ0YsWUFBWSxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsNENBQTRDLENBQzFELFVBQWUsRUFDZixHQUFHLEdBQUcseUJBQXlCO0lBRS9CLE9BQU8sVUFBVSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQ3JELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBNkMsR0FBRyxDQUFDLENBQUM7UUFDN0UsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFTLDZCQUE2QixDQUFDLENBQUM7UUFDdkUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUVoQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFO2lCQUN2QyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7aUJBQ25CLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDO2lCQUNsQyxZQUFZLENBQUMsU0FBUyxFQUFFLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLFlBQVksQ0FBQyxLQUFLLEVBQUUsZUFBZSxFQUFFO2dCQUNuQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQy9CLEVBQUUsRUFBRSxRQUFRLENBQUMscUJBQXFCO29CQUNsQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhO2lCQUN0RSxDQUFDLENBQUMsQ0FBQyxJQUFJO2dCQUNSLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO29CQUNoQixFQUFFLEVBQUUsbUJBQW1CO29CQUN2QixJQUFJLEVBQUUsV0FBVztvQkFDakIsUUFBUSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7aUJBQ3ZCLENBQUMsQ0FBQyxDQUFDLElBQUk7YUFDVCxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsK0JBQStCLENBQUMsVUFBZTtJQUM3RCxPQUFPLFVBQVUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtRQUNyRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbkMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixFQUFFLEVBQUUsUUFBUSxDQUFDLHFCQUFxQjtnQkFDbEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsYUFBYTthQUN0RSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ1QsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUVuQixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUU7WUFDaEQsR0FBRyxhQUFhLEVBQUU7WUFDbEIsR0FBRyxLQUFLLENBQUMsdUJBQXVCLEVBQUU7U0FDbkMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxVQUFlO0lBQzlELE9BQU87UUFDTCxVQUFVLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDOUMsTUFBTSxDQUFDLEdBQUcsRUFBRTtnQkFDVixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsS0FBSyxLQUFLLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDO2dCQUNwRyxNQUFNLGFBQWEsR0FBRztvQkFDcEIsWUFBWSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtvQkFDakYsS0FBSyxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7b0JBQ25HLFlBQVksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7aUJBQzVFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQixZQUFZLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYXBwbHlUb0lucHV0LCBjcmVhdGVBY3Rpb24sIEl0ZW1BY3Rpb25zIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IGluamVjdEhhc05leHQsIGluamVjdFJvdXRlRGF0YSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmRTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2NvbW1hbmQnO1xuaW1wb3J0IHsgQWN0aW9uSWQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFF1ZXJ5RmVhdHVyZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9mZWF0dXJlcy9xdWVyeSc7XG5cbi8qKlxuICogSXRlbUFjdGlvbnPjgpLjg6vjg7zjg4jjg4fjg7zjgr/jgYvjgonoqK3lrprjgZnjgovjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVJdGVtQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcihcbiAgc3RvcmVUb2tlbjogYW55LFxuICBrZXkgPSAnaXRlbUFjdGlvbnNDb21tYW5kSWRzJ1xuKTogUHJvdmlkZXIge1xuICByZXR1cm4gc3RvcmVUb2tlbi5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlOiBhbnkpID0+IHtcbiAgICBjb25zdCBpZE9yT2JqZWN0QXJyYXkgPSBpbmplY3RSb3V0ZURhdGE8c3RyaW5nW10gfCB7IGlkOiBzdHJpbmcsIG9wdGlvbnM6IHsgcXVlcnlJZDogYW55IH0gfVtdPihrZXkpO1xuICAgIGNvbnN0IHNlcnZpY2UgPSBpbmplY3QoQ29tbWFuZFNlcnZpY2UpO1xuICAgIGNvbnN0IGl0ZW1BY3Rpb25zOiBJdGVtQWN0aW9ucyA9IChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBwYXJhbXMgPSAoaWRPck9iamVjdEFycmF5KCkgPz8gW10pLm1hcCgoaWRPck9iamVjdCkgPT4gKHtcbiAgICAgICAgaWQ6IHR5cGVvZiBpZE9yT2JqZWN0ID09PSAnc3RyaW5nJyA/IGlkT3JPYmplY3QgOiBpZE9yT2JqZWN0LmlkLFxuICAgICAgICBvcHRpb25zOiB0eXBlb2YgaWRPck9iamVjdCA9PT0gJ3N0cmluZycgPyB7fSA6IGlkT3JPYmplY3Qub3B0aW9ucyxcbiAgICAgIH0pKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBzZXJ2aWNlLmdldEFjdGlvbkJ1aWxkZXIoKS5zZXRJdGVtKGl0ZW0pO1xuICAgICAgY29uc3QgYWN0aW9ucyA9IHBhcmFtcy5tYXAocGFyYW0gPT4gYnVpbGRlci5zZXRPcHRpb25zKHBhcmFtLm9wdGlvbnMpLmJ1aWxkQWN0aW9uKHBhcmFtLmlkKSk7XG4gICAgICBjb25zb2xlLmRlYnVnKCdhY3Rpb25zOicsIGFjdGlvbnMpO1xuICAgICAgcmV0dXJuIGFjdGlvbnM7XG4gICAgfTtcbiAgICBhcHBseVRvSW5wdXQoc3RvcmUsICdpdGVtQWN0aW9ucycsIGl0ZW1BY3Rpb25zKTtcbiAgfSk7XG59XG5cbi8qKlxuICogTmF2RW5kQWN0aW9uc+OCkuODq+ODvOODiOODh+ODvOOCv+OBi+OCieioreWumuOBmeOCi+ODl+ODreODkOOCpOODgOODvFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5hdkVuZEFjdGlvbnNGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIoXG4gIHN0b3JlVG9rZW46IGFueSxcbiAga2V5ID0gJ25hdkVuZEFjdGlvbnNDb21tYW5kSWRzJ1xuKTogUHJvdmlkZXIge1xuICByZXR1cm4gc3RvcmVUb2tlbi5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlOiBhbnkpID0+IHtcbiAgICBjb25zdCBpZHMgPSBpbmplY3RSb3V0ZURhdGE8KHN0cmluZyB8IHsgaWQ6IHN0cmluZywgYXV0bzogYm9vbGVhbiB9KVtdPihrZXkpO1xuICAgIGNvbnN0IHF1ZXJ5SWQgPSBpbmplY3RSb3V0ZURhdGE8c3RyaW5nPignbmF2RW5kQWN0aW9uc0NvbW1hbmRRdWVyeUlkJyk7XG4gICAgY29uc3Qgc2VydmljZSA9IGluamVjdChDb21tYW5kU2VydmljZSk7XG4gICAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIGNvbnN0IGhhc05leHQgPSBpbmplY3RIYXNOZXh0KCk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgYWN0aW9ucyA9IHNlcnZpY2UuZ2V0QWN0aW9uQnVpbGRlcigpXG4gICAgICAgIC5zZXRGaWx0ZXJJZHMoaWRzKCkpXG4gICAgICAgIC5zZXRPcHRpb25zKHsgcXVlcnlJZDogcXVlcnlJZCgpIH0pXG4gICAgICAgIC5idWlsZEFjdGlvbnModW5kZWZpbmVkLCB7IHJlbGF0aXZlVG86IHJvdXRlLCByZXBsYWNlVXJsOiBoYXNOZXh0KCkgfSk7XG4gICAgICBhcHBseVRvSW5wdXQoc3RvcmUsICduYXZFbmRBY3Rpb25zJywgW1xuICAgICAgICBzdG9yZS52YXJpYWJsZXNGb3JtRGlzcGxheWVkKCkgPyB7XG4gICAgICAgICAgaWQ6IEFjdGlvbklkLlRPR0dMRV9WQVJJQUJMRVNfRk9STSxcbiAgICAgICAgICBpY29uOiBzdG9yZS5uYXZNb2RlKCkgPT09ICdjb2xsYXBzZWQnID8gJ2V4cGFuZF9sZXNzJyA6ICdleHBhbmRfbW9yZSdcbiAgICAgICAgfSA6IG51bGwsXG4gICAgICAgIGFjdGlvbnM/Lmxlbmd0aCA/IHtcbiAgICAgICAgICBpZDogJ29wZW5fY29tbWFuZF9tZW51JyxcbiAgICAgICAgICBpY29uOiAnbW9yZV92ZXJ0JyxcbiAgICAgICAgICBjaGlsZHJlbjogWy4uLmFjdGlvbnNdLFxuICAgICAgICB9IDogbnVsbCxcbiAgICAgIF0uZmlsdGVyKEJvb2xlYW4pKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogTmF2RW5kQWN0aW9uc+OBruWfuuacrEluaXRpYWxpemVy44OX44Ot44OQ44Kk44OA44O8XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTmF2RW5kQWN0aW9uc0luaXRpYWxpemVyKHN0b3JlVG9rZW46IGFueSk6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHN0b3JlVG9rZW4uREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZTogYW55KSA9PiB7XG4gICAgY29uc3QgbmF2RW5kQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IFtcbiAgICAgIHN0b3JlLnZhcmlhYmxlc0Zvcm1EaXNwbGF5ZWQoKSA/IHtcbiAgICAgICAgaWQ6IEFjdGlvbklkLlRPR0dMRV9WQVJJQUJMRVNfRk9STSxcbiAgICAgICAgaWNvbjogc3RvcmUubmF2TW9kZSgpID09PSAnY29sbGFwc2VkJyA/ICdleHBhbmRfbGVzcycgOiAnZXhwYW5kX21vcmUnXG4gICAgICB9IDogbnVsbCxcbiAgICBdLmZpbHRlcihCb29sZWFuKSk7XG5cbiAgICBlZmZlY3QoKCkgPT4gYXBwbHlUb0lucHV0KHN0b3JlLCAnbmF2RW5kQWN0aW9ucycsIFtcbiAgICAgIC4uLm5hdkVuZEFjdGlvbnMoKSxcbiAgICAgIC4uLnN0b3JlLmFkZGl0aW9uYWxOYXZFbmRBY3Rpb25zKClcbiAgICBdKSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIE5hdkVuZEFjdGlvbnPjga5Jbml0aWFsaXplcuODl+ODreODkOOCpOODgOODvOS4gOW8j1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5hdkVuZEFjdGlvbnNJbml0aWFsaXplcnMoc3RvcmVUb2tlbjogYW55KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgc3RvcmVUb2tlbi5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlOiBhbnkpID0+IHtcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGljb24gPSBzdG9yZS5zdHlsZSgpPy53aWR0aCA9PT0gJ3ZhcigtLXBhZ2Utd2lkdGgtbHYzKScgPyAnY2xvc2VfZnVsbHNjcmVlbicgOiAnb3Blbl9pbl9mdWxsJztcbiAgICAgICAgY29uc3QgbmF2RW5kQWN0aW9ucyA9IFtcbiAgICAgICAgICBjcmVhdGVBY3Rpb24oUXVlcnlGZWF0dXJlLkFjdGlvbklkLuOCr+OCqOODquOBruWun+ihjCwgbnVsbCwgeyBpY29uOiAncGxheV9hcnJvdycgfSkuY3JlYXRlKCksXG4gICAgICAgICAgc3RvcmUudmFyaWFibGVzRm9ybURpc3BsYXllZCgpID8gY3JlYXRlQWN0aW9uKEFjdGlvbklkLlRPR0dMRV9QQUdFLCBudWxsLCB7IGljb24gfSkuY3JlYXRlKCkgOiBudWxsLFxuICAgICAgICAgIGNyZWF0ZUFjdGlvbihRdWVyeUZlYXR1cmUuQWN0aW9uSWQu44Kv44Ko44Oq44Gu5pu05pawLCBudWxsLCB7IGljb246ICdzYXZlJyB9KS5jcmVhdGUoKSxcbiAgICAgICAgXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ25hdkVuZEFjdGlvbnMnLCBuYXZFbmRBY3Rpb25zKTtcbiAgICAgIH0pO1xuICAgIH0pLFxuICBdO1xufVxuIl19","// Effect providers (split files)\nexport * from './command-effects.provider';\nexport * from './editing-effects.provider';\nexport * from './table-effects.provider';\nexport * from './navigation-effects.provider';\n// Config providers\nexport * from './config.provider';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS9wcm92aWRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsbUJBQW1CO0FBQ25CLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFZmZlY3QgcHJvdmlkZXJzIChzcGxpdCBmaWxlcylcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZC1lZmZlY3RzLnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdGluZy1lZmZlY3RzLnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtZWZmZWN0cy5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24tZWZmZWN0cy5wcm92aWRlcic7XG5cbi8vIENvbmZpZyBwcm92aWRlcnNcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLnByb3ZpZGVyJztcbiJdfQ==","var QueryPageStore_1;\nimport { __decorate, __metadata } from \"tslib\";\nimport { Directive, effect, inject, input, signal, computed, untracked } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { FormGroup } from '@angular/forms';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { _computed, applyToInput, computeFake, InjectableComponent, provideEffect, TokenizedType } from '@ng-atomic/core';\nimport { EditingStateManager } from '@ng-atomic/common';\nimport { getRawValue$, getValue$, injectHasNext, injectRouteData, injectRouteSkip, injectUnflattenRouteParam } from '@ng-atomic/common/utils';\nimport { injectNavStartActionsV2, makeDI } from '@ng-atomic/common/services/ui';\nimport { makeInitializerConfig } from '@ng-atomic/common/services/initializer';\nimport { injectOne } from '@ng-atomic/common/stores/entities';\nimport { RouterOutletFrameStore } from '@ng-atomic/components/frames/router-outlet';\nimport { buildColumns, injectIndexFormBuilder } from '@ng-atomic/components/organisms/table';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { QueryFeature, QueryGraphqlVariablesFormFeature } from '@xxmachina/components/features/query';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { isEqual, merge } from 'lodash-es';\nimport { ActionId } from './interfaces';\nimport { buildItemsMapFromResult } from './utils';\nimport { provideEditingStateEffects, provideCommandExecuteEffect, provideCommandNavigateEffect, provideNavModeToggleEffect, provideChangeWidthEffect, provideNavigateEffects, provideDebugStyleInitializer, provideTableCellValueChangeEffect as _provideTableCellValueChangeEffect, provideTableAutofillEffect as _provideTableAutofillEffect, provideItemActionsFromRouteDataInitializer, provideNavEndActionsFromRouteDataInitializer, provideNavEndActionsInitializer, provideNavEndActionsInitializers, } from './providers';\nimport * as i0 from \"@angular/core\";\nexport { ActionId };\nlet QueryPageStore = class QueryPageStore extends InjectableComponent {\n static { QueryPageStore_1 = this; }\n static ActionId = ActionId;\n static DI = makeDI(QueryPageStore_1, () => {\n return () => ({\n type: 'table',\n style: { width: 'var(--page-width-lv2)' },\n title: null,\n titleEditable: true,\n childrenKey: 'children',\n additionalNavEndActions: [],\n navEndActions: [],\n additionalColumns: (items) => [],\n itemActions: (item => [{ id: QueryPageStore_1.ActionId.DETAIL, icon: 'open_in_new', name: '詳細', payload: item }]),\n pageSizeOptions: [50, 100, 300, 500, 1000],\n });\n }, ['@xxmachina/components', 'pages', 'query']);\n /** @deprecated use `QueryPageStore.DI.provideInitializer` instead */\n static Initializer = makeInitializerConfig(QueryPageStore_1);\n static provideDefault() {\n return [\n QueryPageStore_1.DI.provideConfig(),\n QueryPageStore_1.provideDefaultInitializes(),\n QueryPageStore_1.provideDefaultEffects(),\n provideDebugStyleInitializer(QueryPageStore_1),\n QueryFeature.provideDefault(),\n ];\n }\n static provideCustom() {\n return [\n QueryPageStore_1.DI.provideConfig(),\n QueryPageStore_1.provideDefaultInitializes(),\n QueryPageStore_1.provideDefaultEffects(),\n provideDebugStyleInitializer(QueryPageStore_1),\n QueryPageStore_1.provideNonEditableConfig(),\n QueryPageStore_1.provideQueryFromRouteDataQueryIdInitializer(),\n QueryPageStore_1.provideAutoTogglePageInitializer(),\n QueryFeature.provideDefault(),\n ];\n }\n static provideDefaultV2() {\n return [\n QueryPageStore_1.provideCustom(),\n QueryPageStore_1.DI.Config.provide(() => config => ({ ...config })),\n QueryPageStore_1.provideTitleFromQueryResultInitializer(),\n QueryPageStore_1.provideQueryFromRouteDataInitializer(),\n QueryPageStore_1.providePaginationInitializer(),\n ];\n }\n /** @deprecated use `provideCustom` instead */\n static provideForCustomPage() {\n return this.provideCustom();\n }\n static provideNonEditableConfig() {\n return QueryPageStore_1.DI.provideConfig(() => {\n return config => ({\n ...config,\n titleEditable: false,\n style: { ...config.style, width: `var(--page-width-lv3)` },\n });\n });\n }\n static provideDefaultInitializes() {\n return [\n QueryPageStore_1.provideAutoTogglePageInitializer(),\n QueryPageStore_1.provideVariablesFormValueFromMatrixParamsInitializer(),\n ];\n }\n static provideNavEndActionsInitializers() {\n return [\n ...provideNavEndActionsInitializers(QueryPageStore_1),\n QueryPageStore_1.provideVariablesFromRouteParamDataInitializer(),\n ];\n }\n static provideVariablesFromRouteParamDataInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer(store => {\n const data = injectUnflattenRouteParam('data');\n effect(() => {\n const variables = store.variablesFormValue();\n const merged = merge(variables, data());\n store.feature.form.patchValue({ graphql: { variablesJson: JSON.stringify(merged, null, 2) } });\n });\n }),\n ];\n }\n static provideVariablesFromRouteParamInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer(store => {\n const data = injectUnflattenRouteParam();\n effect(() => {\n const variables = store.variablesFormValue();\n const merged = merge(variables, data());\n store.feature.form.patchValue({ graphql: { variablesJson: JSON.stringify(merged, null, 2) } });\n });\n }),\n ];\n }\n static provideAutoTogglePageInitializer() {\n return [\n provideEffect(RouterOutletFrameStore.ActionId.DEACTIVATED, () => {\n const store = inject(QueryPageStore_1);\n const style = computeFake(store.style());\n return () => applyToInput(store, 'style', { ...style, paddingLeft: `0` });\n }),\n QueryPageStore_1.DI.provideInitializer((store) => {\n const hasNext = injectHasNext();\n const style = computeFake(store.style());\n effect(() => {\n if (hasNext()) {\n setTimeout(() => {\n if (style.width === 'var(--page-width-lv3)') {\n applyToInput(store, 'style', { ...style, paddingLeft: 'var(--page-width-lv1)' });\n }\n }, 300);\n }\n });\n }),\n ];\n }\n static provideVariablesFormValueFromMatrixParamsInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n const data = injectUnflattenRouteParam('data');\n effect(() => store.variablesForm()?.patchValue({ ...data() }));\n }),\n ];\n }\n static provideQueryFromRouteDataQueryIdInitializer(key = 'queryId') {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n const query = injectOne(Query, { id: injectRouteData(key) });\n const _query = computed(() => query(), { equal: (pre, cur) => JSON.stringify(pre) === JSON.stringify(cur) });\n effect(() => {\n console.debug('[QueryPageStore] query:', _query());\n applyToInput(store, 'query', _query());\n });\n }),\n ];\n }\n static provideQueryFromRouteDataInitializer(key = 'query') {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n const query = injectRouteData(key);\n effect(() => applyToInput(store, 'query', query()));\n }),\n ];\n }\n static provideItemActionsFromRouteDataInitializer(key = 'itemActionsCommandIds') {\n return provideItemActionsFromRouteDataInitializer(QueryPageStore_1, key);\n }\n static provideNavEndActionsFromRouteDataInitializer(key = 'navEndActionsCommandIds') {\n return provideNavEndActionsFromRouteDataInitializer(QueryPageStore_1, key);\n }\n static provideDefaultEffects() {\n return [\n QueryPageStore_1.provideCommandEffects(),\n provideNavModeToggleEffect(QueryPageStore_1),\n provideChangeWidthEffect(QueryPageStore_1),\n QueryFeature.provideDefaultEffects(),\n provideNavigateEffects(QueryPageStore_1),\n provideEditingStateEffects(),\n ];\n }\n static provideEditingStateEffects() {\n return provideEditingStateEffects();\n }\n static provideCommandEffects() {\n return [...provideCommandExecuteEffect(), ...provideCommandNavigateEffect()];\n }\n static provideCommandExecuteEffect() {\n return provideCommandExecuteEffect();\n }\n static provideCommandNavigateEffect() {\n return provideCommandNavigateEffect();\n }\n static provideNavModeToggleEffect() {\n return provideNavModeToggleEffect(QueryPageStore_1);\n }\n static provideNavEndActionsInitializer() {\n return provideNavEndActionsInitializer(QueryPageStore_1);\n }\n static provideChangeWidthEffect() {\n return provideChangeWidthEffect(QueryPageStore_1);\n }\n static provideNavigateEffects() {\n return provideNavigateEffects(QueryPageStore_1);\n }\n static providePaginationInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n effect(() => {\n const columns = store.columnNames();\n const sticky = store.sticky();\n const current = untracked(() => store.form())?.value;\n const form = store.indexFormBuilder.build({\n columns: buildColumns([...columns, '__actions'], sticky),\n page: { size: current?.page?.size ?? 100, index: current?.page?.index ?? 0 }\n });\n applyToInput(store, 'form', form);\n });\n }),\n QueryPageStore_1.DI.provideInitializer((store) => {\n const page = derivedAsync(() => getValue$(store.form().get(['page'])), { initialValue: { index: 0, size: 100 } });\n const pagination = computed(() => {\n const _page = page() || { index: 0, size: 100 };\n return { offset: _page.index * _page.size, limit: _page.size };\n });\n effect(() => store.variablesForm()?.patchValue(pagination()));\n }),\n ];\n }\n static provideTableCellValueChangeEffect(handlerFactory, optionsOrColumns) {\n return _provideTableCellValueChangeEffect(QueryPageStore_1, handlerFactory, optionsOrColumns);\n }\n static provideTableAutofillEffect(handlerFactory) {\n return _provideTableAutofillEffect(QueryPageStore_1, handlerFactory);\n }\n static provideDebugStyleInitializer() {\n return provideDebugStyleInitializer(QueryPageStore_1);\n }\n static provideTitleFromQueryResultInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n effect(() => applyToInput(store, 'title', store.feature.result()?.__meta__?.title));\n }),\n ];\n }\n // Instance members\n app = inject(AppService);\n config = QueryPageStore_1.DI.injectConfig();\n feature = inject(QueryFeature);\n variablesFormFeature = inject(QueryGraphqlVariablesFormFeature);\n indexFormBuilder = injectIndexFormBuilder();\n navMode = signal('collapsed');\n editingStateManager = inject(EditingStateManager);\n style = input(_computed(() => this.config().style));\n query = input(null);\n #navStartActions = injectNavStartActionsV2();\n navStartActions = input(_computed(() => this.#navStartActions()));\n additionalNavEndActions = input(_computed(() => this.config().additionalNavEndActions));\n navEndActions = input(_computed(() => this.config().navEndActions));\n type = input(_computed(() => this.config().type));\n title = input(_computed(() => this.config().title ?? this.query()?.title));\n titleEditable = input(_computed(() => this.config().titleEditable));\n itemsMap = input(_computed(() => buildItemsMapFromResult(this.feature.result())));\n items = computed(() => this.itemsMap()[Object.keys(this.itemsMap())[0]]?.items ?? []);\n itemsLength = input(_computed(() => this.itemsMap()[Object.keys(this.itemsMap())[0]]?.itemsLength ?? 0));\n childrenKey = input(_computed(() => this.config().childrenKey));\n additionalColumns = input(_computed(() => this.config().additionalColumns));\n additionalColumnNames = input(_computed(() => this.additionalColumns()(this.items())));\n extractedColumnNames = input(_computed(() => QueryHelper.extractColumnNames(this.items(), this.childrenKey())));\n columnNames = input(_computed(() => [...this.extractedColumnNames(), ...this.additionalColumnNames()]));\n sticky = input(_computed(() => ({ stickyStart: 2, stickyEnd: 1 })));\n form = input(_computed(() => this.indexFormBuilder.build({ columns: buildColumns([...this.columnNames(), '__actions'], this.sticky()) })));\n itemActions = input(_computed(() => this.config().itemActions));\n tableTreeControl = new FlatTreeControl(n => n.level, n => n.isExpandable, { trackBy: (n) => n?.id ?? n });\n variablesForm = input(_computed(() => this.variablesFormFeature.variablesForm() ?? new FormGroup({})));\n variablesFormFieldMap = input(_computed(() => ({})));\n variablesFormValue = derivedAsync(() => getRawValue$(this.variablesForm()), { equal: isEqual });\n variablesFormValue$ = toObservable(this.variablesFormValue);\n variablesFormDisplayed = input(_computed(() => Object.keys(this.variablesFormFeature.variablesValue())?.length > 0));\n tableColumnFormFieldMap = input(_computed(() => ({})));\n getRowClass = input(_computed(() => () => ''));\n skip = injectRouteSkip();\n pageSizeOptions = input(_computed(() => this.config().pageSizeOptions));\n constructor() {\n super();\n QueryPageStore_1.DI.initialize(this);\n effect(() => this.feature.form.patchValue(this.query()));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: QueryPageStore, isStandalone: true, inputs: { style: { classPropertyName: \"style\", publicName: \"style\", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: \"query\", publicName: \"query\", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: \"navStartActions\", publicName: \"navStartActions\", isSignal: true, isRequired: false, transformFunction: null }, additionalNavEndActions: { classPropertyName: \"additionalNavEndActions\", publicName: \"additionalNavEndActions\", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: \"navEndActions\", publicName: \"navEndActions\", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, titleEditable: { classPropertyName: \"titleEditable\", publicName: \"titleEditable\", isSignal: true, isRequired: false, transformFunction: null }, itemsMap: { classPropertyName: \"itemsMap\", publicName: \"itemsMap\", isSignal: true, isRequired: false, transformFunction: null }, itemsLength: { classPropertyName: \"itemsLength\", publicName: \"itemsLength\", isSignal: true, isRequired: false, transformFunction: null }, childrenKey: { classPropertyName: \"childrenKey\", publicName: \"childrenKey\", isSignal: true, isRequired: false, transformFunction: null }, additionalColumns: { classPropertyName: \"additionalColumns\", publicName: \"additionalColumns\", isSignal: true, isRequired: false, transformFunction: null }, additionalColumnNames: { classPropertyName: \"additionalColumnNames\", publicName: \"additionalColumnNames\", isSignal: true, isRequired: false, transformFunction: null }, extractedColumnNames: { classPropertyName: \"extractedColumnNames\", publicName: \"extractedColumnNames\", isSignal: true, isRequired: false, transformFunction: null }, columnNames: { classPropertyName: \"columnNames\", publicName: \"columnNames\", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: \"sticky\", publicName: \"sticky\", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: \"form\", publicName: \"form\", isSignal: true, isRequired: false, transformFunction: null }, itemActions: { classPropertyName: \"itemActions\", publicName: \"itemActions\", isSignal: true, isRequired: false, transformFunction: null }, variablesForm: { classPropertyName: \"variablesForm\", publicName: \"variablesForm\", isSignal: true, isRequired: false, transformFunction: null }, variablesFormFieldMap: { classPropertyName: \"variablesFormFieldMap\", publicName: \"variablesFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, variablesFormDisplayed: { classPropertyName: \"variablesFormDisplayed\", publicName: \"variablesFormDisplayed\", isSignal: true, isRequired: false, transformFunction: null }, tableColumnFormFieldMap: { classPropertyName: \"tableColumnFormFieldMap\", publicName: \"tableColumnFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, getRowClass: { classPropertyName: \"getRowClass\", publicName: \"getRowClass\", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: \"pageSizeOptions\", publicName: \"pageSizeOptions\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n};\nQueryPageStore = QueryPageStore_1 = __decorate([\n TokenizedType(),\n __metadata(\"design:paramtypes\", [])\n], QueryPageStore);\nexport { QueryPageStore };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryPageStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFnZS5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL3F1ZXJ5L3F1ZXJ5LXBhZ2Uuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFzQixNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBRSxXQUFXLEVBQWdCLG1CQUFtQixFQUEyQixhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekssT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztB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LENBQUM7SUFDckgsdUJBQXVCLEdBQUcsS0FBSyxDQUFlLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxXQUFXLEdBQUcsS0FBSyxDQUF3QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFDekIsZUFBZSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFFakY7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLGdCQUFjLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzt1R0FyVFUsY0FBYzsyRkFBZCxjQUFjOztBQUFkLGNBQWM7SUFGMUIsYUFBYSxFQUFFOztHQUVILGNBQWMsQ0FzVDFCOzsyRkF0VFksY0FBYztrQkFEMUIsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgSW5qZWN0b3IsIFByb3ZpZGVyLCBzaWduYWwsIGNvbXB1dGVkLCB1bnRyYWNrZWQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IF9jb21wdXRlZCwgQWN0aW9uLCBhcHBseVRvSW5wdXQsIGNvbXB1dGVGYWtlLCBjcmVhdGVBY3Rpb24sIEluamVjdGFibGVDb21wb25lbnQsIEl0ZW1BY3Rpb25zLCBOYXZBY3Rpb25zLCBwcm92aWRlRWZmZWN0LCBUb2tlbml6ZWRUeXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEVkaXRpbmdTdGF0ZU1hbmFnZXIgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbic7XG5pbXBvcnQgeyBnZXRSYXdWYWx1ZSQsIGdldFZhbHVlJCwgaW5qZWN0SGFzTmV4dCwgaW5qZWN0Um91dGVEYXRhLCBpbmplY3RSb3V0ZVNraXAsIGluamVjdFVuZmxhdHRlblJvdXRlUGFyYW0gfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBpbmplY3ROYXZTdGFydEFjdGlvbnNWMiwgbWFrZURJIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgbWFrZUluaXRpYWxpemVyQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgaW5qZWN0T25lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc3RvcmVzL2VudGl0aWVzJztcbmltcG9ydCB7IEZvcm1GaWVsZE1hcCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL3NtYXJ0LWZpZWxkJztcbmltcG9ydCB7IEluZGV4VGVtcGxhdGVTdG9yZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvX2luZGV4JztcbmltcG9ydCB7IFJvdXRlck91dGxldEZyYW1lU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3JvdXRlci1vdXRsZXQnO1xuaW1wb3J0IHsgYnVpbGRDb2x1bW5zLCBpbmplY3RJbmRleEZvcm1CdWlsZGVyIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy90YWJsZSc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2FwcCc7XG5pbXBvcnQgeyBDb21tYW5kU2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9jb21tYW5kJztcbmltcG9ydCB7IE1hY2hpbmFEZXZTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2RlYnVnJztcbmltcG9ydCB7IFF1ZXJ5LCBRdWVyeUhlbHBlciB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlLCBRdWVyeUdyYXBocWxWYXJpYWJsZXNGb3JtRmVhdHVyZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9mZWF0dXJlcy9xdWVyeSc7XG5pbXBvcnQgeyBkZXJpdmVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2Rlcml2ZWQtYXN5bmMnO1xuaW1wb3J0IHsgaXNFcXVhbCwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBBY3Rpb25JZCwgVGFibGVDZWxsVmFsdWVDaGFuZ2UsIFRhYmxlQXV0b2ZpbGxDaGFuZ2UsIFRhYmxlQ2VsbENoYW5nZU9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYnVpbGRJdGVtc01hcEZyb21SZXN1bHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7XG4gIHByb3ZpZGVFZGl0aW5nU3RhdGVFZmZlY3RzLFxuICBwcm92aWRlQ29tbWFuZEV4ZWN1dGVFZmZlY3QsXG4gIHByb3ZpZGVDb21tYW5kTmF2aWdhdGVFZmZlY3QsXG4gIHByb3ZpZGVOYXZNb2RlVG9nZ2xlRWZmZWN0LFxuICBwcm92aWRlQ2hhbmdlV2lkdGhFZmZlY3QsXG4gIHByb3ZpZGVOYXZpZ2F0ZUVmZmVjdHMsXG4gIHByb3ZpZGVEZWJ1Z1N0eWxlSW5pdGlhbGl6ZXIsXG4gIHByb3ZpZGVUYWJsZUNlbGxWYWx1ZUNoYW5nZUVmZmVjdCBhcyBfcHJvdmlkZVRhYmxlQ2VsbFZhbHVlQ2hhbmdlRWZmZWN0LFxuICBwcm92aWRlVGFibGVBdXRvZmlsbEVmZmVjdCBhcyBfcHJvdmlkZVRhYmxlQXV0b2ZpbGxFZmZlY3QsXG4gIHByb3ZpZGVJdGVtQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcixcbiAgcHJvdmlkZU5hdkVuZEFjdGlvbnNGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIsXG4gIHByb3ZpZGVOYXZFbmRBY3Rpb25zSW5pdGlhbGl6ZXIsXG4gIHByb3ZpZGVOYXZFbmRBY3Rpb25zSW5pdGlhbGl6ZXJzLFxufSBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCB7IEFjdGlvbklkLCBUYWJsZUNlbGxWYWx1ZUNoYW5nZSwgVGFibGVBdXRvZmlsbENoYW5nZSwgVGFibGVDZWxsQ2hhbmdlT3B0aW9ucyB9O1xuXG5AVG9rZW5pemVkVHlwZSgpXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFnZVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuXG4gIHN0YXRpYyByZWFkb25seSBESSA9IG1ha2VESShRdWVyeVBhZ2VTdG9yZSwgKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiAoe1xuICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgIHN0eWxlOiA8YW55Pnsgd2lkdGg6ICd2YXIoLS1wYWdlLXdpZHRoLWx2MiknIH0sXG4gICAgICB0aXRsZTogPHN0cmluZz5udWxsLFxuICAgICAgdGl0bGVFZGl0YWJsZTogdHJ1ZSxcbiAgICAgIGNoaWxkcmVuS2V5OiAnY2hpbGRyZW4nIHNhdGlzZmllcyBzdHJpbmcsXG4gICAgICBhZGRpdGlvbmFsTmF2RW5kQWN0aW9uczogPEFjdGlvbltdPltdLFxuICAgICAgbmF2RW5kQWN0aW9uczogPE5hdkFjdGlvbnM+W10sXG4gICAgICBhZGRpdGlvbmFsQ29sdW1uczogKGl0ZW1zOiBvYmplY3RbXSkgPT4gW10gYXMgc3RyaW5nW10sXG4gICAgICBpdGVtQWN0aW9uczogKGl0ZW0gPT4gW3sgaWQ6IFF1ZXJ5UGFnZVN0b3JlLkFjdGlvbklkLkRFVEFJTCwgaWNvbjogJ29wZW5faW5fbmV3JywgbmFtZTogJ+ips+e0sCcsIHBheWxvYWQ6IGl0ZW0gfV0pIGFzIEl0ZW1BY3Rpb25zLFxuICAgICAgcGFnZVNpemVPcHRpb25zOiBbNTAsIDEwMCwgMzAwLCA1MDAsIDEwMDBdLFxuICAgIH0pO1xuICB9LCBbJ0B4eG1hY2hpbmEvY29tcG9uZW50cycsICdwYWdlcycsICdxdWVyeSddKTtcblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIGBRdWVyeVBhZ2VTdG9yZS5ESS5wcm92aWRlSW5pdGlhbGl6ZXJgIGluc3RlYWQgKi9cbiAgc3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVyID0gbWFrZUluaXRpYWxpemVyQ29uZmlnKFF1ZXJ5UGFnZVN0b3JlKTtcblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLnByb3ZpZGVDb25maWcoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXMoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgICAgcHJvdmlkZURlYnVnU3R5bGVJbml0aWFsaXplcihRdWVyeVBhZ2VTdG9yZSksXG4gICAgICBRdWVyeUZlYXR1cmUucHJvdmlkZURlZmF1bHQoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDdXN0b20oKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLnByb3ZpZGVDb25maWcoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXMoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgICAgcHJvdmlkZURlYnVnU3R5bGVJbml0aWFsaXplcihRdWVyeVBhZ2VTdG9yZSksXG4gICAgICBRdWVyeVBhZ2VTdG9yZS5wcm92aWRlTm9uRWRpdGFibGVDb25maWcoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVRdWVyeUZyb21Sb3V0ZURhdGFRdWVyeUlkSW5pdGlhbGl6ZXIoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVBdXRvVG9nZ2xlUGFnZUluaXRpYWxpemVyKCksXG4gICAgICBRdWVyeUZlYXR1cmUucHJvdmlkZURlZmF1bHQoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0VjIoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVDdXN0b20oKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLkNvbmZpZy5wcm92aWRlKCgpID0+IGNvbmZpZyA9PiAoeyAuLi5jb25maWcgfSkpLFxuICAgICAgUXVlcnlQYWdlU3RvcmUucHJvdmlkZVRpdGxlRnJvbVF1ZXJ5UmVzdWx0SW5pdGlhbGl6ZXIoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVRdWVyeUZyb21Sb3V0ZURhdGFJbml0aWFsaXplcigpLFxuICAgICAgUXVlcnlQYWdlU3RvcmUucHJvdmlkZVBhZ2luYXRpb25Jbml0aWFsaXplcigpLFxuICAgIF07XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIGBwcm92aWRlQ3VzdG9tYCBpbnN0ZWFkICovXG4gIHN0YXRpYyBwcm92aWRlRm9yQ3VzdG9tUGFnZSgpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5wcm92aWRlQ3VzdG9tKCk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZU5vbkVkaXRhYmxlQ29uZmlnKCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUNvbmZpZygoKSA9PiB7XG4gICAgICByZXR1cm4gY29uZmlnID0+ICh7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgdGl0bGVFZGl0YWJsZTogZmFsc2UsXG4gICAgICAgIHN0eWxlOiB7IC4uLmNvbmZpZy5zdHlsZSwgd2lkdGg6IGB2YXIoLS1wYWdlLXdpZHRoLWx2MylgIH0sXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEluaXRpYWxpemVzKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBRdWVyeVBhZ2VTdG9yZS5wcm92aWRlQXV0b1RvZ2dsZVBhZ2VJbml0aWFsaXplcigpLFxuICAgICAgUXVlcnlQYWdlU3RvcmUucHJvdmlkZVZhcmlhYmxlc0Zvcm1WYWx1ZUZyb21NYXRyaXhQYXJhbXNJbml0aWFsaXplcigpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZU5hdkVuZEFjdGlvbnNJbml0aWFsaXplcnMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnByb3ZpZGVOYXZFbmRBY3Rpb25zSW5pdGlhbGl6ZXJzKFF1ZXJ5UGFnZVN0b3JlKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVWYXJpYWJsZXNGcm9tUm91dGVQYXJhbURhdGFJbml0aWFsaXplcigpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVZhcmlhYmxlc0Zyb21Sb3V0ZVBhcmFtRGF0YUluaXRpYWxpemVyKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBRdWVyeVBhZ2VTdG9yZS5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoc3RvcmUgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSgnZGF0YScpO1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHN0b3JlLnZhcmlhYmxlc0Zvcm1WYWx1ZSgpO1xuICAgICAgICAgIGNvbnN0IG1lcmdlZCA9IG1lcmdlKHZhcmlhYmxlcywgZGF0YSgpKTtcbiAgICAgICAgICBzdG9yZS5mZWF0dXJlLmZvcm0ucGF0Y2hWYWx1ZSh7IGdyYXBocWw6IHsgdmFyaWFibGVzSnNvbjogSlNPTi5zdHJpbmdpZnkobWVyZ2VkLCBudWxsLCAyKSB9IH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVZhcmlhYmxlc0Zyb21Sb3V0ZVBhcmFtSW5pdGlhbGl6ZXIoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLnByb3ZpZGVJbml0aWFsaXplcihzdG9yZSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtKCk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVzID0gc3RvcmUudmFyaWFibGVzRm9ybVZhbHVlKCk7XG4gICAgICAgICAgY29uc3QgbWVyZ2VkID0gbWVyZ2UodmFyaWFibGVzLCBkYXRhKCkpO1xuICAgICAgICAgIHN0b3JlLmZlYXR1cmUuZm9ybS5wYXRjaFZhbHVlKHsgZ3JhcGhxbDogeyB2YXJpYWJsZXNKc29uOiBKU09OLnN0cmluZ2lmeShtZXJnZWQsIG51bGwsIDIpIH0gfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQXV0b1RvZ2dsZVBhZ2VJbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgcHJvdmlkZUVmZmVjdChSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlLkFjdGlvbklkLkRFQUNUSVZBVEVELCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KFF1ZXJ5UGFnZVN0b3JlKTtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSBjb21wdXRlRmFrZShzdG9yZS5zdHlsZSgpKTtcbiAgICAgICAgcmV0dXJuICgpID0+IGFwcGx5VG9JbnB1dChzdG9yZSwgJ3N0eWxlJywgeyAuLi5zdHlsZSwgcGFkZGluZ0xlZnQ6IGAwYCB9KTtcbiAgICAgIH0pLFxuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBoYXNOZXh0ID0gaW5qZWN0SGFzTmV4dCgpO1xuICAgICAgICBjb25zdCBzdHlsZSA9IGNvbXB1dGVGYWtlKHN0b3JlLnN0eWxlKCkpO1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGlmIChoYXNOZXh0KCkpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoc3R5bGUud2lkdGggPT09ICd2YXIoLS1wYWdlLXdpZHRoLWx2MyknKSB7XG4gICAgICAgICAgICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnc3R5bGUnLCB7IC4uLnN0eWxlLCBwYWRkaW5nTGVmdDogJ3ZhcigtLXBhZ2Utd2lkdGgtbHYxKScgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVZhcmlhYmxlc0Zvcm1WYWx1ZUZyb21NYXRyaXhQYXJhbXNJbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSgnZGF0YScpO1xuICAgICAgICBlZmZlY3QoKCkgPT4gc3RvcmUudmFyaWFibGVzRm9ybSgpPy5wYXRjaFZhbHVlKHsgLi4uZGF0YSgpIH0pKTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVF1ZXJ5RnJvbVJvdXRlRGF0YVF1ZXJ5SWRJbml0aWFsaXplcihrZXkgPSAncXVlcnlJZCcpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBxdWVyeSA9IGluamVjdE9uZShRdWVyeSwgeyBpZDogaW5qZWN0Um91dGVEYXRhPHN0cmluZz4oa2V5KSB9KTtcbiAgICAgICAgY29uc3QgX3F1ZXJ5ID0gY29tcHV0ZWQoKCkgPT4gcXVlcnkoKSwgeyBlcXVhbDogKHByZSwgY3VyKSA9PiBKU09OLnN0cmluZ2lmeShwcmUpID09PSBKU09OLnN0cmluZ2lmeShjdXIpIH0pO1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZGVidWcoJ1tRdWVyeVBhZ2VTdG9yZV0gcXVlcnk6JywgX3F1ZXJ5KCkpO1xuICAgICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ3F1ZXJ5JywgX3F1ZXJ5KCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVF1ZXJ5RnJvbVJvdXRlRGF0YUluaXRpYWxpemVyKGtleSA9ICdxdWVyeScpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBxdWVyeSA9IGluamVjdFJvdXRlRGF0YTxRdWVyeT4oa2V5KTtcbiAgICAgICAgZWZmZWN0KCgpID0+IGFwcGx5VG9JbnB1dChzdG9yZSwgJ3F1ZXJ5JywgcXVlcnkoKSkpO1xuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlSXRlbUFjdGlvbnNGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIoa2V5ID0gJ2l0ZW1BY3Rpb25zQ29tbWFuZElkcycpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVJdGVtQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcihRdWVyeVBhZ2VTdG9yZSwga2V5KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlTmF2RW5kQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcihrZXkgPSAnbmF2RW5kQWN0aW9uc0NvbW1hbmRJZHMnKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBwcm92aWRlTmF2RW5kQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcihRdWVyeVBhZ2VTdG9yZSwga2V5KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVDb21tYW5kRWZmZWN0cygpLFxuICAgICAgcHJvdmlkZU5hdk1vZGVUb2dnbGVFZmZlY3QoUXVlcnlQYWdlU3RvcmUpLFxuICAgICAgcHJvdmlkZUNoYW5nZVdpZHRoRWZmZWN0KFF1ZXJ5UGFnZVN0b3JlKSxcbiAgICAgIFF1ZXJ5RmVhdHVyZS5wcm92aWRlRGVmYXVsdEVmZmVjdHMoKSxcbiAgICAgIHByb3ZpZGVOYXZpZ2F0ZUVmZmVjdHMoUXVlcnlQYWdlU3RvcmUpLFxuICAgICAgcHJvdmlkZUVkaXRpbmdTdGF0ZUVmZmVjdHMoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVFZGl0aW5nU3RhdGVFZmZlY3RzKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBwcm92aWRlRWRpdGluZ1N0YXRlRWZmZWN0cygpO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDb21tYW5kRWZmZWN0cygpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gWy4uLnByb3ZpZGVDb21tYW5kRXhlY3V0ZUVmZmVjdCgpLCAuLi5wcm92aWRlQ29tbWFuZE5hdmlnYXRlRWZmZWN0KCldO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDb21tYW5kRXhlY3V0ZUVmZmVjdCgpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gcHJvdmlkZUNvbW1hbmRFeGVjdXRlRWZmZWN0KCk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUNvbW1hbmROYXZpZ2F0ZUVmZmVjdCgpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gcHJvdmlkZUNvbW1hbmROYXZpZ2F0ZUVmZmVjdCgpO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZNb2RlVG9nZ2xlRWZmZWN0KCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gcHJvdmlkZU5hdk1vZGVUb2dnbGVFZmZlY3QoUXVlcnlQYWdlU3RvcmUpO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZFbmRBY3Rpb25zSW5pdGlhbGl6ZXIoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBwcm92aWRlTmF2RW5kQWN0aW9uc0luaXRpYWxpemVyKFF1ZXJ5UGFnZVN0b3JlKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQ2hhbmdlV2lkdGhFZmZlY3QoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIHByb3ZpZGVDaGFuZ2VXaWR0aEVmZmVjdChRdWVyeVBhZ2VTdG9yZSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZU5hdmlnYXRlRWZmZWN0cygpIHtcbiAgICByZXR1cm4gcHJvdmlkZU5hdmlnYXRlRWZmZWN0cyhRdWVyeVBhZ2VTdG9yZSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVBhZ2luYXRpb25Jbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbHVtbnMgPSBzdG9yZS5jb2x1bW5OYW1lcygpO1xuICAgICAgICAgIGNvbnN0IHN0aWNreSA9IHN0b3JlLnN0aWNreSgpO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSB1bnRyYWNrZWQoKCkgPT4gc3RvcmUuZm9ybSgpKT8udmFsdWU7XG4gICAgICAgICAgY29uc3QgZm9ybSA9IHN0b3JlLmluZGV4Rm9ybUJ1aWxkZXIuYnVpbGQoe1xuICAgICAgICAgICAgY29sdW1uczogYnVpbGRDb2x1bW5zKFsuLi5jb2x1bW5zLCAnX19hY3Rpb25zJ10sIHN0aWNreSksXG4gICAgICAgICAgICBwYWdlOiB7IHNpemU6IGN1cnJlbnQ/LnBhZ2U/LnNpemUgPz8gMTAwLCBpbmRleDogY3VycmVudD8ucGFnZT8uaW5kZXggPz8gMCB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnZm9ybScsIGZvcm0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBwYWdlID0gZGVyaXZlZEFzeW5jKCgpID0+IGdldFZhbHVlJChzdG9yZS5mb3JtKCkuZ2V0KFsncGFnZSddKSksIHsgaW5pdGlhbFZhbHVlOiB7IGluZGV4OiAwLCBzaXplOiAxMDAgfSB9KTtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBfcGFnZSA9IHBhZ2UoKSB8fCB7IGluZGV4OiAwLCBzaXplOiAxMDAgfTtcbiAgICAgICAgICByZXR1cm4geyBvZmZzZXQ6IF9wYWdlLmluZGV4ICogX3BhZ2Uuc2l6ZSwgbGltaXQ6IF9wYWdlLnNpemUgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiBzdG9yZS52YXJpYWJsZXNGb3JtKCk/LnBhdGNoVmFsdWUocGFnaW5hdGlvbigpKSk7XG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVUYWJsZUNlbGxWYWx1ZUNoYW5nZUVmZmVjdDxUID0gYW55PihcbiAgICBoYW5kbGVyRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gKGNoYW5nZTogVGFibGVDZWxsVmFsdWVDaGFuZ2U8VD4sIHNldFZhbHVlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkgPT4gdm9pZCxcbiAgICBvcHRpb25zT3JDb2x1bW5zPzogVGFibGVDZWxsQ2hhbmdlT3B0aW9uczxUPiB8IChrZXlvZiBUKVtdLFxuICApOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIF9wcm92aWRlVGFibGVDZWxsVmFsdWVDaGFuZ2VFZmZlY3QoUXVlcnlQYWdlU3RvcmUsIGhhbmRsZXJGYWN0b3J5LCBvcHRpb25zT3JDb2x1bW5zKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlVGFibGVBdXRvZmlsbEVmZmVjdDxUID0gYW55PihcbiAgICBoYW5kbGVyRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gKGF1dG9maWxsOiBUYWJsZUF1dG9maWxsQ2hhbmdlPFQ+KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAgKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBfcHJvdmlkZVRhYmxlQXV0b2ZpbGxFZmZlY3QoUXVlcnlQYWdlU3RvcmUsIGhhbmRsZXJGYWN0b3J5KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVidWdTdHlsZUluaXRpYWxpemVyKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBwcm92aWRlRGVidWdTdHlsZUluaXRpYWxpemVyKFF1ZXJ5UGFnZVN0b3JlKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlVGl0bGVGcm9tUXVlcnlSZXN1bHRJbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBlZmZlY3QoKCkgPT4gYXBwbHlUb0lucHV0KHN0b3JlLCAndGl0bGUnLCBzdG9yZS5mZWF0dXJlLnJlc3VsdCgpPy5fX21ldGFfXz8udGl0bGUpKTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICAvLyBJbnN0YW5jZSBtZW1iZXJzXG4gIHByb3RlY3RlZCByZWFkb25seSBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBRdWVyeVBhZ2VTdG9yZS5ESS5pbmplY3RDb25maWcoKTtcbiAgcmVhZG9ubHkgZmVhdHVyZSA9IGluamVjdChRdWVyeUZlYXR1cmUpO1xuICByZWFkb25seSB2YXJpYWJsZXNGb3JtRmVhdHVyZSA9IGluamVjdChRdWVyeUdyYXBocWxWYXJpYWJsZXNGb3JtRmVhdHVyZSk7XG4gIHJlYWRvbmx5IGluZGV4Rm9ybUJ1aWxkZXIgPSBpbmplY3RJbmRleEZvcm1CdWlsZGVyKCk7XG5cbiAgcmVhZG9ubHkgbmF2TW9kZSA9IHNpZ25hbDwnZXhwYW5kZWQnIHwgJ2NvbGxhcHNlZCc+KCdjb2xsYXBzZWQnKTtcbiAgcmVhZG9ubHkgZWRpdGluZ1N0YXRlTWFuYWdlciA9IGluamVjdChFZGl0aW5nU3RhdGVNYW5hZ2VyKTtcbiAgcmVhZG9ubHkgc3R5bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zdHlsZSkpO1xuICByZWFkb25seSBxdWVyeSA9IGlucHV0PFF1ZXJ5PihudWxsKTtcblxuICByZWFkb25seSAjbmF2U3RhcnRBY3Rpb25zID0gaW5qZWN0TmF2U3RhcnRBY3Rpb25zVjIoKTtcbiAgcmVhZG9ubHkgbmF2U3RhcnRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuI25hdlN0YXJ0QWN0aW9ucygpKSk7XG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxOYXZFbmRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuYWRkaXRpb25hbE5hdkVuZEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgbmF2RW5kQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdkVuZEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgdHlwZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnR5cGUpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlID8/IHRoaXMucXVlcnkoKT8udGl0bGUpKTtcbiAgcmVhZG9ubHkgdGl0bGVFZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlRWRpdGFibGUpKTtcbiAgcmVhZG9ubHkgaXRlbXNNYXAgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gYnVpbGRJdGVtc01hcEZyb21SZXN1bHQodGhpcy5mZWF0dXJlLnJlc3VsdCgpKSkpO1xuICByZWFkb25seSBpdGVtcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXRlbXNNYXAoKVtPYmplY3Qua2V5cyh0aGlzLml0ZW1zTWFwKCkpWzBdXT8uaXRlbXMgPz8gW10pO1xuICByZWFkb25seSBpdGVtc0xlbmd0aCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLml0ZW1zTWFwKClbT2JqZWN0LmtleXModGhpcy5pdGVtc01hcCgpKVswXV0/Lml0ZW1zTGVuZ3RoID8/IDApKTtcbiAgcmVhZG9ubHkgY2hpbGRyZW5LZXkgPSBpbnB1dDxzdHJpbmc+KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmNoaWxkcmVuS2V5KSk7XG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxDb2x1bW5zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuYWRkaXRpb25hbENvbHVtbnMpKTtcbiAgcmVhZG9ubHkgYWRkaXRpb25hbENvbHVtbk5hbWVzID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuYWRkaXRpb25hbENvbHVtbnMoKSh0aGlzLml0ZW1zKCkpKSk7XG4gIHJlYWRvbmx5IGV4dHJhY3RlZENvbHVtbk5hbWVzID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IFF1ZXJ5SGVscGVyLmV4dHJhY3RDb2x1bW5OYW1lcyh0aGlzLml0ZW1zKCksIHRoaXMuY2hpbGRyZW5LZXkoKSkpKTtcbiAgcmVhZG9ubHkgY29sdW1uTmFtZXMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gWy4uLnRoaXMuZXh0cmFjdGVkQ29sdW1uTmFtZXMoKSwgLi4udGhpcy5hZGRpdGlvbmFsQ29sdW1uTmFtZXMoKV0pKTtcbiAgcmVhZG9ubHkgc3RpY2t5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+ICh7IHN0aWNreVN0YXJ0OiAyLCBzdGlja3lFbmQ6IDEgfSkpKTtcbiAgcmVhZG9ubHkgZm9ybSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmluZGV4Rm9ybUJ1aWxkZXIuYnVpbGQoeyBjb2x1bW5zOiBidWlsZENvbHVtbnMoWy4uLnRoaXMuY29sdW1uTmFtZXMoKSwgJ19fYWN0aW9ucyddLCB0aGlzLnN0aWNreSgpKSB9KSkpO1xuICByZWFkb25seSBpdGVtQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLml0ZW1BY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHRhYmxlVHJlZUNvbnRyb2wgPSBuZXcgRmxhdFRyZWVDb250cm9sPGFueT4obiA9PiBuLmxldmVsLCBuID0+IG4uaXNFeHBhbmRhYmxlLCB7IHRyYWNrQnk6IChuOiBhbnkpID0+IG4/LmlkID8/IG4gfSk7XG4gIHJlYWRvbmx5IHZhcmlhYmxlc0Zvcm0gPSBpbnB1dChfY29tcHV0ZWQ8Rm9ybUdyb3VwPigoKSA9PiB0aGlzLnZhcmlhYmxlc0Zvcm1GZWF0dXJlLnZhcmlhYmxlc0Zvcm0oKSA/PyBuZXcgRm9ybUdyb3VwKHt9KSkpO1xuICByZWFkb25seSB2YXJpYWJsZXNGb3JtRmllbGRNYXAgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gKHt9IGFzIEZvcm1GaWVsZE1hcCkpKTtcbiAgcmVhZG9ubHkgdmFyaWFibGVzRm9ybVZhbHVlID0gZGVyaXZlZEFzeW5jKCgpID0+IGdldFJhd1ZhbHVlJCh0aGlzLnZhcmlhYmxlc0Zvcm0oKSksIHsgZXF1YWw6IGlzRXF1YWwgfSk7XG4gIHJlYWRvbmx5IHZhcmlhYmxlc0Zvcm1WYWx1ZSQgPSB0b09ic2VydmFibGUodGhpcy52YXJpYWJsZXNGb3JtVmFsdWUpO1xuICByZWFkb25seSB2YXJpYWJsZXNGb3JtRGlzcGxheWVkID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IE9iamVjdC5rZXlzKHRoaXMudmFyaWFibGVzRm9ybUZlYXR1cmUudmFyaWFibGVzVmFsdWUoKSk/Lmxlbmd0aCA+IDApKTtcbiAgcmVhZG9ubHkgdGFibGVDb2x1bW5Gb3JtRmllbGRNYXAgPSBpbnB1dDxGb3JtRmllbGRNYXA+KF9jb21wdXRlZCgoKSA9PiAoe30pKSk7XG4gIHJlYWRvbmx5IGdldFJvd0NsYXNzID0gaW5wdXQ8KGl0ZW06IGFueSkgPT4gc3RyaW5nPihfY29tcHV0ZWQoKCkgPT4gKCkgPT4gJycpKTtcbiAgcmVhZG9ubHkgc2tpcCA9IGluamVjdFJvdXRlU2tpcCgpO1xuICByZWFkb25seSBwYWdlU2l6ZU9wdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5wYWdlU2l6ZU9wdGlvbnMpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLmluaXRpYWxpemUodGhpcyk7XG4gICAgZWZmZWN0KCgpID0+IHRoaXMuZmVhdHVyZS5mb3JtLnBhdGNoVmFsdWUodGhpcy5xdWVyeSgpKSk7XG4gIH1cbn1cbiJdfQ==","import { __decorate, __metadata } from \"tslib\";\nimport { Component, inject, computed, viewChild, effect, input, ChangeDetectionStrategy } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Effect, NgAtomicComponent, updateInput } from '@ng-atomic/core';\nimport { IndexTemplate, IndexTemplateStore } from '@ng-atomic/components/templates/_index';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { NgAtomicFormSectionBuilder } from '@ng-atomic/components/templates/form';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { QueryService } from '@xxmachina/components/services/query';\nimport { QueryFormGroup } from '@xxmachina/components/groups/query-form';\nimport { QueryFeature } from '@xxmachina/components/features/query';\nimport { ActionId } from './interfaces';\nimport { QueryPageStore } from './query-page.store';\nimport { QueryActionReducer } from './query-action.reducer';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./query-page.store\";\nexport class QueryPage extends NgAtomicComponent {\n fb = inject(FormBuilder);\n route = inject(ActivatedRoute);\n app = inject(AppService);\n store = inject(QueryPageStore);\n reducer = inject(QueryActionReducer);\n query = inject(QueryService);\n feature = inject(QueryFeature);\n template = viewChild(IndexTemplate);\n title = input('default title');\n constructor() {\n super();\n this.reducer.action$.subscribe((action) => this.dispatch(action));\n const context = computed(() => ({\n query: this.feature.formValue(),\n }));\n effect(() => this.app.context.context.set(JSON.stringify(context())));\n }\n async back() {\n history.back();\n }\n async navigateToIframe(item) {\n this.app.router.navigate(['invoices', item.id], {\n relativeTo: this.route,\n });\n }\n async expandPage() {\n updateInput(this.store, 'style', (style) => ({\n ...style,\n width: style?.width === 'var(--page-width-lv3)' ? 'var(--page-width-lv2)' : 'var(--page-width-lv3)',\n }));\n }\n itemClick(item) {\n this.dispatch({ id: ActionId.DETAIL, payload: item });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryPage, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: QueryPage, isStandalone: true, selector: \"pages-query\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"template\", first: true, predicate: IndexTemplate, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.QueryPageStore, inputs: [\"type\", \"type\", \"query\", \"query\", \"titleEditable\", \"titleEditable\", \"variablesForm\", \"variablesForm\", \"variablesFormFieldMap\", \"variablesFormFieldMap\", \"navStartActions\", \"navStartActions\", \"navEndActions\", \"navEndActions\", \"itemActions\", \"itemActions\", \"pageSizeOptions\", \"pageSizeOptions\"] }], ngImport: i0, template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-index\n [tableColumnFormFieldMap]=\"store.tableColumnFormFieldMap()\"\n [style]=\"store.style()\"\n [title]=\"store.title()\"\n [titleControl]=\"store.feature.form.get(['title'])\"\n [titleEditable]=\"store.titleEditable()\"\n [type]=\"store.type()\"\n [tableChildrenKey]=\"store.childrenKey()\"\n [tableTreeControl]=\"store.tableTreeControl\"\n [itemsMap]=\"store.itemsMap()\"\n [itemsLength]=\"store.itemsLength()\"\n [itemActions]=\"store.itemActions()\"\n [getRowClass]=\"store.getRowClass()\"\n [form]=\"store.form()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [navMode]=\"store.navMode()\"\n [pageSizeOptions]=\"store.pageSizeOptions()\"\n (action)=\"dispatch($event)\"\n >\n @if (store.variablesFormDisplayed()) {\n <div navDashboard>\n <ng-atomic-form-section-builder\n [form]=\"store.variablesForm()\"\n [fieldMap]=\"store.variablesFormFieldMap()\"\n />\n </div>\n }\n <groups-query-form dashboard (action)=\"dispatch($event)\" />\n </templates-index>\n </frames-router-outlet>\n `, isInline: true, styles: [\"@charset \\\"UTF-8\\\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-Bqoz: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-Bqoz: var(--page-width-lv3);--primary-color-SCOPED-IN-query-Bqoz: var(--primary-color);--on-primary-color-SCOPED-IN-query-Bqoz: var(--on-primary-color);--surface-color-SCOPED-IN-query-Bqoz: var(--surface-color);--on-surface-color-SCOPED-IN-query-Bqoz: var(--on-surface-color);--on-background-color-SCOPED-IN-query-Bqoz: var(--on-background-color);--background-color-SCOPED-IN-query-Bqoz: var(--background-color);--navigator-background-color-SCOPED-IN-query-Bqoz: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-Bqoz: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-Bqoz: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-Bqoz: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-Bqoz: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-Bqoz);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-Bqoz);--surface-color: var(--surface-color-SCOPED-IN-query-Bqoz);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-Bqoz);--background-color: var(--background-color-SCOPED-IN-query-Bqoz);--on-background-color: var(--on-background-color-SCOPED-IN-query-Bqoz);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-Bqoz);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-Bqoz);--table-background-color: var(--table-background-color-SCOPED-IN-query-Bqoz);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-Bqoz);--is-debug: var(--is-debug-SCOPED-IN-query-Bqoz)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-Bqoz) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\\n\"], dependencies: [{ kind: \"component\", type: IndexTemplate, selector: \"templates-index\" }, { kind: \"component\", type: RouterOutletFrame, selector: \"frames-router-outlet\", outputs: [\"events\"] }, { kind: \"component\", type: NgAtomicFormSectionBuilder, selector: \"ng-atomic-form-section-builder\", inputs: [\"form\", \"formFlatExcludes\", \"fieldMap\", \"fieldKeys\"] }, { kind: \"component\", type: QueryFormGroup, selector: \"groups-query-form\", inputs: [\"form\", \"keyActions\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\n__decorate([\n Effect(IndexTemplateStore.ActionId.BACK),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], QueryPage.prototype, \"back\", null);\n__decorate([\n Effect(ActionId.NAVIGATE_TO_IFRAME),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], QueryPage.prototype, \"navigateToIframe\", null);\n__decorate([\n Effect(ActionId.TOGGLE_PAGE),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], QueryPage.prototype, \"expandPage\", null);\n__decorate([\n Effect(IndexTemplate.ActionId.ITEM_CLICK),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], QueryPage.prototype, \"itemClick\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryPage, decorators: [{\n type: Component,\n args: [{ selector: 'pages-query', imports: [\n IndexTemplate,\n RouterOutletFrame,\n NgAtomicFormSectionBuilder,\n QueryFormGroup,\n ], template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-index\n [tableColumnFormFieldMap]=\"store.tableColumnFormFieldMap()\"\n [style]=\"store.style()\"\n [title]=\"store.title()\"\n [titleControl]=\"store.feature.form.get(['title'])\"\n [titleEditable]=\"store.titleEditable()\"\n [type]=\"store.type()\"\n [tableChildrenKey]=\"store.childrenKey()\"\n [tableTreeControl]=\"store.tableTreeControl\"\n [itemsMap]=\"store.itemsMap()\"\n [itemsLength]=\"store.itemsLength()\"\n [itemActions]=\"store.itemActions()\"\n [getRowClass]=\"store.getRowClass()\"\n [form]=\"store.form()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [navMode]=\"store.navMode()\"\n [pageSizeOptions]=\"store.pageSizeOptions()\"\n (action)=\"dispatch($event)\"\n >\n @if (store.variablesFormDisplayed()) {\n <div navDashboard>\n <ng-atomic-form-section-builder\n [form]=\"store.variablesForm()\"\n [fieldMap]=\"store.variablesFormFieldMap()\"\n />\n </div>\n }\n <groups-query-form dashboard (action)=\"dispatch($event)\" />\n </templates-index>\n </frames-router-outlet>\n `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [\n {\n directive: QueryPageStore,\n inputs: [\n 'type',\n 'query',\n 'titleEditable',\n 'variablesForm',\n 'variablesFormFieldMap',\n 'navStartActions',\n 'navEndActions',\n 'itemActions',\n 'pageSizeOptions'\n ]\n },\n ], styles: [\"@charset \\\"UTF-8\\\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-Bqoz: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-Bqoz: var(--page-width-lv3);--primary-color-SCOPED-IN-query-Bqoz: var(--primary-color);--on-primary-color-SCOPED-IN-query-Bqoz: var(--on-primary-color);--surface-color-SCOPED-IN-query-Bqoz: var(--surface-color);--on-surface-color-SCOPED-IN-query-Bqoz: var(--on-surface-color);--on-background-color-SCOPED-IN-query-Bqoz: var(--on-background-color);--background-color-SCOPED-IN-query-Bqoz: var(--background-color);--navigator-background-color-SCOPED-IN-query-Bqoz: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-Bqoz: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-Bqoz: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-Bqoz: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-Bqoz: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-Bqoz);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-Bqoz);--surface-color: var(--surface-color-SCOPED-IN-query-Bqoz);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-Bqoz);--background-color: var(--background-color-SCOPED-IN-query-Bqoz);--on-background-color: var(--on-background-color-SCOPED-IN-query-Bqoz);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-Bqoz);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-Bqoz);--table-background-color: var(--table-background-color-SCOPED-IN-query-Bqoz);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-Bqoz);--is-debug: var(--is-debug-SCOPED-IN-query-Bqoz)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-Bqoz) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { back: [], navigateToIframe: [], expandPage: [], itemClick: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS9xdWVyeS1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUEr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QkFDUCxhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQixjQUFjO3FCQUNmLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0I7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLGNBQWM7NEJBQ3pCLE1BQU0sRUFBRTtnQ0FDTixNQUFNO2dDQUNOLE9BQU87Z0NBQ1AsZUFBZTtnQ0FDZixlQUFlO2dDQUNmLHVCQUF1QjtnQ0FDdkIsaUJBQWlCO2dDQUNqQixlQUFlO2dDQUNmLGFBQWE7Z0NBQ2IsaUJBQWlCOzZCQUNsQjt5QkFDRjtxQkFDRjt3REEwQkssSUFBSSxNQUtKLGdCQUFnQixNQU9oQixVQUFVLE1BUU4sU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBjb21wdXRlZCwgdmlld0NoaWxkLCBlZmZlY3QsIGlucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFZmZlY3QsIE5nQXRvbWljQ29tcG9uZW50LCB1cGRhdGVJbnB1dCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBJbmRleFRlbXBsYXRlLCBJbmRleFRlbXBsYXRlU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL19pbmRleCc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvcm91dGVyLW91dGxldCc7XG5pbXBvcnQgeyBOZ0F0b21pY0Zvcm1TZWN0aW9uQnVpbGRlciB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvZm9ybSc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2FwcCc7XG5pbXBvcnQgeyBRdWVyeVNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlGb3JtR3JvdXAgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvZ3JvdXBzL3F1ZXJ5LWZvcm0nO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL2ZlYXR1cmVzL3F1ZXJ5JztcblxuaW1wb3J0IHsgQWN0aW9uSWQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUXVlcnlQYWdlU3RvcmUgfSBmcm9tICcuL3F1ZXJ5LXBhZ2Uuc3RvcmUnO1xuaW1wb3J0IHsgUXVlcnlBY3Rpb25SZWR1Y2VyIH0gZnJvbSAnLi9xdWVyeS1hY3Rpb24ucmVkdWNlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BhZ2VzLXF1ZXJ5JyxcbiAgaW1wb3J0czogW1xuICAgIEluZGV4VGVtcGxhdGUsXG4gICAgUm91dGVyT3V0bGV0RnJhbWUsXG4gICAgTmdBdG9taWNGb3JtU2VjdGlvbkJ1aWxkZXIsXG4gICAgUXVlcnlGb3JtR3JvdXAsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZyYW1lcy1yb3V0ZXItb3V0bGV0IFtza2lwXT1cInN0b3JlLnNraXAoKVwiIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiPlxuICAgICAgPHRlbXBsYXRlcy1pbmRleFxuICAgICAgICBbdGFibGVDb2x1bW5Gb3JtRmllbGRNYXBdPVwic3RvcmUudGFibGVDb2x1bW5Gb3JtRmllbGRNYXAoKVwiXG4gICAgICAgIFtzdHlsZV09XCJzdG9yZS5zdHlsZSgpXCJcbiAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICBbdGl0bGVDb250cm9sXT1cInN0b3JlLmZlYXR1cmUuZm9ybS5nZXQoWyd0aXRsZSddKVwiXG4gICAgICAgIFt0aXRsZUVkaXRhYmxlXT1cInN0b3JlLnRpdGxlRWRpdGFibGUoKVwiXG4gICAgICAgIFt0eXBlXT1cInN0b3JlLnR5cGUoKVwiXG4gICAgICAgIFt0YWJsZUNoaWxkcmVuS2V5XT1cInN0b3JlLmNoaWxkcmVuS2V5KClcIlxuICAgICAgICBbdGFibGVUcmVlQ29udHJvbF09XCJzdG9yZS50YWJsZVRyZWVDb250cm9sXCJcbiAgICAgICAgW2l0ZW1zTWFwXT1cInN0b3JlLml0ZW1zTWFwKClcIlxuICAgICAgICBbaXRlbXNMZW5ndGhdPVwic3RvcmUuaXRlbXNMZW5ndGgoKVwiXG4gICAgICAgIFtpdGVtQWN0aW9uc109XCJzdG9yZS5pdGVtQWN0aW9ucygpXCJcbiAgICAgICAgW2dldFJvd0NsYXNzXT1cInN0b3JlLmdldFJvd0NsYXNzKClcIlxuICAgICAgICBbZm9ybV09XCJzdG9yZS5mb3JtKClcIlxuICAgICAgICBbbmF2U3RhcnRBY3Rpb25zXT1cInN0b3JlLm5hdlN0YXJ0QWN0aW9ucygpXCJcbiAgICAgICAgW25hdkVuZEFjdGlvbnNdPVwic3RvcmUubmF2RW5kQWN0aW9ucygpXCJcbiAgICAgICAgW25hdk1vZGVdPVwic3RvcmUubmF2TW9kZSgpXCJcbiAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJzdG9yZS5wYWdlU2l6ZU9wdGlvbnMoKVwiXG4gICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoc3RvcmUudmFyaWFibGVzRm9ybURpc3BsYXllZCgpKSB7XG4gICAgICAgICAgPGRpdiBuYXZEYXNoYm9hcmQ+XG4gICAgICAgICAgICA8bmctYXRvbWljLWZvcm0tc2VjdGlvbi1idWlsZGVyXG4gICAgICAgICAgICAgIFtmb3JtXT1cInN0b3JlLnZhcmlhYmxlc0Zvcm0oKVwiXG4gICAgICAgICAgICAgIFtmaWVsZE1hcF09XCJzdG9yZS52YXJpYWJsZXNGb3JtRmllbGRNYXAoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxncm91cHMtcXVlcnktZm9ybSBkYXNoYm9hcmQgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCIgLz5cbiAgICAgIDwvdGVtcGxhdGVzLWluZGV4PlxuICAgIDwvZnJhbWVzLXJvdXRlci1vdXRsZXQ+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi9xdWVyeS5wYWdlLnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFF1ZXJ5UGFnZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICd0eXBlJyxcbiAgICAgICAgJ3F1ZXJ5JyxcbiAgICAgICAgJ3RpdGxlRWRpdGFibGUnLFxuICAgICAgICAndmFyaWFibGVzRm9ybScsXG4gICAgICAgICd2YXJpYWJsZXNGb3JtRmllbGRNYXAnLFxuICAgICAgICAnbmF2U3RhcnRBY3Rpb25zJyxcbiAgICAgICAgJ25hdkVuZEFjdGlvbnMnLFxuICAgICAgICAnaXRlbUFjdGlvbnMnLFxuICAgICAgICAncGFnZVNpemVPcHRpb25zJ1xuICAgICAgXVxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlQYWdlIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICByZWFkb25seSBmYiA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFF1ZXJ5UGFnZVN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlZHVjZXIgPSBpbmplY3QoUXVlcnlBY3Rpb25SZWR1Y2VyKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHF1ZXJ5ID0gaW5qZWN0KFF1ZXJ5U2VydmljZSk7XG4gIHJlYWRvbmx5IGZlYXR1cmUgPSBpbmplY3QoUXVlcnlGZWF0dXJlKTtcblxuICByZWFkb25seSB0ZW1wbGF0ZSA9IHZpZXdDaGlsZChJbmRleFRlbXBsYXRlKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dCgnZGVmYXVsdCB0aXRsZScpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWR1Y2VyLmFjdGlvbiQuc3Vic2NyaWJlKChhY3Rpb24pID0+IHRoaXMuZGlzcGF0Y2goYWN0aW9uKSk7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICAgIHF1ZXJ5OiB0aGlzLmZlYXR1cmUuZm9ybVZhbHVlKCksXG4gICAgfSkpO1xuXG4gICAgZWZmZWN0KCgpID0+IHRoaXMuYXBwLmNvbnRleHQuY29udGV4dC5zZXQoSlNPTi5zdHJpbmdpZnkoY29udGV4dCgpKSkpO1xuICB9XG5cbiAgQEVmZmVjdChJbmRleFRlbXBsYXRlU3RvcmUuQWN0aW9uSWQuQkFDSylcbiAgYXN5bmMgYmFjaygpIHtcbiAgICBoaXN0b3J5LmJhY2soKTtcbiAgfVxuXG4gIEBFZmZlY3QoQWN0aW9uSWQuTkFWSUdBVEVfVE9fSUZSQU1FKVxuICBhc3luYyBuYXZpZ2F0ZVRvSWZyYW1lKGl0ZW06IHsgaWQ6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5hcHAucm91dGVyLm5hdmlnYXRlKFsnaW52b2ljZXMnLCBpdGVtLmlkXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBFZmZlY3QoQWN0aW9uSWQuVE9HR0xFX1BBR0UpXG4gIGFzeW5jIGV4cGFuZFBhZ2UoKSB7XG4gICAgdXBkYXRlSW5wdXQodGhpcy5zdG9yZSwgJ3N0eWxlJywgKHN0eWxlKSA9PiAoe1xuICAgICAgLi4uc3R5bGUsXG4gICAgICB3aWR0aDogc3R5bGU/LndpZHRoID09PSAndmFyKC0tcGFnZS13aWR0aC1sdjMpJyA/ICd2YXIoLS1wYWdlLXdpZHRoLWx2MiknIDogJ3ZhcigtLXBhZ2Utd2lkdGgtbHYzKScsXG4gICAgfSkpO1xuICB9XG5cbiAgQEVmZmVjdChJbmRleFRlbXBsYXRlLkFjdGlvbklkLklURU1fQ0xJQ0spXG4gIHByb3RlY3RlZCBpdGVtQ2xpY2soaXRlbTogeyBpZDogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmRpc3BhdGNoKHsgaWQ6IEFjdGlvbklkLkRFVEFJTCwgcGF5bG9hZDogaXRlbSB9KTtcbiAgfVxufVxuIl19","/**\n * QueryPage - 後方互換性のための再エクスポート\n *\n * このファイルは後方互換性のために維持されています。\n * 新しいインポートは個別のファイルから行うことを推奨します:\n *\n * - interfaces/ - ActionId, TableCellValueChange等\n * - utils/ - buildItemsMap, buildItemsMapFromResult\n * - query-action.reducer.ts - QueryActionReducer\n * - query-page.store.ts - QueryPageStore\n * - query-page.component.ts - QueryPage\n */\n// Interfaces\nexport * from './interfaces';\n// Utils\nexport * from './utils';\n// Services\nexport { QueryActionReducer } from './query-action.reducer';\n// Store\nexport { QueryPageStore } from './query-page.store';\n// Component\nexport { QueryPage } from './query-page.component';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL3F1ZXJ5L3F1ZXJ5LnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxhQUFhO0FBQ2IsY0FBYyxjQUFjLENBQUM7QUFFN0IsUUFBUTtBQUNSLGNBQWMsU0FBUyxDQUFDO0FBRXhCLFdBQVc7QUFDWCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFF1ZXJ5UGFnZSAtIOW+jOaWueS6kuaPm+aAp+OBruOBn+OCgeOBruWGjeOCqOOCr+OCueODneODvOODiFxuICpcbiAqIOOBk+OBruODleOCoeOCpOODq+OBr+W+jOaWueS6kuaPm+aAp+OBruOBn+OCgeOBq+e2reaMgeOBleOCjOOBpuOBhOOBvuOBmeOAglxuICog5paw44GX44GE44Kk44Oz44Od44O844OI44Gv5YCL5Yil44Gu44OV44Kh44Kk44Or44GL44KJ6KGM44GG44GT44Go44KS5o6o5aWo44GX44G+44GZOlxuICpcbiAqIC0gaW50ZXJmYWNlcy8gLSBBY3Rpb25JZCwgVGFibGVDZWxsVmFsdWVDaGFuZ2XnrYlcbiAqIC0gdXRpbHMvIC0gYnVpbGRJdGVtc01hcCwgYnVpbGRJdGVtc01hcEZyb21SZXN1bHRcbiAqIC0gcXVlcnktYWN0aW9uLnJlZHVjZXIudHMgLSBRdWVyeUFjdGlvblJlZHVjZXJcbiAqIC0gcXVlcnktcGFnZS5zdG9yZS50cyAtIFF1ZXJ5UGFnZVN0b3JlXG4gKiAtIHF1ZXJ5LXBhZ2UuY29tcG9uZW50LnRzIC0gUXVlcnlQYWdlXG4gKi9cblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuLy8gVXRpbHNcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuXG4vLyBTZXJ2aWNlc1xuZXhwb3J0IHsgUXVlcnlBY3Rpb25SZWR1Y2VyIH0gZnJvbSAnLi9xdWVyeS1hY3Rpb24ucmVkdWNlcic7XG5cbi8vIFN0b3JlXG5leHBvcnQgeyBRdWVyeVBhZ2VTdG9yZSB9IGZyb20gJy4vcXVlcnktcGFnZS5zdG9yZSc7XG5cbi8vIENvbXBvbmVudFxuZXhwb3J0IHsgUXVlcnlQYWdlIH0gZnJvbSAnLi9xdWVyeS1wYWdlLmNvbXBvbmVudCc7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS94eG1hY2hpbmEtY29tcG9uZW50cy1wYWdlcy1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["_provideTableCellValueChangeEffect","_provideTableAutofillEffect","i1.QueryPageStore"],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-pages-query.mjs","sources":["../tmp-esm2022/pages/query/interfaces/action-id.js","../tmp-esm2022/pages/query/utils/items-map.builder.js","../tmp-esm2022/pages/query/query-action.reducer.js","../tmp-esm2022/pages/query/providers/command-effects.provider.js","../tmp-esm2022/pages/query/providers/editing-effects.provider.js","../tmp-esm2022/pages/query/providers/table-effects.provider.js","../tmp-esm2022/pages/query/providers/navigation-effects.provider.js","../tmp-esm2022/pages/query/providers/config.provider.js","../tmp-esm2022/pages/query/providers/index.js","../tmp-esm2022/pages/query/query-page.store.js","../tmp-esm2022/pages/query/query-page.component.js","../tmp-esm2022/pages/query/query.page.js","../tmp-esm2022/pages/query/xxmachina-components-pages-query.js"],"sourcesContent":["export var ActionId;\n(function (ActionId) {\n ActionId[\"NAVIGATE_TO_IFRAME\"] = \"NAVIGATE TO IFRAME\";\n ActionId[\"TOGGLE_PAGE\"] = \"\\u5168\\u4F53\\u8868\\u793A\";\n ActionId[\"TOGGLE_VARIABLES_FORM\"] = \"\\u5909\\u6570\\u30D5\\u30A9\\u30FC\\u30E0\\u306E\\u8868\\u793A\\u5207\\u66FF\";\n ActionId[\"ADD\"] = \"\\u8FFD\\u52A0\";\n ActionId[\"DETAIL\"] = \"\\u8A73\\u7D30\";\n})(ActionId || (ActionId = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvaW50ZXJmYWNlcy9hY3Rpb24taWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFNWDtBQU5ELFdBQVksUUFBUTtJQUNsQixxREFBeUMsQ0FBQTtJQUN6QyxvREFBb0IsQ0FBQTtJQUNwQix3R0FBcUMsQ0FBQTtJQUNyQyxnQ0FBVSxDQUFBO0lBQ1YsbUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyxRQUFRLEtBQVIsUUFBUSxRQU1uQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEFjdGlvbklkIHtcbiAgTkFWSUdBVEVfVE9fSUZSQU1FID0gJ05BVklHQVRFIFRPIElGUkFNRScsXG4gIFRPR0dMRV9QQUdFID0gJ+WFqOS9k+ihqOekuicsXG4gIFRPR0dMRV9WQVJJQUJMRVNfRk9STSA9ICflpInmlbDjg5Xjgqnjg7zjg6Djga7ooajnpLrliIfmm78nLFxuICBBREQgPSAn6L+95YqgJyxcbiAgREVUQUlMID0gJ+ips+e0sCcsXG59XG4iXX0=","import { omitBy } from 'lodash-es';\n/**\n * ItemsMapを構築する\n */\nexport function buildItemsMap(itemsResult = {}, itemsLengthResult = {}) {\n return Object.entries(itemsResult).reduce((acc, [key, items]) => ({\n ...acc,\n [key]: {\n items,\n itemsLength: itemsLengthResult[key] ?? items.length,\n }\n }), {});\n}\n/**\n * クエリ結果からItemsMapを構築する\n */\nexport function buildItemsMapFromResult(result = {}) {\n console.debug('[DEBUG] result:', result);\n const data = omitBy(result, (_, key) => key.startsWith('_'));\n if (Array.isArray(data)) {\n return buildItemsMap({ default: data });\n }\n else if (data && typeof data === 'object' && 'items' in data) {\n const itemsMap = buildItemsMap({ default: data.items }, { default: data?.itemsLength });\n return itemsMap;\n }\n else {\n const itemsResult = {};\n const itemsLengthResult = {};\n Object.entries(data).forEach(([key, value]) => {\n if (key.endsWith('Length')) {\n itemsLengthResult[key.replace('Length', '')] = value;\n }\n else {\n itemsResult[key] = value;\n }\n });\n return buildItemsMap(itemsResult, itemsLengthResult);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbXMtbWFwLmJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS91dGlscy9pdGVtcy1tYXAuYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsY0FBcUMsRUFBRSxFQUN2QyxvQkFBNEMsRUFBRTtJQUU5QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLEdBQUcsR0FBRztRQUNOLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDTCxLQUFLO1lBQ0wsV0FBVyxFQUFFLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNO1NBQ3BEO0tBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1YsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxTQUFvRSxFQUFFO0lBRXRFLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUU3RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLGFBQWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7U0FBTSxJQUFJLElBQUksSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQy9ELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FDNUIsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQWMsRUFBRSxFQUNoQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBcUIsRUFBRSxDQUN6QyxDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFdBQVcsR0FBMEIsRUFBRSxDQUFDO1FBQzlDLE1BQU0saUJBQWlCLEdBQTJCLEVBQUUsQ0FBQztRQUNyRCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDNUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsS0FBZSxDQUFDO1lBQ2pFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBYyxDQUFDO1lBQ3BDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sYUFBYSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSXRlbXNNYXAgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL19pbmRleCc7XG5pbXBvcnQgeyBvbWl0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG4vKipcbiAqIEl0ZW1zTWFw44KS5qeL56+J44GZ44KLXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEl0ZW1zTWFwKFxuICBpdGVtc1Jlc3VsdDogUmVjb3JkPHN0cmluZywgYW55W10+ID0ge30sXG4gIGl0ZW1zTGVuZ3RoUmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge30sXG4pIHtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGl0ZW1zUmVzdWx0KS5yZWR1Y2UoKGFjYywgW2tleSwgaXRlbXNdKSA9PiAoe1xuICAgIC4uLmFjYyxcbiAgICBba2V5XToge1xuICAgICAgaXRlbXMsXG4gICAgICBpdGVtc0xlbmd0aDogaXRlbXNMZW5ndGhSZXN1bHRba2V5XSA/PyBpdGVtcy5sZW5ndGgsXG4gICAgfVxuICB9KSwge30pO1xufVxuXG4vKipcbiAqIOOCr+OCqOODque1kOaenOOBi+OCiUl0ZW1zTWFw44KS5qeL56+J44GZ44KLXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEl0ZW1zTWFwRnJvbVJlc3VsdChcbiAgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gJiBSZWNvcmQ8YCR7c3RyaW5nfUxlbmd0aGAsIG51bWJlcj4gPSB7fSxcbik6IEl0ZW1zTWFwPGFueT4ge1xuICBjb25zb2xlLmRlYnVnKCdbREVCVUddIHJlc3VsdDonLCByZXN1bHQpO1xuICBjb25zdCBkYXRhID0gb21pdEJ5KHJlc3VsdCwgKF8sIGtleSkgPT4ga2V5LnN0YXJ0c1dpdGgoJ18nKSk7XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcbiAgICByZXR1cm4gYnVpbGRJdGVtc01hcCh7IGRlZmF1bHQ6IGRhdGEgfSk7XG4gIH0gZWxzZSBpZiAoZGF0YSAmJiB0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgJ2l0ZW1zJyBpbiBkYXRhKSB7XG4gICAgY29uc3QgaXRlbXNNYXAgPSBidWlsZEl0ZW1zTWFwKFxuICAgICAgeyBkZWZhdWx0OiBkYXRhLml0ZW1zIGFzIGFueVtdIH0sXG4gICAgICB7IGRlZmF1bHQ6IGRhdGE/Lml0ZW1zTGVuZ3RoIGFzIG51bWJlciB9XG4gICAgKTtcbiAgICByZXR1cm4gaXRlbXNNYXA7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgaXRlbXNSZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueVtdPiA9IHt9O1xuICAgIGNvbnN0IGl0ZW1zTGVuZ3RoUmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge307XG4gICAgT2JqZWN0LmVudHJpZXMoZGF0YSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoa2V5LmVuZHNXaXRoKCdMZW5ndGgnKSkge1xuICAgICAgICBpdGVtc0xlbmd0aFJlc3VsdFtrZXkucmVwbGFjZSgnTGVuZ3RoJywgJycpXSA9IHZhbHVlIGFzIG51bWJlcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGl0ZW1zUmVzdWx0W2tleV0gPSB2YWx1ZSBhcyBhbnlbXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYnVpbGRJdGVtc01hcChpdGVtc1Jlc3VsdCwgaXRlbXNMZW5ndGhSZXN1bHQpO1xuICB9XG59XG4iXX0=","import { Injectable, signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport * as i0 from \"@angular/core\";\nexport class QueryActionReducer {\n action = signal(null);\n action$ = toObservable(this.action);\n dispatch(action) {\n this.action.set(action);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryActionReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryActionReducer, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryActionReducer, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYWN0aW9uLnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS9xdWVyeS1hY3Rpb24ucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBSTFELE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsTUFBTSxHQUFHLE1BQU0sQ0FBUyxJQUFJLENBQUMsQ0FBQztJQUM5QixPQUFPLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU3QyxRQUFRLENBQUMsTUFBYztRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO3VHQU5VLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUXVlcnlBY3Rpb25SZWR1Y2VyIHtcbiAgcmVhZG9ubHkgYWN0aW9uID0gc2lnbmFsPEFjdGlvbj4obnVsbCk7XG4gIHJlYWRvbmx5IGFjdGlvbiQgPSB0b09ic2VydmFibGUodGhpcy5hY3Rpb24pO1xuXG4gIGRpc3BhdGNoKGFjdGlvbjogQWN0aW9uKSB7XG4gICAgdGhpcy5hY3Rpb24uc2V0KGFjdGlvbik7XG4gIH1cbn1cbiJdfQ==","import { inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { provideEffect } from '@ng-atomic/core';\nimport { injectHasNext } from '@ng-atomic/common/utils';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { flatten } from 'flat';\nimport { omitBy } from 'lodash-es';\n/**\n * コマンド実行のEffectプロバイダー\n */\nexport function provideCommandExecuteEffect() {\n return [\n provideEffect(CommandService.ActionId.EXECUTE_COMMAND, () => {\n const commandService = inject(CommandService);\n return async (payload) => {\n const app = inject(AppService);\n const obj = omitBy(payload.body, (value) => typeof value === undefined);\n const command = inject(CommandService).getCommand(payload.command.id);\n console.debug('[QueryPage] payload:', payload);\n if (payload.options?.confirm && !(await payload.options?.confirm())) {\n app.snackBar.open('キャンセルされました。');\n return;\n }\n app.loading.await(() => {\n return commandService.execute(command, obj).then(() => {\n app.snackBar.open('成功しました。');\n }).catch((error) => {\n console.error(error);\n app.snackBar.open(`エラー: ${error.message}`);\n });\n });\n };\n }),\n ];\n}\n/**\n * コマンドナビゲーションのEffectプロバイダー\n */\nexport function provideCommandNavigateEffect() {\n return [\n provideEffect(CommandService.ActionId.NAVIGATE_TO_COMMAND_PAGE, () => {\n const app = inject(AppService);\n const route = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return (payload) => {\n const flat = flatten({\n data: { id: payload.body?.id },\n queryId: payload?.options?.queryId\n });\n const _flat = omitBy(flat, (value) => value === undefined);\n app.router.navigate(['commands', { skip: true }, payload.command.id, _flat], {\n relativeTo: route,\n replaceUrl: hasNext(),\n });\n };\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1lZmZlY3RzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvcHJvdmlkZXJzL2NvbW1hbmQtZWZmZWN0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRW5DOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxPQUFPO1FBQ0wsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRTtZQUMxRCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDOUMsT0FBTyxLQUFLLEVBQUUsT0FBa0MsRUFBRSxFQUFFO2dCQUNsRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQy9CLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDeEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMvQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUNwRSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDakMsT0FBTztnQkFDVCxDQUFDO2dCQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtvQkFDckIsT0FBTyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUNwRCxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDL0IsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7d0JBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3JCLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7b0JBQzdDLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsT0FBTztRQUNMLGFBQWEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLHdCQUF3QixFQUFFLEdBQUcsRUFBRTtZQUNuRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sT0FBTyxHQUFHLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxPQUFrQyxFQUFFLEVBQUU7Z0JBQzVDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBaUI7b0JBQ25DLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtvQkFDOUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTztpQkFDbkMsQ0FBQyxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDM0QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7b0JBQzNFLFVBQVUsRUFBRSxLQUFLO29CQUNqQixVQUFVLEVBQUUsT0FBTyxFQUFFO2lCQUN0QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHByb3ZpZGVFZmZlY3QgfSBmcm9tICdAbmctYXRvbWljL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0SGFzTmV4dCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IEFwcFNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvYXBwJztcbmltcG9ydCB7IENvbW1hbmRBY3Rpb25QYXlsb2FkIH0gZnJvbSAnQHh4bWFjaGluYS9jb21tb24vZG9tYWluL2J1aWxkZXInO1xuaW1wb3J0IHsgQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvY29tbWFuZCc7XG5pbXBvcnQgeyBmbGF0dGVuIH0gZnJvbSAnZmxhdCc7XG5pbXBvcnQgeyBvbWl0QnkgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG4vKipcbiAqIOOCs+ODnuODs+ODieWun+ihjOOBrkVmZmVjdOODl+ODreODkOOCpOODgOODvFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUNvbW1hbmRFeGVjdXRlRWZmZWN0KCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHByb3ZpZGVFZmZlY3QoQ29tbWFuZFNlcnZpY2UuQWN0aW9uSWQuRVhFQ1VURV9DT01NQU5ELCAoKSA9PiB7XG4gICAgICBjb25zdCBjb21tYW5kU2VydmljZSA9IGluamVjdChDb21tYW5kU2VydmljZSk7XG4gICAgICByZXR1cm4gYXN5bmMgKHBheWxvYWQ6IENvbW1hbmRBY3Rpb25QYXlsb2FkPGFueT4pID0+IHtcbiAgICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgICBjb25zdCBvYmogPSBvbWl0QnkocGF5bG9hZC5ib2R5LCAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gdW5kZWZpbmVkKTtcbiAgICAgICAgY29uc3QgY29tbWFuZCA9IGluamVjdChDb21tYW5kU2VydmljZSkuZ2V0Q29tbWFuZChwYXlsb2FkLmNvbW1hbmQuaWQpO1xuICAgICAgICBjb25zb2xlLmRlYnVnKCdbUXVlcnlQYWdlXSBwYXlsb2FkOicsIHBheWxvYWQpO1xuICAgICAgICBpZiAocGF5bG9hZC5vcHRpb25zPy5jb25maXJtICYmICEoYXdhaXQgcGF5bG9hZC5vcHRpb25zPy5jb25maXJtKCkpKSB7XG4gICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oJ+OCreODo+ODs+OCu+ODq+OBleOCjOOBvuOBl+OBn+OAgicpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBhcHAubG9hZGluZy5hd2FpdCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGNvbW1hbmRTZXJ2aWNlLmV4ZWN1dGUoY29tbWFuZCwgb2JqKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGFwcC5zbmFja0Jhci5vcGVuKCfmiJDlip/jgZfjgb7jgZfjgZ/jgIInKTtcbiAgICAgICAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgYXBwLnNuYWNrQmFyLm9wZW4oYOOCqOODqeODvDogJHtlcnJvci5tZXNzYWdlfWApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSksXG4gIF07XG59XG5cbi8qKlxuICog44Kz44Oe44Oz44OJ44OK44OT44Ky44O844K344On44Oz44GuRWZmZWN044OX44Ot44OQ44Kk44OA44O8XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ29tbWFuZE5hdmlnYXRlRWZmZWN0KCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHByb3ZpZGVFZmZlY3QoQ29tbWFuZFNlcnZpY2UuQWN0aW9uSWQuTkFWSUdBVEVfVE9fQ09NTUFORF9QQUdFLCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gICAgICBjb25zdCBoYXNOZXh0ID0gaW5qZWN0SGFzTmV4dCgpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkOiBDb21tYW5kQWN0aW9uUGF5bG9hZDxhbnk+KSA9PiB7XG4gICAgICAgIGNvbnN0IGZsYXQgPSBmbGF0dGVuPG9iamVjdCwgb2JqZWN0Pih7XG4gICAgICAgICAgZGF0YTogeyBpZDogcGF5bG9hZC5ib2R5Py5pZCB9LFxuICAgICAgICAgIHF1ZXJ5SWQ6IHBheWxvYWQ/Lm9wdGlvbnM/LnF1ZXJ5SWRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IF9mbGF0ID0gb21pdEJ5KGZsYXQsICh2YWx1ZSkgPT4gdmFsdWUgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgIGFwcC5yb3V0ZXIubmF2aWdhdGUoWydjb21tYW5kcycsIHsgc2tpcDogdHJ1ZSB9LCBwYXlsb2FkLmNvbW1hbmQuaWQsIF9mbGF0XSwge1xuICAgICAgICAgIHJlbGF0aXZlVG86IHJvdXRlLFxuICAgICAgICAgIHJlcGxhY2VVcmw6IGhhc05leHQoKSxcbiAgICAgICAgfSk7XG4gICAgICB9O1xuICAgIH0pLFxuICBdO1xufVxuIl19","import { inject } from '@angular/core';\nimport { provideEffect } from '@ng-atomic/core';\nimport { EditingStateManager } from '@ng-atomic/common';\nimport { ValueCellAtomStore } from '@ng-atomic/components/atoms/value-cell';\n/**\n * 編集状態管理のEffectプロバイダー\n */\nexport function provideEditingStateEffects() {\n return [\n provideEffect(ValueCellAtomStore.ActionId.START_EDIT, () => {\n const editingStateManager = inject(EditingStateManager);\n return (payload) => {\n editingStateManager.startEditing(payload.rowId, payload.columnId);\n };\n }),\n provideEffect(ValueCellAtomStore.ActionId.END_EDIT, () => {\n const editingStateManager = inject(EditingStateManager);\n return (payload) => {\n setTimeout(() => editingStateManager.stopEditing(payload.rowId, payload.columnId), 0);\n };\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGluZy1lZmZlY3RzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvcHJvdmlkZXJzL2VkaXRpbmctZWZmZWN0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU1RTs7R0FFRztBQUNILE1BQU0sVUFBVSwwQkFBMEI7SUFDeEMsT0FBTztRQUNMLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUN6RCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3hELE9BQU8sQ0FBQyxPQUF3RCxFQUFFLEVBQUU7Z0JBQ2xFLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwRSxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7UUFDRixhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDdkQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUN4RCxPQUFPLENBQUMsT0FBK0MsRUFBRSxFQUFFO2dCQUN6RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUVmZmVjdCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBFZGl0aW5nU3RhdGVNYW5hZ2VyIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24nO1xuaW1wb3J0IHsgVmFsdWVDZWxsQXRvbVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2F0b21zL3ZhbHVlLWNlbGwnO1xuXG4vKipcbiAqIOe3qOmbhueKtuaFi+euoeeQhuOBrkVmZmVjdOODl+ODreODkOOCpOODgOODvFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUVkaXRpbmdTdGF0ZUVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgcHJvdmlkZUVmZmVjdChWYWx1ZUNlbGxBdG9tU3RvcmUuQWN0aW9uSWQuU1RBUlRfRURJVCwgKCkgPT4ge1xuICAgICAgY29uc3QgZWRpdGluZ1N0YXRlTWFuYWdlciA9IGluamVjdChFZGl0aW5nU3RhdGVNYW5hZ2VyKTtcbiAgICAgIHJldHVybiAocGF5bG9hZDogeyByb3dJZDogc3RyaW5nOyBjb2x1bW5JZDogc3RyaW5nOyBpdGVtPzogYW55IH0pID0+IHtcbiAgICAgICAgZWRpdGluZ1N0YXRlTWFuYWdlci5zdGFydEVkaXRpbmcocGF5bG9hZC5yb3dJZCwgcGF5bG9hZC5jb2x1bW5JZCk7XG4gICAgICB9O1xuICAgIH0pLFxuICAgIHByb3ZpZGVFZmZlY3QoVmFsdWVDZWxsQXRvbVN0b3JlLkFjdGlvbklkLkVORF9FRElULCAoKSA9PiB7XG4gICAgICBjb25zdCBlZGl0aW5nU3RhdGVNYW5hZ2VyID0gaW5qZWN0KEVkaXRpbmdTdGF0ZU1hbmFnZXIpO1xuICAgICAgcmV0dXJuIChwYXlsb2FkPzogeyByb3dJZD86IHN0cmluZzsgY29sdW1uSWQ/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVkaXRpbmdTdGF0ZU1hbmFnZXIuc3RvcEVkaXRpbmcocGF5bG9hZC5yb3dJZCwgcGF5bG9hZC5jb2x1bW5JZCksIDApO1xuICAgICAgfTtcbiAgICB9KSxcbiAgXTtcbn1cbiJdfQ==","import { inject } from '@angular/core';\nimport { provideEffect } from '@ng-atomic/core';\nimport { ValueCellAtomStore } from '@ng-atomic/components/atoms/value-cell';\nimport { TableOrganism } from '@ng-atomic/components/organisms/table';\n/**\n * テーブルセル値変更のEffectプロバイダー\n */\nexport function provideTableCellValueChangeEffect(storeToken, handlerFactory, optionsOrColumns) {\n return provideEffect(ValueCellAtomStore.ActionId.UPDATE_VALUE, (injector) => {\n const normalizedOptions = Array.isArray(optionsOrColumns)\n ? { columns: optionsOrColumns }\n : (optionsOrColumns || {});\n const defaultEquals = (current, next) => current === next;\n const equalsFn = normalizedOptions.equals || defaultEquals;\n const handler = handlerFactory(injector);\n return (action) => {\n const { context, next, current, setValue } = action;\n const name = context.name;\n if (normalizedOptions.columns?.length > 0 && !normalizedOptions.columns.includes(name)) {\n return;\n }\n if (equalsFn(current, next, name)) {\n return;\n }\n const change = {\n item: context.item,\n name: name,\n current: current,\n next: next,\n rowIndex: context.position?.row ?? 0,\n columnId: context.name\n };\n handler(change, setValue);\n };\n });\n}\n/**\n * テーブルオートフィルのEffectプロバイダー\n */\nexport function provideTableAutofillEffect(storeToken, handlerFactory) {\n return provideEffect(TableOrganism.ActionId.AUTOFILL_COMPLETE, (injector) => {\n const handler = handlerFactory(injector);\n const store = inject(storeToken);\n return async (payload) => {\n if (!payload.contexts) {\n console.warn('No autofill contexts provided');\n return;\n }\n const { sourceContext, targetContexts } = payload.contexts;\n const sourceItem = sourceContext.item;\n const columnName = sourceContext.name;\n const sourceValue = sourceItem[columnName];\n const affectedItems = [];\n targetContexts.forEach(({ position, context }, index) => {\n const targetItem = context.item;\n let newValue = sourceValue;\n if (typeof sourceValue === 'number') {\n newValue = sourceValue + index + 1;\n }\n else if (typeof sourceValue === 'string') {\n const dateMatch = sourceValue.match(/^(\\d{4}-\\d{2}-\\d{2})$/);\n if (dateMatch) {\n const sourceDate = new Date(dateMatch[1]);\n const newDate = new Date(sourceDate);\n newDate.setDate(sourceDate.getDate() + index + 1);\n newValue = newDate.toISOString().split('T')[0];\n }\n }\n affectedItems.push({\n item: targetItem,\n newValue,\n rowIndex: position.row\n });\n });\n const autofillChange = {\n sourceItem,\n sourceValue,\n columnName,\n columnIndex: payload.sourcePosition.col,\n affectedItems,\n range: payload.targetRange\n };\n await handler(autofillChange);\n };\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtZWZmZWN0cy5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL3F1ZXJ5L3Byb3ZpZGVycy90YWJsZS1lZmZlY3RzLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQXNCLE1BQU0sd0NBQXdDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3RFOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlDQUFpQyxDQUMvQyxVQUFlLEVBQ2YsY0FHUyxFQUNULGdCQUEwRDtJQUUxRCxPQUFPLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBa0IsRUFBRSxFQUFFO1FBQ3BGLE1BQU0saUJBQWlCLEdBQThCLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7WUFDbEYsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFO1lBQy9CLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdCLE1BQU0sYUFBYSxHQUFHLENBQUMsT0FBWSxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQztRQUNwRSxNQUFNLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLElBQUksYUFBYSxDQUFDO1FBQzNELE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV6QyxPQUFPLENBQUMsTUFBMEIsRUFBRSxFQUFFO1lBQ3BDLE1BQU0sRUFBRSxPQUFP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LENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNqRCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDakIsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVE7b0JBQ1IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHO2lCQUN2QixDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE1BQU0sY0FBYyxHQUEyQjtnQkFDN0MsVUFBVTtnQkFDVixXQUFXO2dCQUNYLFVBQVU7Z0JBQ1YsV0FBVyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRztnQkFDdkMsYUFBYTtnQkFDYixLQUFLLEVBQUUsT0FBTyxDQUFDLFdBQVc7YUFDM0IsQ0FBQztZQUVGLE1BQU0sT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0b3IsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlRWZmZWN0IH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IFZhbHVlQ2VsbEF0b21TdG9yZSwgVXBkYXRlVmFsdWVQYXlsb2FkIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL2F0b21zL3ZhbHVlLWNlbGwnO1xuaW1wb3J0IHsgVGFibGVPcmdhbmlzbSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9vcmdhbmlzbXMvdGFibGUnO1xuaW1wb3J0IHsgVGFibGVDZWxsVmFsdWVDaGFuZ2UsIFRhYmxlQXV0b2ZpbGxDaGFuZ2UsIFRhYmxlQ2VsbENoYW5nZU9wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiDjg4bjg7zjg5bjg6vjgrvjg6vlgKTlpInmm7Tjga5FZmZlY3Tjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUYWJsZUNlbGxWYWx1ZUNoYW5nZUVmZmVjdDxUID0gYW55PihcbiAgc3RvcmVUb2tlbjogYW55LFxuICBoYW5kbGVyRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gKFxuICAgIGNoYW5nZTogVGFibGVDZWxsVmFsdWVDaGFuZ2U8VD4sXG4gICAgc2V0VmFsdWU6ICh2YWx1ZTogYW55KSA9PiB2b2lkXG4gICkgPT4gdm9pZCxcbiAgb3B0aW9uc09yQ29sdW1ucz86IFRhYmxlQ2VsbENoYW5nZU9wdGlvbnM8VD4gfCAoa2V5b2YgVClbXSxcbik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoVmFsdWVDZWxsQXRvbVN0b3JlLkFjdGlvbklkLlVQREFURV9WQUxVRSwgKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRPcHRpb25zOiBUYWJsZUNlbGxDaGFuZ2VPcHRpb25zPFQ+ID0gQXJyYXkuaXNBcnJheShvcHRpb25zT3JDb2x1bW5zKVxuICAgICAgPyB7IGNvbHVtbnM6IG9wdGlvbnNPckNvbHVtbnMgfVxuICAgICAgOiAob3B0aW9uc09yQ29sdW1ucyB8fCB7fSk7XG5cbiAgICBjb25zdCBkZWZhdWx0RXF1YWxzID0gKGN1cnJlbnQ6IGFueSwgbmV4dDogYW55KSA9PiBjdXJyZW50ID09PSBuZXh0O1xuICAgIGNvbnN0IGVxdWFsc0ZuID0gbm9ybWFsaXplZE9wdGlvbnMuZXF1YWxzIHx8IGRlZmF1bHRFcXVhbHM7XG4gICAgY29uc3QgaGFuZGxlciA9IGhhbmRsZXJGYWN0b3J5KGluamVjdG9yKTtcblxuICAgIHJldHVybiAoYWN0aW9uOiBVcGRhdGVWYWx1ZVBheWxvYWQpID0+IHtcbiAgICAgIGNvbnN0IHsgY29udGV4dCwgbmV4dCwgY3VycmVudCwgc2V0VmFsdWUgfSA9IGFjdGlvbjtcbiAgICAgIGNvbnN0IG5hbWUgPSBjb250ZXh0Lm5hbWUgYXMga2V5b2YgVDtcblxuICAgICAgaWYgKG5vcm1hbGl6ZWRPcHRpb25zLmNvbHVtbnM/Lmxlbmd0aCA+IDAgJiYgIW5vcm1hbGl6ZWRPcHRpb25zLmNvbHVtbnMuaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXF1YWxzRm4oY3VycmVudCwgbmV4dCwgbmFtZSBhcyBzdHJpbmcpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2hhbmdlOiBUYWJsZUNlbGxWYWx1ZUNoYW5nZTxUPiA9IHtcbiAgICAgICAgaXRlbTogY29udGV4dC5pdGVtLFxuICAgICAgICBuYW1lOiBuYW1lIGFzIHN0cmluZyxcbiAgICAgICAgY3VycmVudDogY3VycmVudCxcbiAgICAgICAgbmV4dDogbmV4dCxcbiAgICAgICAgcm93SW5kZXg6IGNvbnRleHQucG9zaXRpb24/LnJvdyA/PyAwLFxuICAgICAgICBjb2x1bW5JZDogY29udGV4dC5uYW1lXG4gICAgICB9O1xuICAgICAgaGFuZGxlcihjaGFuZ2UsIHNldFZhbHVlKTtcbiAgICB9O1xuICB9KTtcbn1cblxuLyoqXG4gKiDjg4bjg7zjg5bjg6vjgqrjg7zjg4jjg5XjgqPjg6vjga5FZmZlY3Tjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUYWJsZUF1dG9maWxsRWZmZWN0PFQgPSBhbnk+KFxuICBzdG9yZVRva2VuOiBhbnksXG4gIGhhbmRsZXJGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiAoXG4gICAgYXV0b2ZpbGw6IFRhYmxlQXV0b2ZpbGxDaGFuZ2U8VD5cbiAgKSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoVGFibGVPcmdhbmlzbS5BY3Rpb25JZC5BVVRPRklMTF9DT01QTEVURSwgKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGNvbnN0IGhhbmRsZXIgPSBoYW5kbGVyRmFjdG9yeShpbmplY3Rvcik7XG4gICAgY29uc3Qgc3RvcmUgPSBpbmplY3Qoc3RvcmVUb2tlbik7XG5cbiAgICByZXR1cm4gYXN5bmMgKHBheWxvYWQ6IHsgc291cmNlUG9zaXRpb246IGFueTsgdGFyZ2V0UmFuZ2U6IGFueTsgY29udGV4dHM/OiBhbnkgfSkgPT4ge1xuICAgICAgaWYgKCFwYXlsb2FkLmNvbnRleHRzKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignTm8gYXV0b2ZpbGwgY29udGV4dHMgcHJvdmlkZWQnKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNvdXJjZUNvbnRleHQsIHRhcmdldENvbnRleHRzIH0gPSBwYXlsb2FkLmNvbnRleHRzO1xuICAgICAgY29uc3Qgc291cmNlSXRlbSA9IHNvdXJjZUNvbnRleHQuaXRlbSBhcyBUO1xuICAgICAgY29uc3QgY29sdW1uTmFtZSA9IHNvdXJjZUNvbnRleHQubmFtZTtcbiAgICAgIGNvbnN0IHNvdXJjZVZhbHVlID0gKHNvdXJjZUl0ZW0gYXMgYW55KVtjb2x1bW5OYW1lXTtcblxuICAgICAgY29uc3QgYWZmZWN0ZWRJdGVtczogQXJyYXk8eyBpdGVtOiBUOyBuZXdWYWx1ZTogYW55OyByb3dJbmRleDogbnVtYmVyIH0+ID0gW107XG5cbiAgICAgIHRhcmdldENvbnRleHRzLmZvckVhY2goKHsgcG9zaXRpb24sIGNvbnRleHQgfTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldEl0ZW0gPSBjb250ZXh0Lml0ZW0gYXMgVDtcbiAgICAgICAgbGV0IG5ld1ZhbHVlID0gc291cmNlVmFsdWU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzb3VyY2VWYWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICBuZXdWYWx1ZSA9IHNvdXJjZVZhbHVlICsgaW5kZXggKyAxO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBzb3VyY2VWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBjb25zdCBkYXRlTWF0Y2ggPSBzb3VyY2VWYWx1ZS5tYXRjaCgvXihcXGR7NH0tXFxkezJ9LVxcZHsyfSkkLyk7XG4gICAgICAgICAgaWYgKGRhdGVNYXRjaCkge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlRGF0ZSA9IG5ldyBEYXRlKGRhdGVNYXRjaFsxXSk7XG4gICAgICAgICAgICBjb25zdCBuZXdEYXRlID0gbmV3IERhdGUoc291cmNlRGF0ZSk7XG4gICAgICAgICAgICBuZXdEYXRlLnNldERhdGUoc291cmNlRGF0ZS5nZXREYXRlKCkgKyBpbmRleCArIDEpO1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBuZXdEYXRlLnRvSVNPU3RyaW5nKCkuc3BsaXQoJ1QnKVswXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhZmZlY3RlZEl0ZW1zLnB1c2goe1xuICAgICAgICAgIGl0ZW06IHRhcmdldEl0ZW0sXG4gICAgICAgICAgbmV3VmFsdWUsXG4gICAgICAgICAgcm93SW5kZXg6IHBvc2l0aW9uLnJvd1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBhdXRvZmlsbENoYW5nZTogVGFibGVBdXRvZmlsbENoYW5nZTxUPiA9IHtcbiAgICAgICAgc291cmNlSXRlbSxcbiAgICAgICAgc291cmNlVmFsdWUsXG4gICAgICAgIGNvbHVtbk5hbWUsXG4gICAgICAgIGNvbHVtbkluZGV4OiBwYXlsb2FkLnNvdXJjZVBvc2l0aW9uLmNvbCxcbiAgICAgICAgYWZmZWN0ZWRJdGVtcyxcbiAgICAgICAgcmFuZ2U6IHBheWxvYWQudGFyZ2V0UmFuZ2VcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IGhhbmRsZXIoYXV0b2ZpbGxDaGFuZ2UpO1xuICAgIH07XG4gIH0pO1xufVxuIl19","import { inject, effect, ElementRef } from '@angular/core';\nimport { provideEffect } from '@ng-atomic/core';\nimport { injectNavigationExtras } from '@ng-atomic/common/utils';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { IndexTemplateStore } from '@ng-atomic/components/templates/_index';\nimport { MachinaDevService } from '@xxmachina/components/services/debug';\nimport { ActionId } from '../interfaces';\n/**\n * ナビゲーションモード切替のEffectプロバイダー\n */\nexport function provideNavModeToggleEffect(storeToken) {\n return provideEffect(ActionId.TOGGLE_VARIABLES_FORM, () => {\n const store = inject(storeToken);\n return () => {\n store.navMode.set(store.navMode() === 'collapsed' ? 'expanded' : 'collapsed');\n };\n }, { scopes: ['root', 'host'] });\n}\n/**\n * カラム幅変更のEffectプロバイダー\n */\nexport function provideChangeWidthEffect(storeToken) {\n return [\n provideEffect(IndexTemplateStore.ActionId.TABLE_COLUMN_WIDTH_CHANGE, () => {\n const store = inject(storeToken);\n return (payload) => {\n const form = store.itemsMap()?.[payload.key]?.form || store.form();\n form.patchValue({ columns: { map: { [payload.columnName]: { width: payload.width } } } });\n };\n }),\n ];\n}\n/**\n * ナビゲーションEffectプロバイダー\n */\nexport function provideNavigateEffects(storeToken) {\n return [\n provideEffect(storeToken.ActionId.ADD, () => {\n const app = inject(AppService);\n const extras = injectNavigationExtras();\n return (item) => app.router.navigate(['new'], extras());\n }),\n provideEffect(storeToken.ActionId.DETAIL, () => {\n const app = inject(AppService);\n const extras = injectNavigationExtras();\n return (item) => app.router.navigate([item.id], extras());\n }),\n ];\n}\n/**\n * デバッグスタイルのInitializerプロバイダー\n */\nexport function provideDebugStyleInitializer(storeToken) {\n return [\n storeToken.DI.provideInitializer((store) => {\n const debug = inject(MachinaDevService);\n const el = inject(ElementRef);\n effect(() => el.nativeElement.style.setProperty('--is-debug', debug.isDevMode() ? '1' : '0'));\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1lZmZlY3RzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvcHJvdmlkZXJzL25hdmlnYXRpb24tZWZmZWN0cy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxVQUFlO0lBQ3hELE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7UUFDeEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBUSxDQUFDO1FBQ3hDLE9BQU8sR0FBRyxFQUFFO1lBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUM7SUFDSixDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxVQUFlO0lBQ3RELE9BQU87UUFDTCxhQUFhLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtZQUN4RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFRLENBQUM7WUFDeEMsT0FBTyxDQUFDLE9BQTJELEVBQUUsRUFBRTtnQkFDckUsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1RixDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFVBQWU7SUFDcEQsT0FBTztRQUNMLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7WUFDMUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUMsQ0FBQztRQUNGLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUU7WUFDN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUFDLFVBQWU7SUFDMUQsT0FBTztRQUNMLFVBQVUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUM5QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN4QyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUIsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQyxDQUFDO0tBQ0gsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFByb3ZpZGVyLCBlZmZlY3QsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFwcGx5VG9JbnB1dCwgcHJvdmlkZUVmZmVjdCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBpbmplY3ROYXZpZ2F0aW9uRXh0cmFzIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vdXRpbHMnO1xuaW1wb3J0IHsgQXBwU2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9hcHAnO1xuaW1wb3J0IHsgSW5kZXhUZW1wbGF0ZVN0b3JlIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL3RlbXBsYXRlcy9faW5kZXgnO1xuaW1wb3J0IHsgTWFjaGluYURldlNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvZGVidWcnO1xuaW1wb3J0IHsgQWN0aW9uSWQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuLyoqXG4gKiDjg4rjg5PjgrLjg7zjgrfjg6fjg7Pjg6Ljg7zjg4nliIfmm7/jga5FZmZlY3Tjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVOYXZNb2RlVG9nZ2xlRWZmZWN0KHN0b3JlVG9rZW46IGFueSk6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHByb3ZpZGVFZmZlY3QoQWN0aW9uSWQuVE9HR0xFX1ZBUklBQkxFU19GT1JNLCAoKSA9PiB7XG4gICAgY29uc3Qgc3RvcmUgPSBpbmplY3Qoc3RvcmVUb2tlbikgYXMgYW55O1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBzdG9yZS5uYXZNb2RlLnNldChzdG9yZS5uYXZNb2RlKCkgPT09ICdjb2xsYXBzZWQnID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnKTtcbiAgICB9O1xuICB9LCB7IHNjb3BlczogWydyb290JywgJ2hvc3QnXSB9KTtcbn1cblxuLyoqXG4gKiDjgqvjg6njg6DluYXlpInmm7Tjga5FZmZlY3Tjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVDaGFuZ2VXaWR0aEVmZmVjdChzdG9yZVRva2VuOiBhbnkpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICBwcm92aWRlRWZmZWN0KEluZGV4VGVtcGxhdGVTdG9yZS5BY3Rpb25JZC5UQUJMRV9DT0xVTU5fV0lEVEhfQ0hBTkdFLCAoKSA9PiB7XG4gICAgICBjb25zdCBzdG9yZSA9IGluamVjdChzdG9yZVRva2VuKSBhcyBhbnk7XG4gICAgICByZXR1cm4gKHBheWxvYWQ6IHsgY29sdW1uTmFtZTogc3RyaW5nLCBrZXk6IG51bWJlciwgd2lkdGg6IG51bWJlciB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSBzdG9yZS5pdGVtc01hcCgpPy5bcGF5bG9hZC5rZXldPy5mb3JtIHx8IHN0b3JlLmZvcm0oKTtcbiAgICAgICAgZm9ybS5wYXRjaFZhbHVlKHsgY29sdW1uczogeyBtYXA6IHsgW3BheWxvYWQuY29sdW1uTmFtZV06IHsgd2lkdGg6IHBheWxvYWQud2lkdGggfSB9IH0gfSk7XG4gICAgICB9O1xuICAgIH0pLFxuICBdO1xufVxuXG4vKipcbiAqIOODiuODk+OCsuODvOOCt+ODp+ODs0VmZmVjdOODl+ODreODkOOCpOODgOODvFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5hdmlnYXRlRWZmZWN0cyhzdG9yZVRva2VuOiBhbnkpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICBwcm92aWRlRWZmZWN0KHN0b3JlVG9rZW4uQWN0aW9uSWQuQURELCAoKSA9PiB7XG4gICAgICBjb25zdCBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gICAgICBjb25zdCBleHRyYXMgPSBpbmplY3ROYXZpZ2F0aW9uRXh0cmFzKCk7XG4gICAgICByZXR1cm4gKGl0ZW06IGFueSkgPT4gYXBwLnJvdXRlci5uYXZpZ2F0ZShbJ25ldyddLCBleHRyYXMoKSk7XG4gICAgfSksXG4gICAgcHJvdmlkZUVmZmVjdChzdG9yZVRva2VuLkFjdGlvbklkLkRFVEFJTCwgKCkgPT4ge1xuICAgICAgY29uc3QgYXBwID0gaW5qZWN0KEFwcFNlcnZpY2UpO1xuICAgICAgY29uc3QgZXh0cmFzID0gaW5qZWN0TmF2aWdhdGlvbkV4dHJhcygpO1xuICAgICAgcmV0dXJuIChpdGVtOiBhbnkpID0+IGFwcC5yb3V0ZXIubmF2aWdhdGUoW2l0ZW0uaWRdLCBleHRyYXMoKSk7XG4gICAgfSksXG4gIF07XG59XG5cbi8qKlxuICog44OH44OQ44OD44Kw44K544K/44Kk44Or44GuSW5pdGlhbGl6ZXLjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEZWJ1Z1N0eWxlSW5pdGlhbGl6ZXIoc3RvcmVUb2tlbjogYW55KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgc3RvcmVUb2tlbi5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGRlYnVnID0gaW5qZWN0KE1hY2hpbmFEZXZTZXJ2aWNlKTtcbiAgICAgIGNvbnN0IGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgICAgZWZmZWN0KCgpID0+IGVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0taXMtZGVidWcnLCBkZWJ1Zy5pc0Rldk1vZGUoKSA/ICcxJyA6ICcwJykpO1xuICAgIH0pLFxuICBdO1xufVxuIl19","import { computed, effect, inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { applyToInput, createAction } from '@ng-atomic/core';\nimport { injectHasNext, injectRouteData } from '@ng-atomic/common/utils';\nimport { CommandService } from '@xxmachina/components/services/command';\nimport { ActionId } from '../interfaces';\nimport { QueryFeature } from '@xxmachina/components/features/query';\n/**\n * ItemActionsをルートデータから設定するプロバイダー\n */\nexport function provideItemActionsFromRouteDataInitializer(storeToken, key = 'itemActionsCommandIds') {\n return storeToken.DI.provideInitializer((store) => {\n const idOrObjectArray = injectRouteData(key);\n const service = inject(CommandService);\n const itemActions = (item) => {\n const params = (idOrObjectArray() ?? []).map((idOrObject) => ({\n id: typeof idOrObject === 'string' ? idOrObject : idOrObject.id,\n options: typeof idOrObject === 'string' ? {} : idOrObject.options,\n }));\n const builder = service.getActionBuilder().setItem(item);\n const actions = params.map(param => builder.setOptions(param.options).buildAction(param.id));\n console.debug('actions:', actions);\n return actions;\n };\n applyToInput(store, 'itemActions', itemActions);\n });\n}\n/**\n * NavEndActionsをルートデータから設定するプロバイダー\n */\nexport function provideNavEndActionsFromRouteDataInitializer(storeToken, key = 'navEndActionsCommandIds') {\n return storeToken.DI.provideInitializer((store) => {\n const ids = injectRouteData(key);\n const queryId = injectRouteData('navEndActionsCommandQueryId');\n const service = inject(CommandService);\n const route = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n effect(() => {\n const actions = service.getActionBuilder()\n .setFilterIds(ids())\n .setOptions({ queryId: queryId() })\n .buildActions(undefined, { relativeTo: route, replaceUrl: hasNext() });\n applyToInput(store, 'navEndActions', [\n store.variablesFormDisplayed() ? {\n id: ActionId.TOGGLE_VARIABLES_FORM,\n icon: store.navMode() === 'collapsed' ? 'expand_less' : 'expand_more'\n } : null,\n actions?.length ? {\n id: 'open_command_menu',\n icon: 'more_vert',\n children: [...actions],\n } : null,\n ].filter(Boolean));\n });\n });\n}\n/**\n * NavEndActionsの基本Initializerプロバイダー\n */\nexport function provideNavEndActionsInitializer(storeToken) {\n return storeToken.DI.provideInitializer((store) => {\n const navEndActions = computed(() => [\n store.variablesFormDisplayed() ? {\n id: ActionId.TOGGLE_VARIABLES_FORM,\n icon: store.navMode() === 'collapsed' ? 'expand_less' : 'expand_more'\n } : null,\n ].filter(Boolean));\n effect(() => applyToInput(store, 'navEndActions', [\n ...navEndActions(),\n ...store.additionalNavEndActions()\n ]));\n });\n}\n/**\n * NavEndActionsのInitializerプロバイダー一式\n */\nexport function provideNavEndActionsInitializers(storeToken) {\n return [\n storeToken.DI.provideInitializer((store) => {\n effect(() => {\n const icon = store.style()?.width === 'var(--page-width-lv3)' ? 'close_fullscreen' : 'open_in_full';\n const navEndActions = [\n createAction(QueryFeature.ActionId.クエリの実行, null, { icon: 'play_arrow' }).create(),\n store.variablesFormDisplayed() ? createAction(ActionId.TOGGLE_PAGE, null, { icon }).create() : null,\n createAction(QueryFeature.ActionId.クエリの更新, null, { icon: 'save' }).create(),\n ].filter(Boolean);\n applyToInput(store, 'navEndActions', navEndActions);\n });\n }),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvcXVlcnkvcHJvdmlkZXJzL2NvbmZpZy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFlLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsMENBQTBDLENBQ3hELFVBQWUsRUFDZixHQUFHLEdBQUcsdUJBQXVCO0lBRTdCLE9BQU8sVUFBVSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQ3JELE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBeUQsR0FBRyxDQUFDLENBQUM7UUFDckcsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sV0FBVyxHQUFnQixDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUM1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QVksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7aUJBQzVFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQixZQUFZLENBQUMsS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN0RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGVmZmVjdCwgaW5qZWN0LCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgYXBwbHlUb0lucHV0LCBjcmVhdGVBY3Rpb24sIEl0ZW1BY3Rpb25zIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IGluamVjdEhhc05leHQsIGluamVjdFJvdXRlRGF0YSB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3V0aWxzJztcbmltcG9ydCB7IENvbW1hbmRTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2NvbW1hbmQnO1xuaW1wb3J0IHsgQWN0aW9uSWQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFF1ZXJ5RmVhdHVyZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9mZWF0dXJlcy9xdWVyeSc7XG5cbi8qKlxuICogSXRlbUFjdGlvbnPjgpLjg6vjg7zjg4jjg4fjg7zjgr/jgYvjgonoqK3lrprjgZnjgovjg5fjg63jg5DjgqTjg4Djg7xcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVJdGVtQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcihcbiAgc3RvcmVUb2tlbjogYW55LFxuICBrZXkgPSAnaXRlbUFjdGlvbnNDb21tYW5kSWRzJ1xuKTogUHJvdmlkZXIge1xuICByZXR1cm4gc3RvcmVUb2tlbi5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlOiBhbnkpID0+IHtcbiAgICBjb25zdCBpZE9yT2JqZWN0QXJyYXkgPSBpbmplY3RSb3V0ZURhdGE8c3RyaW5nW10gfCB7IGlkOiBzdHJpbmcsIG9wdGlvbnM6IHsgcXVlcnlJZDogYW55IH0gfVtdPihrZXkpO1xuICAgIGNvbnN0IHNlcnZpY2UgPSBpbmplY3QoQ29tbWFuZFNlcnZpY2UpO1xuICAgIGNvbnN0IGl0ZW1BY3Rpb25zOiBJdGVtQWN0aW9ucyA9IChpdGVtKSA9PiB7XG4gICAgICBjb25zdCBwYXJhbXMgPSAoaWRPck9iamVjdEFycmF5KCkgPz8gW10pLm1hcCgoaWRPck9iamVjdCkgPT4gKHtcbiAgICAgICAgaWQ6IHR5cGVvZiBpZE9yT2JqZWN0ID09PSAnc3RyaW5nJyA/IGlkT3JPYmplY3QgOiBpZE9yT2JqZWN0LmlkLFxuICAgICAgICBvcHRpb25zOiB0eXBlb2YgaWRPck9iamVjdCA9PT0gJ3N0cmluZycgPyB7fSA6IGlkT3JPYmplY3Qub3B0aW9ucyxcbiAgICAgIH0pKTtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBzZXJ2aWNlLmdldEFjdGlvbkJ1aWxkZXIoKS5zZXRJdGVtKGl0ZW0pO1xuICAgICAgY29uc3QgYWN0aW9ucyA9IHBhcmFtcy5tYXAocGFyYW0gPT4gYnVpbGRlci5zZXRPcHRpb25zKHBhcmFtLm9wdGlvbnMpLmJ1aWxkQWN0aW9uKHBhcmFtLmlkKSk7XG4gICAgICBjb25zb2xlLmRlYnVnKCdhY3Rpb25zOicsIGFjdGlvbnMpO1xuICAgICAgcmV0dXJuIGFjdGlvbnM7XG4gICAgfTtcbiAgICBhcHBseVRvSW5wdXQoc3RvcmUsICdpdGVtQWN0aW9ucycsIGl0ZW1BY3Rpb25zKTtcbiAgfSk7XG59XG5cbi8qKlxuICogTmF2RW5kQWN0aW9uc+OCkuODq+ODvOODiOODh+ODvOOCv+OBi+OCieioreWumuOBmeOCi+ODl+ODreODkOOCpOODgOODvFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5hdkVuZEFjdGlvbnNGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIoXG4gIHN0b3JlVG9rZW46IGFueSxcbiAga2V5ID0gJ25hdkVuZEFjdGlvbnNDb21tYW5kSWRzJ1xuKTogUHJvdmlkZXIge1xuICByZXR1cm4gc3RvcmVUb2tlbi5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlOiBhbnkpID0+IHtcbiAgICBjb25zdCBpZHMgPSBpbmplY3RSb3V0ZURhdGE8KHN0cmluZyB8IHsgaWQ6IHN0cmluZywgYXV0bzogYm9vbGVhbiB9KVtdPihrZXkpO1xuICAgIGNvbnN0IHF1ZXJ5SWQgPSBpbmplY3RSb3V0ZURhdGE8c3RyaW5nPignbmF2RW5kQWN0aW9uc0NvbW1hbmRRdWVyeUlkJyk7XG4gICAgY29uc3Qgc2VydmljZSA9IGluamVjdChDb21tYW5kU2VydmljZSk7XG4gICAgY29uc3Qgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIGNvbnN0IGhhc05leHQgPSBpbmplY3RIYXNOZXh0KCk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgYWN0aW9ucyA9IHNlcnZpY2UuZ2V0QWN0aW9uQnVpbGRlcigpXG4gICAgICAgIC5zZXRGaWx0ZXJJZHMoaWRzKCkpXG4gICAgICAgIC5zZXRPcHRpb25zKHsgcXVlcnlJZDogcXVlcnlJZCgpIH0pXG4gICAgICAgIC5idWlsZEFjdGlvbnModW5kZWZpbmVkLCB7IHJlbGF0aXZlVG86IHJvdXRlLCByZXBsYWNlVXJsOiBoYXNOZXh0KCkgfSk7XG4gICAgICBhcHBseVRvSW5wdXQoc3RvcmUsICduYXZFbmRBY3Rpb25zJywgW1xuICAgICAgICBzdG9yZS52YXJpYWJsZXNGb3JtRGlzcGxheWVkKCkgPyB7XG4gICAgICAgICAgaWQ6IEFjdGlvbklkLlRPR0dMRV9WQVJJQUJMRVNfRk9STSxcbiAgICAgICAgICBpY29uOiBzdG9yZS5uYXZNb2RlKCkgPT09ICdjb2xsYXBzZWQnID8gJ2V4cGFuZF9sZXNzJyA6ICdleHBhbmRfbW9yZSdcbiAgICAgICAgfSA6IG51bGwsXG4gICAgICAgIGFjdGlvbnM/Lmxlbmd0aCA/IHtcbiAgICAgICAgICBpZDogJ29wZW5fY29tbWFuZF9tZW51JyxcbiAgICAgICAgICBpY29uOiAnbW9yZV92ZXJ0JyxcbiAgICAgICAgICBjaGlsZHJlbjogWy4uLmFjdGlvbnNdLFxuICAgICAgICB9IDogbnVsbCxcbiAgICAgIF0uZmlsdGVyKEJvb2xlYW4pKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogTmF2RW5kQWN0aW9uc+OBruWfuuacrEluaXRpYWxpemVy44OX44Ot44OQ44Kk44OA44O8XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTmF2RW5kQWN0aW9uc0luaXRpYWxpemVyKHN0b3JlVG9rZW46IGFueSk6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHN0b3JlVG9rZW4uREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZTogYW55KSA9PiB7XG4gICAgY29uc3QgbmF2RW5kQWN0aW9ucyA9IGNvbXB1dGVkKCgpID0+IFtcbiAgICAgIHN0b3JlLnZhcmlhYmxlc0Zvcm1EaXNwbGF5ZWQoKSA/IHtcbiAgICAgICAgaWQ6IEFjdGlvbklkLlRPR0dMRV9WQVJJQUJMRVNfRk9STSxcbiAgICAgICAgaWNvbjogc3RvcmUubmF2TW9kZSgpID09PSAnY29sbGFwc2VkJyA/ICdleHBhbmRfbGVzcycgOiAnZXhwYW5kX21vcmUnXG4gICAgICB9IDogbnVsbCxcbiAgICBdLmZpbHRlcihCb29sZWFuKSk7XG5cbiAgICBlZmZlY3QoKCkgPT4gYXBwbHlUb0lucHV0KHN0b3JlLCAnbmF2RW5kQWN0aW9ucycsIFtcbiAgICAgIC4uLm5hdkVuZEFjdGlvbnMoKSxcbiAgICAgIC4uLnN0b3JlLmFkZGl0aW9uYWxOYXZFbmRBY3Rpb25zKClcbiAgICBdKSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIE5hdkVuZEFjdGlvbnPjga5Jbml0aWFsaXplcuODl+ODreODkOOCpOODgOODvOS4gOW8j1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU5hdkVuZEFjdGlvbnNJbml0aWFsaXplcnMoc3RvcmVUb2tlbjogYW55KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAgc3RvcmVUb2tlbi5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlOiBhbnkpID0+IHtcbiAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGljb24gPSBzdG9yZS5zdHlsZSgpPy53aWR0aCA9PT0gJ3ZhcigtLXBhZ2Utd2lkdGgtbHYzKScgPyAnY2xvc2VfZnVsbHNjcmVlbicgOiAnb3Blbl9pbl9mdWxsJztcbiAgICAgICAgY29uc3QgbmF2RW5kQWN0aW9ucyA9IFtcbiAgICAgICAgICBjcmVhdGVBY3Rpb24oUXVlcnlGZWF0dXJlLkFjdGlvbklkLuOCr+OCqOODquOBruWun+ihjCwgbnVsbCwgeyBpY29uOiAncGxheV9hcnJvdycgfSkuY3JlYXRlKCksXG4gICAgICAgICAgc3RvcmUudmFyaWFibGVzRm9ybURpc3BsYXllZCgpID8gY3JlYXRlQWN0aW9uKEFjdGlvbklkLlRPR0dMRV9QQUdFLCBudWxsLCB7IGljb24gfSkuY3JlYXRlKCkgOiBudWxsLFxuICAgICAgICAgIGNyZWF0ZUFjdGlvbihRdWVyeUZlYXR1cmUuQWN0aW9uSWQu44Kv44Ko44Oq44Gu5pu05pawLCBudWxsLCB7IGljb246ICdzYXZlJyB9KS5jcmVhdGUoKSxcbiAgICAgICAgXS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ25hdkVuZEFjdGlvbnMnLCBuYXZFbmRBY3Rpb25zKTtcbiAgICAgIH0pO1xuICAgIH0pLFxuICBdO1xufVxuIl19","// Effect providers (split files)\nexport * from './command-effects.provider';\nexport * from './editing-effects.provider';\nexport * from './table-effects.provider';\nexport * from './navigation-effects.provider';\n// Config providers\nexport * from './config.provider';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS9wcm92aWRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsK0JBQStCLENBQUM7QUFFOUMsbUJBQW1CO0FBQ25CLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFZmZlY3QgcHJvdmlkZXJzIChzcGxpdCBmaWxlcylcbmV4cG9ydCAqIGZyb20gJy4vY29tbWFuZC1lZmZlY3RzLnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdGluZy1lZmZlY3RzLnByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtZWZmZWN0cy5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24tZWZmZWN0cy5wcm92aWRlcic7XG5cbi8vIENvbmZpZyBwcm92aWRlcnNcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLnByb3ZpZGVyJztcbiJdfQ==","var QueryPageStore_1;\nimport { __decorate, __metadata } from \"tslib\";\nimport { Directive, effect, inject, input, signal, computed, untracked } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { FormGroup } from '@angular/forms';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { _computed, applyToInput, computeFake, InjectableComponent, provideEffect, TokenizedType } from '@ng-atomic/core';\nimport { EditingStateManager } from '@ng-atomic/common';\nimport { getRawValue$, getValue$, injectHasNext, injectRouteData, injectRouteSkip, injectUnflattenRouteParam } from '@ng-atomic/common/utils';\nimport { injectNavStartActionsV2, makeDI } from '@ng-atomic/common/services/ui';\nimport { makeInitializerConfig } from '@ng-atomic/common/services/initializer';\nimport { injectOne } from '@ng-atomic/common/stores/entities';\nimport { RouterOutletFrameStore } from '@ng-atomic/components/frames/router-outlet';\nimport { buildColumns, injectIndexFormBuilder } from '@ng-atomic/components/organisms/table';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { Query, QueryHelper } from '@xxmachina/common/domain/models';\nimport { QueryFeature, QueryGraphqlVariablesFormFeature } from '@xxmachina/components/features/query';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { isEqual, merge } from 'lodash-es';\nimport { ActionId } from './interfaces';\nimport { buildItemsMapFromResult } from './utils';\nimport { provideEditingStateEffects, provideCommandExecuteEffect, provideCommandNavigateEffect, provideNavModeToggleEffect, provideChangeWidthEffect, provideNavigateEffects, provideDebugStyleInitializer, provideTableCellValueChangeEffect as _provideTableCellValueChangeEffect, provideTableAutofillEffect as _provideTableAutofillEffect, provideItemActionsFromRouteDataInitializer, provideNavEndActionsFromRouteDataInitializer, provideNavEndActionsInitializer, provideNavEndActionsInitializers, } from './providers';\nimport * as i0 from \"@angular/core\";\nexport { ActionId };\nlet QueryPageStore = class QueryPageStore extends InjectableComponent {\n static { QueryPageStore_1 = this; }\n static ActionId = ActionId;\n static DI = makeDI(QueryPageStore_1, () => {\n return () => ({\n type: 'table',\n style: { width: 'var(--page-width-lv2)' },\n title: null,\n titleEditable: true,\n childrenKey: 'children',\n additionalNavEndActions: [],\n navEndActions: [],\n additionalColumns: (items) => [],\n itemActions: (item => [{ id: QueryPageStore_1.ActionId.DETAIL, icon: 'open_in_new', name: '詳細', payload: item }]),\n pageSizeOptions: [50, 100, 300, 500, 1000],\n });\n }, ['@xxmachina/components', 'pages', 'query']);\n /** @deprecated use `QueryPageStore.DI.provideInitializer` instead */\n static Initializer = makeInitializerConfig(QueryPageStore_1);\n static provideDefault() {\n return [\n QueryPageStore_1.DI.provideConfig(),\n QueryPageStore_1.provideDefaultInitializes(),\n QueryPageStore_1.provideDefaultEffects(),\n provideDebugStyleInitializer(QueryPageStore_1),\n QueryFeature.provideDefault(),\n ];\n }\n static provideCustom() {\n return [\n QueryPageStore_1.DI.provideConfig(),\n QueryPageStore_1.provideDefaultInitializes(),\n QueryPageStore_1.provideDefaultEffects(),\n provideDebugStyleInitializer(QueryPageStore_1),\n QueryPageStore_1.provideNonEditableConfig(),\n QueryPageStore_1.provideQueryFromRouteDataQueryIdInitializer(),\n QueryPageStore_1.provideAutoTogglePageInitializer(),\n QueryFeature.provideDefault(),\n ];\n }\n static provideDefaultV2() {\n return [\n QueryPageStore_1.provideCustom(),\n QueryPageStore_1.DI.Config.provide(() => config => ({ ...config })),\n QueryPageStore_1.provideTitleFromQueryResultInitializer(),\n QueryPageStore_1.provideQueryFromRouteDataInitializer(),\n QueryPageStore_1.providePaginationInitializer(),\n ];\n }\n /** @deprecated use `provideCustom` instead */\n static provideForCustomPage() {\n return this.provideCustom();\n }\n static provideNonEditableConfig() {\n return QueryPageStore_1.DI.provideConfig(() => {\n return config => ({\n ...config,\n titleEditable: false,\n style: { ...config.style, width: `var(--page-width-lv3)` },\n });\n });\n }\n static provideDefaultInitializes() {\n return [\n QueryPageStore_1.provideAutoTogglePageInitializer(),\n QueryPageStore_1.provideVariablesFormValueFromMatrixParamsInitializer(),\n ];\n }\n static provideNavEndActionsInitializers() {\n return [\n ...provideNavEndActionsInitializers(QueryPageStore_1),\n QueryPageStore_1.provideVariablesFromRouteParamDataInitializer(),\n ];\n }\n static provideVariablesFromRouteParamDataInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer(store => {\n const data = injectUnflattenRouteParam('data');\n effect(() => {\n const variables = store.variablesFormValue();\n const merged = merge(variables, data());\n store.feature.form.patchValue({ graphql: { variablesJson: JSON.stringify(merged, null, 2) } });\n });\n }),\n ];\n }\n static provideVariablesFromRouteParamInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer(store => {\n const data = injectUnflattenRouteParam();\n effect(() => {\n const variables = store.variablesFormValue();\n const merged = merge(variables, data());\n store.feature.form.patchValue({ graphql: { variablesJson: JSON.stringify(merged, null, 2) } });\n });\n }),\n ];\n }\n static provideAutoTogglePageInitializer() {\n return [\n provideEffect(RouterOutletFrameStore.ActionId.DEACTIVATED, () => {\n const store = inject(QueryPageStore_1);\n const style = computeFake(store.style());\n return () => applyToInput(store, 'style', { ...style, paddingLeft: `0` });\n }),\n QueryPageStore_1.DI.provideInitializer((store) => {\n const hasNext = injectHasNext();\n const style = computeFake(store.style());\n effect(() => {\n if (hasNext()) {\n setTimeout(() => {\n if (style.width === 'var(--page-width-lv3)') {\n applyToInput(store, 'style', { ...style, paddingLeft: 'var(--page-width-lv1)' });\n }\n }, 300);\n }\n });\n }),\n ];\n }\n static provideVariablesFormValueFromMatrixParamsInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n const data = injectUnflattenRouteParam('data');\n effect(() => store.variablesForm()?.patchValue({ ...data() }));\n }),\n ];\n }\n static provideQueryFromRouteDataQueryIdInitializer(key = 'queryId') {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n const query = injectOne(Query, { id: injectRouteData(key) });\n const _query = computed(() => query(), { equal: (pre, cur) => JSON.stringify(pre) === JSON.stringify(cur) });\n effect(() => {\n console.debug('[QueryPageStore] query:', _query());\n applyToInput(store, 'query', _query());\n });\n }),\n ];\n }\n static provideQueryFromRouteDataInitializer(key = 'query') {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n const query = injectRouteData(key);\n effect(() => applyToInput(store, 'query', query()));\n }),\n ];\n }\n static provideItemActionsFromRouteDataInitializer(key = 'itemActionsCommandIds') {\n return provideItemActionsFromRouteDataInitializer(QueryPageStore_1, key);\n }\n static provideNavEndActionsFromRouteDataInitializer(key = 'navEndActionsCommandIds') {\n return provideNavEndActionsFromRouteDataInitializer(QueryPageStore_1, key);\n }\n static provideDefaultEffects() {\n return [\n QueryPageStore_1.provideCommandEffects(),\n provideNavModeToggleEffect(QueryPageStore_1),\n provideChangeWidthEffect(QueryPageStore_1),\n QueryFeature.provideDefaultEffects(),\n provideNavigateEffects(QueryPageStore_1),\n provideEditingStateEffects(),\n ];\n }\n static provideEditingStateEffects() {\n return provideEditingStateEffects();\n }\n static provideCommandEffects() {\n return [...provideCommandExecuteEffect(), ...provideCommandNavigateEffect()];\n }\n static provideCommandExecuteEffect() {\n return provideCommandExecuteEffect();\n }\n static provideCommandNavigateEffect() {\n return provideCommandNavigateEffect();\n }\n static provideNavModeToggleEffect() {\n return provideNavModeToggleEffect(QueryPageStore_1);\n }\n static provideNavEndActionsInitializer() {\n return provideNavEndActionsInitializer(QueryPageStore_1);\n }\n static provideChangeWidthEffect() {\n return provideChangeWidthEffect(QueryPageStore_1);\n }\n static provideNavigateEffects() {\n return provideNavigateEffects(QueryPageStore_1);\n }\n static providePaginationInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n effect(() => {\n const columns = store.columnNames();\n const sticky = store.sticky();\n const current = untracked(() => store.form())?.value;\n const form = store.indexFormBuilder.build({\n columns: buildColumns([...columns, '__actions'], sticky),\n page: { size: current?.page?.size ?? 100, index: current?.page?.index ?? 0 }\n });\n applyToInput(store, 'form', form);\n });\n }),\n QueryPageStore_1.DI.provideInitializer((store) => {\n const page = derivedAsync(() => getValue$(store.form().get(['page'])), { initialValue: { index: 0, size: 100 } });\n const pagination = computed(() => {\n const _page = page() || { index: 0, size: 100 };\n return { offset: _page.index * _page.size, limit: _page.size };\n });\n effect(() => store.variablesForm()?.patchValue(pagination()));\n }),\n ];\n }\n static provideTableCellValueChangeEffect(handlerFactory, optionsOrColumns) {\n return _provideTableCellValueChangeEffect(QueryPageStore_1, handlerFactory, optionsOrColumns);\n }\n static provideTableAutofillEffect(handlerFactory) {\n return _provideTableAutofillEffect(QueryPageStore_1, handlerFactory);\n }\n static provideDebugStyleInitializer() {\n return provideDebugStyleInitializer(QueryPageStore_1);\n }\n static provideTitleFromQueryResultInitializer() {\n return [\n QueryPageStore_1.DI.provideInitializer((store) => {\n effect(() => applyToInput(store, 'title', store.feature.result()?.__meta__?.title));\n }),\n ];\n }\n // Instance members\n app = inject(AppService);\n config = QueryPageStore_1.DI.injectConfig();\n feature = inject(QueryFeature);\n variablesFormFeature = inject(QueryGraphqlVariablesFormFeature);\n indexFormBuilder = injectIndexFormBuilder();\n navMode = signal('collapsed');\n editingStateManager = inject(EditingStateManager);\n style = input(_computed(() => this.config().style));\n query = input(null);\n #navStartActions = injectNavStartActionsV2();\n navStartActions = input(_computed(() => this.#navStartActions()));\n additionalNavEndActions = input(_computed(() => this.config().additionalNavEndActions));\n navEndActions = input(_computed(() => this.config().navEndActions));\n type = input(_computed(() => this.config().type));\n title = input(_computed(() => this.config().title ?? this.query()?.title));\n titleEditable = input(_computed(() => this.config().titleEditable));\n itemsMap = input(_computed(() => buildItemsMapFromResult(this.feature.result())));\n items = computed(() => this.itemsMap()[Object.keys(this.itemsMap())[0]]?.items ?? []);\n itemsLength = input(_computed(() => this.itemsMap()[Object.keys(this.itemsMap())[0]]?.itemsLength ?? 0));\n childrenKey = input(_computed(() => this.config().childrenKey));\n additionalColumns = input(_computed(() => this.config().additionalColumns));\n additionalColumnNames = input(_computed(() => this.additionalColumns()(this.items())));\n extractedColumnNames = input(_computed(() => QueryHelper.extractColumnNames(this.items(), this.childrenKey())));\n columnNames = input(_computed(() => [...this.extractedColumnNames(), ...this.additionalColumnNames()]));\n sticky = input(_computed(() => ({ stickyStart: 2, stickyEnd: 1 })));\n form = input(_computed(() => this.indexFormBuilder.build({ columns: buildColumns([...this.columnNames(), '__actions'], this.sticky()) })));\n itemActions = input(_computed(() => this.config().itemActions));\n tableTreeControl = new FlatTreeControl(n => n.level, n => n.isExpandable, { trackBy: (n) => n?.id ?? n });\n variablesForm = input(_computed(() => this.variablesFormFeature.variablesForm() ?? new FormGroup({})));\n variablesFormFieldMap = input(_computed(() => ({})));\n variablesFormValue = derivedAsync(() => getRawValue$(this.variablesForm()), { equal: isEqual });\n variablesFormValue$ = toObservable(this.variablesFormValue);\n variablesFormDisplayed = input(_computed(() => Object.keys(this.variablesFormFeature.variablesValue())?.length > 0));\n tableColumnFormFieldMap = input(_computed(() => ({})));\n getRowClass = input(_computed(() => () => ''));\n skip = injectRouteSkip();\n pageSizeOptions = input(_computed(() => this.config().pageSizeOptions));\n constructor() {\n super();\n QueryPageStore_1.DI.initialize(this);\n effect(() => this.feature.form.patchValue(this.query()));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: QueryPageStore, isStandalone: true, inputs: { style: { classPropertyName: \"style\", publicName: \"style\", isSignal: true, isRequired: false, transformFunction: null }, query: { classPropertyName: \"query\", publicName: \"query\", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: \"navStartActions\", publicName: \"navStartActions\", isSignal: true, isRequired: false, transformFunction: null }, additionalNavEndActions: { classPropertyName: \"additionalNavEndActions\", publicName: \"additionalNavEndActions\", isSignal: true, isRequired: false, transformFunction: null }, navEndActions: { classPropertyName: \"navEndActions\", publicName: \"navEndActions\", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: \"type\", publicName: \"type\", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, titleEditable: { classPropertyName: \"titleEditable\", publicName: \"titleEditable\", isSignal: true, isRequired: false, transformFunction: null }, itemsMap: { classPropertyName: \"itemsMap\", publicName: \"itemsMap\", isSignal: true, isRequired: false, transformFunction: null }, itemsLength: { classPropertyName: \"itemsLength\", publicName: \"itemsLength\", isSignal: true, isRequired: false, transformFunction: null }, childrenKey: { classPropertyName: \"childrenKey\", publicName: \"childrenKey\", isSignal: true, isRequired: false, transformFunction: null }, additionalColumns: { classPropertyName: \"additionalColumns\", publicName: \"additionalColumns\", isSignal: true, isRequired: false, transformFunction: null }, additionalColumnNames: { classPropertyName: \"additionalColumnNames\", publicName: \"additionalColumnNames\", isSignal: true, isRequired: false, transformFunction: null }, extractedColumnNames: { classPropertyName: \"extractedColumnNames\", publicName: \"extractedColumnNames\", isSignal: true, isRequired: false, transformFunction: null }, columnNames: { classPropertyName: \"columnNames\", publicName: \"columnNames\", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: \"sticky\", publicName: \"sticky\", isSignal: true, isRequired: false, transformFunction: null }, form: { classPropertyName: \"form\", publicName: \"form\", isSignal: true, isRequired: false, transformFunction: null }, itemActions: { classPropertyName: \"itemActions\", publicName: \"itemActions\", isSignal: true, isRequired: false, transformFunction: null }, variablesForm: { classPropertyName: \"variablesForm\", publicName: \"variablesForm\", isSignal: true, isRequired: false, transformFunction: null }, variablesFormFieldMap: { classPropertyName: \"variablesFormFieldMap\", publicName: \"variablesFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, variablesFormDisplayed: { classPropertyName: \"variablesFormDisplayed\", publicName: \"variablesFormDisplayed\", isSignal: true, isRequired: false, transformFunction: null }, tableColumnFormFieldMap: { classPropertyName: \"tableColumnFormFieldMap\", publicName: \"tableColumnFormFieldMap\", isSignal: true, isRequired: false, transformFunction: null }, getRowClass: { classPropertyName: \"getRowClass\", publicName: \"getRowClass\", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: \"pageSizeOptions\", publicName: \"pageSizeOptions\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n};\nQueryPageStore = QueryPageStore_1 = __decorate([\n TokenizedType(),\n __metadata(\"design:paramtypes\", [])\n], QueryPageStore);\nexport { QueryPageStore };\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryPageStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFnZS5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL3F1ZXJ5L3F1ZXJ5LXBhZ2Uuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFzQixNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBRSxXQUFXLEVBQWdCLG1CQUFtQixFQUEyQixhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekssT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5SSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztB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LENBQUM7SUFDckgsdUJBQXVCLEdBQUcsS0FBSyxDQUFlLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxXQUFXLEdBQUcsS0FBSyxDQUF3QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN0RSxJQUFJLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFDekIsZUFBZSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFFakY7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLGdCQUFjLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQzt1R0FyVFUsY0FBYzsyRkFBZCxjQUFjOztBQUFkLGNBQWM7SUFGMUIsYUFBYSxFQUFFOztHQUVILGNBQWMsQ0FzVDFCOzsyRkF0VFksY0FBYztrQkFEMUIsU0FBUzttQkFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgaW5qZWN0LCBpbnB1dCwgSW5qZWN0b3IsIFByb3ZpZGVyLCBzaWduYWwsIGNvbXB1dGVkLCB1bnRyYWNrZWQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IF9jb21wdXRlZCwgQWN0aW9uLCBhcHBseVRvSW5wdXQsIGNvbXB1dGVGYWtlLCBjcmVhdGVBY3Rpb24sIEluamVjdGFibGVDb21wb25lbnQsIEl0ZW1BY3Rpb25zLCBOYXZBY3Rpb25zLCBwcm92aWRlRWZmZWN0LCBUb2tlbml6ZWRUeXBlIH0gZnJvbSAnQG5nLWF0b21pYy9jb3JlJztcbmltcG9ydCB7IEVkaXRpbmdTdGF0ZU1hbmFnZXIgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbic7XG5pbXBvcnQgeyBnZXRSYXdWYWx1ZSQsIGdldFZhbHVlJCwgaW5qZWN0SGFzTmV4dCwgaW5qZWN0Um91dGVEYXRhLCBpbmplY3RSb3V0ZVNraXAsIGluamVjdFVuZmxhdHRlblJvdXRlUGFyYW0gfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi91dGlscyc7XG5pbXBvcnQgeyBpbmplY3ROYXZTdGFydEFjdGlvbnNWMiwgbWFrZURJIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWknO1xuaW1wb3J0IHsgbWFrZUluaXRpYWxpemVyQ29uZmlnIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgaW5qZWN0T25lIH0gZnJvbSAnQG5nLWF0b21pYy9jb21tb24vc3RvcmVzL2VudGl0aWVzJztcbmltcG9ydCB7IEZvcm1GaWVsZE1hcCB9IGZyb20gJ0BuZy1hdG9taWMvY29tbW9uL3BpcGVzL3NtYXJ0LWZpZWxkJztcbmltcG9ydCB7IEluZGV4VGVtcGxhdGVTdG9yZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvX2luZGV4JztcbmltcG9ydCB7IFJvdXRlck91dGxldEZyYW1lU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvZnJhbWVzL3JvdXRlci1vdXRsZXQnO1xuaW1wb3J0IHsgYnVpbGRDb2x1bW5zLCBpbmplY3RJbmRleEZvcm1CdWlsZGVyIH0gZnJvbSAnQG5nLWF0b21pYy9jb21wb25lbnRzL29yZ2FuaXNtcy90YWJsZSc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2FwcCc7XG5pbXBvcnQgeyBDb21tYW5kU2VydmljZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9jb21tYW5kJztcbmltcG9ydCB7IE1hY2hpbmFEZXZTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2RlYnVnJztcbmltcG9ydCB7IFF1ZXJ5LCBRdWVyeUhlbHBlciB9IGZyb20gJ0B4eG1hY2hpbmEvY29tbW9uL2RvbWFpbi9tb2RlbHMnO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlLCBRdWVyeUdyYXBocWxWYXJpYWJsZXNGb3JtRmVhdHVyZSB9IGZyb20gJ0B4eG1hY2hpbmEvY29tcG9uZW50cy9mZWF0dXJlcy9xdWVyeSc7XG5pbXBvcnQgeyBkZXJpdmVkQXN5bmMgfSBmcm9tICduZ3h0ZW5zaW9uL2Rlcml2ZWQtYXN5bmMnO1xuaW1wb3J0IHsgaXNFcXVhbCwgbWVyZ2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgeyBBY3Rpb25JZCwgVGFibGVDZWxsVmFsdWVDaGFuZ2UsIFRhYmxlQXV0b2ZpbGxDaGFuZ2UsIFRhYmxlQ2VsbENoYW5nZU9wdGlvbnMgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgYnVpbGRJdGVtc01hcEZyb21SZXN1bHQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7XG4gIHByb3ZpZGVFZGl0aW5nU3RhdGVFZmZlY3RzLFxuICBwcm92aWRlQ29tbWFuZEV4ZWN1dGVFZmZlY3QsXG4gIHByb3ZpZGVDb21tYW5kTmF2aWdhdGVFZmZlY3QsXG4gIHByb3ZpZGVOYXZNb2RlVG9nZ2xlRWZmZWN0LFxuICBwcm92aWRlQ2hhbmdlV2lkdGhFZmZlY3QsXG4gIHByb3ZpZGVOYXZpZ2F0ZUVmZmVjdHMsXG4gIHByb3ZpZGVEZWJ1Z1N0eWxlSW5pdGlhbGl6ZXIsXG4gIHByb3ZpZGVUYWJsZUNlbGxWYWx1ZUNoYW5nZUVmZmVjdCBhcyBfcHJvdmlkZVRhYmxlQ2VsbFZhbHVlQ2hhbmdlRWZmZWN0LFxuICBwcm92aWRlVGFibGVBdXRvZmlsbEVmZmVjdCBhcyBfcHJvdmlkZVRhYmxlQXV0b2ZpbGxFZmZlY3QsXG4gIHByb3ZpZGVJdGVtQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcixcbiAgcHJvdmlkZU5hdkVuZEFjdGlvbnNGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIsXG4gIHByb3ZpZGVOYXZFbmRBY3Rpb25zSW5pdGlhbGl6ZXIsXG4gIHByb3ZpZGVOYXZFbmRBY3Rpb25zSW5pdGlhbGl6ZXJzLFxufSBmcm9tICcuL3Byb3ZpZGVycyc7XG5cbmV4cG9ydCB7IEFjdGlvbklkLCBUYWJsZUNlbGxWYWx1ZUNoYW5nZSwgVGFibGVBdXRvZmlsbENoYW5nZSwgVGFibGVDZWxsQ2hhbmdlT3B0aW9ucyB9O1xuXG5AVG9rZW5pemVkVHlwZSgpXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFnZVN0b3JlIGV4dGVuZHMgSW5qZWN0YWJsZUNvbXBvbmVudCB7XG4gIHN0YXRpYyByZWFkb25seSBBY3Rpb25JZCA9IEFjdGlvbklkO1xuXG4gIHN0YXRpYyByZWFkb25seSBESSA9IG1ha2VESShRdWVyeVBhZ2VTdG9yZSwgKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiAoe1xuICAgICAgdHlwZTogJ3RhYmxlJyxcbiAgICAgIHN0eWxlOiA8YW55Pnsgd2lkdGg6ICd2YXIoLS1wYWdlLXdpZHRoLWx2MiknIH0sXG4gICAgICB0aXRsZTogPHN0cmluZz5udWxsLFxuICAgICAgdGl0bGVFZGl0YWJsZTogdHJ1ZSxcbiAgICAgIGNoaWxkcmVuS2V5OiAnY2hpbGRyZW4nIHNhdGlzZmllcyBzdHJpbmcsXG4gICAgICBhZGRpdGlvbmFsTmF2RW5kQWN0aW9uczogPEFjdGlvbltdPltdLFxuICAgICAgbmF2RW5kQWN0aW9uczogPE5hdkFjdGlvbnM+W10sXG4gICAgICBhZGRpdGlvbmFsQ29sdW1uczogKGl0ZW1zOiBvYmplY3RbXSkgPT4gW10gYXMgc3RyaW5nW10sXG4gICAgICBpdGVtQWN0aW9uczogKGl0ZW0gPT4gW3sgaWQ6IFF1ZXJ5UGFnZVN0b3JlLkFjdGlvbklkLkRFVEFJTCwgaWNvbjogJ29wZW5faW5fbmV3JywgbmFtZTogJ+ips+e0sCcsIHBheWxvYWQ6IGl0ZW0gfV0pIGFzIEl0ZW1BY3Rpb25zLFxuICAgICAgcGFnZVNpemVPcHRpb25zOiBbNTAsIDEwMCwgMzAwLCA1MDAsIDEwMDBdLFxuICAgIH0pO1xuICB9LCBbJ0B4eG1hY2hpbmEvY29tcG9uZW50cycsICdwYWdlcycsICdxdWVyeSddKTtcblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIGBRdWVyeVBhZ2VTdG9yZS5ESS5wcm92aWRlSW5pdGlhbGl6ZXJgIGluc3RlYWQgKi9cbiAgc3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVyID0gbWFrZUluaXRpYWxpemVyQ29uZmlnKFF1ZXJ5UGFnZVN0b3JlKTtcblxuICBzdGF0aWMgcHJvdmlkZURlZmF1bHQoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLnByb3ZpZGVDb25maWcoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXMoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgICAgcHJvdmlkZURlYnVnU3R5bGVJbml0aWFsaXplcihRdWVyeVBhZ2VTdG9yZSksXG4gICAgICBRdWVyeUZlYXR1cmUucHJvdmlkZURlZmF1bHQoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDdXN0b20oKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLnByb3ZpZGVDb25maWcoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0SW5pdGlhbGl6ZXMoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVEZWZhdWx0RWZmZWN0cygpLFxuICAgICAgcHJvdmlkZURlYnVnU3R5bGVJbml0aWFsaXplcihRdWVyeVBhZ2VTdG9yZSksXG4gICAgICBRdWVyeVBhZ2VTdG9yZS5wcm92aWRlTm9uRWRpdGFibGVDb25maWcoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVRdWVyeUZyb21Sb3V0ZURhdGFRdWVyeUlkSW5pdGlhbGl6ZXIoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVBdXRvVG9nZ2xlUGFnZUluaXRpYWxpemVyKCksXG4gICAgICBRdWVyeUZlYXR1cmUucHJvdmlkZURlZmF1bHQoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVEZWZhdWx0VjIoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVDdXN0b20oKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLkNvbmZpZy5wcm92aWRlKCgpID0+IGNvbmZpZyA9PiAoeyAuLi5jb25maWcgfSkpLFxuICAgICAgUXVlcnlQYWdlU3RvcmUucHJvdmlkZVRpdGxlRnJvbVF1ZXJ5UmVzdWx0SW5pdGlhbGl6ZXIoKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVRdWVyeUZyb21Sb3V0ZURhdGFJbml0aWFsaXplcigpLFxuICAgICAgUXVlcnlQYWdlU3RvcmUucHJvdmlkZVBhZ2luYXRpb25Jbml0aWFsaXplcigpLFxuICAgIF07XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIGBwcm92aWRlQ3VzdG9tYCBpbnN0ZWFkICovXG4gIHN0YXRpYyBwcm92aWRlRm9yQ3VzdG9tUGFnZSgpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5wcm92aWRlQ3VzdG9tKCk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZU5vbkVkaXRhYmxlQ29uZmlnKCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUNvbmZpZygoKSA9PiB7XG4gICAgICByZXR1cm4gY29uZmlnID0+ICh7XG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgdGl0bGVFZGl0YWJsZTogZmFsc2UsXG4gICAgICAgIHN0eWxlOiB7IC4uLmNvbmZpZy5zdHlsZSwgd2lkdGg6IGB2YXIoLS1wYWdlLXdpZHRoLWx2MylgIH0sXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEluaXRpYWxpemVzKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBRdWVyeVBhZ2VTdG9yZS5wcm92aWRlQXV0b1RvZ2dsZVBhZ2VJbml0aWFsaXplcigpLFxuICAgICAgUXVlcnlQYWdlU3RvcmUucHJvdmlkZVZhcmlhYmxlc0Zvcm1WYWx1ZUZyb21NYXRyaXhQYXJhbXNJbml0aWFsaXplcigpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZU5hdkVuZEFjdGlvbnNJbml0aWFsaXplcnMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnByb3ZpZGVOYXZFbmRBY3Rpb25zSW5pdGlhbGl6ZXJzKFF1ZXJ5UGFnZVN0b3JlKSxcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVWYXJpYWJsZXNGcm9tUm91dGVQYXJhbURhdGFJbml0aWFsaXplcigpLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVZhcmlhYmxlc0Zyb21Sb3V0ZVBhcmFtRGF0YUluaXRpYWxpemVyKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICBRdWVyeVBhZ2VTdG9yZS5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoc3RvcmUgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSgnZGF0YScpO1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHZhcmlhYmxlcyA9IHN0b3JlLnZhcmlhYmxlc0Zvcm1WYWx1ZSgpO1xuICAgICAgICAgIGNvbnN0IG1lcmdlZCA9IG1lcmdlKHZhcmlhYmxlcywgZGF0YSgpKTtcbiAgICAgICAgICBzdG9yZS5mZWF0dXJlLmZvcm0ucGF0Y2hWYWx1ZSh7IGdyYXBocWw6IHsgdmFyaWFibGVzSnNvbjogSlNPTi5zdHJpbmdpZnkobWVyZ2VkLCBudWxsLCAyKSB9IH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVZhcmlhYmxlc0Zyb21Sb3V0ZVBhcmFtSW5pdGlhbGl6ZXIoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLnByb3ZpZGVJbml0aWFsaXplcihzdG9yZSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBpbmplY3RVbmZsYXR0ZW5Sb3V0ZVBhcmFtKCk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVzID0gc3RvcmUudmFyaWFibGVzRm9ybVZhbHVlKCk7XG4gICAgICAgICAgY29uc3QgbWVyZ2VkID0gbWVyZ2UodmFyaWFibGVzLCBkYXRhKCkpO1xuICAgICAgICAgIHN0b3JlLmZlYXR1cmUuZm9ybS5wYXRjaFZhbHVlKHsgZ3JhcGhxbDogeyB2YXJpYWJsZXNKc29uOiBKU09OLnN0cmluZ2lmeShtZXJnZWQsIG51bGwsIDIpIH0gfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQXV0b1RvZ2dsZVBhZ2VJbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgcHJvdmlkZUVmZmVjdChSb3V0ZXJPdXRsZXRGcmFtZVN0b3JlLkFjdGlvbklkLkRFQUNUSVZBVEVELCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0b3JlID0gaW5qZWN0KFF1ZXJ5UGFnZVN0b3JlKTtcbiAgICAgICAgY29uc3Qgc3R5bGUgPSBjb21wdXRlRmFrZShzdG9yZS5zdHlsZSgpKTtcbiAgICAgICAgcmV0dXJuICgpID0+IGFwcGx5VG9JbnB1dChzdG9yZSwgJ3N0eWxlJywgeyAuLi5zdHlsZSwgcGFkZGluZ0xlZnQ6IGAwYCB9KTtcbiAgICAgIH0pLFxuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBoYXNOZXh0ID0gaW5qZWN0SGFzTmV4dCgpO1xuICAgICAgICBjb25zdCBzdHlsZSA9IGNvbXB1dGVGYWtlKHN0b3JlLnN0eWxlKCkpO1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGlmIChoYXNOZXh0KCkpIHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoc3R5bGUud2lkdGggPT09ICd2YXIoLS1wYWdlLXdpZHRoLWx2MyknKSB7XG4gICAgICAgICAgICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnc3R5bGUnLCB7IC4uLnN0eWxlLCBwYWRkaW5nTGVmdDogJ3ZhcigtLXBhZ2Utd2lkdGgtbHYxKScgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVZhcmlhYmxlc0Zvcm1WYWx1ZUZyb21NYXRyaXhQYXJhbXNJbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBkYXRhID0gaW5qZWN0VW5mbGF0dGVuUm91dGVQYXJhbSgnZGF0YScpO1xuICAgICAgICBlZmZlY3QoKCkgPT4gc3RvcmUudmFyaWFibGVzRm9ybSgpPy5wYXRjaFZhbHVlKHsgLi4uZGF0YSgpIH0pKTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVF1ZXJ5RnJvbVJvdXRlRGF0YVF1ZXJ5SWRJbml0aWFsaXplcihrZXkgPSAncXVlcnlJZCcpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBxdWVyeSA9IGluamVjdE9uZShRdWVyeSwgeyBpZDogaW5qZWN0Um91dGVEYXRhPHN0cmluZz4oa2V5KSB9KTtcbiAgICAgICAgY29uc3QgX3F1ZXJ5ID0gY29tcHV0ZWQoKCkgPT4gcXVlcnkoKSwgeyBlcXVhbDogKHByZSwgY3VyKSA9PiBKU09OLnN0cmluZ2lmeShwcmUpID09PSBKU09OLnN0cmluZ2lmeShjdXIpIH0pO1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZGVidWcoJ1tRdWVyeVBhZ2VTdG9yZV0gcXVlcnk6JywgX3F1ZXJ5KCkpO1xuICAgICAgICAgIGFwcGx5VG9JbnB1dChzdG9yZSwgJ3F1ZXJ5JywgX3F1ZXJ5KCkpO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVF1ZXJ5RnJvbVJvdXRlRGF0YUluaXRpYWxpemVyKGtleSA9ICdxdWVyeScpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBxdWVyeSA9IGluamVjdFJvdXRlRGF0YTxRdWVyeT4oa2V5KTtcbiAgICAgICAgZWZmZWN0KCgpID0+IGFwcGx5VG9JbnB1dChzdG9yZSwgJ3F1ZXJ5JywgcXVlcnkoKSkpO1xuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlSXRlbUFjdGlvbnNGcm9tUm91dGVEYXRhSW5pdGlhbGl6ZXIoa2V5ID0gJ2l0ZW1BY3Rpb25zQ29tbWFuZElkcycpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHByb3ZpZGVJdGVtQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcihRdWVyeVBhZ2VTdG9yZSwga2V5KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlTmF2RW5kQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcihrZXkgPSAnbmF2RW5kQWN0aW9uc0NvbW1hbmRJZHMnKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBwcm92aWRlTmF2RW5kQWN0aW9uc0Zyb21Sb3V0ZURhdGFJbml0aWFsaXplcihRdWVyeVBhZ2VTdG9yZSwga2V5KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVmYXVsdEVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFF1ZXJ5UGFnZVN0b3JlLnByb3ZpZGVDb21tYW5kRWZmZWN0cygpLFxuICAgICAgcHJvdmlkZU5hdk1vZGVUb2dnbGVFZmZlY3QoUXVlcnlQYWdlU3RvcmUpLFxuICAgICAgcHJvdmlkZUNoYW5nZVdpZHRoRWZmZWN0KFF1ZXJ5UGFnZVN0b3JlKSxcbiAgICAgIFF1ZXJ5RmVhdHVyZS5wcm92aWRlRGVmYXVsdEVmZmVjdHMoKSxcbiAgICAgIHByb3ZpZGVOYXZpZ2F0ZUVmZmVjdHMoUXVlcnlQYWdlU3RvcmUpLFxuICAgICAgcHJvdmlkZUVkaXRpbmdTdGF0ZUVmZmVjdHMoKSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVFZGl0aW5nU3RhdGVFZmZlY3RzKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBwcm92aWRlRWRpdGluZ1N0YXRlRWZmZWN0cygpO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDb21tYW5kRWZmZWN0cygpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gWy4uLnByb3ZpZGVDb21tYW5kRXhlY3V0ZUVmZmVjdCgpLCAuLi5wcm92aWRlQ29tbWFuZE5hdmlnYXRlRWZmZWN0KCldO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVDb21tYW5kRXhlY3V0ZUVmZmVjdCgpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gcHJvdmlkZUNvbW1hbmRFeGVjdXRlRWZmZWN0KCk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZUNvbW1hbmROYXZpZ2F0ZUVmZmVjdCgpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gcHJvdmlkZUNvbW1hbmROYXZpZ2F0ZUVmZmVjdCgpO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZNb2RlVG9nZ2xlRWZmZWN0KCk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4gcHJvdmlkZU5hdk1vZGVUb2dnbGVFZmZlY3QoUXVlcnlQYWdlU3RvcmUpO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZFbmRBY3Rpb25zSW5pdGlhbGl6ZXIoKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBwcm92aWRlTmF2RW5kQWN0aW9uc0luaXRpYWxpemVyKFF1ZXJ5UGFnZVN0b3JlKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlQ2hhbmdlV2lkdGhFZmZlY3QoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIHByb3ZpZGVDaGFuZ2VXaWR0aEVmZmVjdChRdWVyeVBhZ2VTdG9yZSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZU5hdmlnYXRlRWZmZWN0cygpIHtcbiAgICByZXR1cm4gcHJvdmlkZU5hdmlnYXRlRWZmZWN0cyhRdWVyeVBhZ2VTdG9yZSk7XG4gIH1cblxuICBzdGF0aWMgcHJvdmlkZVBhZ2luYXRpb25Jbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbHVtbnMgPSBzdG9yZS5jb2x1bW5OYW1lcygpO1xuICAgICAgICAgIGNvbnN0IHN0aWNreSA9IHN0b3JlLnN0aWNreSgpO1xuICAgICAgICAgIGNvbnN0IGN1cnJlbnQgPSB1bnRyYWNrZWQoKCkgPT4gc3RvcmUuZm9ybSgpKT8udmFsdWU7XG4gICAgICAgICAgY29uc3QgZm9ybSA9IHN0b3JlLmluZGV4Rm9ybUJ1aWxkZXIuYnVpbGQoe1xuICAgICAgICAgICAgY29sdW1uczogYnVpbGRDb2x1bW5zKFsuLi5jb2x1bW5zLCAnX19hY3Rpb25zJ10sIHN0aWNreSksXG4gICAgICAgICAgICBwYWdlOiB7IHNpemU6IGN1cnJlbnQ/LnBhZ2U/LnNpemUgPz8gMTAwLCBpbmRleDogY3VycmVudD8ucGFnZT8uaW5kZXggPz8gMCB9XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYXBwbHlUb0lucHV0KHN0b3JlLCAnZm9ybScsIGZvcm0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pLFxuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBjb25zdCBwYWdlID0gZGVyaXZlZEFzeW5jKCgpID0+IGdldFZhbHVlJChzdG9yZS5mb3JtKCkuZ2V0KFsncGFnZSddKSksIHsgaW5pdGlhbFZhbHVlOiB7IGluZGV4OiAwLCBzaXplOiAxMDAgfSB9KTtcbiAgICAgICAgY29uc3QgcGFnaW5hdGlvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBfcGFnZSA9IHBhZ2UoKSB8fCB7IGluZGV4OiAwLCBzaXplOiAxMDAgfTtcbiAgICAgICAgICByZXR1cm4geyBvZmZzZXQ6IF9wYWdlLmluZGV4ICogX3BhZ2Uuc2l6ZSwgbGltaXQ6IF9wYWdlLnNpemUgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiBzdG9yZS52YXJpYWJsZXNGb3JtKCk/LnBhdGNoVmFsdWUocGFnaW5hdGlvbigpKSk7XG4gICAgICB9KSxcbiAgICBdO1xuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVUYWJsZUNlbGxWYWx1ZUNoYW5nZUVmZmVjdDxUID0gYW55PihcbiAgICBoYW5kbGVyRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gKGNoYW5nZTogVGFibGVDZWxsVmFsdWVDaGFuZ2U8VD4sIHNldFZhbHVlOiAodmFsdWU6IGFueSkgPT4gdm9pZCkgPT4gdm9pZCxcbiAgICBvcHRpb25zT3JDb2x1bW5zPzogVGFibGVDZWxsQ2hhbmdlT3B0aW9uczxUPiB8IChrZXlvZiBUKVtdLFxuICApOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIF9wcm92aWRlVGFibGVDZWxsVmFsdWVDaGFuZ2VFZmZlY3QoUXVlcnlQYWdlU3RvcmUsIGhhbmRsZXJGYWN0b3J5LCBvcHRpb25zT3JDb2x1bW5zKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlVGFibGVBdXRvZmlsbEVmZmVjdDxUID0gYW55PihcbiAgICBoYW5kbGVyRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT4gKGF1dG9maWxsOiBUYWJsZUF1dG9maWxsQ2hhbmdlPFQ+KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAgKTogUHJvdmlkZXIge1xuICAgIHJldHVybiBfcHJvdmlkZVRhYmxlQXV0b2ZpbGxFZmZlY3QoUXVlcnlQYWdlU3RvcmUsIGhhbmRsZXJGYWN0b3J5KTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlRGVidWdTdHlsZUluaXRpYWxpemVyKCk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBwcm92aWRlRGVidWdTdHlsZUluaXRpYWxpemVyKFF1ZXJ5UGFnZVN0b3JlKTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlVGl0bGVGcm9tUXVlcnlSZXN1bHRJbml0aWFsaXplcigpOiBQcm92aWRlcltdIHtcbiAgICByZXR1cm4gW1xuICAgICAgUXVlcnlQYWdlU3RvcmUuREkucHJvdmlkZUluaXRpYWxpemVyKChzdG9yZSkgPT4ge1xuICAgICAgICBlZmZlY3QoKCkgPT4gYXBwbHlUb0lucHV0KHN0b3JlLCAndGl0bGUnLCBzdG9yZS5mZWF0dXJlLnJlc3VsdCgpPy5fX21ldGFfXz8udGl0bGUpKTtcbiAgICAgIH0pLFxuICAgIF07XG4gIH1cblxuICAvLyBJbnN0YW5jZSBtZW1iZXJzXG4gIHByb3RlY3RlZCByZWFkb25seSBhcHAgPSBpbmplY3QoQXBwU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb25maWcgPSBRdWVyeVBhZ2VTdG9yZS5ESS5pbmplY3RDb25maWcoKTtcbiAgcmVhZG9ubHkgZmVhdHVyZSA9IGluamVjdChRdWVyeUZlYXR1cmUpO1xuICByZWFkb25seSB2YXJpYWJsZXNGb3JtRmVhdHVyZSA9IGluamVjdChRdWVyeUdyYXBocWxWYXJpYWJsZXNGb3JtRmVhdHVyZSk7XG4gIHJlYWRvbmx5IGluZGV4Rm9ybUJ1aWxkZXIgPSBpbmplY3RJbmRleEZvcm1CdWlsZGVyKCk7XG5cbiAgcmVhZG9ubHkgbmF2TW9kZSA9IHNpZ25hbDwnZXhwYW5kZWQnIHwgJ2NvbGxhcHNlZCc+KCdjb2xsYXBzZWQnKTtcbiAgcmVhZG9ubHkgZWRpdGluZ1N0YXRlTWFuYWdlciA9IGluamVjdChFZGl0aW5nU3RhdGVNYW5hZ2VyKTtcbiAgcmVhZG9ubHkgc3R5bGUgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5zdHlsZSkpO1xuICByZWFkb25seSBxdWVyeSA9IGlucHV0PFF1ZXJ5PihudWxsKTtcblxuICByZWFkb25seSAjbmF2U3RhcnRBY3Rpb25zID0gaW5qZWN0TmF2U3RhcnRBY3Rpb25zVjIoKTtcbiAgcmVhZG9ubHkgbmF2U3RhcnRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuI25hdlN0YXJ0QWN0aW9ucygpKSk7XG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxOYXZFbmRBY3Rpb25zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuYWRkaXRpb25hbE5hdkVuZEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgbmF2RW5kQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdkVuZEFjdGlvbnMpKTtcbiAgcmVhZG9ubHkgdHlwZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnR5cGUpKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dDxzdHJpbmc+KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlID8/IHRoaXMucXVlcnkoKT8udGl0bGUpKTtcbiAgcmVhZG9ubHkgdGl0bGVFZGl0YWJsZSA9IGlucHV0PGJvb2xlYW4+KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlRWRpdGFibGUpKTtcbiAgcmVhZG9ubHkgaXRlbXNNYXAgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gYnVpbGRJdGVtc01hcEZyb21SZXN1bHQodGhpcy5mZWF0dXJlLnJlc3VsdCgpKSkpO1xuICByZWFkb25seSBpdGVtcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXRlbXNNYXAoKVtPYmplY3Qua2V5cyh0aGlzLml0ZW1zTWFwKCkpWzBdXT8uaXRlbXMgPz8gW10pO1xuICByZWFkb25seSBpdGVtc0xlbmd0aCA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLml0ZW1zTWFwKClbT2JqZWN0LmtleXModGhpcy5pdGVtc01hcCgpKVswXV0/Lml0ZW1zTGVuZ3RoID8/IDApKTtcbiAgcmVhZG9ubHkgY2hpbGRyZW5LZXkgPSBpbnB1dDxzdHJpbmc+KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLmNoaWxkcmVuS2V5KSk7XG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxDb2x1bW5zID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnKCkuYWRkaXRpb25hbENvbHVtbnMpKTtcbiAgcmVhZG9ubHkgYWRkaXRpb25hbENvbHVtbk5hbWVzID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IHRoaXMuYWRkaXRpb25hbENvbHVtbnMoKSh0aGlzLml0ZW1zKCkpKSk7XG4gIHJlYWRvbmx5IGV4dHJhY3RlZENvbHVtbk5hbWVzID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IFF1ZXJ5SGVscGVyLmV4dHJhY3RDb2x1bW5OYW1lcyh0aGlzLml0ZW1zKCksIHRoaXMuY2hpbGRyZW5LZXkoKSkpKTtcbiAgcmVhZG9ubHkgY29sdW1uTmFtZXMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gWy4uLnRoaXMuZXh0cmFjdGVkQ29sdW1uTmFtZXMoKSwgLi4udGhpcy5hZGRpdGlvbmFsQ29sdW1uTmFtZXMoKV0pKTtcbiAgcmVhZG9ubHkgc3RpY2t5ID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+ICh7IHN0aWNreVN0YXJ0OiAyLCBzdGlja3lFbmQ6IDEgfSkpKTtcbiAgcmVhZG9ubHkgZm9ybSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmluZGV4Rm9ybUJ1aWxkZXIuYnVpbGQoeyBjb2x1bW5zOiBidWlsZENvbHVtbnMoWy4uLnRoaXMuY29sdW1uTmFtZXMoKSwgJ19fYWN0aW9ucyddLCB0aGlzLnN0aWNreSgpKSB9KSkpO1xuICByZWFkb25seSBpdGVtQWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLml0ZW1BY3Rpb25zKSk7XG4gIHJlYWRvbmx5IHRhYmxlVHJlZUNvbnRyb2wgPSBuZXcgRmxhdFRyZWVDb250cm9sPGFueT4obiA9PiBuLmxldmVsLCBuID0+IG4uaXNFeHBhbmRhYmxlLCB7IHRyYWNrQnk6IChuOiBhbnkpID0+IG4/LmlkID8/IG4gfSk7XG4gIHJlYWRvbmx5IHZhcmlhYmxlc0Zvcm0gPSBpbnB1dChfY29tcHV0ZWQ8Rm9ybUdyb3VwPigoKSA9PiB0aGlzLnZhcmlhYmxlc0Zvcm1GZWF0dXJlLnZhcmlhYmxlc0Zvcm0oKSA/PyBuZXcgRm9ybUdyb3VwKHt9KSkpO1xuICByZWFkb25seSB2YXJpYWJsZXNGb3JtRmllbGRNYXAgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gKHt9IGFzIEZvcm1GaWVsZE1hcCkpKTtcbiAgcmVhZG9ubHkgdmFyaWFibGVzRm9ybVZhbHVlID0gZGVyaXZlZEFzeW5jKCgpID0+IGdldFJhd1ZhbHVlJCh0aGlzLnZhcmlhYmxlc0Zvcm0oKSksIHsgZXF1YWw6IGlzRXF1YWwgfSk7XG4gIHJlYWRvbmx5IHZhcmlhYmxlc0Zvcm1WYWx1ZSQgPSB0b09ic2VydmFibGUodGhpcy52YXJpYWJsZXNGb3JtVmFsdWUpO1xuICByZWFkb25seSB2YXJpYWJsZXNGb3JtRGlzcGxheWVkID0gaW5wdXQoX2NvbXB1dGVkKCgpID0+IE9iamVjdC5rZXlzKHRoaXMudmFyaWFibGVzRm9ybUZlYXR1cmUudmFyaWFibGVzVmFsdWUoKSk/Lmxlbmd0aCA+IDApKTtcbiAgcmVhZG9ubHkgdGFibGVDb2x1bW5Gb3JtRmllbGRNYXAgPSBpbnB1dDxGb3JtRmllbGRNYXA+KF9jb21wdXRlZCgoKSA9PiAoe30pKSk7XG4gIHJlYWRvbmx5IGdldFJvd0NsYXNzID0gaW5wdXQ8KGl0ZW06IGFueSkgPT4gc3RyaW5nPihfY29tcHV0ZWQoKCkgPT4gKCkgPT4gJycpKTtcbiAgcmVhZG9ubHkgc2tpcCA9IGluamVjdFJvdXRlU2tpcCgpO1xuICByZWFkb25seSBwYWdlU2l6ZU9wdGlvbnMgPSBpbnB1dChfY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWcoKS5wYWdlU2l6ZU9wdGlvbnMpKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIFF1ZXJ5UGFnZVN0b3JlLkRJLmluaXRpYWxpemUodGhpcyk7XG4gICAgZWZmZWN0KCgpID0+IHRoaXMuZmVhdHVyZS5mb3JtLnBhdGNoVmFsdWUodGhpcy5xdWVyeSgpKSk7XG4gIH1cbn1cbiJdfQ==","import { __decorate, __metadata } from \"tslib\";\nimport { Component, inject, computed, viewChild, effect, input, ChangeDetectionStrategy } from '@angular/core';\nimport { FormBuilder } from '@angular/forms';\nimport { ActivatedRoute } from '@angular/router';\nimport { Effect, NgAtomicComponent, updateInput } from '@ng-atomic/core';\nimport { IndexTemplate, IndexTemplateStore } from '@ng-atomic/components/templates/_index';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { NgAtomicFormSectionBuilder } from '@ng-atomic/components/templates/form';\nimport { AppService } from '@xxmachina/components/services/app';\nimport { QueryService } from '@xxmachina/components/services/query';\nimport { QueryFormGroup } from '@xxmachina/components/groups/query-form';\nimport { QueryFeature } from '@xxmachina/components/features/query';\nimport { ActionId } from './interfaces';\nimport { QueryPageStore } from './query-page.store';\nimport { QueryActionReducer } from './query-action.reducer';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./query-page.store\";\nexport class QueryPage extends NgAtomicComponent {\n fb = inject(FormBuilder);\n route = inject(ActivatedRoute);\n app = inject(AppService);\n store = inject(QueryPageStore);\n reducer = inject(QueryActionReducer);\n query = inject(QueryService);\n feature = inject(QueryFeature);\n template = viewChild(IndexTemplate);\n title = input('default title');\n constructor() {\n super();\n this.reducer.action$.subscribe((action) => this.dispatch(action));\n const context = computed(() => ({\n query: this.feature.formValue(),\n }));\n effect(() => this.app.context.context.set(JSON.stringify(context())));\n }\n async back() {\n history.back();\n }\n async navigateToIframe(item) {\n this.app.router.navigate(['invoices', item.id], {\n relativeTo: this.route,\n });\n }\n async expandPage() {\n updateInput(this.store, 'style', (style) => ({\n ...style,\n width: style?.width === 'var(--page-width-lv3)' ? 'var(--page-width-lv2)' : 'var(--page-width-lv3)',\n }));\n }\n itemClick(item) {\n this.dispatch({ id: ActionId.DETAIL, payload: item });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryPage, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.5\", type: QueryPage, isStandalone: true, selector: \"pages-query\", inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: \"template\", first: true, predicate: IndexTemplate, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.QueryPageStore, inputs: [\"type\", \"type\", \"query\", \"query\", \"titleEditable\", \"titleEditable\", \"variablesForm\", \"variablesForm\", \"variablesFormFieldMap\", \"variablesFormFieldMap\", \"navStartActions\", \"navStartActions\", \"navEndActions\", \"navEndActions\", \"itemActions\", \"itemActions\", \"pageSizeOptions\", \"pageSizeOptions\"] }], ngImport: i0, template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-index\n [tableColumnFormFieldMap]=\"store.tableColumnFormFieldMap()\"\n [style]=\"store.style()\"\n [title]=\"store.title()\"\n [titleControl]=\"store.feature.form.get(['title'])\"\n [titleEditable]=\"store.titleEditable()\"\n [type]=\"store.type()\"\n [tableChildrenKey]=\"store.childrenKey()\"\n [tableTreeControl]=\"store.tableTreeControl\"\n [itemsMap]=\"store.itemsMap()\"\n [itemsLength]=\"store.itemsLength()\"\n [itemActions]=\"store.itemActions()\"\n [getRowClass]=\"store.getRowClass()\"\n [form]=\"store.form()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [navMode]=\"store.navMode()\"\n [pageSizeOptions]=\"store.pageSizeOptions()\"\n (action)=\"dispatch($event)\"\n >\n @if (store.variablesFormDisplayed()) {\n <div navDashboard>\n <ng-atomic-form-section-builder\n [form]=\"store.variablesForm()\"\n [fieldMap]=\"store.variablesFormFieldMap()\"\n />\n </div>\n }\n <groups-query-form dashboard (action)=\"dispatch($event)\" />\n </templates-index>\n </frames-router-outlet>\n `, isInline: true, styles: [\"@charset \\\"UTF-8\\\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-crOu: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-crOu: var(--page-width-lv3);--primary-color-SCOPED-IN-query-crOu: var(--primary-color);--on-primary-color-SCOPED-IN-query-crOu: var(--on-primary-color);--surface-color-SCOPED-IN-query-crOu: var(--surface-color);--on-surface-color-SCOPED-IN-query-crOu: var(--on-surface-color);--on-background-color-SCOPED-IN-query-crOu: var(--on-background-color);--background-color-SCOPED-IN-query-crOu: var(--background-color);--navigator-background-color-SCOPED-IN-query-crOu: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-crOu: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-crOu: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-crOu: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-crOu: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-crOu);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-crOu);--surface-color: var(--surface-color-SCOPED-IN-query-crOu);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-crOu);--background-color: var(--background-color-SCOPED-IN-query-crOu);--on-background-color: var(--on-background-color-SCOPED-IN-query-crOu);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-crOu);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-crOu);--table-background-color: var(--table-background-color-SCOPED-IN-query-crOu);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-crOu);--is-debug: var(--is-debug-SCOPED-IN-query-crOu)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-crOu) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\\n\"], dependencies: [{ kind: \"component\", type: IndexTemplate, selector: \"templates-index\" }, { kind: \"component\", type: RouterOutletFrame, selector: \"frames-router-outlet\", outputs: [\"events\"] }, { kind: \"component\", type: NgAtomicFormSectionBuilder, selector: \"ng-atomic-form-section-builder\", inputs: [\"form\", \"formFlatExcludes\", \"fieldMap\", \"fieldKeys\"] }, { kind: \"component\", type: QueryFormGroup, selector: \"groups-query-form\", inputs: [\"form\", \"keyActions\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\n__decorate([\n Effect(IndexTemplateStore.ActionId.BACK),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], QueryPage.prototype, \"back\", null);\n__decorate([\n Effect(ActionId.NAVIGATE_TO_IFRAME),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", Promise)\n], QueryPage.prototype, \"navigateToIframe\", null);\n__decorate([\n Effect(ActionId.TOGGLE_PAGE),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", Promise)\n], QueryPage.prototype, \"expandPage\", null);\n__decorate([\n Effect(IndexTemplate.ActionId.ITEM_CLICK),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", [Object]),\n __metadata(\"design:returntype\", void 0)\n], QueryPage.prototype, \"itemClick\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: QueryPage, decorators: [{\n type: Component,\n args: [{ selector: 'pages-query', imports: [\n IndexTemplate,\n RouterOutletFrame,\n NgAtomicFormSectionBuilder,\n QueryFormGroup,\n ], template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-index\n [tableColumnFormFieldMap]=\"store.tableColumnFormFieldMap()\"\n [style]=\"store.style()\"\n [title]=\"store.title()\"\n [titleControl]=\"store.feature.form.get(['title'])\"\n [titleEditable]=\"store.titleEditable()\"\n [type]=\"store.type()\"\n [tableChildrenKey]=\"store.childrenKey()\"\n [tableTreeControl]=\"store.tableTreeControl\"\n [itemsMap]=\"store.itemsMap()\"\n [itemsLength]=\"store.itemsLength()\"\n [itemActions]=\"store.itemActions()\"\n [getRowClass]=\"store.getRowClass()\"\n [form]=\"store.form()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [navMode]=\"store.navMode()\"\n [pageSizeOptions]=\"store.pageSizeOptions()\"\n (action)=\"dispatch($event)\"\n >\n @if (store.variablesFormDisplayed()) {\n <div navDashboard>\n <ng-atomic-form-section-builder\n [form]=\"store.variablesForm()\"\n [fieldMap]=\"store.variablesFormFieldMap()\"\n />\n </div>\n }\n <groups-query-form dashboard (action)=\"dispatch($event)\" />\n </templates-index>\n </frames-router-outlet>\n `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [\n {\n directive: QueryPageStore,\n inputs: [\n 'type',\n 'query',\n 'titleEditable',\n 'variablesForm',\n 'variablesFormFieldMap',\n 'navStartActions',\n 'navEndActions',\n 'itemActions',\n 'pageSizeOptions'\n ]\n },\n ], styles: [\"@charset \\\"UTF-8\\\";:host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-query-crOu: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-query-crOu: var(--page-width-lv3);--primary-color-SCOPED-IN-query-crOu: var(--primary-color);--on-primary-color-SCOPED-IN-query-crOu: var(--on-primary-color);--surface-color-SCOPED-IN-query-crOu: var(--surface-color);--on-surface-color-SCOPED-IN-query-crOu: var(--on-surface-color);--on-background-color-SCOPED-IN-query-crOu: var(--on-background-color);--background-color-SCOPED-IN-query-crOu: var(--background-color);--navigator-background-color-SCOPED-IN-query-crOu: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-query-crOu: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-query-crOu: var(--table-background-color);--table-on-background-color-SCOPED-IN-query-crOu: var(--table-on-background-color);--is-debug: 1;--is-debug-SCOPED-IN-query-crOu: var(--is-debug)}:host *{--primary-color: var(--primary-color-SCOPED-IN-query-crOu);--on-primary-color: var(--on-primary-color-SCOPED-IN-query-crOu);--surface-color: var(--surface-color-SCOPED-IN-query-crOu);--on-surface-color: var(--on-surface-color-SCOPED-IN-query-crOu);--background-color: var(--background-color-SCOPED-IN-query-crOu);--on-background-color: var(--on-background-color-SCOPED-IN-query-crOu);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-query-crOu);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-query-crOu);--table-background-color: var(--table-background-color-SCOPED-IN-query-crOu);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-query-crOu);--is-debug: var(--is-debug-SCOPED-IN-query-crOu)}:host templates-index{padding-left:0;box-sizing:border-box;--first-content-height: calc(var(--is-debug-SCOPED-IN-query-crOu) * 300px);transition:padding-left .3s}:host templates-index div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host templates-index div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}\\n\"] }]\n }], ctorParameters: () => [], propDecorators: { back: [], navigateToIframe: [], expandPage: [], itemClick: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS9xdWVyeS1wYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXBFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUEr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QkFDUCxhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsMEJBQTBCO3dCQUMxQixjQUFjO3FCQUNmLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVCxtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSxrQkFDL0I7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLGNBQWM7NEJBQ3pCLE1BQU0sRUFBRTtnQ0FDTixNQUFNO2dDQUNOLE9BQU87Z0NBQ1AsZUFBZTtnQ0FDZixlQUFlO2dDQUNmLHVCQUF1QjtnQ0FDdkIsaUJBQWlCO2dDQUNqQixlQUFlO2dDQUNmLGFBQWE7Z0NBQ2IsaUJBQWlCOzZCQUNsQjt5QkFDRjtxQkFDRjt3REEwQkssSUFBSSxNQUtKLGdCQUFnQixNQU9oQixVQUFVLE1BUU4sU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBjb21wdXRlZCwgdmlld0NoaWxkLCBlZmZlY3QsIGlucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBFZmZlY3QsIE5nQXRvbWljQ29tcG9uZW50LCB1cGRhdGVJbnB1dCB9IGZyb20gJ0BuZy1hdG9taWMvY29yZSc7XG5pbXBvcnQgeyBJbmRleFRlbXBsYXRlLCBJbmRleFRlbXBsYXRlU3RvcmUgfSBmcm9tICdAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL19pbmRleCc7XG5pbXBvcnQgeyBSb3V0ZXJPdXRsZXRGcmFtZSB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy9mcmFtZXMvcm91dGVyLW91dGxldCc7XG5pbXBvcnQgeyBOZ0F0b21pY0Zvcm1TZWN0aW9uQnVpbGRlciB9IGZyb20gJ0BuZy1hdG9taWMvY29tcG9uZW50cy90ZW1wbGF0ZXMvZm9ybSc7XG5pbXBvcnQgeyBBcHBTZXJ2aWNlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2FwcCc7XG5pbXBvcnQgeyBRdWVyeVNlcnZpY2UgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvc2VydmljZXMvcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlGb3JtR3JvdXAgfSBmcm9tICdAeHhtYWNoaW5hL2NvbXBvbmVudHMvZ3JvdXBzL3F1ZXJ5LWZvcm0nO1xuaW1wb3J0IHsgUXVlcnlGZWF0dXJlIH0gZnJvbSAnQHh4bWFjaGluYS9jb21wb25lbnRzL2ZlYXR1cmVzL3F1ZXJ5JztcblxuaW1wb3J0IHsgQWN0aW9uSWQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUXVlcnlQYWdlU3RvcmUgfSBmcm9tICcuL3F1ZXJ5LXBhZ2Uuc3RvcmUnO1xuaW1wb3J0IHsgUXVlcnlBY3Rpb25SZWR1Y2VyIH0gZnJvbSAnLi9xdWVyeS1hY3Rpb24ucmVkdWNlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BhZ2VzLXF1ZXJ5JyxcbiAgaW1wb3J0czogW1xuICAgIEluZGV4VGVtcGxhdGUsXG4gICAgUm91dGVyT3V0bGV0RnJhbWUsXG4gICAgTmdBdG9taWNGb3JtU2VjdGlvbkJ1aWxkZXIsXG4gICAgUXVlcnlGb3JtR3JvdXAsXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGZyYW1lcy1yb3V0ZXItb3V0bGV0IFtza2lwXT1cInN0b3JlLnNraXAoKVwiIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiPlxuICAgICAgPHRlbXBsYXRlcy1pbmRleFxuICAgICAgICBbdGFibGVDb2x1bW5Gb3JtRmllbGRNYXBdPVwic3RvcmUudGFibGVDb2x1bW5Gb3JtRmllbGRNYXAoKVwiXG4gICAgICAgIFtzdHlsZV09XCJzdG9yZS5zdHlsZSgpXCJcbiAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICBbdGl0bGVDb250cm9sXT1cInN0b3JlLmZlYXR1cmUuZm9ybS5nZXQoWyd0aXRsZSddKVwiXG4gICAgICAgIFt0aXRsZUVkaXRhYmxlXT1cInN0b3JlLnRpdGxlRWRpdGFibGUoKVwiXG4gICAgICAgIFt0eXBlXT1cInN0b3JlLnR5cGUoKVwiXG4gICAgICAgIFt0YWJsZUNoaWxkcmVuS2V5XT1cInN0b3JlLmNoaWxkcmVuS2V5KClcIlxuICAgICAgICBbdGFibGVUcmVlQ29udHJvbF09XCJzdG9yZS50YWJsZVRyZWVDb250cm9sXCJcbiAgICAgICAgW2l0ZW1zTWFwXT1cInN0b3JlLml0ZW1zTWFwKClcIlxuICAgICAgICBbaXRlbXNMZW5ndGhdPVwic3RvcmUuaXRlbXNMZW5ndGgoKVwiXG4gICAgICAgIFtpdGVtQWN0aW9uc109XCJzdG9yZS5pdGVtQWN0aW9ucygpXCJcbiAgICAgICAgW2dldFJvd0NsYXNzXT1cInN0b3JlLmdldFJvd0NsYXNzKClcIlxuICAgICAgICBbZm9ybV09XCJzdG9yZS5mb3JtKClcIlxuICAgICAgICBbbmF2U3RhcnRBY3Rpb25zXT1cInN0b3JlLm5hdlN0YXJ0QWN0aW9ucygpXCJcbiAgICAgICAgW25hdkVuZEFjdGlvbnNdPVwic3RvcmUubmF2RW5kQWN0aW9ucygpXCJcbiAgICAgICAgW25hdk1vZGVdPVwic3RvcmUubmF2TW9kZSgpXCJcbiAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJzdG9yZS5wYWdlU2l6ZU9wdGlvbnMoKVwiXG4gICAgICAgIChhY3Rpb24pPVwiZGlzcGF0Y2goJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIEBpZiAoc3RvcmUudmFyaWFibGVzRm9ybURpc3BsYXllZCgpKSB7XG4gICAgICAgICAgPGRpdiBuYXZEYXNoYm9hcmQ+XG4gICAgICAgICAgICA8bmctYXRvbWljLWZvcm0tc2VjdGlvbi1idWlsZGVyXG4gICAgICAgICAgICAgIFtmb3JtXT1cInN0b3JlLnZhcmlhYmxlc0Zvcm0oKVwiXG4gICAgICAgICAgICAgIFtmaWVsZE1hcF09XCJzdG9yZS52YXJpYWJsZXNGb3JtRmllbGRNYXAoKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIDxncm91cHMtcXVlcnktZm9ybSBkYXNoYm9hcmQgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCIgLz5cbiAgICAgIDwvdGVtcGxhdGVzLWluZGV4PlxuICAgIDwvZnJhbWVzLXJvdXRlci1vdXRsZXQ+XG4gIGAsXG4gIHN0eWxlVXJsOiAnLi9xdWVyeS5wYWdlLnNjc3MnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IFF1ZXJ5UGFnZVN0b3JlLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICd0eXBlJyxcbiAgICAgICAgJ3F1ZXJ5JyxcbiAgICAgICAgJ3RpdGxlRWRpdGFibGUnLFxuICAgICAgICAndmFyaWFibGVzRm9ybScsXG4gICAgICAgICd2YXJpYWJsZXNGb3JtRmllbGRNYXAnLFxuICAgICAgICAnbmF2U3RhcnRBY3Rpb25zJyxcbiAgICAgICAgJ25hdkVuZEFjdGlvbnMnLFxuICAgICAgICAnaXRlbUFjdGlvbnMnLFxuICAgICAgICAncGFnZVNpemVPcHRpb25zJ1xuICAgICAgXVxuICAgIH0sXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlQYWdlIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICByZWFkb25seSBmYiA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFwcCA9IGluamVjdChBcHBTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0b3JlID0gaW5qZWN0KFF1ZXJ5UGFnZVN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlZHVjZXIgPSBpbmplY3QoUXVlcnlBY3Rpb25SZWR1Y2VyKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHF1ZXJ5ID0gaW5qZWN0KFF1ZXJ5U2VydmljZSk7XG4gIHJlYWRvbmx5IGZlYXR1cmUgPSBpbmplY3QoUXVlcnlGZWF0dXJlKTtcblxuICByZWFkb25seSB0ZW1wbGF0ZSA9IHZpZXdDaGlsZChJbmRleFRlbXBsYXRlKTtcbiAgcmVhZG9ubHkgdGl0bGUgPSBpbnB1dCgnZGVmYXVsdCB0aXRsZScpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5yZWR1Y2VyLmFjdGlvbiQuc3Vic2NyaWJlKChhY3Rpb24pID0+IHRoaXMuZGlzcGF0Y2goYWN0aW9uKSk7XG5cbiAgICBjb25zdCBjb250ZXh0ID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICAgIHF1ZXJ5OiB0aGlzLmZlYXR1cmUuZm9ybVZhbHVlKCksXG4gICAgfSkpO1xuXG4gICAgZWZmZWN0KCgpID0+IHRoaXMuYXBwLmNvbnRleHQuY29udGV4dC5zZXQoSlNPTi5zdHJpbmdpZnkoY29udGV4dCgpKSkpO1xuICB9XG5cbiAgQEVmZmVjdChJbmRleFRlbXBsYXRlU3RvcmUuQWN0aW9uSWQuQkFDSylcbiAgYXN5bmMgYmFjaygpIHtcbiAgICBoaXN0b3J5LmJhY2soKTtcbiAgfVxuXG4gIEBFZmZlY3QoQWN0aW9uSWQuTkFWSUdBVEVfVE9fSUZSQU1FKVxuICBhc3luYyBuYXZpZ2F0ZVRvSWZyYW1lKGl0ZW06IHsgaWQ6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5hcHAucm91dGVyLm5hdmlnYXRlKFsnaW52b2ljZXMnLCBpdGVtLmlkXSwge1xuICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICB9KTtcbiAgfVxuXG4gIEBFZmZlY3QoQWN0aW9uSWQuVE9HR0xFX1BBR0UpXG4gIGFzeW5jIGV4cGFuZFBhZ2UoKSB7XG4gICAgdXBkYXRlSW5wdXQodGhpcy5zdG9yZSwgJ3N0eWxlJywgKHN0eWxlKSA9PiAoe1xuICAgICAgLi4uc3R5bGUsXG4gICAgICB3aWR0aDogc3R5bGU/LndpZHRoID09PSAndmFyKC0tcGFnZS13aWR0aC1sdjMpJyA/ICd2YXIoLS1wYWdlLXdpZHRoLWx2MiknIDogJ3ZhcigtLXBhZ2Utd2lkdGgtbHYzKScsXG4gICAgfSkpO1xuICB9XG5cbiAgQEVmZmVjdChJbmRleFRlbXBsYXRlLkFjdGlvbklkLklURU1fQ0xJQ0spXG4gIHByb3RlY3RlZCBpdGVtQ2xpY2soaXRlbTogeyBpZDogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmRpc3BhdGNoKHsgaWQ6IEFjdGlvbklkLkRFVEFJTCwgcGF5bG9hZDogaXRlbSB9KTtcbiAgfVxufVxuIl19","/**\n * QueryPage - 後方互換性のための再エクスポート\n *\n * このファイルは後方互換性のために維持されています。\n * 新しいインポートは個別のファイルから行うことを推奨します:\n *\n * - interfaces/ - ActionId, TableCellValueChange等\n * - utils/ - buildItemsMap, buildItemsMapFromResult\n * - query-action.reducer.ts - QueryActionReducer\n * - query-page.store.ts - QueryPageStore\n * - query-page.component.ts - QueryPage\n */\n// Interfaces\nexport * from './interfaces';\n// Utils\nexport * from './utils';\n// Services\nexport { QueryActionReducer } from './query-action.reducer';\n// Store\nexport { QueryPageStore } from './query-page.store';\n// Component\nexport { QueryPage } from './query-page.component';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkucGFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0B4eG1hY2hpbmEvY29tcG9uZW50cy9zcmMvbGliL3BhZ2VzL3F1ZXJ5L3F1ZXJ5LnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCxhQUFhO0FBQ2IsY0FBYyxjQUFjLENBQUM7QUFFN0IsUUFBUTtBQUNSLGNBQWMsU0FBUyxDQUFDO0FBRXhCLFdBQVc7QUFDWCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxRQUFRO0FBQ1IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELFlBQVk7QUFDWixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFF1ZXJ5UGFnZSAtIOW+jOaWueS6kuaPm+aAp+OBruOBn+OCgeOBruWGjeOCqOOCr+OCueODneODvOODiFxuICpcbiAqIOOBk+OBruODleOCoeOCpOODq+OBr+W+jOaWueS6kuaPm+aAp+OBruOBn+OCgeOBq+e2reaMgeOBleOCjOOBpuOBhOOBvuOBmeOAglxuICog5paw44GX44GE44Kk44Oz44Od44O844OI44Gv5YCL5Yil44Gu44OV44Kh44Kk44Or44GL44KJ6KGM44GG44GT44Go44KS5o6o5aWo44GX44G+44GZOlxuICpcbiAqIC0gaW50ZXJmYWNlcy8gLSBBY3Rpb25JZCwgVGFibGVDZWxsVmFsdWVDaGFuZ2XnrYlcbiAqIC0gdXRpbHMvIC0gYnVpbGRJdGVtc01hcCwgYnVpbGRJdGVtc01hcEZyb21SZXN1bHRcbiAqIC0gcXVlcnktYWN0aW9uLnJlZHVjZXIudHMgLSBRdWVyeUFjdGlvblJlZHVjZXJcbiAqIC0gcXVlcnktcGFnZS5zdG9yZS50cyAtIFF1ZXJ5UGFnZVN0b3JlXG4gKiAtIHF1ZXJ5LXBhZ2UuY29tcG9uZW50LnRzIC0gUXVlcnlQYWdlXG4gKi9cblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0ICogZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuLy8gVXRpbHNcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuXG4vLyBTZXJ2aWNlc1xuZXhwb3J0IHsgUXVlcnlBY3Rpb25SZWR1Y2VyIH0gZnJvbSAnLi9xdWVyeS1hY3Rpb24ucmVkdWNlcic7XG5cbi8vIFN0b3JlXG5leHBvcnQgeyBRdWVyeVBhZ2VTdG9yZSB9IGZyb20gJy4vcXVlcnktcGFnZS5zdG9yZSc7XG5cbi8vIENvbXBvbmVudFxuZXhwb3J0IHsgUXVlcnlQYWdlIH0gZnJvbSAnLi9xdWVyeS1wYWdlLmNvbXBvbmVudCc7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy9xdWVyeS94eG1hY2hpbmEtY29tcG9uZW50cy1wYWdlcy1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["_provideTableCellValueChangeEffect","_provideTableAutofillEffect","i1.QueryPageStore"],"mappings":"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"}