@ng-atomic/components 19.26.0 → 19.28.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.
- package/fesm2022/ng-atomic-components-atoms-icon.mjs +2 -2
- package/fesm2022/ng-atomic-components-atoms-value-cell.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-app.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-auto-layout.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-breadcrumb-navbar.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-card.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-divider.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-drawer.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-entrance.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-fab.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-horizontal-divider.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-line-up.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-loading.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-router-outlet.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-scroll.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-side-nav.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-smart-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-frames-vertical-hide.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-date-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-date-range-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-grid-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-loading-box.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-navigation-list-item.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-select-input-field.mjs +2 -2
- package/fesm2022/ng-atomic-components-molecules-thread-message.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-action-buttons-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-action-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-breadcrumb-navbar.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-card-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-cvc-and-exp-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-date-range-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-definition-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-file-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-grid-cards-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-heading.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-footer.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-menu-header.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigation-list.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-navigator.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-number-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-paginator.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-password-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-select-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-slider-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-social-login-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-table.mjs +2 -15
- package/fesm2022/ng-atomic-components-organisms-table.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-organisms-text-input-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-textarea-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-organisms-thread-messages-section.mjs +2 -2
- package/fesm2022/ng-atomic-components-pages-_index.mjs +6 -8
- package/fesm2022/ng-atomic-components-pages-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-components-pages-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-pages-form.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-_index.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-background.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-code-editor.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-columns.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-entrance.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-form.mjs +4 -4
- package/fesm2022/ng-atomic-components-templates-icon-button-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-menu.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-selection.mjs +2 -2
- package/fesm2022/ng-atomic-components-templates-settings.mjs +2 -2
- package/package.json +3 -3
- package/types/ng-atomic-components-organisms-table.d.ts +0 -1
- package/types/ng-atomic-components-organisms-table.d.ts.map +1 -1
- package/types/ng-atomic-components-pages-_index.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-components-organisms-table.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/organisms/table/table.helpers.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/table.organism.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/index.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/ng-atomic-components-organisms-table.ts"],"sourcesContent":["import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { get, isEqual } from 'lodash-es';\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { combineLatest, debounceTime, distinctUntilChanged, filter, map, Observable, startWith, switchMap, tap } from 'rxjs';\nimport { CdkVirtualScrollViewport, FixedSizeVirtualScrollStrategy } from '@angular/cdk/scrolling';\nimport { signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { SpreadSheetService } from '@ng-atomic/common/services/spreadsheet';\nimport { consumerPollProducersForChange } from '@angular/core/primitives/signals';\n\nconst ITEM_SIZE = 52;\nconst PRE = 10;\nconst Z = 2;\n\nexport class CustomDataSource<T> extends DataSource<T> {\n readonly collectionViewer = signal<CollectionViewer>(null);\n readonly collectionViewer$ = toObservable(this.collectionViewer);\n readonly itemSize = signal(ITEM_SIZE);\n readonly itemSize$ = toObservable(this.itemSize);\n readonly dataSource = signal<DataSource<T>>(null);\n readonly dataSource$ = toObservable(this.dataSource);\n readonly viewport = signal<CdkVirtualScrollViewport>(null);\n readonly viewport$ = toObservable(this.viewport);\n readonly placeholderHeight = signal(0);\n\n readonly columnNames = signal<string[]>([]);\n readonly columnNames$ = toObservable(this.columnNames);\n\n readonly data$ = combineLatest({\n viewer: this.collectionViewer$,\n dataSource: this.dataSource$,\n }).pipe(\n filter(({ viewer, dataSource }) => !!viewer && !!dataSource),\n switchMap(({ viewer, dataSource }) => dataSource.connect(viewer)),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n map((items) => items.map((item, i) => ({...item, $index: i}))),\n );\n readonly totalContentSize$ = combineLatest({\n data: this.data$,\n itemSize: this.itemSize$,\n }).pipe(\n map(({ data, itemSize }) => {\n // データ長に基づく高さを計算\n return itemSize * data.length;\n }),\n distinctUntilChanged(),\n );\n \n readonly scrollTop$ = this.viewport$.pipe(\n filter((viewport) => !!viewport),\n switchMap((viewport) => viewport.elementScrolled() as never as Observable<{ currentTarget: HTMLElement }>),\n map(({ currentTarget }) => currentTarget?.scrollTop ?? 0),\n startWith(0),\n );\n readonly viewportHeight$ = combineLatest({\n viewport: this.viewport$,\n data: this.scrollTop$,\n }).pipe(\n filter(({viewport}) => !!viewport),\n map(({viewport}) => viewport.getViewportSize()),\n distinctUntilChanged(),\n );\n readonly rows$ = combineLatest({\n viewportHeight: this.viewportHeight$,\n itemSize: this.itemSize$,\n }).pipe(\n map(({viewportHeight, itemSize}) => Math.ceil(viewportHeight / itemSize)),\n distinctUntilChanged(),\n );\n readonly pageSize$ = this.rows$.pipe(\n map((rows) => rows * Z + PRE),\n distinctUntilChanged(),\n );\n\n readonly start$ = combineLatest({\n scrollTop: this.scrollTop$,\n rowHeight: this.itemSize$,\n rows: this.rows$,\n }).pipe(\n map(({ scrollTop, rowHeight, rows }) => {\n if (rowHeight * rows === 0) return 0;\n return Math.floor(scrollTop / (rowHeight * rows));\n }),\n distinctUntilChanged()\n );\n\n readonly prevExtraData$ = this.start$.pipe(\n map((start) => Math.min(PRE, start)),\n );\n\n readonly startIndex$ = combineLatest({\n start: this.start$,\n rows: this.rows$,\n prevExtraData: this.prevExtraData$,\n }).pipe(\n map(({ start, rows, prevExtraData }) => start * rows - prevExtraData),\n distinctUntilChanged(),\n )\n\n readonly endIndex$ = combineLatest({\n startIndex: this.startIndex$,\n pageSize: this.pageSize$,\n }).pipe(\n map(({ startIndex, pageSize }) => startIndex + pageSize),\n distinctUntilChanged(),\n );\n\n readonly visibleData$ = combineLatest({\n data: this.data$,\n columnNames: this.columnNames$,\n viewport: this.viewport$,\n itemSize: this.itemSize$,\n startIndex: this.startIndex$,\n endIndex: this.endIndex$,\n }).pipe(\n filter(({data}) => !!data),\n map(({ data, columnNames, viewport, itemSize, startIndex, endIndex}) => {\n this.ss.clipboard.setData(data, columnNames);\n const offset = itemSize * startIndex;\n if (viewport) viewport.setRenderedContentOffset(offset);\n this.placeholderHeight.set(offset);\n return data.slice(startIndex, endIndex);\n }),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n );\n\n reconnect(datasource: DataSource<T>): void {\n this.dataSource.set(datasource);\n }\n\n constructor(protected ss: SpreadSheetService) {\n super();\n\n combineLatest({\n viewport: this.viewport$,\n totalContentSize: this.totalContentSize$,\n }).pipe(\n filter(({ viewport }) => !!viewport),\n ).subscribe(({ viewport, totalContentSize }) => {\n viewport.setTotalContentSize(totalContentSize);\n });\n }\n\n connect(collectionViewer: CollectionViewer): Observable<T[] | ReadonlyArray<T>> {\n this.collectionViewer.set(collectionViewer);\n return this.visibleData$.pipe(\n distinctUntilChanged((a, b) => isEqual(a, b)),\n );\n }\n\n disconnect(): void {}\n}\n\nexport class CustomVirtualScrollStrategy extends FixedSizeVirtualScrollStrategy {\n constructor() {\n // itemSize: 52px, minBufferPx: 520px (10 rows), maxBufferPx: 1040px (20 rows)\n // バッファを大きくして、スクロール時のちらつきを減らす\n super(ITEM_SIZE, ITEM_SIZE * 10, ITEM_SIZE * 20);\n }\n}\n\nexport function buildMatTreeFlattener<T=any>(getChildren: (node: T) => T[] = (node: T) => get(node, 'children') ?? []) {\n return new MatTreeFlattener(\n (node: any, level: number) => {\n node.level = level;\n node.isExpandable = !!getChildren(node).length;\n return node;\n // return ({\n // ...node,\n // level,\n // isExpandable: !!getChildren(node).length\n // })\n },\n (node) => node.level,\n (node) => node.isExpandable,\n (node) => getChildren(node),\n );\n}\n\nexport function buildTreeFlatDataSource<T = any>(\n treeControl: FlatTreeControl<T>,\n data: T[],\n getChildren: (node: T) => T[] = (node: T) => get(node, 'children') ?? [],\n ) {\n const treeFlattener = buildMatTreeFlattener(getChildren);\n return new MatTreeFlatDataSource(treeControl, treeFlattener, data);\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, computed, effect, inject, input, viewChild, OnDestroy } from '@angular/core';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DomainPipe } from '@ng-atomic/common/pipes/domain';\nimport { ActionsColumnMolecule } from '@ng-atomic/components/molecules/actions-column';\nimport { CheckboxColumnMolecule } from '@ng-atomic/components/molecules/checkbox-column';\nimport { TextColumnMolecule } from '@ng-atomic/components/molecules/text-column';\nimport { _computed, Actions, Effect, InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { TreeColumnMolecule } from '@ng-atomic/components/molecules/tree-column';\nimport { computedRawValue } from '@ng-atomic/common/utils';\nimport { NgClass } from '@angular/common';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { CdkDragDrop, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';\nimport { makeConfig } from '@ng-atomic/common/services/ui';\nimport { IndexTemplateFormBuilder } from '@ng-atomic/common/services/form/_index';\nimport { buildTreeFlatDataSource } from './table.helpers';\nimport { Subscription } from 'rxjs';\nimport { injectDataAccessor } from '@ng-atomic/common/pipes/data-accessor';\nimport { CdkVirtualScrollViewport, ScrollingModule, VIRTUAL_SCROLL_STRATEGY } from '@angular/cdk/scrolling';\nimport { isEqual } from 'lodash-es';\nimport { GridDataTableAutofill, provideSpreadSheetService, SpreadSheetService } from '@ng-atomic/common/services/spreadsheet';\nimport { StylePipe } from '@ng-atomic/common/pipes/style';\nimport { Column } from '@ng-atomic/common/models';\nimport { NgAtomicColumnMoleculeStore } from '@ng-atomic/common/directives/molecules/column';\nimport { map, startWith } from 'rxjs';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { CustomDataSource, CustomVirtualScrollStrategy } from './table.helpers';\n\nenum ActionId {\n CHECKBOX_CLICK = '[@ng-atomic/components/organisms/checkbox-column] Checkbox Click',\n HEADER_CHECKBOX_CLICK = '[@ng-atomic/components/organisms/checkbox-column] Header Checkbox Click',\n HEADER_CLICK = '[@ng-atomic/components/organisms/table] Header Click',\n ROW_DROP = '[@ng-atomic/components/organisms/table] Row Drop',\n COLUMN_WIDTH_CHANGE = '[@ng-atomic/components/organisms/table] Column Width Change',\n AUTOFILL_COMPLETE = '[@ng-atomic/components/organisms/table] Autofill Complete', // ディレクティブから発行される\n}\n\nfunction __buildColumns(data: {\n columns?: {\n map?: any,\n ids?: string[],\n },\n}, itemActions: Actions, sort: any) {\n let _stickyLeft = 0;\n const columns = (data?.columns?.ids ?? [])\n .map(id => ({ ...data?.columns?.map[id], name: id }) as Column)\n .filter(column => column.visible)\n .map((column) => {\n const stickyLeft = _stickyLeft;\n _stickyLeft += column.width;\n if (column.name.startsWith('__tree_')) {\n return {\n ...column,\n type: 'tree',\n sort: sort.key === column.name ? sort.order : 'none',\n stickyLeft,\n };\n } else if (column.name.startsWith('checkbox')) {\n return {\n ...column,\n type: 'checkbox',\n stickyLeft,\n };\n } else if (column.type === 'actions') {\n return {\n ...column,\n actions: column.actions ?? itemActions,\n type: 'actions',\n sort: sort.key === column.name ? sort.order : 'none',\n stickyLeft,\n }\n } else {\n return {\n ...column,\n sort: sort.key === column.name ? sort.order : 'none',\n stickyLeft,\n };\n }\n\n });\n return columns;\n}\n\n@TokenizedType()\n@Directive({\n standalone: true,\n selector: 'organisms-table',\n providers: [DomainPipe],\n})\nexport class TableOrganismStore<C, T> extends InjectableComponent<C> {\n static readonly ActionId = ActionId;\n static readonly Config = makeConfig(() => {\n return () => ({\n draggable: true,\n isHidden: (item: any) => false,\n });\n }, ['components', 'organisms', 'table']);\n\n readonly config = TableOrganismStore.Config.inject();\n readonly draggable = input(_computed(() => this.config().draggable));\n readonly dataAccessor = injectDataAccessor();\n readonly getChildren = computed(() => {\n return (node: T) => this.dataAccessor(node, this.childrenKey() ?? 'children');\n });\n readonly form = input(inject(IndexTemplateFormBuilder).build());\n readonly columnFormFieldMap = input({});\n readonly itemActions = input<Actions>([]);\n readonly selection = input(new SelectionModel<string>(true, []));\n readonly highlight = input(new SelectionModel<string>(true, []));\n readonly childrenKey = input<string>(null);\n readonly items = input<T[]>([]);\n readonly treeControl = input(new FlatTreeControl<any>(n => n.level, n => n.isExpandable, { trackBy: (n: any) => n?.id ?? n }));\n readonly dataSource = computed(() => {\n const items = this.items();\n const childrenKey = this.childrenKey();\n const getChildren = this.getChildren();\n const control = this.treeControl();\n if (childrenKey) {\n return buildTreeFlatDataSource(control, items, getChildren);\n }\n return new MatTableDataSource<T>(items);\n });\n readonly isHidden = input(_computed(() => this.config().isHidden));\n readonly getRowClass = input<(item: any) => string>(_computed(() => () => ''));\n readonly formValue = computedRawValue(() => this.form());\n readonly sort = computed(() => this.formValue()?.sort ?? { key: '', order: 'asc' }, {\n equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),\n });\n readonly columns = computed(() => __buildColumns(\n this.formValue(),\n this.itemActions(),\n this.sort(),\n ), { equal: isEqual });\n readonly columnNames = computed(() => this.columns().map(column => column.name), { equal: isEqual });\n\n // MEMO(NozomuMiyamoto): treeControlのdataNodesの変更検知がTreeColumnMoleculeからはできないため、TableOrganismStoreで更新を検知している。\n readonly isExpandedAll = derivedAsync(() => {\n this.dataSource();\n const control = this.treeControl();\n return control.expansionModel.changed.pipe(\n startWith(null),\n map(() => (control.dataNodes ?? []).every(node => control.isExpanded(node))),\n );\n });\n}\n\n@Component({\n selector: 'organisms-table',\n imports: [\n NgClass,\n MatTableModule,\n MatCheckboxModule,\n MatMenuModule,\n MatButtonModule,\n MatIconModule,\n ActionsColumnMolecule,\n CheckboxColumnMolecule,\n TextColumnMolecule,\n TreeColumnMolecule,\n CdkDropList,\n CdkDrag,\n ScrollingModule,\n CdkVirtualScrollViewport,\n StylePipe,\n GridDataTableAutofill\n ],\n template: `\n @let component = '@ng-atomic/components/organisms/table';\n <cdk-virtual-scroll-viewport>\n <table\n mat-table\n matSort\n matSortDisableClear\n matSortDirection=\"desc\"\n [dataSource]=\"dataSource\"\n cdkDropList\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListDisabled]=\"!store.draggable()\"\n [multiTemplateDataRows]=\"true\"\n gridDataTableAutofill\n (autofillComplete)=\"onAutofillComplete($event)\"\n >\n <tbody>\n @for (column of store.columns(); track column.name; let index = $index) {\n @switch (column.type) {\n @case ('checkbox') {\n <molecules-checkbox-column\n [index]=\"index\"\n [column]=\"column\"\n [selection]=\"store.selection()\"\n [isHidden]=\"store.isHidden()\"\n (action)=\"dispatch($event)\"\n />\n }\n @case ('actions') {\n <molecules-actions-column\n [index]=\"index\"\n [column]=\"column\"\n [itemActions]=\"column.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n @case('tree') {\n <molecules-tree-column\n [index]=\"index\"\n [column]=\"column\"\n [treeControl]=\"store.treeControl()\"\n [isExpandedAll]=\"store.isExpandedAll()\"\n [formFieldMap]=\"store.columnFormFieldMap()\"\n (headerClick)=\"onHeaderClick(column.name)\"\n (action)=\"dispatch($event)\"\n />\n }\n @default {\n <molecules-text-column\n [index]=\"index\"\n [formFieldMap]=\"store.columnFormFieldMap()\"\n [column]=\"column\"\n (headerClick)=\"onHeaderClick(column.name)\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n }\n <tr\n *matHeaderRowDef=\"store.columnNames(); sticky: true\"\n mat-header-row\n [style]=\"null | style:{ component, selector: 'header-row' }\"\n ></tr>\n <tr\n [style.height.px]=\"dataSource.placeholderHeight()\"\n mat-row\n *matRowDef=\"let item; let index = index; columns: [];\n when: placeholderWhen\"\n ></tr>\n <tr\n *matRowDef=\"let item; let index = index; columns: store.columnNames();\"\n mat-row\n [ngClass]=\"store.getRowClass()(item)\"\n [style]=\"null | style:{ item, index, component, selector: 'row' }\"\n [cdkDrag]\n [cdkDragDisabled]=\"!store.draggable()\"\n ></tr>\n <div class=\"mat-row\" *matNoDataRow>No Data</div>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n `,\n styleUrls: ['./table.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TableOrganismStore,\n inputs: [\n 'columnFormFieldMap',\n 'draggable',\n 'form',\n 'itemActions',\n 'selection',\n 'items',\n 'childrenKey',\n 'highlight',\n 'treeControl',\n 'isHidden',\n 'getRowClass',\n ],\n },\n ],\n host: {\n class: 'organism',\n 'tabindex': '0',\n '(keydown)': 'ss.handleKeyDown($event)',\n },\n providers: [\n provideSpreadSheetService(),\n { provide: VIRTUAL_SCROLL_STRATEGY, useClass: CustomVirtualScrollStrategy },\n ]\n})\nexport class TableOrganism<Item extends object> extends NgAtomicComponent implements OnDestroy {\n static readonly ActionId = ActionId;\n protected store = inject(TableOrganismStore);\n protected ss = inject(SpreadSheetService);\n readonly trackByFunc = (index: number, item: Item) => item;\n readonly placeholderWhen = (index: number, _: any) => index == 0;\n\n readonly viewport = viewChild(CdkVirtualScrollViewport);\n readonly dataSource = new CustomDataSource(this.ss);\n \n private dataNodesSubscription?: Subscription;\n\n constructor() {\n super();\n effect(() => { this.dataSource.columnNames.set(this.store.columnNames()); });\n effect(() => { \n const dataSource = this.store.dataSource();\n this.dataSource.reconnect(dataSource);\n \n // 既存の購読を解除\n if (this.dataNodesSubscription) {\n this.dataNodesSubscription.unsubscribe();\n this.dataNodesSubscription = undefined;\n }\n \n // TreeFlatDataSourceの場合、dataNodesを更新(expandAll/collapseAll用)\n if (this.store.childrenKey() && dataSource) {\n const flattenedData = (dataSource as any)._flattenedData;\n if (flattenedData) {\n // BehaviorSubjectを購読して、値が変更されたときにdataNodesを更新\n this.dataNodesSubscription = flattenedData.subscribe((nodes: any[]) => {\n if (nodes && nodes.length > 0) {\n this.store.treeControl().dataNodes = nodes;\n }\n });\n }\n }\n });\n }\n \n ngOnDestroy() {\n if (this.dataNodesSubscription) {\n this.dataNodesSubscription.unsubscribe();\n }\n }\n\n ngAfterViewInit() {\n this.updateViewPort();\n }\n\n updateViewPort() {\n this.dataSource.viewport.set(this.viewport());\n this.viewport().checkViewportSize();\n }\n\n readonly cd = inject(ChangeDetectorRef);\n\n @Effect(CheckboxColumnMolecule.ActionId.CHECKBOX_CLICK)\n protected onCheckboxClick(item: Item) {\n this.dispatch({ id: ActionId.CHECKBOX_CLICK, payload: item });\n }\n\n @Effect(CheckboxColumnMolecule.ActionId.HEADER_CHECKBOX_CLICK)\n protected onHeaderCheckboxClick(item: Item) {\n this.dispatch({ id: ActionId.HEADER_CHECKBOX_CLICK });\n }\n\n @Effect(NgAtomicColumnMoleculeStore._ActionId.CHANGE_WIDTH)\n protected onChangeWidth(payload: {name: string, width: number}) {\n this.dispatch({\n id: TableOrganismStore.ActionId.COLUMN_WIDTH_CHANGE,\n payload: { columnName: payload.name, width: payload.width }\n });\n }\n\n protected onHeaderClick(column: string) {\n this.dispatch({ id: ActionId.HEADER_CLICK, payload: column });\n }\n\n protected onDrop(event: CdkDragDrop<any, any>) {\n const control = this.store.treeControl()\n const nodes = control.dataNodes.filter(node => node.level === 0);\n const nodes_ = getDisplayedNodes(nodes, control);\n const draggedNode = nodes_[event.previousIndex];\n const droppedNode = nodes_[event.currentIndex];\n const items = flatItems(this.store.items(), this.store.childrenKey());\n\n this.dispatch({\n id: ActionId.ROW_DROP,\n payload: {\n previousIndex: nodes_.findIndex(node => node === event.item.data),\n currentIndex: event.currentIndex,\n dragged: items.find(item => item.id === draggedNode.id),\n dropped: items.find(item => item.id === droppedNode.id),\n }\n });\n }\n \n // オートフィル完了イベントを受け取る(ディレクティブから)\n protected onAutofillComplete(payload: any): void {\n this.dispatch({ id: ActionId.AUTOFILL_COMPLETE, payload });\n }\n}\n\ninterface TreeNode {\n id: string;\n isExpandable: boolean;\n children?: TreeNode[];\n}\n\nfunction getDisplayedNodes(nodes: TreeNode[], control: FlatTreeControl<any>): TreeNode[] {\n const result: TreeNode[] = [];\n for (const node of nodes) {\n result.push(node);\n if (control.isExpanded(node)) {\n result.push(...getDisplayedNodes(node.children, control));\n }\n }\n return result;\n}\n\nexport function flatItems<T>(items: T[], key = 'children'): T[] {\n const result: T[] = [];\n for (const item of items) {\n result.push(item);\n if (item[key]) {\n result.push(...flatItems<T>(item[key], key));\n }\n }\n return result;\n}\n","/** @deprecated use instead `'@ng-atomic/common/services/form/_index` */\nexport * from '@ng-atomic/common/services/form/_index';\nexport * from './table.helpers';\nexport * from './table.organism';\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-organisms-table.mjs","sources":["../../../../../packages/@ng-atomic/components/src/lib/organisms/table/table.helpers.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/table.organism.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/index.ts","../../../../../packages/@ng-atomic/components/src/lib/organisms/table/ng-atomic-components-organisms-table.ts"],"sourcesContent":["import { MatTreeFlatDataSource, MatTreeFlattener } from '@angular/material/tree';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { get, isEqual } from 'lodash-es';\nimport { CollectionViewer, DataSource } from '@angular/cdk/collections';\nimport { combineLatest, debounceTime, distinctUntilChanged, filter, map, Observable, startWith, switchMap, tap } from 'rxjs';\nimport { CdkVirtualScrollViewport, FixedSizeVirtualScrollStrategy } from '@angular/cdk/scrolling';\nimport { signal } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { SpreadSheetService } from '@ng-atomic/common/services/spreadsheet';\nimport { consumerPollProducersForChange } from '@angular/core/primitives/signals';\n\nconst ITEM_SIZE = 52;\nconst PRE = 10;\nconst Z = 2;\n\nexport class CustomDataSource<T> extends DataSource<T> {\n readonly collectionViewer = signal<CollectionViewer>(null);\n readonly collectionViewer$ = toObservable(this.collectionViewer);\n readonly itemSize = signal(ITEM_SIZE);\n readonly itemSize$ = toObservable(this.itemSize);\n readonly dataSource = signal<DataSource<T>>(null);\n readonly dataSource$ = toObservable(this.dataSource);\n readonly viewport = signal<CdkVirtualScrollViewport>(null);\n readonly viewport$ = toObservable(this.viewport);\n readonly placeholderHeight = signal(0);\n\n readonly columnNames = signal<string[]>([]);\n readonly columnNames$ = toObservable(this.columnNames);\n\n readonly data$ = combineLatest({\n viewer: this.collectionViewer$,\n dataSource: this.dataSource$,\n }).pipe(\n filter(({ viewer, dataSource }) => !!viewer && !!dataSource),\n switchMap(({ viewer, dataSource }) => dataSource.connect(viewer)),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n map((items) => items.map((item, i) => ({...item, $index: i}))),\n );\n readonly totalContentSize$ = combineLatest({\n data: this.data$,\n itemSize: this.itemSize$,\n }).pipe(\n map(({ data, itemSize }) => {\n // データ長に基づく高さを計算\n return itemSize * data.length;\n }),\n distinctUntilChanged(),\n );\n \n readonly scrollTop$ = this.viewport$.pipe(\n filter((viewport) => !!viewport),\n switchMap((viewport) => viewport.elementScrolled() as never as Observable<{ currentTarget: HTMLElement }>),\n map(({ currentTarget }) => currentTarget?.scrollTop ?? 0),\n startWith(0),\n );\n readonly viewportHeight$ = combineLatest({\n viewport: this.viewport$,\n data: this.scrollTop$,\n }).pipe(\n filter(({viewport}) => !!viewport),\n map(({viewport}) => viewport.getViewportSize()),\n distinctUntilChanged(),\n );\n readonly rows$ = combineLatest({\n viewportHeight: this.viewportHeight$,\n itemSize: this.itemSize$,\n }).pipe(\n map(({viewportHeight, itemSize}) => Math.ceil(viewportHeight / itemSize)),\n distinctUntilChanged(),\n );\n readonly pageSize$ = this.rows$.pipe(\n map((rows) => rows * Z + PRE),\n distinctUntilChanged(),\n );\n\n readonly start$ = combineLatest({\n scrollTop: this.scrollTop$,\n rowHeight: this.itemSize$,\n rows: this.rows$,\n }).pipe(\n map(({ scrollTop, rowHeight, rows }) => {\n if (rowHeight * rows === 0) return 0;\n return Math.floor(scrollTop / (rowHeight * rows));\n }),\n distinctUntilChanged()\n );\n\n readonly prevExtraData$ = this.start$.pipe(\n map((start) => Math.min(PRE, start)),\n );\n\n readonly startIndex$ = combineLatest({\n start: this.start$,\n rows: this.rows$,\n prevExtraData: this.prevExtraData$,\n }).pipe(\n map(({ start, rows, prevExtraData }) => start * rows - prevExtraData),\n distinctUntilChanged(),\n )\n\n readonly endIndex$ = combineLatest({\n startIndex: this.startIndex$,\n pageSize: this.pageSize$,\n }).pipe(\n map(({ startIndex, pageSize }) => startIndex + pageSize),\n distinctUntilChanged(),\n );\n\n readonly visibleData$ = combineLatest({\n data: this.data$,\n columnNames: this.columnNames$,\n viewport: this.viewport$,\n itemSize: this.itemSize$,\n startIndex: this.startIndex$,\n endIndex: this.endIndex$,\n }).pipe(\n filter(({data}) => !!data),\n map(({ data, columnNames, viewport, itemSize, startIndex, endIndex}) => {\n this.ss.clipboard.setData(data, columnNames);\n const offset = itemSize * startIndex;\n if (viewport) viewport.setRenderedContentOffset(offset);\n this.placeholderHeight.set(offset);\n return data.slice(startIndex, endIndex);\n }),\n distinctUntilChanged((a, b) => isEqual(a, b)),\n );\n\n reconnect(datasource: DataSource<T>): void {\n this.dataSource.set(datasource);\n }\n\n constructor(protected ss: SpreadSheetService) {\n super();\n\n combineLatest({\n viewport: this.viewport$,\n totalContentSize: this.totalContentSize$,\n }).pipe(\n filter(({ viewport }) => !!viewport),\n ).subscribe(({ viewport, totalContentSize }) => {\n viewport.setTotalContentSize(totalContentSize);\n });\n }\n\n connect(collectionViewer: CollectionViewer): Observable<T[] | ReadonlyArray<T>> {\n this.collectionViewer.set(collectionViewer);\n return this.visibleData$.pipe(\n distinctUntilChanged((a, b) => isEqual(a, b)),\n );\n }\n\n disconnect(): void {}\n}\n\nexport class CustomVirtualScrollStrategy extends FixedSizeVirtualScrollStrategy {\n constructor() {\n // itemSize: 52px, minBufferPx: 520px (10 rows), maxBufferPx: 1040px (20 rows)\n // バッファを大きくして、スクロール時のちらつきを減らす\n super(ITEM_SIZE, ITEM_SIZE * 10, ITEM_SIZE * 20);\n }\n}\n\nexport function buildMatTreeFlattener<T=any>(getChildren: (node: T) => T[] = (node: T) => get(node, 'children') ?? []) {\n return new MatTreeFlattener(\n (node: any, level: number) => {\n node.level = level;\n node.isExpandable = !!getChildren(node).length;\n return node;\n // return ({\n // ...node,\n // level,\n // isExpandable: !!getChildren(node).length\n // })\n },\n (node) => node.level,\n (node) => node.isExpandable,\n (node) => getChildren(node),\n );\n}\n\nexport function buildTreeFlatDataSource<T = any>(\n treeControl: FlatTreeControl<T>,\n data: T[],\n getChildren: (node: T) => T[] = (node: T) => get(node, 'children') ?? [],\n ) {\n const treeFlattener = buildMatTreeFlattener(getChildren);\n return new MatTreeFlatDataSource(treeControl, treeFlattener, data);\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, computed, effect, inject, input, viewChild, OnDestroy } from '@angular/core';\nimport { MatTableDataSource, MatTableModule } from '@angular/material/table';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DomainPipe } from '@ng-atomic/common/pipes/domain';\nimport { ActionsColumnMolecule } from '@ng-atomic/components/molecules/actions-column';\nimport { CheckboxColumnMolecule } from '@ng-atomic/components/molecules/checkbox-column';\nimport { TextColumnMolecule } from '@ng-atomic/components/molecules/text-column';\nimport { _computed, Actions, Effect, InjectableComponent, NgAtomicComponent, TokenizedType } from '@ng-atomic/core';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { TreeColumnMolecule } from '@ng-atomic/components/molecules/tree-column';\nimport { computedRawValue } from '@ng-atomic/common/utils';\nimport { NgClass } from '@angular/common';\nimport { FlatTreeControl } from '@angular/cdk/tree';\nimport { CdkDragDrop, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop';\nimport { makeConfig } from '@ng-atomic/common/services/ui';\nimport { IndexTemplateFormBuilder } from '@ng-atomic/common/services/form/_index';\nimport { buildTreeFlatDataSource } from './table.helpers';\nimport { Subscription } from 'rxjs';\nimport { injectDataAccessor } from '@ng-atomic/common/pipes/data-accessor';\nimport { CdkVirtualScrollViewport, ScrollingModule, VIRTUAL_SCROLL_STRATEGY } from '@angular/cdk/scrolling';\nimport { isEqual } from 'lodash-es';\nimport { GridDataTableAutofill, provideSpreadSheetService, SpreadSheetService } from '@ng-atomic/common/services/spreadsheet';\nimport { StylePipe } from '@ng-atomic/common/pipes/style';\nimport { Column } from '@ng-atomic/common/models';\nimport { NgAtomicColumnMoleculeStore } from '@ng-atomic/common/directives/molecules/column';\nimport { map, startWith } from 'rxjs';\nimport { derivedAsync } from 'ngxtension/derived-async';\nimport { CustomDataSource, CustomVirtualScrollStrategy } from './table.helpers';\n\nenum ActionId {\n CHECKBOX_CLICK = '[@ng-atomic/components/organisms/checkbox-column] Checkbox Click',\n HEADER_CHECKBOX_CLICK = '[@ng-atomic/components/organisms/checkbox-column] Header Checkbox Click',\n HEADER_CLICK = '[@ng-atomic/components/organisms/table] Header Click',\n ROW_DROP = '[@ng-atomic/components/organisms/table] Row Drop',\n COLUMN_WIDTH_CHANGE = '[@ng-atomic/components/organisms/table] Column Width Change',\n AUTOFILL_COMPLETE = '[@ng-atomic/components/organisms/table] Autofill Complete', // ディレクティブから発行される\n}\n\nfunction __buildColumns(data: {\n columns?: {\n map?: any,\n ids?: string[],\n },\n}, itemActions: Actions, sort: any) {\n let _stickyLeft = 0;\n const columns = (data?.columns?.ids ?? [])\n .map(id => ({ ...data?.columns?.map[id], name: id }) as Column)\n .filter(column => column.visible)\n .map((column) => {\n const stickyLeft = _stickyLeft;\n _stickyLeft += column.width;\n if (column.name.startsWith('__tree_')) {\n return {\n ...column,\n type: 'tree',\n sort: sort.key === column.name ? sort.order : 'none',\n stickyLeft,\n };\n } else if (column.name.startsWith('checkbox')) {\n return {\n ...column,\n type: 'checkbox',\n stickyLeft,\n };\n } else if (column.type === 'actions') {\n return {\n ...column,\n actions: column.actions ?? itemActions,\n type: 'actions',\n sort: sort.key === column.name ? sort.order : 'none',\n stickyLeft,\n }\n } else {\n return {\n ...column,\n sort: sort.key === column.name ? sort.order : 'none',\n stickyLeft,\n };\n }\n\n });\n return columns;\n}\n\n@TokenizedType()\n@Directive({\n standalone: true,\n selector: 'organisms-table',\n providers: [DomainPipe],\n})\nexport class TableOrganismStore<C, T> extends InjectableComponent<C> {\n static readonly ActionId = ActionId;\n static readonly Config = makeConfig(() => {\n return () => ({\n draggable: true,\n isHidden: (item: any) => false,\n });\n }, ['components', 'organisms', 'table']);\n\n readonly config = TableOrganismStore.Config.inject();\n readonly draggable = input(_computed(() => this.config().draggable));\n readonly dataAccessor = injectDataAccessor();\n readonly getChildren = computed(() => {\n return (node: T) => this.dataAccessor(node, this.childrenKey() ?? 'children');\n });\n readonly form = input(inject(IndexTemplateFormBuilder).build());\n readonly columnFormFieldMap = input({});\n readonly itemActions = input<Actions>([]);\n readonly selection = input(new SelectionModel<string>(true, []));\n readonly highlight = input(new SelectionModel<string>(true, []));\n readonly childrenKey = input<string>(null);\n readonly items = input<T[]>([]);\n readonly treeControl = input(new FlatTreeControl<any>(n => n.level, n => n.isExpandable, { trackBy: (n: any) => n?.id ?? n }));\n readonly dataSource = computed(() => {\n const items = this.items();\n const childrenKey = this.childrenKey();\n const getChildren = this.getChildren();\n const control = this.treeControl();\n if (childrenKey) {\n return buildTreeFlatDataSource(control, items, getChildren);\n }\n return new MatTableDataSource<T>(items);\n });\n readonly isHidden = input(_computed(() => this.config().isHidden));\n readonly getRowClass = input<(item: any) => string>(_computed(() => () => ''));\n readonly formValue = computedRawValue(() => this.form());\n readonly sort = computed(() => this.formValue()?.sort ?? { key: '', order: 'asc' }, {\n equal: (a, b) => JSON.stringify(a) === JSON.stringify(b),\n });\n readonly columns = computed(() => __buildColumns(\n this.formValue(),\n this.itemActions(),\n this.sort(),\n ), { equal: isEqual });\n readonly columnNames = computed(() => this.columns().map(column => column.name), { equal: isEqual });\n\n // MEMO(NozomuMiyamoto): treeControlのdataNodesの変更検知がTreeColumnMoleculeからはできないため、TableOrganismStoreで更新を検知している。\n readonly isExpandedAll = derivedAsync(() => {\n this.dataSource();\n const control = this.treeControl();\n return control.expansionModel.changed.pipe(\n startWith(null),\n map(() => (control.dataNodes ?? []).every(node => control.isExpanded(node))),\n );\n });\n}\n\n@Component({\n selector: 'organisms-table',\n imports: [\n NgClass,\n MatTableModule,\n MatCheckboxModule,\n MatMenuModule,\n MatButtonModule,\n MatIconModule,\n ActionsColumnMolecule,\n CheckboxColumnMolecule,\n TextColumnMolecule,\n TreeColumnMolecule,\n CdkDropList,\n CdkDrag,\n ScrollingModule,\n CdkVirtualScrollViewport,\n StylePipe,\n GridDataTableAutofill\n ],\n template: `\n @let component = '@ng-atomic/components/organisms/table';\n <cdk-virtual-scroll-viewport>\n <table\n mat-table\n matSort\n matSortDisableClear\n matSortDirection=\"desc\"\n [dataSource]=\"dataSource\"\n cdkDropList\n (cdkDropListDropped)=\"onDrop($event)\"\n [cdkDropListDisabled]=\"!store.draggable()\"\n [multiTemplateDataRows]=\"true\"\n gridDataTableAutofill\n (autofillComplete)=\"onAutofillComplete($event)\"\n >\n <tbody>\n @for (column of store.columns(); track column.name; let index = $index) {\n @switch (column.type) {\n @case ('checkbox') {\n <molecules-checkbox-column\n [index]=\"index\"\n [column]=\"column\"\n [selection]=\"store.selection()\"\n [isHidden]=\"store.isHidden()\"\n (action)=\"dispatch($event)\"\n />\n }\n @case ('actions') {\n <molecules-actions-column\n [index]=\"index\"\n [column]=\"column\"\n [itemActions]=\"column.actions\"\n (action)=\"dispatch($event)\"\n />\n }\n @case('tree') {\n <molecules-tree-column\n [index]=\"index\"\n [column]=\"column\"\n [treeControl]=\"store.treeControl()\"\n [isExpandedAll]=\"store.isExpandedAll()\"\n [formFieldMap]=\"store.columnFormFieldMap()\"\n (headerClick)=\"onHeaderClick(column.name)\"\n (action)=\"dispatch($event)\"\n />\n }\n @default {\n <molecules-text-column\n [index]=\"index\"\n [formFieldMap]=\"store.columnFormFieldMap()\"\n [column]=\"column\"\n (headerClick)=\"onHeaderClick(column.name)\"\n (action)=\"dispatch($event)\"\n />\n }\n }\n }\n <tr\n *matHeaderRowDef=\"store.columnNames(); sticky: true\"\n mat-header-row\n [style]=\"null | style:{ component, selector: 'header-row' }\"\n ></tr>\n <tr\n *matRowDef=\"let item; let index = index; columns: store.columnNames();\"\n mat-row\n [ngClass]=\"store.getRowClass()(item)\"\n [style]=\"null | style:{ item, index, component, selector: 'row' }\"\n [cdkDrag]\n [cdkDragDisabled]=\"!store.draggable()\"\n ></tr>\n <div class=\"mat-row\" *matNoDataRow>No Data</div>\n </tbody>\n </table>\n </cdk-virtual-scroll-viewport>\n `,\n styleUrls: ['./table.organism.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: TableOrganismStore,\n inputs: [\n 'columnFormFieldMap',\n 'draggable',\n 'form',\n 'itemActions',\n 'selection',\n 'items',\n 'childrenKey',\n 'highlight',\n 'treeControl',\n 'isHidden',\n 'getRowClass',\n ],\n },\n ],\n host: {\n class: 'organism',\n 'tabindex': '0',\n '(keydown)': 'ss.handleKeyDown($event)',\n },\n providers: [\n provideSpreadSheetService(),\n { provide: VIRTUAL_SCROLL_STRATEGY, useClass: CustomVirtualScrollStrategy },\n ]\n})\nexport class TableOrganism<Item extends object> extends NgAtomicComponent implements OnDestroy {\n static readonly ActionId = ActionId;\n protected store = inject(TableOrganismStore);\n protected ss = inject(SpreadSheetService);\n readonly trackByFunc = (index: number, item: Item) => item;\n\n readonly viewport = viewChild(CdkVirtualScrollViewport);\n readonly dataSource = new CustomDataSource(this.ss);\n \n private dataNodesSubscription?: Subscription;\n\n constructor() {\n super();\n effect(() => { this.dataSource.columnNames.set(this.store.columnNames()); });\n effect(() => { \n const dataSource = this.store.dataSource();\n this.dataSource.reconnect(dataSource);\n \n // 既存の購読を解除\n if (this.dataNodesSubscription) {\n this.dataNodesSubscription.unsubscribe();\n this.dataNodesSubscription = undefined;\n }\n \n // TreeFlatDataSourceの場合、dataNodesを更新(expandAll/collapseAll用)\n if (this.store.childrenKey() && dataSource) {\n const flattenedData = (dataSource as any)._flattenedData;\n if (flattenedData) {\n // BehaviorSubjectを購読して、値が変更されたときにdataNodesを更新\n this.dataNodesSubscription = flattenedData.subscribe((nodes: any[]) => {\n if (nodes && nodes.length > 0) {\n this.store.treeControl().dataNodes = nodes;\n }\n });\n }\n }\n });\n }\n \n ngOnDestroy() {\n if (this.dataNodesSubscription) {\n this.dataNodesSubscription.unsubscribe();\n }\n }\n\n ngAfterViewInit() {\n this.updateViewPort();\n }\n\n updateViewPort() {\n this.dataSource.viewport.set(this.viewport());\n this.viewport().checkViewportSize();\n }\n\n readonly cd = inject(ChangeDetectorRef);\n\n @Effect(CheckboxColumnMolecule.ActionId.CHECKBOX_CLICK)\n protected onCheckboxClick(item: Item) {\n this.dispatch({ id: ActionId.CHECKBOX_CLICK, payload: item });\n }\n\n @Effect(CheckboxColumnMolecule.ActionId.HEADER_CHECKBOX_CLICK)\n protected onHeaderCheckboxClick(item: Item) {\n this.dispatch({ id: ActionId.HEADER_CHECKBOX_CLICK });\n }\n\n @Effect(NgAtomicColumnMoleculeStore._ActionId.CHANGE_WIDTH)\n protected onChangeWidth(payload: {name: string, width: number}) {\n this.dispatch({\n id: TableOrganismStore.ActionId.COLUMN_WIDTH_CHANGE,\n payload: { columnName: payload.name, width: payload.width }\n });\n }\n\n protected onHeaderClick(column: string) {\n this.dispatch({ id: ActionId.HEADER_CLICK, payload: column });\n }\n\n protected onDrop(event: CdkDragDrop<any, any>) {\n const control = this.store.treeControl()\n const nodes = control.dataNodes.filter(node => node.level === 0);\n const nodes_ = getDisplayedNodes(nodes, control);\n const draggedNode = nodes_[event.previousIndex];\n const droppedNode = nodes_[event.currentIndex];\n const items = flatItems(this.store.items(), this.store.childrenKey());\n\n this.dispatch({\n id: ActionId.ROW_DROP,\n payload: {\n previousIndex: nodes_.findIndex(node => node === event.item.data),\n currentIndex: event.currentIndex,\n dragged: items.find(item => item.id === draggedNode.id),\n dropped: items.find(item => item.id === droppedNode.id),\n }\n });\n }\n \n // オートフィル完了イベントを受け取る(ディレクティブから)\n protected onAutofillComplete(payload: any): void {\n this.dispatch({ id: ActionId.AUTOFILL_COMPLETE, payload });\n }\n}\n\ninterface TreeNode {\n id: string;\n isExpandable: boolean;\n children?: TreeNode[];\n}\n\nfunction getDisplayedNodes(nodes: TreeNode[], control: FlatTreeControl<any>): TreeNode[] {\n const result: TreeNode[] = [];\n for (const node of nodes) {\n result.push(node);\n if (control.isExpanded(node)) {\n result.push(...getDisplayedNodes(node.children, control));\n }\n }\n return result;\n}\n\nexport function flatItems<T>(items: T[], key = 'children'): T[] {\n const result: T[] = [];\n for (const item of items) {\n result.push(item);\n if (item[key]) {\n result.push(...flatItems<T>(item[key], key));\n }\n }\n return result;\n}\n","/** @deprecated use instead `'@ng-atomic/common/services/form/_index` */\nexport * from '@ng-atomic/common/services/form/_index';\nexport * from './table.helpers';\nexport * from './table.organism';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ class TextInputSectionOrganism extends NgAtomicComponent {
|
|
|
48
48
|
(action)="dispatch($event)"
|
|
49
49
|
/>
|
|
50
50
|
}
|
|
51
|
-
`, isInline: true, styles: [":host{--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-text-input-section-
|
|
51
|
+
`, isInline: true, styles: [":host{--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-text-input-section-SGWA: var(--horizontal-padding)}:host{display:flex;flex-direction:row;width:100%;padding:0 var(--horizontal-padding-SCOPED-IN-text-input-section-SGWA) 0;box-sizing:border-box}:host:has(atoms-smart-button){padding:0 0 0 var(--horizontal-padding-SCOPED-IN-text-input-section-SGWA)}:host .molecule.input-field,:host mat-form-field{width:100%;flex:1fr}:host atoms-menu-button{flex:auto;margin-top:4px;margin-right:-16px}\n"], dependencies: [{ kind: "directive", type: TextInputFieldMoleculeStore, selector: "molecules-text-input-field", inputs: ["appearance", "type", "name", "label", "control", "placeholder", "hint", "pattern", "autoComplete"] }, { kind: "directive", type: SmartMenuButtonAtomStore, selector: "atoms-menu-button, atoms-smart-menu-button", inputs: ["actions", "type", "action"] }] }); }
|
|
52
52
|
}
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TextInputSectionOrganism, decorators: [{
|
|
54
54
|
type: Component,
|
|
@@ -75,7 +75,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
75
75
|
directive: TextInputSectionOrganismStore,
|
|
76
76
|
inputs: ['label', 'placeholder', 'type', 'hint', 'control', 'autoComplete', 'actions'],
|
|
77
77
|
}
|
|
78
|
-
], host: { 'class': 'organism input section' }, styles: [":host{--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-text-input-section-
|
|
78
|
+
], host: { 'class': 'organism input section' }, styles: [":host{--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-text-input-section-SGWA: var(--horizontal-padding)}:host{display:flex;flex-direction:row;width:100%;padding:0 var(--horizontal-padding-SCOPED-IN-text-input-section-SGWA) 0;box-sizing:border-box}:host:has(atoms-smart-button){padding:0 0 0 var(--horizontal-padding-SCOPED-IN-text-input-section-SGWA)}:host .molecule.input-field,:host mat-form-field{width:100%;flex:1fr}:host atoms-menu-button{flex:auto;margin-top:4px;margin-right:-16px}\n"] }]
|
|
79
79
|
}] });
|
|
80
80
|
|
|
81
81
|
/**
|
|
@@ -54,7 +54,7 @@ class TextareaSectionOrganism extends NgAtomicComponent {
|
|
|
54
54
|
(action)="dispatch($event)"
|
|
55
55
|
/>
|
|
56
56
|
}
|
|
57
|
-
`, isInline: true, styles: [":host{--vertical-padding: 0px;--vertical-padding-SCOPED-IN-textarea-section-
|
|
57
|
+
`, isInline: true, styles: [":host{--vertical-padding: 0px;--vertical-padding-SCOPED-IN-textarea-section-25py: var(--vertical-padding);--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-textarea-section-25py: var(--horizontal-padding)}:host{display:block;position:relative;width:100%;padding:var(--vertical-padding-SCOPED-IN-textarea-section-25py) var(--horizontal-padding-SCOPED-IN-textarea-section-25py);box-sizing:border-box}:host molecules-textarea-field{width:100%}:host atoms-menu-button{position:absolute;bottom:4px;right:4px;background-color:#fff}\n"], dependencies: [{ kind: "component", type: TextareaFieldMolecule, selector: "molecules-textarea-field" }, { kind: "component", type: SmartMenuButtonAtom, selector: "atoms-menu-button, atoms-menu-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
58
58
|
}
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: TextareaSectionOrganism, decorators: [{
|
|
60
60
|
type: Component,
|
|
@@ -85,7 +85,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
85
85
|
}
|
|
86
86
|
], host: {
|
|
87
87
|
'class': 'organism section',
|
|
88
|
-
}, styles: [":host{--vertical-padding: 0px;--vertical-padding-SCOPED-IN-textarea-section-
|
|
88
|
+
}, styles: [":host{--vertical-padding: 0px;--vertical-padding-SCOPED-IN-textarea-section-25py: var(--vertical-padding);--horizontal-padding: 16px;--horizontal-padding-SCOPED-IN-textarea-section-25py: var(--horizontal-padding)}:host{display:block;position:relative;width:100%;padding:var(--vertical-padding-SCOPED-IN-textarea-section-25py) var(--horizontal-padding-SCOPED-IN-textarea-section-25py);box-sizing:border-box}:host molecules-textarea-field{width:100%}:host atoms-menu-button{position:absolute;bottom:4px;right:4px;background-color:#fff}\n"] }]
|
|
89
89
|
}] });
|
|
90
90
|
|
|
91
91
|
/**
|
|
@@ -48,7 +48,7 @@ class ThreadMessagesSectionOrganism extends NgAtomicComponent {
|
|
|
48
48
|
<molecules-thread-message [message]="message" injectable/>
|
|
49
49
|
<mat-divider />
|
|
50
50
|
}
|
|
51
|
-
`, isInline: true, styles: [":host{display:block;--primary-color: inherit;--primary-color-SCOPED-IN-thread-messages-section-
|
|
51
|
+
`, isInline: true, styles: [":host{display:block;--primary-color: inherit;--primary-color-SCOPED-IN-thread-messages-section-E33j: var(--primary-color);--on-primary-color: inherit;--on-primary-color-SCOPED-IN-thread-messages-section-E33j: var(--on-primary-color);--surface-color: inherit;--surface-color-SCOPED-IN-thread-messages-section-E33j: var(--surface-color);--on-surface-color: inherit;--on-surface-color-SCOPED-IN-thread-messages-section-E33j: var(--on-surface-color);--background-color: inherit;--background-color-SCOPED-IN-thread-messages-section-E33j: var(--background-color);--on-background-color: inherit;--on-background-color-SCOPED-IN-thread-messages-section-E33j: var(--on-background-color)}:host{display:flex;flex-direction:column;justify-content:flex-start;color:var(--on-surface-color-SCOPED-IN-thread-messages-section-E33j)}:host mat-divider{width:calc(100% - 16px);box-sizing:border-box;margin:0 8px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: ThreadMessageMoleculeStore, selector: "molecules-thread-message", inputs: ["name", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
52
52
|
}
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ThreadMessagesSectionOrganism, decorators: [{
|
|
54
54
|
type: Component,
|
|
@@ -80,7 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
80
80
|
'messageActions',
|
|
81
81
|
]
|
|
82
82
|
}
|
|
83
|
-
], styles: [":host{display:block;--primary-color: inherit;--primary-color-SCOPED-IN-thread-messages-section-
|
|
83
|
+
], styles: [":host{display:block;--primary-color: inherit;--primary-color-SCOPED-IN-thread-messages-section-E33j: var(--primary-color);--on-primary-color: inherit;--on-primary-color-SCOPED-IN-thread-messages-section-E33j: var(--on-primary-color);--surface-color: inherit;--surface-color-SCOPED-IN-thread-messages-section-E33j: var(--surface-color);--on-surface-color: inherit;--on-surface-color-SCOPED-IN-thread-messages-section-E33j: var(--on-surface-color);--background-color: inherit;--background-color-SCOPED-IN-thread-messages-section-E33j: var(--background-color);--on-background-color: inherit;--on-background-color-SCOPED-IN-thread-messages-section-E33j: var(--on-background-color)}:host{display:flex;flex-direction:column;justify-content:flex-start;color:var(--on-surface-color-SCOPED-IN-thread-messages-section-E33j)}:host mat-divider{width:calc(100% - 16px);box-sizing:border-box;margin:0 8px}\n"] }]
|
|
84
84
|
}] });
|
|
85
85
|
|
|
86
86
|
/**
|
|
@@ -367,12 +367,10 @@ let IndexPageStore = class IndexPageStore extends InjectableComponent {
|
|
|
367
367
|
effect(() => {
|
|
368
368
|
if (hasNext()) {
|
|
369
369
|
setTimeout(() => {
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
});
|
|
375
|
-
}
|
|
370
|
+
applyToInput(store, 'style', {
|
|
371
|
+
...style,
|
|
372
|
+
paddingLeft: 'var(--page-width-lv1)',
|
|
373
|
+
});
|
|
376
374
|
}, 300);
|
|
377
375
|
}
|
|
378
376
|
});
|
|
@@ -531,7 +529,7 @@ class IndexPage extends NgAtomicComponent {
|
|
|
531
529
|
<ng-dashboard dashboard injectable/>
|
|
532
530
|
</templates-index>
|
|
533
531
|
</frames-router-outlet>
|
|
534
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv3-SCOPED-IN-index-
|
|
532
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv3-SCOPED-IN-index-JOSd: var(--page-width-lv3);--primary-color-SCOPED-IN-index-JOSd: var(--primary-color);--on-primary-color-SCOPED-IN-index-JOSd: var(--on-primary-color);--surface-color-SCOPED-IN-index-JOSd: var(--surface-color);--on-surface-color-SCOPED-IN-index-JOSd: var(--on-surface-color);--on-background-color-SCOPED-IN-index-JOSd: var(--on-background-color);--background-color-SCOPED-IN-index-JOSd: var(--background-color);--navigator-background-color-SCOPED-IN-index-JOSd: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-index-JOSd: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-index-JOSd: var(--table-background-color);--table-on-background-color-SCOPED-IN-index-JOSd: var(--table-on-background-color);--first-content-height: 0px;--first-content-height-SCOPED-IN-index-JOSd: var(--first-content-height)}:host .template{width:var(--page-width-lv3-SCOPED-IN-index-JOSd);padding-left:0;box-sizing:border-box;transition:padding-left .3s;--first-content-height: var(--first-content-height-SCOPED-IN-index-JOSd)}:host .template div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host .template div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}:host *{--primary-color: var(--primary-color-SCOPED-IN-index-JOSd);--on-primary-color: var(--on-primary-color-SCOPED-IN-index-JOSd);--surface-color: var(--surface-color-SCOPED-IN-index-JOSd);--on-surface-color: var(--on-surface-color-SCOPED-IN-index-JOSd);--background-color: var(--background-color-SCOPED-IN-index-JOSd);--on-background-color: var(--on-background-color-SCOPED-IN-index-JOSd);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-index-JOSd);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-index-JOSd);--table-background-color: var(--table-background-color-SCOPED-IN-index-JOSd);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-index-JOSd)}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: IndexTemplate, selector: "templates-index" }, { kind: "component", type: NgAtomicFormSectionBuilder, selector: "ng-atomic-form-section-builder", inputs: ["form", "formFlatExcludes", "fieldMap", "fieldKeys"] }, { kind: "directive", type: IndexPageDashboardStore, selector: "ng-dashboard" }] }); }
|
|
535
533
|
}
|
|
536
534
|
__decorate([
|
|
537
535
|
Effect(IndexTemplate.ActionId.BACK),
|
|
@@ -623,7 +621,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
|
|
|
623
621
|
'displayedItems',
|
|
624
622
|
],
|
|
625
623
|
},
|
|
626
|
-
], styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv3-SCOPED-IN-index-
|
|
624
|
+
], styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;display:block;--page-width-lv3-SCOPED-IN-index-JOSd: var(--page-width-lv3);--primary-color-SCOPED-IN-index-JOSd: var(--primary-color);--on-primary-color-SCOPED-IN-index-JOSd: var(--on-primary-color);--surface-color-SCOPED-IN-index-JOSd: var(--surface-color);--on-surface-color-SCOPED-IN-index-JOSd: var(--on-surface-color);--on-background-color-SCOPED-IN-index-JOSd: var(--on-background-color);--background-color-SCOPED-IN-index-JOSd: var(--background-color);--navigator-background-color-SCOPED-IN-index-JOSd: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-index-JOSd: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-index-JOSd: var(--table-background-color);--table-on-background-color-SCOPED-IN-index-JOSd: var(--table-on-background-color);--first-content-height: 0px;--first-content-height-SCOPED-IN-index-JOSd: var(--first-content-height)}:host .template{width:var(--page-width-lv3-SCOPED-IN-index-JOSd);padding-left:0;box-sizing:border-box;transition:padding-left .3s;--first-content-height: var(--first-content-height-SCOPED-IN-index-JOSd)}:host .template div[navDashboard]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:16px;box-sizing:border-box}:host .template div[navDashboard] ng-atomic-form-section-builder{--horizontal-padding: 0}:host *{--primary-color: var(--primary-color-SCOPED-IN-index-JOSd);--on-primary-color: var(--on-primary-color-SCOPED-IN-index-JOSd);--surface-color: var(--surface-color-SCOPED-IN-index-JOSd);--on-surface-color: var(--on-surface-color-SCOPED-IN-index-JOSd);--background-color: var(--background-color-SCOPED-IN-index-JOSd);--on-background-color: var(--on-background-color-SCOPED-IN-index-JOSd);--navigator-background-color: var(--navigator-background-color-SCOPED-IN-index-JOSd);--navigator-on-background-color: var(--navigator-on-background-color-SCOPED-IN-index-JOSd);--table-background-color: var(--table-background-color-SCOPED-IN-index-JOSd);--table-on-background-color: var(--table-on-background-color-SCOPED-IN-index-JOSd)}\n"] }]
|
|
627
625
|
}], propDecorators: { back: [], close: [], itemClick: [], onHeaderCheckboxClick: [], onItemButtonClicked: [], onTableHeaderClick: [], onCheckboxClick: [] } });
|
|
628
626
|
|
|
629
627
|
/**
|
|
@@ -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();\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: <string>null,\n groupKeys: [],\n items: [],\n itemsMap: <ItemsMap<any>>undefined,\n itemActions: (() => []) as Actions,\n itemsMapper: <(items: any[]) => any[]>undefined,\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(() => {\n const Model = injectModel();\n const items = Model ? injectAll(Model) : signal([]);\n return (config) => ({ ...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);\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));\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 if (style.width === 'var(--page-width-lv3)') {\n applyToInput(store, 'style', {\n ...style,\n paddingLeft: 'var(--page-width-lv1)',\n });\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 => 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 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 // 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();\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: <string>null,\n groupKeys: [],\n items: [],\n itemsMap: <ItemsMap<any>>undefined,\n itemActions: (() => []) as Actions,\n itemsMapper: <(items: any[]) => any[]>undefined,\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(() => {\n const Model = injectModel();\n const items = Model ? injectAll(Model) : signal([]);\n return (config) => ({ ...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);\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));\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 => 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 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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"}
|