@ng-atomic/components 19.51.0 → 19.81.0

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.
Files changed (120) hide show
  1. package/fesm2022/ng-atomic-components-atoms-chips-input.mjs.map +1 -1
  2. package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
  3. package/fesm2022/ng-atomic-components-atoms-value-cell.mjs +2 -15
  4. package/fesm2022/ng-atomic-components-atoms-value-cell.mjs.map +1 -1
  5. package/fesm2022/ng-atomic-components-extras-editor.mjs +0 -2
  6. package/fesm2022/ng-atomic-components-extras-editor.mjs.map +1 -1
  7. package/fesm2022/ng-atomic-components-frames-app.mjs +2 -2
  8. package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
  9. package/fesm2022/ng-atomic-components-frames-breadcrumb-navbar.mjs +2 -2
  10. package/fesm2022/ng-atomic-components-frames-card.mjs +2 -2
  11. package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -4
  12. package/fesm2022/ng-atomic-components-frames-columns.mjs.map +1 -1
  13. package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
  14. package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -7
  15. package/fesm2022/ng-atomic-components-frames-drawer.mjs.map +1 -1
  16. package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
  17. package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
  18. package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs +2 -2
  19. package/fesm2022/ng-atomic-components-frames-line-up.mjs +60 -72
  20. package/fesm2022/ng-atomic-components-frames-line-up.mjs.map +1 -1
  21. package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
  22. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +2 -4
  23. package/fesm2022/ng-atomic-components-frames-router-outlet.mjs.map +1 -1
  24. package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
  25. package/fesm2022/ng-atomic-components-frames-side-nav.mjs +2 -2
  26. package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
  27. package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
  28. package/fesm2022/ng-atomic-components-frames.mjs +0 -2
  29. package/fesm2022/ng-atomic-components-frames.mjs.map +1 -1
  30. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs +0 -3
  31. package/fesm2022/ng-atomic-components-molecules-action-input-field.mjs.map +1 -1
  32. package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
  33. package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
  34. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs +0 -1
  35. package/fesm2022/ng-atomic-components-molecules-file-input-field.mjs.map +1 -1
  36. package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
  37. package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
  38. package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
  39. package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
  40. package/fesm2022/ng-atomic-components-molecules-thread-message.mjs +2 -2
  41. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs +0 -7
  42. package/fesm2022/ng-atomic-components-molecules-tree-column.mjs.map +1 -1
  43. package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
  44. package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
  45. package/fesm2022/ng-atomic-components-organisms-breadcrumb-navbar.mjs +2 -2
  46. package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
  47. package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
  48. package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
  49. package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
  50. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
  51. package/fesm2022/ng-atomic-components-organisms-definition-list.mjs.map +1 -1
  52. package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
  53. package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
  54. package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
  55. package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
  56. package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
  57. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs +1 -2
  58. package/fesm2022/ng-atomic-components-organisms-mermaid-section.mjs.map +1 -1
  59. package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
  60. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -3
  61. package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs.map +1 -1
  62. package/fesm2022/ng-atomic-components-organisms-navigator.mjs +2 -2
  63. package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
  64. package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
  65. package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
  66. package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
  67. package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +2 -2
  68. package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
  69. package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs +2 -5
  70. package/fesm2022/ng-atomic-components-organisms-stripe-input-section.mjs.map +1 -1
  71. package/fesm2022/ng-atomic-components-organisms-table.mjs +2 -17
  72. package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
  73. package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
  74. package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
  75. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +4 -4
  76. package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs.map +1 -1
  77. package/fesm2022/ng-atomic-components-organisms-tree-section.mjs +0 -22
  78. package/fesm2022/ng-atomic-components-organisms-tree-section.mjs.map +1 -1
  79. package/fesm2022/ng-atomic-components-organisms.mjs +0 -1
  80. package/fesm2022/ng-atomic-components-organisms.mjs.map +1 -1
  81. package/fesm2022/ng-atomic-components-pages-_index.mjs +2 -4
  82. package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
  83. package/fesm2022/ng-atomic-components-pages-columns.mjs +2 -2
  84. package/fesm2022/ng-atomic-components-pages-form.mjs +2 -4
  85. package/fesm2022/ng-atomic-components-pages-form.mjs.map +1 -1
  86. package/fesm2022/ng-atomic-components-services-global-iframe.mjs +2 -62
  87. package/fesm2022/ng-atomic-components-services-global-iframe.mjs.map +1 -1
  88. package/fesm2022/ng-atomic-components-templates-_index.mjs +3 -15
  89. package/fesm2022/ng-atomic-components-templates-_index.mjs.map +1 -1
  90. package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
  91. package/fesm2022/ng-atomic-components-templates-code-editor.mjs +2 -2
  92. package/fesm2022/ng-atomic-components-templates-columns.mjs +2 -2
  93. package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
  94. package/fesm2022/ng-atomic-components-templates-form-harness.mjs +0 -3
  95. package/fesm2022/ng-atomic-components-templates-form-harness.mjs.map +1 -1
  96. package/fesm2022/ng-atomic-components-templates-form.mjs +4 -4
  97. package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
  98. package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
  99. package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
  100. package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
  101. package/fesm2022/ng-atomic-components-templates.mjs +0 -3
  102. package/fesm2022/ng-atomic-components-templates.mjs.map +1 -1
  103. package/package.json +3 -3
  104. package/types/ng-atomic-components-frames-line-up.d.ts +7 -18
  105. package/types/ng-atomic-components-frames-line-up.d.ts.map +1 -1
  106. package/types/ng-atomic-components-frames.d.ts.map +1 -1
  107. package/types/ng-atomic-components-molecules-tree-column.d.ts +0 -2
  108. package/types/ng-atomic-components-molecules-tree-column.d.ts.map +1 -1
  109. package/types/ng-atomic-components-organisms-thread-messages-section.d.ts +1 -1
  110. package/types/ng-atomic-components-organisms-thread-messages-section.d.ts.map +1 -1
  111. package/types/ng-atomic-components-organisms-tree-section.d.ts +0 -2
  112. package/types/ng-atomic-components-organisms-tree-section.d.ts.map +1 -1
  113. package/types/ng-atomic-components-pages-form.d.ts +0 -2
  114. package/types/ng-atomic-components-pages-form.d.ts.map +1 -1
  115. package/types/ng-atomic-components-services-global-iframe.d.ts +0 -34
  116. package/types/ng-atomic-components-services-global-iframe.d.ts.map +1 -1
  117. package/types/ng-atomic-components-templates-form-harness.d.ts +0 -3
  118. package/types/ng-atomic-components-templates-form-harness.d.ts.map +1 -1
  119. package/types/ng-atomic-components-templates.d.ts +0 -1
  120. package/types/ng-atomic-components-templates.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-pages-_index.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/pages/_index/index.page.ts","../../../../../packages/@ng-atomic/components/src/lib/pages/_index/ng-atomic-components-pages-_index.ts"],"sourcesContent":["import { Component, Directive, InjectionToken, Injector, Provider, Signal, computed, effect, inject, input, runInInjectionContext, signal } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { RouterOutletFrame, RouterOutletFrameStore } from '@ng-atomic/components/frames/router-outlet';\nimport { convertToItemsMap, getType, IndexTemplate, ItemsMap } from '@ng-atomic/components/templates/_index';\nimport { injectAll } from '@ng-atomic/common/stores/entities';\nimport { injectModel, injectModelName } from '@ng-atomic/common/pipes/domain';\nimport { Actions, Effect, InjectableComponent, NgAtomicComponent, TokenizedType, TypeOrTypeFactory, _computed, applyToInput, computeFake, provideComponent, provideEffect, resolveActions } from '@ng-atomic/core';\nimport { buildColumns, injectIndexForm } from '@ng-atomic/components/organisms/table';\nimport { injectIsRootPage, injectNavStartActions, injectSideAppNavStartActions, makeDI, NavActionId } from '@ng-atomic/common/services/ui';\nimport { injectEntityIdName } from '@ng-atomic/components/pages/form';\nimport { computedRawValue, getRawValue$, injectChildRouteParam, injectHasNext, injectRouteSkip } from \"@ng-atomic/common/utils\";\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { IndexPipe } from '@ng-atomic/common/pipes/index';\nimport { map, startWith } from 'rxjs';\nimport { makeInitializerConfig } from '@ng-atomic/common/services/initializer';\nimport { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';\nimport { IndexLengthPipe } from '@ng-atomic/common/pipes/index-length';\nimport { SheetService } from '@ng-atomic/common/services/sheets';\nimport { NgAtomicFormSectionBuilder } from '@ng-atomic/components/templates/form';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { derivedAsync } from 'ngxtension/derived-async';\n\nexport function injectHighlight(key: string): Signal<SelectionModel<string>> {\n const itemId = injectChildRouteParam(key);\n return computed(() => new SelectionModel<string>(true, itemId() ? [itemId()] : []));\n}\n\ntype FilterFunc = (item: { id: string }) => boolean;\nconst FILTER_FUNC = new InjectionToken<(injector?: Injector) => FilterFunc>('FILTER_FUNC');\nexport function provideFilterFunc(useFactory: () => FilterFunc) {\n const wrapped = () => (injector = inject(Injector)) => runInInjectionContext(injector, useFactory);\n return { provide: FILTER_FUNC, useFactory: wrapped };\n}\nexport function injectFilterFunc() {\n return (inject(FILTER_FUNC, { optional: true }) ?? (() => () => true))();\n}\n\nenum ActionId {\n BACK = '[@ng-atomic/components:pages/index] Back',\n CHECKBOX_CLICK = '[@ng-atomic/components/pages/index] CheckboxClick',\n HEADER_CHECKBOX_CLICK = '[@ng-atomic/components/pages/index] HeaderCheckboxClick',\n TABLE_HEADER_CLICK = '[@ng-atomic/components/pages/index] TableHeaderClick',\n TABLE_CHECKBOX_CLICK = '[@ng-atomic/components/pages/index] TableCheckboxClick',\n ADD = '[@ng-atomic/components/pages/index] Add',\n DETAIL = '[@ng-atomic/components/pages/index] Detail',\n CLOSE = '[@ng-atomic/components/pages/index] Close',\n LIST_ITEM_BUTTON_CLICKED = '[@ng-atomic/components/pages/index] ListItemButtonClick',\n TOGGLE_QUERY_FORM = '[@ng-atomic/components/pages/index] ToggleQueryForm',\n}\n\nexport function toggleAllSelection(selection: SelectionModel<string>, items: { id: string }[]) {\n if (selection.selected.length === items.length) {\n return new SelectionModel<string>(true, []);\n } else {\n return new SelectionModel<string>(true, items.map(entry => entry.id));\n }\n}\n\nfunction tryJsonParse(value: string) {\n try {\n return JSON.parse(value);\n } catch {\n return {};\n }\n}\n\nexport function recoveryFormValue(form: AbstractControl, key = 'default') {\n // FormControlの場合とFormGroupの場合で処理を分ける\n if (form instanceof FormGroup) {\n form.patchValue(tryJsonParse(localStorage.getItem(key) ?? ''));\n form.valueChanges.subscribe(value => {\n localStorage.setItem(key, JSON.stringify(value));\n });\n } else {\n const value = localStorage.getItem(key);\n console.debug('loaded:', value);\n form.setValue(value);\n form.valueChanges.subscribe(value => {\n console.debug('value:', value);\n localStorage.setItem(key, value);\n });\n }\n}\n\nexport function createToggleNavModeAction(navMode: 'expanded' | 'collapsed') {\n return {\n id: ActionId.TOGGLE_QUERY_FORM,\n icon: navMode === 'collapsed' ? 'expand_less' : 'expand_more',\n };\n}\n\n@TokenizedType()\n@Directive({ standalone: true })\nexport class IndexPageStore<T> extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly DI = makeDI(IndexPageStore, () => {\n const highlight = injectHighlight(injectEntityIdName());\n const isRootPage = injectIsRootPage() as any;\n const navStartActions = injectNavStartActions(isRootPage);\n const filterFunc = injectFilterFunc();\n const modelName = injectModelName();\n return () => ({\n style: {\n width: 'var(--page-width-lv3)',\n 'padding-left': `0`,\n } as Partial<CSSStyleDeclaration>,\n groupedBy: null as unknown as string,\n groupKeys: [],\n items: [],\n itemsMap: undefined as unknown as ItemsMap<any>,\n itemActions: (() => []) as Actions,\n itemsMapper: undefined as unknown as (items: any[]) => any[],\n itemsLength: 0,\n filterFunc,\n title: modelName() ? `${modelName()}一覧` : `取得中...`,\n type: <'list' | 'table' | 'grid'>'table',\n selection: new SelectionModel<string>(true, []),\n highlight: highlight(),\n form: new FormGroup({}) as AbstractControl,\n tableChildrenKey: null,\n navStartActions: navStartActions(),\n navEndActions: <Actions>[],\n });\n }, ['components', 'pages', 'index']);\n\n static readonly Config = {\n provide: IndexPageStore.DI.provideConfig,\n inject: IndexPageStore.DI.injectConfig,\n };\n\n static provideDefault() {\n return [\n IndexPageStore.provideDefaultConfig(),\n IndexPageStore.provideDefaultInitializer(),\n IndexPageStore.provideDefaultEffects(),\n ];\n }\n\n static provideDefaultInitializer() {\n return [\n IndexPageStore.provideFormInitializer(),\n IndexPageStore.provideFormValueStorageInitializer(),\n IndexPageStore.provideItemsLengthInitializer(),\n IndexPageStore.provideItemsMapperInitializer(),\n IndexPageStore.provideAutoTogglePageInitializer(),\n ];\n }\n\n static provideDefaultEffects() {\n return [\n IndexPageStore.provideDetailEffect(),\n IndexPageStore.provideAddEffect(),\n IndexPageStore.provideBackEffect(),\n IndexPageStore.provideHeaderCheckboxClickEffect(),\n IndexPageStore.provideCheckboxClickEffect(),\n IndexPageStore.provideTableHeaderClickEffect(),\n IndexPageStore.provideSideNavEffects(),\n ];\n }\n\n static provideDefaultConfig() {\n return [\n IndexPageStore.Config.provide(),\n IndexPageStore.provideItemActionsConfig(),\n IndexPageStore.provideTypeConfig(),\n ]\n }\n\n static provideTypeConfig() {\n return IndexPageStore.Config.provide(() => {\n return (config, context) => ({ ...config, type: getType(context) });\n });\n }\n\n static provideItemsFromRepository() {\n return (IndexPageStore.Config.provide as any)(() => {\n const Model = injectModel();\n const items = Model ? injectAll(Model as any) : signal([]);\n return (config: any) => ({ ...config, items: items() });\n });\n }\n\n static provideItemActionsConfig() {\n return IndexPageStore.Config.provide(() => {\n return (config) => ({\n ...config,\n itemActions: (item) => [\n { id: ActionId.DETAIL, icon: 'open_in_new', name: '詳細', payload: item },\n ],\n });\n });\n }\n\n static provideSideAppNavStartActions() {\n return IndexPageStore.Config.provide(() => {\n const navStartActions = injectSideAppNavStartActions();\n return (config) => ({\n ...config,\n navStartActions: navStartActions(),\n });\n });\n }\n\n static Initializer = makeInitializerConfig(IndexPageStore);\n static provideFormInitializer() {\n return IndexPageStore.Initializer.provide((store) => {\n const form = injectIndexForm({\n columns: buildColumns([\n 'id',\n 'createdAt',\n 'updatedAt',\n (item: { id: string }) => [{ id: ActionId.DETAIL, icon: 'open_in_new', name: '詳細', payload: item }],\n ]),\n });\n applyToInput(store, 'form', form);\n });\n }\n static provideFormValueStorageInitializer() {\n return IndexPageStore.Initializer.provide((store) => {\n const route = inject(ActivatedRoute);\n const paths = route.pathFromRoot.map(r => r?.routeConfig?.path);\n const key = `@ng-atomic/components/pages/index:${paths.filter((path) => !!path).join('/')}`;\n recoveryFormValue(store.form(), key);\n });\n }\n\n static provideItemsLengthInitializer() {\n return [\n IndexLengthPipe,\n IndexPageStore.Initializer.provide((store) => {\n const pipe = inject(IndexLengthPipe);\n const formValue = computedRawValue(() => store.form());\n effect(() => {\n const itemsLength = pipe.transform(store.items(), formValue());\n applyToInput(store, 'itemsLength', itemsLength);\n });\n }),\n ];\n }\n\n static provideItemsMapperInitializer() {\n return [\n IndexPipe,\n IndexPageStore.Initializer.provide((store) => {\n const formValue = computedRawValue(() => store.form());\n const indexPipe = inject(IndexPipe);\n effect(() => {\n const value = formValue() as any;\n const itemsMapper = (items: any[]) => {\n const filterFunc = store.filterFunc();\n return indexPipe.transform(items.filter(filterFunc), value);\n };\n applyToInput(store, 'itemsMapper', itemsMapper);\n });\n }),\n ];\n }\n\n static provideDisplayedItemsPaginationInitializer(): Provider {\n return IndexPageStore.DI.provideInitializer((store) => {\n const page = derivedAsync(() => getRawValue$(store.form()).pipe(map(value => value.page)));\n effect(() => {\n const offset = page()?.index * (page()?.size ?? 100)\n const limit = offset + (page()?.size ?? 100);\n applyToInput(store, 'displayedItems', store.items().slice(offset, limit));\n });\n });\n }\n\n static provideColumnsInitializer(useFactory: () => string[]): Provider[] {\n return [\n IndexPageStore.Initializer.provide((store) => {\n const columns = useFactory();\n const form = injectIndexForm({ columns: buildColumns(columns) });\n applyToInput(store, 'form', form);\n }),\n ];\n }\n\n static provideItemsInitializer(itemsFactory: () => any[]): Provider[] {\n return [\n IndexPageStore.Initializer.provide((store) => {\n effect(() => {\n const items = itemsFactory();\n applyToInput(store, 'items', items as never[]);\n console.debug('items:', items);\n });\n }),\n ];\n }\n\n static provideToggleQueryFormNavEndActions(): Provider[] {\n return [\n IndexPageStore.Initializer.provide((store) => {\n effect(() => {\n applyToInput(store, 'navEndActions', [\n store.queryFormDisplayed() ? createToggleNavModeAction(store.navMode()) : null,\n ].filter(Boolean) as Actions);\n });\n }),\n provideEffect(ActionId.TOGGLE_QUERY_FORM, () => {\n const store = inject(IndexPageStore);\n return () => {\n applyToInput(store, 'navMode', store.navMode() === 'collapsed' ? 'expanded' : 'collapsed');\n };\n }),\n ];\n }\n\n static provideBackEffect() {\n return provideEffect(IndexPageStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n\n static provideDetailEffect() {\n return provideEffect(IndexPageStore.ActionId.DETAIL, () => {\n const app = inject(AppService);\n const store = inject(IndexPageStore);\n const hasNext = injectHasNext();\n return (item: { id: string }) => {\n app.router.navigate([item.id], {\n relativeTo: store.route,\n replaceUrl: hasNext(),\n });\n }\n });\n }\n\n static provideAddEffect() {\n return provideEffect(IndexPageStore.ActionId.ADD, () => {\n const app = inject(AppService);\n const hasNext = injectHasNext();\n const route = inject(ActivatedRoute);\n return () => {\n app.router.navigate(['new'], {\n relativeTo: route,\n replaceUrl: !!hasNext(),\n });\n };\n });\n }\n\n static provideCheckboxClickEffect() {\n return provideEffect(IndexPageStore.ActionId.TABLE_CHECKBOX_CLICK, () => {\n const store = inject(IndexPageStore);\n return (item: { id: string }) => {\n store.selection().toggle(item.id);\n };\n });\n }\n\n static provideTableHeaderClickEffect() {\n return provideEffect(IndexPageStore.ActionId.TABLE_HEADER_CLICK, () => {\n const store = inject(IndexPageStore);\n return (key: string) => {\n const sort = store.form().get(['sort'])!.value;\n const order = key === sort.key && sort.order === 'asc' ? 'desc' : 'asc';\n store.form().patchValue({ sort: { key, order } });\n };\n });\n }\n\n static provideSideNavEffects() {\n return provideEffect(NavActionId.TOGGLE_SIDE_NAV, () => {\n const app = inject(AppService);\n return () => app.sideNav.toggle();\n });\n }\n\n static provideHeaderCheckboxClickEffect() {\n return provideEffect(IndexPageStore.ActionId.HEADER_CHECKBOX_CLICK, () => {\n const store = inject(IndexPageStore);\n return () => {\n const selection = toggleAllSelection(store.selection(), store.displayedItems());\n applyToInput(store, 'selection', selection);\n }\n });\n }\n\n static provideAutoTogglePageInitializer(): Provider[] {\n return [\n provideEffect(RouterOutletFrameStore.ActionId.DEACTIVATED, () => {\n const store = inject(IndexPageStore);\n const style = computeFake(store.style());\n return () => {\n applyToInput(store, 'style', { ...style, paddingLeft: `0` });\n };\n }),\n IndexPageStore.Initializer.provide((store) => {\n const hasNext = injectHasNext();\n const style = computeFake(store.style());\n effect(() => {\n if (hasNext()) {\n setTimeout(() => {\n applyToInput(store, 'style', {\n ...style,\n paddingLeft: 'var(--page-width-lv1)',\n });\n }, 300);\n }\n });\n }),\n ];\n }\n\n readonly config = IndexPageStore.Config.inject();\n readonly style = input(_computed(() => this.config().style));\n readonly route = inject(ActivatedRoute);\n readonly groupedBy = input(_computed(() => this.config().groupedBy));\n readonly groupKeys = input(_computed(() => this.config().groupKeys));\n readonly type = input(_computed(() => this.config().type));\n readonly items = input(_computed(() => this.config().items));\n readonly itemsMap = input(_computed(() => convertToItemsMap(this.displayedItems(), { mapper: this.itemsMapper() })));\n readonly itemActions = input(_computed(() => this.config().itemActions));\n readonly title = input(_computed(() => this.config().title));\n readonly form = input(_computed(() => this.config().form));\n readonly selection = input(_computed(() => this.config().selection));\n readonly highlight = input(_computed(() => this.config().highlight));\n readonly navStartActions = input(_computed(() => this.config().navStartActions));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly filterFunc = input(_computed(() => this.config().filterFunc));\n readonly itemsMapper = input(_computed(() => this.config().itemsMapper));\n readonly tableChildrenKey = input(_computed(() => this.config().tableChildrenKey));\n\n readonly itemsLength = input(_computed(() => this.config().itemsLength));\n readonly displayedItems = input(_computed(() => {\n let items = this.items() ?? [];\n const filterFunc = this.filterFunc();\n items = filterFunc ? items.filter(filterFunc) : items;\n const itemsMapper = this.itemsMapper();\n return itemsMapper ? itemsMapper(items) : items;\n }));\n readonly selectedIds = derivedAsync(() => {\n return this.selection().changed.pipe(\n startWith(null),\n map(() => this.selection().selected ?? []),\n );\n }, { initialValue: [] });\n readonly selected = computed(() => {\n const items = this.items() ?? [];\n const selectedIdSet = new Set(this.selectedIds());\n return (items ?? []).filter((entry: any) => selectedIdSet.has(entry.id));\n });\n readonly isAllSelected = computed(() => {\n return this.displayedItems().every(entry => this.selectedIds().includes(entry.id));\n });\n readonly skip = injectRouteSkip();\n\n readonly fb = inject(FormBuilder);\n readonly queryForm = input<FormGroup>(_computed(() => this.fb.group({\n status: [''],\n })));\n readonly queryFormFieldMap = input<FormFieldMap>({});\n readonly queryFormDisplayed = input(false);\n readonly navMode = input<'expanded' | 'collapsed'>('expanded');\n\n constructor() {\n super();\n IndexPageStore.Initializer.initializeStore(this);\n\n effect(() => {\n console.debug('[IndexPageStore] itemsMap:', this.itemsMap());\n });\n }\n}\n\n@TokenizedType()\n@Directive({ standalone: true, selector: 'ng-dashboard' })\nexport class IndexPageDashboardStore extends InjectableComponent {\n static provideComponent = <T>(factory: TypeOrTypeFactory<T>) => provideComponent(IndexPageDashboardStore, factory);\n}\n\n@Component({ selector: 'ng-dashboard', template: '' })\nexport class IndexPageDashboard extends NgAtomicComponent { }\n\n@Component({\n selector: 'pages-index',\n imports: [\n RouterOutletFrame,\n IndexTemplate,\n NgAtomicFormSectionBuilder,\n IndexPageDashboardStore,\n ],\n template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-index\n [style]=\"store.style()\"\n [title]=\"store.title()\"\n [type]=\"store.type()\"\n [tableChildrenKey]=\"store.tableChildrenKey()\"\n [items]=\"store.displayedItems()\"\n [itemsMap]=\"store.itemsMap()\"\n [itemsLength]=\"store.itemsLength()\"\n [itemActions]=\"store.itemActions()\"\n [groupedBy]=\"store.groupedBy()\"\n [groupKeys]=\"store.groupKeys()\"\n [form]=\"store.form()\"\n [selection]=\"store.selection()\"\n [highlight]=\"store.highlight()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [navMode]=\"store.navMode()\"\n (action)=\"dispatch($event)\"\n >\n @if (store.queryFormDisplayed()) {\n <div navDashboard>\n <ng-atomic-form-section-builder\n [form]=\"store.queryForm()\"\n [fieldMap]=\"store.queryFormFieldMap()\"\n />\n </div>\n }\n <ng-dashboard dashboard injectable/>\n </templates-index>\n </frames-router-outlet>\n `,\n styleUrl: './index.page.scss',\n hostDirectives: [\n {\n directive: IndexPageStore,\n inputs: [\n 'items',\n 'itemsMap',\n 'displayedItems',\n ],\n },\n ]\n})\nexport class IndexPage extends NgAtomicComponent {\n protected store = inject(IndexPageStore);\n protected router = inject(Router);\n protected sheet = inject(SheetService);\n\n @Effect(IndexTemplate.ActionId.BACK)\n protected back() {\n this.dispatch({ id: IndexPageStore.ActionId.BACK });\n }\n\n @Effect(NavActionId.CLOSE)\n protected close() {\n this.dispatch({ id: ActionId.CLOSE });\n }\n\n @Effect(IndexTemplate.ActionId.ITEM_CLICK)\n protected itemClick(item: { id: string }) {\n this.dispatch({ id: ActionId.DETAIL, payload: item });\n }\n\n @Effect(IndexTemplate.ActionId.TABLE_HEADER_CHECKBOX_CLICK)\n protected onHeaderCheckboxClick(item: { id: string }) {\n this.dispatch({ id: IndexPageStore.ActionId.HEADER_CHECKBOX_CLICK, payload: item });\n }\n\n // MEMO(@nontangent): シートのアクションをページに持たせるべきかは要検討。\n @Effect(IndexTemplate.ActionId.LIST_ITEM_BUTTON_CLICKED)\n protected onItemButtonClicked(item: any) {\n const actions = resolveActions(this.store.itemActions(), item);\n this.sheet.openActions(actions).then((action) => {\n if (!action) return;\n this.dispatch({\n id: action.id,\n payload: action.payload,\n });\n });\n }\n\n @Effect(IndexTemplate.ActionId.TABLE_HEADER_CLICK)\n protected onTableHeaderClick(payload: any) {\n this.dispatch({ id: IndexPageStore.ActionId.TABLE_HEADER_CLICK, payload });\n }\n\n @Effect(IndexTemplate.ActionId.TABLE_CHECKBOX_CLICK)\n protected onCheckboxClick(payload: any) {\n this.dispatch({ id: IndexPageStore.ActionId.TABLE_CHECKBOX_CLICK, payload });\n }\n\n // @Effect(RouterOutletFrameStore.ActionId.DEACTIVATED)\n // protected onDeactivated() {\n\n // }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-components-pages-_index.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/pages/_index/index.page.ts","../../../../../packages/@ng-atomic/components/src/lib/pages/_index/ng-atomic-components-pages-_index.ts"],"sourcesContent":["import { Component, Directive, InjectionToken, Injector, Provider, Signal, computed, effect, inject, input, runInInjectionContext, signal } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { RouterOutletFrame, RouterOutletFrameStore } from '@ng-atomic/components/frames/router-outlet';\nimport { convertToItemsMap, getType, IndexTemplate, ItemsMap } from '@ng-atomic/components/templates/_index';\nimport { injectAll } from '@ng-atomic/common/stores/entities';\nimport { injectModel, injectModelName } from '@ng-atomic/common/pipes/domain';\nimport { Actions, Effect, InjectableComponent, NgAtomicComponent, TokenizedType, TypeOrTypeFactory, _computed, applyToInput, computeFake, provideComponent, provideEffect, resolveActions } from '@ng-atomic/core';\nimport { buildColumns, injectIndexForm } from '@ng-atomic/components/organisms/table';\nimport { injectIsRootPage, injectNavStartActions, injectSideAppNavStartActions, makeDI, NavActionId } from '@ng-atomic/common/services/ui';\nimport { injectEntityIdName } from '@ng-atomic/components/pages/form';\nimport { computedRawValue, getRawValue$, injectChildRouteParam, injectHasNext, injectRouteSkip } from \"@ng-atomic/common/utils\";\nimport { AppService } from '@ng-atomic/common/services/app';\nimport { IndexPipe } from '@ng-atomic/common/pipes/index';\nimport { map, startWith } from 'rxjs';\nimport { makeInitializerConfig } from '@ng-atomic/common/services/initializer';\nimport { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';\nimport { IndexLengthPipe } from '@ng-atomic/common/pipes/index-length';\nimport { SheetService } from '@ng-atomic/common/services/sheets';\nimport { NgAtomicFormSectionBuilder } from '@ng-atomic/components/templates/form';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { derivedAsync } from 'ngxtension/derived-async';\n\nexport function injectHighlight(key: string): Signal<SelectionModel<string>> {\n const itemId = injectChildRouteParam(key);\n return computed(() => new SelectionModel<string>(true, itemId() ? [itemId()] : []));\n}\n\ntype FilterFunc = (item: { id: string }) => boolean;\nconst FILTER_FUNC = new InjectionToken<(injector?: Injector) => FilterFunc>('FILTER_FUNC');\nexport function provideFilterFunc(useFactory: () => FilterFunc) {\n const wrapped = () => (injector = inject(Injector)) => runInInjectionContext(injector, useFactory);\n return { provide: FILTER_FUNC, useFactory: wrapped };\n}\nexport function injectFilterFunc() {\n return (inject(FILTER_FUNC, { optional: true }) ?? (() => () => true))();\n}\n\nenum ActionId {\n BACK = '[@ng-atomic/components:pages/index] Back',\n CHECKBOX_CLICK = '[@ng-atomic/components/pages/index] CheckboxClick',\n HEADER_CHECKBOX_CLICK = '[@ng-atomic/components/pages/index] HeaderCheckboxClick',\n TABLE_HEADER_CLICK = '[@ng-atomic/components/pages/index] TableHeaderClick',\n TABLE_CHECKBOX_CLICK = '[@ng-atomic/components/pages/index] TableCheckboxClick',\n ADD = '[@ng-atomic/components/pages/index] Add',\n DETAIL = '[@ng-atomic/components/pages/index] Detail',\n CLOSE = '[@ng-atomic/components/pages/index] Close',\n LIST_ITEM_BUTTON_CLICKED = '[@ng-atomic/components/pages/index] ListItemButtonClick',\n TOGGLE_QUERY_FORM = '[@ng-atomic/components/pages/index] ToggleQueryForm',\n}\n\nexport function toggleAllSelection(selection: SelectionModel<string>, items: { id: string }[]) {\n if (selection.selected.length === items.length) {\n return new SelectionModel<string>(true, []);\n } else {\n return new SelectionModel<string>(true, items.map(entry => entry.id));\n }\n}\n\nfunction tryJsonParse(value: string) {\n try {\n return JSON.parse(value);\n } catch {\n return {};\n }\n}\n\nexport function recoveryFormValue(form: AbstractControl, key = 'default') {\n \n if (form instanceof FormGroup) {\n form.patchValue(tryJsonParse(localStorage.getItem(key) ?? ''));\n form.valueChanges.subscribe(value => {\n localStorage.setItem(key, JSON.stringify(value));\n });\n } else {\n const value = localStorage.getItem(key);\n console.debug('loaded:', value);\n form.setValue(value);\n form.valueChanges.subscribe(value => {\n console.debug('value:', value);\n localStorage.setItem(key, value);\n });\n }\n}\n\nexport function createToggleNavModeAction(navMode: 'expanded' | 'collapsed') {\n return {\n id: ActionId.TOGGLE_QUERY_FORM,\n icon: navMode === 'collapsed' ? 'expand_less' : 'expand_more',\n };\n}\n\n@TokenizedType()\n@Directive({ standalone: true })\nexport class IndexPageStore<T> extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly DI = makeDI(IndexPageStore, () => {\n const highlight = injectHighlight(injectEntityIdName());\n const isRootPage = injectIsRootPage() as any;\n const navStartActions = injectNavStartActions(isRootPage);\n const filterFunc = injectFilterFunc();\n const modelName = injectModelName();\n return () => ({\n style: {\n width: 'var(--page-width-lv3)',\n 'padding-left': `0`,\n } as Partial<CSSStyleDeclaration>,\n groupedBy: null as unknown as string,\n groupKeys: [],\n items: [],\n itemsMap: undefined as unknown as ItemsMap<any>,\n itemActions: (() => []) as Actions,\n itemsMapper: undefined as unknown as (items: any[]) => any[],\n itemsLength: 0,\n filterFunc,\n title: modelName() ? `${modelName()}一覧` : `取得中...`,\n type: <'list' | 'table' | 'grid'>'table',\n selection: new SelectionModel<string>(true, []),\n highlight: highlight(),\n form: new FormGroup({}) as AbstractControl,\n tableChildrenKey: null,\n navStartActions: navStartActions(),\n navEndActions: <Actions>[],\n });\n }, ['components', 'pages', 'index']);\n\n static readonly Config = {\n provide: IndexPageStore.DI.provideConfig,\n inject: IndexPageStore.DI.injectConfig,\n };\n\n static provideDefault() {\n return [\n IndexPageStore.provideDefaultConfig(),\n IndexPageStore.provideDefaultInitializer(),\n IndexPageStore.provideDefaultEffects(),\n ];\n }\n\n static provideDefaultInitializer() {\n return [\n IndexPageStore.provideFormInitializer(),\n IndexPageStore.provideFormValueStorageInitializer(),\n IndexPageStore.provideItemsLengthInitializer(),\n IndexPageStore.provideItemsMapperInitializer(),\n IndexPageStore.provideAutoTogglePageInitializer(),\n ];\n }\n\n static provideDefaultEffects() {\n return [\n IndexPageStore.provideDetailEffect(),\n IndexPageStore.provideAddEffect(),\n IndexPageStore.provideBackEffect(),\n IndexPageStore.provideHeaderCheckboxClickEffect(),\n IndexPageStore.provideCheckboxClickEffect(),\n IndexPageStore.provideTableHeaderClickEffect(),\n IndexPageStore.provideSideNavEffects(),\n ];\n }\n\n static provideDefaultConfig() {\n return [\n IndexPageStore.Config.provide(),\n IndexPageStore.provideItemActionsConfig(),\n IndexPageStore.provideTypeConfig(),\n ]\n }\n\n static provideTypeConfig() {\n return IndexPageStore.Config.provide(() => {\n return (config, context) => ({ ...config, type: getType(context) });\n });\n }\n\n static provideItemsFromRepository() {\n return (IndexPageStore.Config.provide as any)(() => {\n const Model = injectModel();\n const items = Model ? injectAll(Model as any) : signal([]);\n return (config: any) => ({ ...config, items: items() });\n });\n }\n\n static provideItemActionsConfig() {\n return IndexPageStore.Config.provide(() => {\n return (config) => ({\n ...config,\n itemActions: (item) => [\n { id: ActionId.DETAIL, icon: 'open_in_new', name: '詳細', payload: item },\n ],\n });\n });\n }\n\n static provideSideAppNavStartActions() {\n return IndexPageStore.Config.provide(() => {\n const navStartActions = injectSideAppNavStartActions();\n return (config) => ({\n ...config,\n navStartActions: navStartActions(),\n });\n });\n }\n\n static Initializer = makeInitializerConfig(IndexPageStore);\n static provideFormInitializer() {\n return IndexPageStore.Initializer.provide((store) => {\n const form = injectIndexForm({\n columns: buildColumns([\n 'id',\n 'createdAt',\n 'updatedAt',\n (item: { id: string }) => [{ id: ActionId.DETAIL, icon: 'open_in_new', name: '詳細', payload: item }],\n ]),\n });\n applyToInput(store, 'form', form);\n });\n }\n static provideFormValueStorageInitializer() {\n return IndexPageStore.Initializer.provide((store) => {\n const route = inject(ActivatedRoute);\n const paths = route.pathFromRoot.map(r => r?.routeConfig?.path);\n const key = `@ng-atomic/components/pages/index:${paths.filter((path) => !!path).join('/')}`;\n recoveryFormValue(store.form(), key);\n });\n }\n\n static provideItemsLengthInitializer() {\n return [\n IndexLengthPipe,\n IndexPageStore.Initializer.provide((store) => {\n const pipe = inject(IndexLengthPipe);\n const formValue = computedRawValue(() => store.form());\n effect(() => {\n const itemsLength = pipe.transform(store.items(), formValue());\n applyToInput(store, 'itemsLength', itemsLength);\n });\n }),\n ];\n }\n\n static provideItemsMapperInitializer() {\n return [\n IndexPipe,\n IndexPageStore.Initializer.provide((store) => {\n const formValue = computedRawValue(() => store.form());\n const indexPipe = inject(IndexPipe);\n effect(() => {\n const value = formValue() as any;\n const itemsMapper = (items: any[]) => {\n const filterFunc = store.filterFunc();\n return indexPipe.transform(items.filter(filterFunc), value);\n };\n applyToInput(store, 'itemsMapper', itemsMapper);\n });\n }),\n ];\n }\n\n static provideDisplayedItemsPaginationInitializer(): Provider {\n return IndexPageStore.DI.provideInitializer((store) => {\n const page = derivedAsync(() => getRawValue$(store.form()).pipe(map(value => value.page)));\n effect(() => {\n const offset = page()?.index * (page()?.size ?? 100)\n const limit = offset + (page()?.size ?? 100);\n applyToInput(store, 'displayedItems', store.items().slice(offset, limit));\n });\n });\n }\n\n static provideColumnsInitializer(useFactory: () => string[]): Provider[] {\n return [\n IndexPageStore.Initializer.provide((store) => {\n const columns = useFactory();\n const form = injectIndexForm({ columns: buildColumns(columns) });\n applyToInput(store, 'form', form);\n }),\n ];\n }\n\n static provideItemsInitializer(itemsFactory: () => any[]): Provider[] {\n return [\n IndexPageStore.Initializer.provide((store) => {\n effect(() => {\n const items = itemsFactory();\n applyToInput(store, 'items', items as never[]);\n console.debug('items:', items);\n });\n }),\n ];\n }\n\n static provideToggleQueryFormNavEndActions(): Provider[] {\n return [\n IndexPageStore.Initializer.provide((store) => {\n effect(() => {\n applyToInput(store, 'navEndActions', [\n store.queryFormDisplayed() ? createToggleNavModeAction(store.navMode()) : null,\n ].filter(Boolean) as Actions);\n });\n }),\n provideEffect(ActionId.TOGGLE_QUERY_FORM, () => {\n const store = inject(IndexPageStore);\n return () => {\n applyToInput(store, 'navMode', store.navMode() === 'collapsed' ? 'expanded' : 'collapsed');\n };\n }),\n ];\n }\n\n static provideBackEffect() {\n return provideEffect(IndexPageStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n\n static provideDetailEffect() {\n return provideEffect(IndexPageStore.ActionId.DETAIL, () => {\n const app = inject(AppService);\n const store = inject(IndexPageStore);\n const hasNext = injectHasNext();\n return (item: { id: string }) => {\n app.router.navigate([item.id], {\n relativeTo: store.route,\n replaceUrl: hasNext(),\n });\n }\n });\n }\n\n static provideAddEffect() {\n return provideEffect(IndexPageStore.ActionId.ADD, () => {\n const app = inject(AppService);\n const hasNext = injectHasNext();\n const route = inject(ActivatedRoute);\n return () => {\n app.router.navigate(['new'], {\n relativeTo: route,\n replaceUrl: !!hasNext(),\n });\n };\n });\n }\n\n static provideCheckboxClickEffect() {\n return provideEffect(IndexPageStore.ActionId.TABLE_CHECKBOX_CLICK, () => {\n const store = inject(IndexPageStore);\n return (item: { id: string }) => {\n store.selection().toggle(item.id);\n };\n });\n }\n\n static provideTableHeaderClickEffect() {\n return provideEffect(IndexPageStore.ActionId.TABLE_HEADER_CLICK, () => {\n const store = inject(IndexPageStore);\n return (key: string) => {\n const sort = store.form().get(['sort'])!.value;\n const order = key === sort.key && sort.order === 'asc' ? 'desc' : 'asc';\n store.form().patchValue({ sort: { key, order } });\n };\n });\n }\n\n static provideSideNavEffects() {\n return provideEffect(NavActionId.TOGGLE_SIDE_NAV, () => {\n const app = inject(AppService);\n return () => app.sideNav.toggle();\n });\n }\n\n static provideHeaderCheckboxClickEffect() {\n return provideEffect(IndexPageStore.ActionId.HEADER_CHECKBOX_CLICK, () => {\n const store = inject(IndexPageStore);\n return () => {\n const selection = toggleAllSelection(store.selection(), store.displayedItems());\n applyToInput(store, 'selection', selection);\n }\n });\n }\n\n static provideAutoTogglePageInitializer(): Provider[] {\n return [\n provideEffect(RouterOutletFrameStore.ActionId.DEACTIVATED, () => {\n const store = inject(IndexPageStore);\n const style = computeFake(store.style());\n return () => {\n applyToInput(store, 'style', { ...style, paddingLeft: `0` });\n };\n }),\n IndexPageStore.Initializer.provide((store) => {\n const hasNext = injectHasNext();\n const style = computeFake(store.style());\n effect(() => {\n if (hasNext()) {\n setTimeout(() => {\n applyToInput(store, 'style', {\n ...style,\n paddingLeft: 'var(--page-width-lv1)',\n });\n }, 300);\n }\n });\n }),\n ];\n }\n\n readonly config = IndexPageStore.Config.inject();\n readonly style = input(_computed(() => this.config().style));\n readonly route = inject(ActivatedRoute);\n readonly groupedBy = input(_computed(() => this.config().groupedBy));\n readonly groupKeys = input(_computed(() => this.config().groupKeys));\n readonly type = input(_computed(() => this.config().type));\n readonly items = input(_computed(() => this.config().items));\n readonly itemsMap = input(_computed(() => convertToItemsMap(this.displayedItems(), { mapper: this.itemsMapper() })));\n readonly itemActions = input(_computed(() => this.config().itemActions));\n readonly title = input(_computed(() => this.config().title));\n readonly form = input(_computed(() => this.config().form));\n readonly selection = input(_computed(() => this.config().selection));\n readonly highlight = input(_computed(() => this.config().highlight));\n readonly navStartActions = input(_computed(() => this.config().navStartActions));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly filterFunc = input(_computed(() => this.config().filterFunc));\n readonly itemsMapper = input(_computed(() => this.config().itemsMapper));\n readonly tableChildrenKey = input(_computed(() => this.config().tableChildrenKey));\n\n readonly itemsLength = input(_computed(() => this.config().itemsLength));\n readonly displayedItems = input(_computed(() => {\n let items = this.items() ?? [];\n const filterFunc = this.filterFunc();\n items = filterFunc ? items.filter(filterFunc) : items;\n const itemsMapper = this.itemsMapper();\n return itemsMapper ? itemsMapper(items) : items;\n }));\n readonly selectedIds = derivedAsync(() => {\n return this.selection().changed.pipe(\n startWith(null),\n map(() => this.selection().selected ?? []),\n );\n }, { initialValue: [] });\n readonly selected = computed(() => {\n const items = this.items() ?? [];\n const selectedIdSet = new Set(this.selectedIds());\n return (items ?? []).filter((entry: any) => selectedIdSet.has(entry.id));\n });\n readonly isAllSelected = computed(() => {\n return this.displayedItems().every(entry => this.selectedIds().includes(entry.id));\n });\n readonly skip = injectRouteSkip();\n\n readonly fb = inject(FormBuilder);\n readonly queryForm = input<FormGroup>(_computed(() => this.fb.group({\n status: [''],\n })));\n readonly queryFormFieldMap = input<FormFieldMap>({});\n readonly queryFormDisplayed = input(false);\n readonly navMode = input<'expanded' | 'collapsed'>('expanded');\n\n constructor() {\n super();\n IndexPageStore.Initializer.initializeStore(this);\n\n effect(() => {\n console.debug('[IndexPageStore] itemsMap:', this.itemsMap());\n });\n }\n}\n\n@TokenizedType()\n@Directive({ standalone: true, selector: 'ng-dashboard' })\nexport class IndexPageDashboardStore extends InjectableComponent {\n static provideComponent = <T>(factory: TypeOrTypeFactory<T>) => provideComponent(IndexPageDashboardStore, factory);\n}\n\n@Component({ selector: 'ng-dashboard', template: '' })\nexport class IndexPageDashboard extends NgAtomicComponent { }\n\n@Component({\n selector: 'pages-index',\n imports: [\n RouterOutletFrame,\n IndexTemplate,\n NgAtomicFormSectionBuilder,\n IndexPageDashboardStore,\n ],\n template: `\n <frames-router-outlet [skip]=\"store.skip()\" (action)=\"dispatch($event)\">\n <templates-index\n [style]=\"store.style()\"\n [title]=\"store.title()\"\n [type]=\"store.type()\"\n [tableChildrenKey]=\"store.tableChildrenKey()\"\n [items]=\"store.displayedItems()\"\n [itemsMap]=\"store.itemsMap()\"\n [itemsLength]=\"store.itemsLength()\"\n [itemActions]=\"store.itemActions()\"\n [groupedBy]=\"store.groupedBy()\"\n [groupKeys]=\"store.groupKeys()\"\n [form]=\"store.form()\"\n [selection]=\"store.selection()\"\n [highlight]=\"store.highlight()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [navMode]=\"store.navMode()\"\n (action)=\"dispatch($event)\"\n >\n @if (store.queryFormDisplayed()) {\n <div navDashboard>\n <ng-atomic-form-section-builder\n [form]=\"store.queryForm()\"\n [fieldMap]=\"store.queryFormFieldMap()\"\n />\n </div>\n }\n <ng-dashboard dashboard injectable/>\n </templates-index>\n </frames-router-outlet>\n `,\n styleUrl: './index.page.scss',\n hostDirectives: [\n {\n directive: IndexPageStore,\n inputs: [\n 'items',\n 'itemsMap',\n 'displayedItems',\n ],\n },\n ]\n})\nexport class IndexPage extends NgAtomicComponent {\n protected store = inject(IndexPageStore);\n protected router = inject(Router);\n protected sheet = inject(SheetService);\n\n @Effect(IndexTemplate.ActionId.BACK)\n protected back() {\n this.dispatch({ id: IndexPageStore.ActionId.BACK });\n }\n\n @Effect(NavActionId.CLOSE)\n protected close() {\n this.dispatch({ id: ActionId.CLOSE });\n }\n\n @Effect(IndexTemplate.ActionId.ITEM_CLICK)\n protected itemClick(item: { id: string }) {\n this.dispatch({ id: ActionId.DETAIL, payload: item });\n }\n\n @Effect(IndexTemplate.ActionId.TABLE_HEADER_CHECKBOX_CLICK)\n protected onHeaderCheckboxClick(item: { id: string }) {\n this.dispatch({ id: IndexPageStore.ActionId.HEADER_CHECKBOX_CLICK, payload: item });\n }\n\n \n @Effect(IndexTemplate.ActionId.LIST_ITEM_BUTTON_CLICKED)\n protected onItemButtonClicked(item: any) {\n const actions = resolveActions(this.store.itemActions(), item);\n this.sheet.openActions(actions).then((action) => {\n if (!action) return;\n this.dispatch({\n id: action.id,\n payload: action.payload,\n });\n });\n }\n\n @Effect(IndexTemplate.ActionId.TABLE_HEADER_CLICK)\n protected onTableHeaderClick(payload: any) {\n this.dispatch({ id: IndexPageStore.ActionId.TABLE_HEADER_CLICK, payload });\n }\n\n @Effect(IndexTemplate.ActionId.TABLE_CHECKBOX_CLICK)\n protected onCheckboxClick(payload: any) {\n this.dispatch({ id: IndexPageStore.ActionId.TABLE_CHECKBOX_CLICK, payload });\n }\n\n \n \n\n \n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -78,7 +78,7 @@ class ColumnsPage extends NgAtomicComponent {
78
78
  (action)="dispatch($event)"
79
79
  />
80
80
  </frames-router-outlet>
81
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-columns-u4u9: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-columns-u4u9: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-columns-u4u9: var(--page-width-lv3);--primary-color-SCOPED-IN-columns-u4u9: var(--primary-color);--on-primary-color-SCOPED-IN-columns-u4u9: var(--on-primary-color);--surface-color-SCOPED-IN-columns-u4u9: var(--surface-color);--on-surface-color-SCOPED-IN-columns-u4u9: var(--on-surface-color);--on-background-color-SCOPED-IN-columns-u4u9: var(--on-background-color);--background-color-SCOPED-IN-columns-u4u9: var(--background-color);--navigator-background-color-SCOPED-IN-columns-u4u9: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-columns-u4u9: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-columns-u4u9: var(--table-background-color);--table-on-background-color-SCOPED-IN-columns-u4u9: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-columns-u4u9)}:host *{--primary-color: var(--primary-color-SCOPED-IN-columns-u4u9);--on-primary-color: var(--on-primary-color-SCOPED-IN-columns-u4u9);--surface-color: var(--surface-color-SCOPED-IN-columns-u4u9);--on-surface-color: var(--on-surface-color-SCOPED-IN-columns-u4u9);--background-color: var(--background-color-SCOPED-IN-columns-u4u9);--on-background-color: var(--on-background-color-SCOPED-IN-columns-u4u9);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-columns-u4u9);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-columns-u4u9);--table-background-color: var(--table-background-color-SCOPED-IN-columns-u4u9);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-columns-u4u9)}\n"], dependencies: [{ kind: "component", type: ColumnsTemplate, selector: "templates-columns" }, { kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }] }); }
81
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-columns-zijD: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-columns-zijD: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-columns-zijD: var(--page-width-lv3);--primary-color-SCOPED-IN-columns-zijD: var(--primary-color);--on-primary-color-SCOPED-IN-columns-zijD: var(--on-primary-color);--surface-color-SCOPED-IN-columns-zijD: var(--surface-color);--on-surface-color-SCOPED-IN-columns-zijD: var(--on-surface-color);--on-background-color-SCOPED-IN-columns-zijD: var(--on-background-color);--background-color-SCOPED-IN-columns-zijD: var(--background-color);--navigator-background-color-SCOPED-IN-columns-zijD: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-columns-zijD: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-columns-zijD: var(--table-background-color);--table-on-background-color-SCOPED-IN-columns-zijD: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-columns-zijD)}:host *{--primary-color: var(--primary-color-SCOPED-IN-columns-zijD);--on-primary-color: var(--on-primary-color-SCOPED-IN-columns-zijD);--surface-color: var(--surface-color-SCOPED-IN-columns-zijD);--on-surface-color: var(--on-surface-color-SCOPED-IN-columns-zijD);--background-color: var(--background-color-SCOPED-IN-columns-zijD);--on-background-color: var(--on-background-color-SCOPED-IN-columns-zijD);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-columns-zijD);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-columns-zijD);--table-background-color: var(--table-background-color-SCOPED-IN-columns-zijD);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-columns-zijD)}\n"], dependencies: [{ kind: "component", type: ColumnsTemplate, selector: "templates-columns" }, { kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }] }); }
82
82
  }
83
83
  __decorate([
84
84
  Effect(NavActionId.BACK),
@@ -114,7 +114,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
114
114
  'form',
115
115
  ],
116
116
  },
117
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-columns-u4u9: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-columns-u4u9: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-columns-u4u9: var(--page-width-lv3);--primary-color-SCOPED-IN-columns-u4u9: var(--primary-color);--on-primary-color-SCOPED-IN-columns-u4u9: var(--on-primary-color);--surface-color-SCOPED-IN-columns-u4u9: var(--surface-color);--on-surface-color-SCOPED-IN-columns-u4u9: var(--on-surface-color);--on-background-color-SCOPED-IN-columns-u4u9: var(--on-background-color);--background-color-SCOPED-IN-columns-u4u9: var(--background-color);--navigator-background-color-SCOPED-IN-columns-u4u9: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-columns-u4u9: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-columns-u4u9: var(--table-background-color);--table-on-background-color-SCOPED-IN-columns-u4u9: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-columns-u4u9)}:host *{--primary-color: var(--primary-color-SCOPED-IN-columns-u4u9);--on-primary-color: var(--on-primary-color-SCOPED-IN-columns-u4u9);--surface-color: var(--surface-color-SCOPED-IN-columns-u4u9);--on-surface-color: var(--on-surface-color-SCOPED-IN-columns-u4u9);--background-color: var(--background-color-SCOPED-IN-columns-u4u9);--on-background-color: var(--on-background-color-SCOPED-IN-columns-u4u9);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-columns-u4u9);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-columns-u4u9);--table-background-color: var(--table-background-color-SCOPED-IN-columns-u4u9);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-columns-u4u9)}\n"] }]
117
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-columns-zijD: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-columns-zijD: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-columns-zijD: var(--page-width-lv3);--primary-color-SCOPED-IN-columns-zijD: var(--primary-color);--on-primary-color-SCOPED-IN-columns-zijD: var(--on-primary-color);--surface-color-SCOPED-IN-columns-zijD: var(--surface-color);--on-surface-color-SCOPED-IN-columns-zijD: var(--on-surface-color);--on-background-color-SCOPED-IN-columns-zijD: var(--on-background-color);--background-color-SCOPED-IN-columns-zijD: var(--background-color);--navigator-background-color-SCOPED-IN-columns-zijD: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-columns-zijD: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-columns-zijD: var(--table-background-color);--table-on-background-color-SCOPED-IN-columns-zijD: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-columns-zijD)}:host *{--primary-color: var(--primary-color-SCOPED-IN-columns-zijD);--on-primary-color: var(--on-primary-color-SCOPED-IN-columns-zijD);--surface-color: var(--surface-color-SCOPED-IN-columns-zijD);--on-surface-color: var(--on-surface-color-SCOPED-IN-columns-zijD);--background-color: var(--background-color-SCOPED-IN-columns-zijD);--on-background-color: var(--on-background-color-SCOPED-IN-columns-zijD);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-columns-zijD);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-columns-zijD);--table-background-color: var(--table-background-color-SCOPED-IN-columns-zijD);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-columns-zijD)}\n"] }]
118
118
  }], propDecorators: { back: [], close: [] } });
119
119
 
120
120
  /**
@@ -132,9 +132,7 @@ class FormPageStore extends InjectableComponent {
132
132
  this.style = input(_computed(() => this.config().style), ...(ngDevMode ? [{ debugName: "style" }] : []));
133
133
  this.form = input(_computed(() => this.config().form), ...(ngDevMode ? [{ debugName: "form" }] : []));
134
134
  this.formFlatExcludes = input(_computed(() => this.config().formFlatExcludes), ...(ngDevMode ? [{ debugName: "formFlatExcludes" }] : []));
135
- /** @deprecated */
136
135
  this.entityId = input(_computed(() => this.config().entityId), ...(ngDevMode ? [{ debugName: "entityId" }] : []));
137
- /** @deprecated */
138
136
  this.entity = input(_computed(() => this.config().entity), ...(ngDevMode ? [{ debugName: "entity" }] : []));
139
137
  this.title = input(_computed(() => this.config().title), ...(ngDevMode ? [{ debugName: "title" }] : []));
140
138
  this.actions = input(_computed(() => {
@@ -202,7 +200,7 @@ class FormPage extends NgAtomicComponent {
202
200
  (action)="dispatch($event)"
203
201
  />
204
202
  </frames-router-outlet>
205
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-RfYc: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-RfYc: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-RfYc: var(--page-width-lv3);--primary-color-SCOPED-IN-form-RfYc: var(--primary-color);--on-primary-color-SCOPED-IN-form-RfYc: var(--on-primary-color);--surface-color-SCOPED-IN-form-RfYc: var(--surface-color);--on-surface-color-SCOPED-IN-form-RfYc: var(--on-surface-color);--on-background-color-SCOPED-IN-form-RfYc: var(--on-background-color);--background-color-SCOPED-IN-form-RfYc: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-RfYc)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-RfYc);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-RfYc);--surface-color: var(--surface-color-SCOPED-IN-form-RfYc);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-RfYc);--background-color: var(--background-color-SCOPED-IN-form-RfYc);--on-background-color: var(--on-background-color-SCOPED-IN-form-RfYc)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }] }); }
203
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-lTld: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-lTld: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-lTld: var(--page-width-lv3);--primary-color-SCOPED-IN-form-lTld: var(--primary-color);--on-primary-color-SCOPED-IN-form-lTld: var(--on-primary-color);--surface-color-SCOPED-IN-form-lTld: var(--surface-color);--on-surface-color-SCOPED-IN-form-lTld: var(--on-surface-color);--on-background-color-SCOPED-IN-form-lTld: var(--on-background-color);--background-color-SCOPED-IN-form-lTld: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-lTld)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-lTld);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-lTld);--surface-color: var(--surface-color-SCOPED-IN-form-lTld);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-lTld);--background-color: var(--background-color-SCOPED-IN-form-lTld);--on-background-color: var(--on-background-color-SCOPED-IN-form-lTld)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: FormTemplate, selector: "templates-form" }] }); }
206
204
  }
207
205
  __decorate([
208
206
  Effect(FormTemplate.ActionId.BACK),
@@ -258,7 +256,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
258
256
  'outletName',
259
257
  ],
260
258
  },
261
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-RfYc: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-RfYc: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-RfYc: var(--page-width-lv3);--primary-color-SCOPED-IN-form-RfYc: var(--primary-color);--on-primary-color-SCOPED-IN-form-RfYc: var(--on-primary-color);--surface-color-SCOPED-IN-form-RfYc: var(--surface-color);--on-surface-color-SCOPED-IN-form-RfYc: var(--on-surface-color);--on-background-color-SCOPED-IN-form-RfYc: var(--on-background-color);--background-color-SCOPED-IN-form-RfYc: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-RfYc)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-RfYc);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-RfYc);--surface-color: var(--surface-color-SCOPED-IN-form-RfYc);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-RfYc);--background-color: var(--background-color-SCOPED-IN-form-RfYc);--on-background-color: var(--on-background-color-SCOPED-IN-form-RfYc)}\n"] }]
259
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-form-lTld: var(--page-width-lv1);--page-width-lv2-SCOPED-IN-form-lTld: var(--page-width-lv2);--page-width-lv3-SCOPED-IN-form-lTld: var(--page-width-lv3);--primary-color-SCOPED-IN-form-lTld: var(--primary-color);--on-primary-color-SCOPED-IN-form-lTld: var(--on-primary-color);--surface-color-SCOPED-IN-form-lTld: var(--surface-color);--on-surface-color-SCOPED-IN-form-lTld: var(--on-surface-color);--on-background-color-SCOPED-IN-form-lTld: var(--on-background-color);--background-color-SCOPED-IN-form-lTld: var(--background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-form-lTld)}:host *{--primary-color: var(--primary-color-SCOPED-IN-form-lTld);--on-primary-color: var(--on-primary-color-SCOPED-IN-form-lTld);--surface-color: var(--surface-color-SCOPED-IN-form-lTld);--on-surface-color: var(--on-surface-color-SCOPED-IN-form-lTld);--background-color: var(--background-color-SCOPED-IN-form-lTld);--on-background-color: var(--on-background-color-SCOPED-IN-form-lTld)}\n"] }]
262
260
  }], propDecorators: { back: [], close: [], fileSelected: [] } });
263
261
 
264
262
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-atomic-components-pages-form.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/pages/form/form.page.ts","../../../../../packages/@ng-atomic/components/src/lib/pages/form/ng-atomic-components-pages-form.ts"],"sourcesContent":["import { Component, Directive, InjectionToken, computed, effect, inject, input, signal } from '@angular/core';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { FormTemplate } from '@ng-atomic/components/templates/form';\nimport { Action, Effect, InjectableComponent, NgAtomicComponent, _computed, applyToInput, provideEffect } from '@ng-atomic/core';\nimport { AbstractControl, FormBuilder } from '@angular/forms';\nimport { injectOne } from '@ng-atomic/common/stores/entities';\nimport { LoadingService } from '@ng-atomic/common/services/loading';\nimport { injectModel, injectModelName } from '@ng-atomic/common/pipes/domain';\nimport { SnackBarService } from '@ng-atomic/common/services/snack-bar';\nimport { injectIsRootPage, injectNavStartActions, injectSideAppNavStartActions, makeDI, NavActionId } from '@ng-atomic/common/services/ui';\nimport { injectHasNext, injectRouteParam, injectRouteParams, injectRouteSkip } from '@ng-atomic/common/utils';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { camelCase } from 'lodash-es';\nimport { computedAsync } from 'ngxtension/computed-async';\nimport { map, startWith } from 'rxjs';\nimport { ActivatedRoute, PRIMARY_OUTLET, Router } from '@angular/router';\n\nenum ActionId {\n BACK = '[@ng-atomic/components/pages/form] Back',\n CLOSE = '[@ng-atomic/components/pages/form] Close',\n CREATE = '[@ng-atomic/components/pages/form] Create',\n UPDATE = '[@ng-atomic/components/pages/form] Update',\n DELETE = '[@ng-atomic/components/pages/form] Delete',\n NAVIGATE = '[@ng-atomic/components/pages/form] Navigate',\n FILE_SELECTED = '[@ng-atomic/components/pages/form] File Selected',\n}\n\nexport const ENTITY_ID_NAME = new InjectionToken<string>('[@ng-atomic/components/pages/form] EntityIdName');\n\nexport function provideEntityIdName(name: string) {\n return { provide: ENTITY_ID_NAME, useValue: name };\n}\n\nexport function injectEntityIdName() {\n return inject(ENTITY_ID_NAME, { optional: true }) ?? `${(camelCase(injectModelName()()))}Id`;\n}\n\n@Directive({\n standalone: true,\n selector: 'form-page-store',\n})\nexport class FormPageStore<T> extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly DI = makeDI(FormPageStore, () => {\n const modelName = injectModelName();\n const entityId = injectRouteParam(injectEntityIdName());\n const entity = injectModel() ? injectOne(injectModel() as any, { id: entityId }) : signal(null);\n const fb = inject(FormBuilder);\n const mode = computed(() => entityId() === 'new' ? 'create' : 'update');\n return () => ({\n style: {},\n form: fb.group({\n id: [],\n name: [],\n }) as AbstractControl,\n formFlatExcludes: [] as string[],\n entityId: entityId(),\n entity: entity(),\n mode: mode(),\n navStartActions: <Action[] | Action[][]>[],\n navEndActions: <Action[] | Action[][]>(mode() === 'create' ? [] : [\n [\n { id: FormPageStore.ActionId.DELETE, name: '削除', icon: 'delete', color: 'basic' },\n ],\n ]),\n title: mode() === 'create' ? `${modelName()}の作成` : `${modelName()}の更新`,\n fieldMap: undefined as unknown as FormFieldMap,\n outletName: PRIMARY_OUTLET as string,\n });\n }, ['components', 'pages', 'form']);\n static Config = FormPageStore.DI.Config;\n static Initializer = FormPageStore.DI.Initializer;\n static provideInitializer = FormPageStore.Initializer.provide;\n static provideDefaultInitializer = () => FormPageStore.provideInitializer((store) => {\n effect(() => {\n if (store.entity() === null) {\n store.form().reset();\n } else if (store?.entity && store.entity()) {\n store.form().reset();\n store.form().patchValue(store.entity());\n }\n });\n\n effect(() => {\n if (store.mode() !== 'create') return;\n store.form().reset();\n });\n });\n static provideNavStartActionsInitializer = () => FormPageStore.Initializer.provide((store) => {\n const isRootPage = injectIsRootPage() as any;\n const navStartActions = injectNavStartActions(isRootPage);\n effect(() => {\n applyToInput(store, 'navStartActions', navStartActions());\n });\n });\n static provideSideAppNavStartActionsInitializer = () => FormPageStore.Initializer.provide((store) => {\n const navStartActions = injectSideAppNavStartActions();\n effect(() => {\n applyToInput(store, 'navStartActions', navStartActions());\n });\n });\n static provideBackEffect() {\n return provideEffect(FormPageStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n static provideNavigateEffect() {\n return provideEffect(FormPageStore.ActionId.NAVIGATE, () => {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return (payload: string[]) => {\n router.navigate(payload, {\n relativeTo: route,\n replaceUrl: !!hasNext(),\n });\n };\n });\n }\n\n static provideDefaultEffects() {\n return [\n FormPageStore.provideNavigateEffect(),\n FormPageStore.provideBackEffect(),\n ];\n }\n\n static provideDefault() {\n return [\n FormPageStore.Config.provide(),\n FormPageStore.provideDefaultInitializer(),\n FormPageStore.provideNavStartActionsInitializer(),\n FormPageStore.provideDefaultEffects(),\n ];\n }\n\n readonly config = FormPageStore.Config.inject();\n readonly style = input(_computed(() => this.config().style));\n readonly form = input(_computed(() => this.config().form));\n readonly formFlatExcludes = input(_computed(() => this.config().formFlatExcludes));\n /** @deprecated */\n readonly entityId = input(_computed(() => this.config().entityId));\n /** @deprecated */\n readonly entity = input(_computed(() => this.config().entity) as T);\n readonly title = input(_computed(() => this.config().title));\n readonly actions = input(_computed<Action[]>(() => {\n return this.mode() === 'create'\n ? [{ id: FormPageStore.ActionId.CREATE, name: '作成', icon: 'add', color: 'primary' }]\n : [{ id: FormPageStore.ActionId.UPDATE, name: '更新', icon: 'save', color: 'primary' }];\n }));\n readonly fieldMap = input(_computed(() => this.config().fieldMap));\n readonly mode = input(_computed(() => this.config().mode));\n readonly navStartActions = input(_computed(() => this.config().navStartActions));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly params = injectRouteParams();\n readonly skip = injectRouteSkip();\n readonly outletName = input(_computed(() => this.params().outletName));\n\n readonly isValid = computedAsync(() => {\n return this.form().valueChanges.pipe(\n startWith(null),\n map(() => this.form().valid),\n );\n })\n\n readonly activatedActions = computed(() => {\n return this.actions().map(action => ({\n ...action,\n disabled: typeof action.disabled === 'undefined' ? !this.isValid() : action.disabled,\n }));\n })\n\n constructor() {\n super();\n FormPageStore.Initializer.initializeStore(this as any);\n }\n}\n\n@Component({\n selector: 'pages-form',\n imports: [\n RouterOutletFrame,\n FormTemplate,\n ],\n template: `\n <frames-router-outlet [skip]=\"store.skip()\">\n <templates-form\n [style]=\"store.style()\"\n [actions]=\"store.activatedActions()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [title]=\"store.title()\"\n [form]=\"store.form()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [fieldMap]=\"store.fieldMap()\"\n (action)=\"dispatch($event)\"\n />\n </frames-router-outlet>\n `,\n styleUrl: './form.page.scss',\n hostDirectives: [\n {\n directive: FormPageStore,\n inputs: [\n 'fieldMap',\n 'entityId',\n 'entity',\n 'mode',\n 'navEndActions',\n 'actions',\n 'title',\n 'form',\n 'formFlatExcludes',\n 'outletName',\n ],\n },\n ]\n})\nexport class FormPage extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n protected store = inject(FormPageStore);\n readonly loading = inject(LoadingService);\n readonly snackBar = inject(SnackBarService);\n\n @Effect(FormTemplate.ActionId.BACK)\n @Effect(NavActionId.BACK)\n protected back() {\n this.dispatch({ id: FormPageStore.ActionId.BACK });\n }\n\n @Effect(NavActionId.CLOSE)\n protected close() {\n this.dispatch({ id: FormPageStore.ActionId.CLOSE });\n }\n\n @Effect(FormTemplate.ActionId.FILE_SELECTED)\n protected fileSelected(payload: { scope: string, files: File[] }) {\n this.dispatch({ id: FormPageStore.ActionId.FILE_SELECTED, payload });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-atomic-components-pages-form.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/pages/form/form.page.ts","../../../../../packages/@ng-atomic/components/src/lib/pages/form/ng-atomic-components-pages-form.ts"],"sourcesContent":["import { Component, Directive, InjectionToken, computed, effect, inject, input, signal } from '@angular/core';\nimport { RouterOutletFrame } from '@ng-atomic/components/frames/router-outlet';\nimport { FormTemplate } from '@ng-atomic/components/templates/form';\nimport { Action, Effect, InjectableComponent, NgAtomicComponent, _computed, applyToInput, provideEffect } from '@ng-atomic/core';\nimport { AbstractControl, FormBuilder } from '@angular/forms';\nimport { injectOne } from '@ng-atomic/common/stores/entities';\nimport { LoadingService } from '@ng-atomic/common/services/loading';\nimport { injectModel, injectModelName } from '@ng-atomic/common/pipes/domain';\nimport { SnackBarService } from '@ng-atomic/common/services/snack-bar';\nimport { injectIsRootPage, injectNavStartActions, injectSideAppNavStartActions, makeDI, NavActionId } from '@ng-atomic/common/services/ui';\nimport { injectHasNext, injectRouteParam, injectRouteParams, injectRouteSkip } from '@ng-atomic/common/utils';\nimport { FormFieldMap } from '@ng-atomic/common/pipes/smart-field';\nimport { camelCase } from 'lodash-es';\nimport { computedAsync } from 'ngxtension/computed-async';\nimport { map, startWith } from 'rxjs';\nimport { ActivatedRoute, PRIMARY_OUTLET, Router } from '@angular/router';\n\nenum ActionId {\n BACK = '[@ng-atomic/components/pages/form] Back',\n CLOSE = '[@ng-atomic/components/pages/form] Close',\n CREATE = '[@ng-atomic/components/pages/form] Create',\n UPDATE = '[@ng-atomic/components/pages/form] Update',\n DELETE = '[@ng-atomic/components/pages/form] Delete',\n NAVIGATE = '[@ng-atomic/components/pages/form] Navigate',\n FILE_SELECTED = '[@ng-atomic/components/pages/form] File Selected',\n}\n\nexport const ENTITY_ID_NAME = new InjectionToken<string>('[@ng-atomic/components/pages/form] EntityIdName');\n\nexport function provideEntityIdName(name: string) {\n return { provide: ENTITY_ID_NAME, useValue: name };\n}\n\nexport function injectEntityIdName() {\n return inject(ENTITY_ID_NAME, { optional: true }) ?? `${(camelCase(injectModelName()()))}Id`;\n}\n\n@Directive({\n standalone: true,\n selector: 'form-page-store',\n})\nexport class FormPageStore<T> extends InjectableComponent {\n static readonly ActionId = ActionId;\n static readonly DI = makeDI(FormPageStore, () => {\n const modelName = injectModelName();\n const entityId = injectRouteParam(injectEntityIdName());\n const entity = injectModel() ? injectOne(injectModel() as any, { id: entityId }) : signal(null);\n const fb = inject(FormBuilder);\n const mode = computed(() => entityId() === 'new' ? 'create' : 'update');\n return () => ({\n style: {},\n form: fb.group({\n id: [],\n name: [],\n }) as AbstractControl,\n formFlatExcludes: [] as string[],\n entityId: entityId(),\n entity: entity(),\n mode: mode(),\n navStartActions: <Action[] | Action[][]>[],\n navEndActions: <Action[] | Action[][]>(mode() === 'create' ? [] : [\n [\n { id: FormPageStore.ActionId.DELETE, name: '削除', icon: 'delete', color: 'basic' },\n ],\n ]),\n title: mode() === 'create' ? `${modelName()}の作成` : `${modelName()}の更新`,\n fieldMap: undefined as unknown as FormFieldMap,\n outletName: PRIMARY_OUTLET as string,\n });\n }, ['components', 'pages', 'form']);\n static Config = FormPageStore.DI.Config;\n static Initializer = FormPageStore.DI.Initializer;\n static provideInitializer = FormPageStore.Initializer.provide;\n static provideDefaultInitializer = () => FormPageStore.provideInitializer((store) => {\n effect(() => {\n if (store.entity() === null) {\n store.form().reset();\n } else if (store?.entity && store.entity()) {\n store.form().reset();\n store.form().patchValue(store.entity());\n }\n });\n\n effect(() => {\n if (store.mode() !== 'create') return;\n store.form().reset();\n });\n });\n static provideNavStartActionsInitializer = () => FormPageStore.Initializer.provide((store) => {\n const isRootPage = injectIsRootPage() as any;\n const navStartActions = injectNavStartActions(isRootPage);\n effect(() => {\n applyToInput(store, 'navStartActions', navStartActions());\n });\n });\n static provideSideAppNavStartActionsInitializer = () => FormPageStore.Initializer.provide((store) => {\n const navStartActions = injectSideAppNavStartActions();\n effect(() => {\n applyToInput(store, 'navStartActions', navStartActions());\n });\n });\n static provideBackEffect() {\n return provideEffect(FormPageStore.ActionId.BACK, () => {\n return () => history.back();\n });\n }\n static provideNavigateEffect() {\n return provideEffect(FormPageStore.ActionId.NAVIGATE, () => {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return (payload: string[]) => {\n router.navigate(payload, {\n relativeTo: route,\n replaceUrl: !!hasNext(),\n });\n };\n });\n }\n\n static provideDefaultEffects() {\n return [\n FormPageStore.provideNavigateEffect(),\n FormPageStore.provideBackEffect(),\n ];\n }\n\n static provideDefault() {\n return [\n FormPageStore.Config.provide(),\n FormPageStore.provideDefaultInitializer(),\n FormPageStore.provideNavStartActionsInitializer(),\n FormPageStore.provideDefaultEffects(),\n ];\n }\n\n readonly config = FormPageStore.Config.inject();\n readonly style = input(_computed(() => this.config().style));\n readonly form = input(_computed(() => this.config().form));\n readonly formFlatExcludes = input(_computed(() => this.config().formFlatExcludes));\n \n readonly entityId = input(_computed(() => this.config().entityId));\n \n readonly entity = input(_computed(() => this.config().entity) as T);\n readonly title = input(_computed(() => this.config().title));\n readonly actions = input(_computed<Action[]>(() => {\n return this.mode() === 'create'\n ? [{ id: FormPageStore.ActionId.CREATE, name: '作成', icon: 'add', color: 'primary' }]\n : [{ id: FormPageStore.ActionId.UPDATE, name: '更新', icon: 'save', color: 'primary' }];\n }));\n readonly fieldMap = input(_computed(() => this.config().fieldMap));\n readonly mode = input(_computed(() => this.config().mode));\n readonly navStartActions = input(_computed(() => this.config().navStartActions));\n readonly navEndActions = input(_computed(() => this.config().navEndActions));\n readonly params = injectRouteParams();\n readonly skip = injectRouteSkip();\n readonly outletName = input(_computed(() => this.params().outletName));\n\n readonly isValid = computedAsync(() => {\n return this.form().valueChanges.pipe(\n startWith(null),\n map(() => this.form().valid),\n );\n })\n\n readonly activatedActions = computed(() => {\n return this.actions().map(action => ({\n ...action,\n disabled: typeof action.disabled === 'undefined' ? !this.isValid() : action.disabled,\n }));\n })\n\n constructor() {\n super();\n FormPageStore.Initializer.initializeStore(this as any);\n }\n}\n\n@Component({\n selector: 'pages-form',\n imports: [\n RouterOutletFrame,\n FormTemplate,\n ],\n template: `\n <frames-router-outlet [skip]=\"store.skip()\">\n <templates-form\n [style]=\"store.style()\"\n [actions]=\"store.activatedActions()\"\n [navStartActions]=\"store.navStartActions()\"\n [navEndActions]=\"store.navEndActions()\"\n [title]=\"store.title()\"\n [form]=\"store.form()\"\n [formFlatExcludes]=\"store.formFlatExcludes()\"\n [fieldMap]=\"store.fieldMap()\"\n (action)=\"dispatch($event)\"\n />\n </frames-router-outlet>\n `,\n styleUrl: './form.page.scss',\n hostDirectives: [\n {\n directive: FormPageStore,\n inputs: [\n 'fieldMap',\n 'entityId',\n 'entity',\n 'mode',\n 'navEndActions',\n 'actions',\n 'title',\n 'form',\n 'formFlatExcludes',\n 'outletName',\n ],\n },\n ]\n})\nexport class FormPage extends NgAtomicComponent {\n static readonly ActionId = ActionId;\n protected store = inject(FormPageStore);\n readonly loading = inject(LoadingService);\n readonly snackBar = inject(SnackBarService);\n\n @Effect(FormTemplate.ActionId.BACK)\n @Effect(NavActionId.BACK)\n protected back() {\n this.dispatch({ id: FormPageStore.ActionId.BACK });\n }\n\n @Effect(NavActionId.CLOSE)\n protected close() {\n this.dispatch({ id: FormPageStore.ActionId.CLOSE });\n }\n\n @Effect(FormTemplate.ActionId.FILE_SELECTED)\n protected fileSelected(payload: { scope: string, files: File[] }) {\n this.dispatch({ id: FormPageStore.ActionId.FILE_SELECTED, payload });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAiBA,IAAK,QAQJ;AARD,CAAA,UAAK,QAAQ,EAAA;AACX,IAAA,QAAA,CAAA,MAAA,CAAA,GAAA,yCAAgD;AAChD,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,0CAAkD;AAClD,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,2CAAoD;AACpD,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,2CAAoD;AACpD,IAAA,QAAA,CAAA,QAAA,CAAA,GAAA,2CAAoD;AACpD,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,6CAAwD;AACxD,IAAA,QAAA,CAAA,eAAA,CAAA,GAAA,kDAAkE;AACpE,CAAC,EARI,QAAQ,KAAR,QAAQ,GAAA,EAAA,CAAA,CAAA;MAUA,cAAc,GAAG,IAAI,cAAc,CAAS,iDAAiD;AAEpG,SAAU,mBAAmB,CAAC,IAAY,EAAA;IAC9C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;AACpD;SAEgB,kBAAkB,GAAA;IAChC,OAAO,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAA,GAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC,EAAC,EAAA,CAAI;AAC9F;AAMM,MAAO,aAAiB,SAAQ,mBAAmB,CAAA;aACvC,IAAA,CAAA,QAAQ,GAAG,QAAH,CAAY;AACpB,IAAA,SAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,MAAK;AAC9C,QAAA,MAAM,SAAS,GAAG,eAAe,EAAE;AACnC,QAAA,MAAM,QAAQ,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,WAAW,EAAS,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/F,QAAA,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,QAAQ,EAAE,KAAK,KAAK,GAAG,QAAQ,GAAG,QAAQ,gDAAC;QACvE,OAAO,OAAO;AACZ,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC;AACb,gBAAA,EAAE,EAAE,EAAE;AACN,gBAAA,IAAI,EAAE,EAAE;aACT,CAAoB;AACrB,YAAA,gBAAgB,EAAE,EAAc;YAChC,QAAQ,EAAE,QAAQ,EAAE;YACpB,MAAM,EAAE,MAAM,EAAE;YAChB,IAAI,EAAE,IAAI,EAAE;AACZ,YAAA,eAAe,EAAyB,EAAE;AAC1C,YAAA,aAAa,GAA0B,IAAI,EAAE,KAAK,QAAQ,GAAG,EAAE,GAAG;AAChE,gBAAA;AACE,oBAAA,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;AAClF,iBAAA;aACF,CAAC;AACF,YAAA,KAAK,EAAE,IAAI,EAAE,KAAK,QAAQ,GAAG,CAAA,EAAG,SAAS,EAAE,KAAK,GAAG,CAAA,EAAG,SAAS,EAAE,CAAA,GAAA,CAAK;AACtE,YAAA,QAAQ,EAAE,SAAoC;AAC9C,YAAA,UAAU,EAAE,cAAwB;AACrC,SAAA,CAAC;IACJ,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CA1BhB,CA0BkB;AAC7B,IAAA,SAAA,IAAA,CAAA,MAAM,GAAG,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;AACjC,IAAA,SAAA,IAAA,CAAA,WAAW,GAAG,aAAa,CAAC,EAAE,CAAC,WAAW,CAAC;AAC3C,IAAA,SAAA,IAAA,CAAA,kBAAkB,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC;aACvD,IAAA,CAAA,yBAAyB,GAAG,MAAM,aAAa,CAAC,kBAAkB,CAAC,CAAC,KAAK,KAAI;QAClF,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;AAC3B,gBAAA,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE;YACtB;iBAAO,IAAI,KAAK,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;AAC1C,gBAAA,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE;gBACpB,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACzC;AACF,QAAA,CAAC,CAAC;QAEF,MAAM,CAAC,MAAK;AACV,YAAA,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,QAAQ;gBAAE;AAC/B,YAAA,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE;AACtB,QAAA,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACI,IAAA,SAAA,IAAA,CAAA,iCAAiC,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC3F,QAAA,MAAM,UAAU,GAAG,gBAAgB,EAAS;AAC5C,QAAA,MAAM,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC;QACzD,MAAM,CAAC,MAAK;YACV,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;AAC3D,QAAA,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACI,IAAA,SAAA,IAAA,CAAA,wCAAwC,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAClG,QAAA,MAAM,eAAe,GAAG,4BAA4B,EAAE;QACtD,MAAM,CAAC,MAAK;YACV,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;AAC3D,QAAA,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACH,IAAA,OAAO,iBAAiB,GAAA;QACtB,OAAO,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAK;AACrD,YAAA,OAAO,MAAM,OAAO,CAAC,IAAI,EAAE;AAC7B,QAAA,CAAC,CAAC;IACJ;AACA,IAAA,OAAO,qBAAqB,GAAA;QAC1B,OAAO,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAK;AACzD,YAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC7B,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AACpC,YAAA,MAAM,OAAO,GAAG,aAAa,EAAE;YAC/B,OAAO,CAAC,OAAiB,KAAI;AAC3B,gBAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;AACvB,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;AACxB,iBAAA,CAAC;AACJ,YAAA,CAAC;AACH,QAAA,CAAC,CAAC;IACJ;AAEA,IAAA,OAAO,qBAAqB,GAAA;QAC1B,OAAO;YACL,aAAa,CAAC,qBAAqB,EAAE;YACrC,aAAa,CAAC,iBAAiB,EAAE;SAClC;IACH;AAEA,IAAA,OAAO,cAAc,GAAA;QACnB,OAAO;AACL,YAAA,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE;YAC9B,aAAa,CAAC,yBAAyB,EAAE;YACzC,aAAa,CAAC,iCAAiC,EAAE;YACjD,aAAa,CAAC,qBAAqB,EAAE;SACtC;IACH;AAsCA,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AArCA,QAAA,IAAA,CAAA,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE;AACtC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iDAAC;AACnD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,gDAAC;AACjD,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,gBAAgB,CAAC,4DAAC;AAEzE,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAC;AAEzD,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAM,kDAAC;AAC1D,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,iDAAC;AACnD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,SAAS,CAAW,MAAK;AAChD,YAAA,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK;kBACnB,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE;kBACjF,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACzF,CAAC,CAAC,mDAAC;AACM,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAC;AACzD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,gDAAC;AACjD,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,2DAAC;AACvE,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,aAAa,CAAC,yDAAC;QACnE,IAAA,CAAA,MAAM,GAAG,iBAAiB,EAAE;QAC5B,IAAA,CAAA,IAAI,GAAG,eAAe,EAAE;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,sDAAC;AAE7D,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAK;YACpC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,CAClC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAC7B;AACH,QAAA,CAAC,CAAC;AAEO,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAK;YACxC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK;AACnC,gBAAA,GAAG,MAAM;gBACT,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,QAAQ;AACrF,aAAA,CAAC,CAAC;AACL,QAAA,CAAC,4DAAC;AAIA,QAAA,aAAa,CAAC,WAAW,CAAC,eAAe,CAAC,IAAW,CAAC;IACxD;8GAtIW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC5B,iBAAA;;AAkLK,MAAO,QAAS,SAAQ,iBAAiB,CAAA;AAxC/C,IAAA,WAAA,GAAA;;AA0CY,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;AAC9B,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAChC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;AAiB5C,IAAA;aApBiB,IAAA,CAAA,QAAQ,GAAG,QAAH,CAAY;IAO1B,IAAI,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpD;IAGU,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACrD;AAGU,IAAA,YAAY,CAAC,OAAyC,EAAA;AAC9D,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;IACtE;8GApBW,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAjLR,aAAa,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,eAAA,EAAA,eAAA,EAAA,SAAA,EAAA,SAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA+Id;;;;;;;;;;;;;;GAcT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+hCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAjBC,iBAAiB,sFACjB,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;AA4CJ,UAAA,CAAA;AAFT,IAAA,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;AAClC,IAAA,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;;;;AAGxB,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,MAAA,EAAA,IAAA,CAAA;AAGS,UAAA,CAAA;AADT,IAAA,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;;;;AAGzB,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,OAAA,EAAA,IAAA,CAAA;AAGS,UAAA,CAAA;AADT,IAAA,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC;;;;AAG3C,CAAA,EAAA,QAAA,CAAA,SAAA,EAAA,cAAA,EAAA,IAAA,CAAA;2FApBU,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAxCpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,OAAA,EACb;wBACP,iBAAiB;wBACjB,YAAY;qBACb,EAAA,QAAA,EACS;;;;;;;;;;;;;;GAcT,EAAA,cAAA,EAEe;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,aAAa;AACxB,4BAAA,MAAM,EAAE;gCACN,UAAU;gCACV,UAAU;gCACV,QAAQ;gCACR,MAAM;gCACN,eAAe;gCACf,SAAS;gCACT,OAAO;gCACP,MAAM;gCACN,kBAAkB;gCAClB,YAAY;AACb,6BAAA;AACF,yBAAA;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,+hCAAA,CAAA,EAAA;;;ACxNH;;AAEG;;;;"}
@@ -2,10 +2,6 @@ import * as i0 from '@angular/core';
2
2
  import { Injectable } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
 
5
- /**
6
- * グローバルレベルでiframeを管理するサービス
7
- * router-outletの外側でiframeを保持し、状態を維持する
8
- */
9
5
  class GlobalIframeService {
10
6
  constructor(rendererFactory, appRef) {
11
7
  this.appRef = appRef;
@@ -15,22 +11,16 @@ class GlobalIframeService {
15
11
  this.renderer = rendererFactory.createRenderer(null, null);
16
12
  this.initializeGlobalContainer();
17
13
  }
18
- /**
19
- * グローバルコンテナを初期化(document.bodyに直接追加)
20
- */
21
14
  initializeGlobalContainer() {
22
15
  if (typeof document === 'undefined')
23
16
  return;
24
- // 即座にコンテナを作成
25
17
  this.createGlobalContainer();
26
18
  }
27
19
  createGlobalContainer() {
28
- // 既存のコンテナを探す
29
20
  const existingContainer = document.querySelector('[data-global-iframe-container="true"]');
30
21
  if (existingContainer) {
31
22
  this.globalContainer = existingContainer;
32
23
  console.debug('[GlobalIframeService] Reusing existing global container');
33
- // 既存のiframeを復元
34
24
  const existingIframes = existingContainer.querySelectorAll('[data-global-iframe-key]');
35
25
  existingIframes.forEach((wrapperEl) => {
36
26
  const wrapper = wrapperEl;
@@ -50,7 +40,6 @@ class GlobalIframeService {
50
40
  });
51
41
  return;
52
42
  }
53
- // 新しいコンテナを作成
54
43
  this.globalContainer = this.renderer.createElement('div');
55
44
  this.renderer.setAttribute(this.globalContainer, 'data-global-iframe-container', 'true');
56
45
  this.renderer.setStyle(this.globalContainer, 'position', 'fixed');
@@ -59,19 +48,14 @@ class GlobalIframeService {
59
48
  this.renderer.setStyle(this.globalContainer, 'width', '100%');
60
49
  this.renderer.setStyle(this.globalContainer, 'height', '100%');
61
50
  this.renderer.setStyle(this.globalContainer, 'pointer-events', 'none');
62
- this.renderer.setStyle(this.globalContainer, 'z-index', '999'); // router-outletより上に配置
51
+ this.renderer.setStyle(this.globalContainer, 'z-index', '999');
63
52
  this.renderer.appendChild(document.body, this.globalContainer);
64
53
  console.debug('[GlobalIframeService] Global container created');
65
54
  }
66
- /**
67
- * iframeを作成または取得
68
- */
69
55
  getOrCreateIframe(key, url) {
70
- // キャッシュをチェック
71
56
  const existing = this.iframes.get(key);
72
57
  if (existing) {
73
58
  console.debug(`[GlobalIframeService] Returning existing iframe for key: ${key}`);
74
- // URLが変更されている場合のみ更新
75
59
  if (existing.url !== url && url) {
76
60
  console.debug(`[GlobalIframeService] URL changed from ${existing.url} to ${url}`);
77
61
  existing.element.src = url;
@@ -79,11 +63,9 @@ class GlobalIframeService {
79
63
  }
80
64
  return existing.element;
81
65
  }
82
- // コンテナが存在しない場合は作成
83
66
  if (!this.globalContainer) {
84
67
  this.createGlobalContainer();
85
68
  }
86
- // 新しいiframeを作成
87
69
  console.debug(`[GlobalIframeService] Creating new iframe for key: ${key}`);
88
70
  const wrapper = this.renderer.createElement('div');
89
71
  this.renderer.setAttribute(wrapper, 'data-global-iframe-key', key);
@@ -92,7 +74,7 @@ class GlobalIframeService {
92
74
  this.renderer.setStyle(wrapper, 'left', '0');
93
75
  this.renderer.setStyle(wrapper, 'width', '100%');
94
76
  this.renderer.setStyle(wrapper, 'height', '100%');
95
- this.renderer.setStyle(wrapper, 'display', 'none'); // 初期状態は非表示
77
+ this.renderer.setStyle(wrapper, 'display', 'none');
96
78
  this.renderer.setStyle(wrapper, 'pointer-events', 'auto');
97
79
  const iframe = this.renderer.createElement('iframe');
98
80
  this.renderer.setAttribute(iframe, 'src', url);
@@ -100,7 +82,6 @@ class GlobalIframeService {
100
82
  this.renderer.setAttribute(iframe, 'height', '100%');
101
83
  this.renderer.setAttribute(iframe, 'frameborder', '0');
102
84
  this.renderer.setAttribute(iframe, 'allow', 'accelerometer; autoplay; clipboard-write; clipboard-read; encrypted-media; gyroscope; picture-in-picture; fullscreen; camera; microphone; geolocation; midi; payment; usb; web-share; display-capture');
103
- // Coderのような複雑なアプリケーションのために、sandbox属性を削除またはより緩い設定にする
104
85
  this.renderer.setAttribute(iframe, 'sandbox', 'allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox allow-modals allow-storage-access-by-user-activation allow-downloads allow-pointer-lock allow-presentation allow-top-navigation allow-top-navigation-by-user-activation');
105
86
  this.renderer.appendChild(wrapper, iframe);
106
87
  if (this.globalContainer) {
@@ -116,16 +97,10 @@ class GlobalIframeService {
116
97
  this.iframes.set(key, state);
117
98
  return iframe;
118
99
  }
119
- /**
120
- * 指定されたiframeを表示し、他のiframeを非表示にする
121
- */
122
100
  showIframe(key, targetRect) {
123
- // 全てのiframeを非表示
124
101
  this.iframes.forEach((state, iframeKey) => {
125
102
  if (iframeKey === key) {
126
- // 対象のiframeを表示
127
103
  this.renderer.setStyle(state.wrapper, 'display', 'block');
128
- // targetRectが指定されている場合は位置を調整
129
104
  if (targetRect) {
130
105
  this.renderer.setStyle(state.wrapper, 'position', 'fixed');
131
106
  this.renderer.setStyle(state.wrapper, 'top', `${targetRect.top}px`);
@@ -137,16 +112,12 @@ class GlobalIframeService {
137
112
  console.debug(`[GlobalIframeService] Showing iframe for key: ${key}`);
138
113
  }
139
114
  else {
140
- // 他のiframeを非表示
141
115
  this.renderer.setStyle(state.wrapper, 'display', 'none');
142
116
  state.visible = false;
143
117
  }
144
118
  });
145
119
  this.activeIframe$.next(key);
146
120
  }
147
- /**
148
- * 指定されたiframeを非表示にする
149
- */
150
121
  hideIframe(key) {
151
122
  const state = this.iframes.get(key);
152
123
  if (state) {
@@ -158,9 +129,6 @@ class GlobalIframeService {
158
129
  }
159
130
  }
160
131
  }
161
- /**
162
- * 全てのiframeを非表示にする
163
- */
164
132
  hideAll() {
165
133
  this.iframes.forEach((state) => {
166
134
  this.renderer.setStyle(state.wrapper, 'display', 'none');
@@ -169,21 +137,12 @@ class GlobalIframeService {
169
137
  this.activeIframe$.next(null);
170
138
  console.debug('[GlobalIframeService] All iframes hidden');
171
139
  }
172
- /**
173
- * 現在アクティブなiframeのキーを取得
174
- */
175
140
  getActiveIframe() {
176
141
  return this.activeIframe$.asObservable();
177
142
  }
178
- /**
179
- * 指定されたキーのiframeが存在するか確認
180
- */
181
143
  has(key) {
182
144
  return this.iframes.has(key);
183
145
  }
184
- /**
185
- * 指定されたキーのiframeを削除
186
- */
187
146
  remove(key) {
188
147
  const state = this.iframes.get(key);
189
148
  if (state && state.wrapper.parentNode) {
@@ -192,14 +151,10 @@ class GlobalIframeService {
192
151
  this.iframes.delete(key);
193
152
  console.debug(`[GlobalIframeService] Removed iframe with key: ${key}`);
194
153
  }
195
- /**
196
- * 指定されたキーのiframeをリロード
197
- */
198
154
  reload(key) {
199
155
  const state = this.iframes.get(key);
200
156
  if (state) {
201
157
  console.debug(`[GlobalIframeService] Reloading iframe for key: ${key}`);
202
- // srcを一時的に空にしてから再設定することでリロードを強制
203
158
  const currentSrc = state.element.src;
204
159
  state.element.src = '';
205
160
  setTimeout(() => {
@@ -207,22 +162,7 @@ class GlobalIframeService {
207
162
  }, 0);
208
163
  }
209
164
  }
210
- /**
211
- * 古いiframeをクリーンアップ
212
- */
213
165
  cleanup(maxAge = 30 * 60 * 1000) {
214
- // const now = Date.now();
215
- // const keysToRemove: string[] = [];
216
- // this.iframes.forEach((state, key) => {
217
- // // 現在表示中のiframeは削除しない
218
- // if (!state.visible) {
219
- // keysToRemove.push(key);
220
- // }
221
- // });
222
- // keysToRemove.forEach(key => this.remove(key));
223
- // if (keysToRemove.length > 0) {
224
- // console.debug(`[GlobalIframeService] Cleaned up ${keysToRemove.length} old iframes`);
225
- // }
226
166
  }
227
167
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GlobalIframeService, deps: [{ token: i0.RendererFactory2 }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
228
168
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GlobalIframeService, providedIn: 'root' }); }