@ng-atomic/common 19.83.0 → 19.85.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-common-directives-active-control.mjs +0 -1
- package/fesm2022/ng-atomic-common-directives-fallback-src.mjs +0 -1
- package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +0 -1
- package/fesm2022/ng-atomic-common-directives-molecules-column.mjs +0 -1
- package/fesm2022/ng-atomic-common-directives-prevent-browser-zoom.mjs +0 -1
- package/fesm2022/ng-atomic-common-directives-resize-column.mjs +0 -1
- package/fesm2022/ng-atomic-common-interceptors-authorization.mjs +0 -1
- package/fesm2022/ng-atomic-common-interceptors-throttle.mjs +0 -1
- package/fesm2022/ng-atomic-common-interceptors-token.mjs +0 -1
- package/fesm2022/ng-atomic-common-interceptors.mjs +0 -1
- package/fesm2022/ng-atomic-common-models.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-actions.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-columns.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-domain.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-error.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-expression.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-index-length.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-index.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-keys.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-map.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-page.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-pagination.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-query.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-secret.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-select-id.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-signal.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-sort-by.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-sort.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-style.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-yen.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-app.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-auth.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-chips-manager.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-csv.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-editing.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-fab.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-form-_index.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-form-columns.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-form-json-schema.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-form-pagination.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-form-sort.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-form.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-initializer.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-language.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-loading.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-navigation-history.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-query-resolver.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-root-property.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-router.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-secret.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-sheets-actions.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-sheets.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-side-app.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-snack-bar.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-spreadsheet.mjs +0 -1
- package/fesm2022/ng-atomic-common-services-ui.mjs +0 -1
- package/fesm2022/ng-atomic-common-stores-entities.mjs +0 -1
- package/fesm2022/ng-atomic-common-stores-entity.mjs +0 -1
- package/fesm2022/ng-atomic-common-stores-pagination.mjs +0 -1
- package/fesm2022/ng-atomic-common-stores-query.mjs +0 -1
- package/fesm2022/ng-atomic-common-stores-selection.mjs +0 -1
- package/fesm2022/ng-atomic-common-stores-sort.mjs +0 -1
- package/fesm2022/ng-atomic-common-utils.mjs +0 -1
- package/fesm2022/ng-atomic-common.mjs +0 -1
- package/package.json +3 -3
- package/types/ng-atomic-common-directives-active-control.d.ts +0 -1
- package/types/ng-atomic-common-directives-fallback-src.d.ts +0 -1
- package/types/ng-atomic-common-directives-ios-safari-scroll-buggyfill.d.ts +0 -1
- package/types/ng-atomic-common-directives-molecules-column.d.ts +0 -1
- package/types/ng-atomic-common-directives-prevent-browser-zoom.d.ts +0 -1
- package/types/ng-atomic-common-directives-resize-column.d.ts +0 -1
- package/types/ng-atomic-common-interceptors-authorization.d.ts +0 -1
- package/types/ng-atomic-common-interceptors-throttle.d.ts +0 -1
- package/types/ng-atomic-common-interceptors-token.d.ts +0 -1
- package/types/ng-atomic-common-interceptors.d.ts +0 -1
- package/types/ng-atomic-common-models.d.ts +0 -1
- package/types/ng-atomic-common-pipes-actions.d.ts +0 -1
- package/types/ng-atomic-common-pipes-auto-columns.d.ts +0 -1
- package/types/ng-atomic-common-pipes-columns.d.ts +0 -1
- package/types/ng-atomic-common-pipes-data-accessor.d.ts +0 -1
- package/types/ng-atomic-common-pipes-domain.d.ts +0 -1
- package/types/ng-atomic-common-pipes-error.d.ts +0 -1
- package/types/ng-atomic-common-pipes-expression.d.ts +0 -1
- package/types/ng-atomic-common-pipes-grouped-by.d.ts +0 -1
- package/types/ng-atomic-common-pipes-index-length.d.ts +0 -1
- package/types/ng-atomic-common-pipes-index.d.ts +0 -1
- package/types/ng-atomic-common-pipes-keys.d.ts +0 -1
- package/types/ng-atomic-common-pipes-map.d.ts +0 -1
- package/types/ng-atomic-common-pipes-page.d.ts +0 -1
- package/types/ng-atomic-common-pipes-pagination.d.ts +0 -1
- package/types/ng-atomic-common-pipes-query.d.ts +0 -1
- package/types/ng-atomic-common-pipes-resolve-columns.d.ts +0 -1
- package/types/ng-atomic-common-pipes-secret.d.ts +0 -1
- package/types/ng-atomic-common-pipes-select-id.d.ts +0 -1
- package/types/ng-atomic-common-pipes-signal.d.ts +0 -1
- package/types/ng-atomic-common-pipes-smart-field.d.ts +0 -1
- package/types/ng-atomic-common-pipes-sort-by.d.ts +0 -1
- package/types/ng-atomic-common-pipes-sort.d.ts +0 -1
- package/types/ng-atomic-common-pipes-style.d.ts +0 -1
- package/types/ng-atomic-common-pipes-yen.d.ts +0 -1
- package/types/ng-atomic-common-services-app.d.ts +0 -1
- package/types/ng-atomic-common-services-auth.d.ts +0 -1
- package/types/ng-atomic-common-services-breakpoint.d.ts +0 -1
- package/types/ng-atomic-common-services-chips-manager.d.ts +0 -1
- package/types/ng-atomic-common-services-csv.d.ts +0 -1
- package/types/ng-atomic-common-services-editing.d.ts +0 -1
- package/types/ng-atomic-common-services-fab.d.ts +0 -1
- package/types/ng-atomic-common-services-form-_index.d.ts +0 -1
- package/types/ng-atomic-common-services-form-columns.d.ts +0 -1
- package/types/ng-atomic-common-services-form-json-schema.d.ts +0 -1
- package/types/ng-atomic-common-services-form-pagination.d.ts +0 -1
- package/types/ng-atomic-common-services-form-sort.d.ts +0 -1
- package/types/ng-atomic-common-services-form.d.ts +0 -1
- package/types/ng-atomic-common-services-initializer.d.ts +0 -1
- package/types/ng-atomic-common-services-language.d.ts +0 -1
- package/types/ng-atomic-common-services-loading.d.ts +0 -1
- package/types/ng-atomic-common-services-navigation-history.d.ts +0 -1
- package/types/ng-atomic-common-services-query-resolver.d.ts +0 -1
- package/types/ng-atomic-common-services-root-property.d.ts +0 -1
- package/types/ng-atomic-common-services-router.d.ts +0 -1
- package/types/ng-atomic-common-services-secret.d.ts +0 -1
- package/types/ng-atomic-common-services-sheets-actions.d.ts +0 -1
- package/types/ng-atomic-common-services-sheets.d.ts +0 -1
- package/types/ng-atomic-common-services-side-app.d.ts +0 -1
- package/types/ng-atomic-common-services-side-nav-mode.d.ts +0 -1
- package/types/ng-atomic-common-services-snack-bar.d.ts +0 -1
- package/types/ng-atomic-common-services-spreadsheet.d.ts +0 -1
- package/types/ng-atomic-common-services-ui.d.ts +0 -1
- package/types/ng-atomic-common-stores-entities.d.ts +0 -1
- package/types/ng-atomic-common-stores-entity.d.ts +0 -1
- package/types/ng-atomic-common-stores-pagination.d.ts +0 -1
- package/types/ng-atomic-common-stores-query.d.ts +0 -1
- package/types/ng-atomic-common-stores-selection.d.ts +0 -1
- package/types/ng-atomic-common-stores-sort.d.ts +0 -1
- package/types/ng-atomic-common-utils.d.ts +0 -1
- package/types/ng-atomic-common.d.ts +0 -1
- package/fesm2022/ng-atomic-common-directives-active-control.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-directives-fallback-src.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-directives-prevent-browser-zoom.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-directives-resize-column.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-interceptors-throttle.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-interceptors-token.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-interceptors.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-models.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-actions.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-columns.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-domain.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-error.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-expression.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-index-length.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-index.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-keys.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-map.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-page.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-pagination.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-query.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-secret.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-select-id.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-signal.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-smart-field.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-sort-by.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-sort.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-style.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-pipes-yen.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-app.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-auth.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-chips-manager.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-csv.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-editing.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-fab.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-form-_index.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-form-columns.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-form-json-schema.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-form-pagination.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-form-sort.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-form.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-initializer.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-language.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-loading.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-navigation-history.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-query-resolver.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-root-property.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-router.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-secret.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-sheets-actions.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-sheets.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-side-app.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-snack-bar.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-services-ui.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-stores-entities.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-stores-entity.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-stores-pagination.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-stores-query.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-stores-selection.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-stores-sort.mjs.map +0 -1
- package/fesm2022/ng-atomic-common-utils.mjs.map +0 -1
- package/fesm2022/ng-atomic-common.mjs.map +0 -1
- package/types/ng-atomic-common-directives-active-control.d.ts.map +0 -1
- package/types/ng-atomic-common-directives-fallback-src.d.ts.map +0 -1
- package/types/ng-atomic-common-directives-ios-safari-scroll-buggyfill.d.ts.map +0 -1
- package/types/ng-atomic-common-directives-molecules-column.d.ts.map +0 -1
- package/types/ng-atomic-common-directives-prevent-browser-zoom.d.ts.map +0 -1
- package/types/ng-atomic-common-directives-resize-column.d.ts.map +0 -1
- package/types/ng-atomic-common-interceptors-authorization.d.ts.map +0 -1
- package/types/ng-atomic-common-interceptors-throttle.d.ts.map +0 -1
- package/types/ng-atomic-common-interceptors-token.d.ts.map +0 -1
- package/types/ng-atomic-common-interceptors.d.ts.map +0 -1
- package/types/ng-atomic-common-models.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-actions.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-auto-columns.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-columns.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-data-accessor.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-domain.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-error.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-expression.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-grouped-by.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-index-length.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-index.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-keys.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-map.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-page.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-pagination.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-query.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-resolve-columns.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-secret.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-select-id.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-signal.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-smart-field.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-sort-by.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-sort.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-style.d.ts.map +0 -1
- package/types/ng-atomic-common-pipes-yen.d.ts.map +0 -1
- package/types/ng-atomic-common-services-app.d.ts.map +0 -1
- package/types/ng-atomic-common-services-auth.d.ts.map +0 -1
- package/types/ng-atomic-common-services-breakpoint.d.ts.map +0 -1
- package/types/ng-atomic-common-services-chips-manager.d.ts.map +0 -1
- package/types/ng-atomic-common-services-csv.d.ts.map +0 -1
- package/types/ng-atomic-common-services-editing.d.ts.map +0 -1
- package/types/ng-atomic-common-services-fab.d.ts.map +0 -1
- package/types/ng-atomic-common-services-form-_index.d.ts.map +0 -1
- package/types/ng-atomic-common-services-form-columns.d.ts.map +0 -1
- package/types/ng-atomic-common-services-form-json-schema.d.ts.map +0 -1
- package/types/ng-atomic-common-services-form-pagination.d.ts.map +0 -1
- package/types/ng-atomic-common-services-form-sort.d.ts.map +0 -1
- package/types/ng-atomic-common-services-form.d.ts.map +0 -1
- package/types/ng-atomic-common-services-initializer.d.ts.map +0 -1
- package/types/ng-atomic-common-services-language.d.ts.map +0 -1
- package/types/ng-atomic-common-services-loading.d.ts.map +0 -1
- package/types/ng-atomic-common-services-navigation-history.d.ts.map +0 -1
- package/types/ng-atomic-common-services-query-resolver.d.ts.map +0 -1
- package/types/ng-atomic-common-services-root-property.d.ts.map +0 -1
- package/types/ng-atomic-common-services-router.d.ts.map +0 -1
- package/types/ng-atomic-common-services-secret.d.ts.map +0 -1
- package/types/ng-atomic-common-services-sheets-actions.d.ts.map +0 -1
- package/types/ng-atomic-common-services-sheets.d.ts.map +0 -1
- package/types/ng-atomic-common-services-side-app.d.ts.map +0 -1
- package/types/ng-atomic-common-services-side-nav-mode.d.ts.map +0 -1
- package/types/ng-atomic-common-services-snack-bar.d.ts.map +0 -1
- package/types/ng-atomic-common-services-spreadsheet.d.ts.map +0 -1
- package/types/ng-atomic-common-services-ui.d.ts.map +0 -1
- package/types/ng-atomic-common-stores-entities.d.ts.map +0 -1
- package/types/ng-atomic-common-stores-entity.d.ts.map +0 -1
- package/types/ng-atomic-common-stores-pagination.d.ts.map +0 -1
- package/types/ng-atomic-common-stores-query.d.ts.map +0 -1
- package/types/ng-atomic-common-stores-selection.d.ts.map +0 -1
- package/types/ng-atomic-common-stores-sort.d.ts.map +0 -1
- package/types/ng-atomic-common-utils.d.ts.map +0 -1
- package/types/ng-atomic-common.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-services-spreadsheet.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/features/data.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/features/grid.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/features/navigation.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/features/selection.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/features/clipboard.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/features/protection.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/features/editor.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/features/autofill.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/spreadsheet.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/directives/grid-cell.directive.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/directives/grid-table-autofill.directive.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/directives/grid-cell-autofill.directive.ts","../../../../../packages/@ng-atomic/common/src/lib/services/spreadsheet/ng-atomic-common-services-spreadsheet.ts"],"sourcesContent":["import { Injectable, signal } from \"@angular/core\";\n\n\n@Injectable()\nexport class SpreadSheetDataService {\n readonly displayedColumns = signal<string[]>([]);\n readonly items = signal<any[]>([]);\n}\n","import { computed, inject, Injectable } from '@angular/core';\nimport { CellContext, Position } from '../models/cell.model';\nimport { SpreadSheetDataService } from './data.service';\n\n@Injectable()\nexport class GridService {\n protected readonly contextMap = new Map<string, CellContext>();\n protected readonly data = inject(SpreadSheetDataService);\n\n readonly maxCol = computed(() => this.data.displayedColumns().length - 1);\n readonly maxRow = computed(() => this.data.items().length);\n\n setContext(context: CellContext): void {\n this.contextMap.set(this.buildKey(context.position), context);\n }\n\n getContext(position: Position): CellContext | null {\n return this.contextMap.get(this.buildKey(position)) ?? null;\n }\n\n protected buildKey(position: Position): string {\n return `(${position.row}, ${position.col})`;\n }\n}","import { inject, Injectable } from '@angular/core';\nimport { Position } from '../models/cell.model';\nimport { GridService } from './grid.service';\n\n@Injectable()\nexport class NavigationService {\n private gridService = inject(GridService)\n\n moveToNextCell({row, col}: Position): Position {\n if (col < this.gridService.maxCol()) {\n return { row, col: col + 1 };\n } else if (row < this.gridService.maxRow()) {\n return { row: row + 1, col: 0 };\n }\n return { row, col };\n }\n\n moveToPreviousCell({row, col}: Position): Position {\n if (col > 0) {\n return { row, col: col - 1 };\n } else if (row > 0) {\n return { row: row - 1, col: this.gridService.maxCol() };\n }\n return { row, col };\n }\n\n moveToNextRow({row, col}: Position): Position {\n if (row < this.gridService.maxRow()) {\n return { row: row + 1, col };\n }\n return { row, col };\n }\n\n moveToPreviousRow({row, col}: Position): Position {\n if (row > 0) {\n return { row: row - 1, col };\n }\n return { row, col };\n }\n\n moveRight(position: Position): Position {\n const {row, col} = position;\n if (col < this.gridService.maxCol()) {\n return { row, col: col + 1 };\n }\n return { row, col };\n }\n\n moveLeft({row, col}: Position): Position {\n if (col > 0) {\n return { row, col: col - 1 };\n }\n return { row, col };\n }\n\n moveUp({row, col}: Position): Position {\n if (row > 0) {\n return { row: row - 1, col };\n }\n return { row, col };\n }\n\n moveDown({row, col}: Position): Position {\n if (row < this.gridService.maxRow()) {\n return { row: row + 1, col };\n }\n return { row, col };\n }\n}","import { computed, effect, inject, Injectable, signal } from '@angular/core';\nimport { Selection, Position } from '../models/cell.model';\nimport { GridService } from './grid.service';\nimport { isEqual } from 'lodash-es';\nimport { SpreadSheetDataService } from './data.service';\n\n@Injectable()\nexport class SelectionService {\n protected readonly data = inject(SpreadSheetDataService);\n private readonly selection = signal<Selection>({ start: { row: 1, col: 0}, end: null! });\n private readonly selectionStart = computed(() => this.selection().start, { equal: isEqual });\n private readonly isMouseDown = signal(false);\n private readonly grid = inject(GridService);\n private readonly cellElMap = new Map<string, HTMLTableCellElement>();\n\n constructor() {\n effect(() => {\n const position = this.selectionStart();\n if (position) this.focus(position);\n });\n }\n\n isSelected(position: Position): boolean {\n \n const selection = this.selection();\n if (!selection) return false;\n\n const { start, end } = selection;\n const minRow = Math.min(start.row, end?.row ?? start.row);\n const maxRow = Math.max(start.row, end?.row ?? start.row);\n const minCol = Math.min(start.col, end?.col ?? start.col);\n const maxCol = Math.max(start.col, end?.col ?? start.col);\n const { row, col } = position;\n return row >= minRow && row <= maxRow && col >= minCol && col <= maxCol;\n }\n\n isCursorPosition(position: Position): boolean {\n return isEqual(this.selection().start, position);\n }\n\n handleMouseDown(position: Position, event?: MouseEvent): void {\n this.isMouseDown.set(true);\n if (!event?.shiftKey) {\n this.startSelection(position);\n }\n }\n\n handleMouseUp(): void {\n this.isMouseDown.set(false);\n }\n\n handleMouseEnter(position: Position): void {\n if (this.isMouseDown()) {\n this.updateSelection(position);\n }\n }\n\n handleClick(position: Position, event?: MouseEvent): void {\n if (!this.isMouseDown()) {\n if (event?.shiftKey) {\n this.updateSelectionEnd(position);\n } else {\n this.startSelection(position);\n }\n }\n }\n\n clearSelection(): void {\n this.selection.update((selection) => ({...selection, start: selection.start, end: null!}));\n }\n\n setStartPosition(position: Position): void {\n this.selection.update((selection) => ({...selection, start: position, end: null!}));\n }\n\n getSelection(): Selection | null {\n return this.selection();\n }\n\n getSelectionEndOrStart(): Position {\n return (this.selection()?.end || this.selection()?.start) as Position;\n }\n\n updateSelectionEnd(position: Position): void {\n this.selection.update((selection) => ({...selection, end: position}));\n }\n\n private startSelection(position: Position): void {\n this.selection.set({ start: position, end: null! });\n }\n\n private updateSelection(position: Position): void {\n if (this.selection()) {\n this.selection.update((selection) => ({...selection, end: position}));\n }\n }\n\n clearSelectedRange(selection: { start: { row: number; col: number }; end: { row: number; col: number } | null }): void {\n\n }\n\n setCell(position: Position, el: HTMLTableCellElement): void {\n this.cellElMap.set(`${this.buildKey(position)}`, el);\n }\n\n getCell(position: Position): HTMLTableCellElement | null {\n return this.cellElMap.get(this.buildKey(position)) ?? null;\n }\n\n focus(position: Position): void {\n setTimeout(() => {\n const el = this.getCell(position);\n if (el && el !== document.activeElement) {\n el.focus();\n }\n });\n }\n\n protected buildKey(position: Position): string {\n return `(${position.row}, ${position.col})`;\n }\n}","import { inject, Injectable } from '@angular/core';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { SnackBarService } from '@ng-atomic/common/services/snack-bar';\nimport { injectDataAccessor } from '@ng-atomic/common/pipes/data-accessor';\nimport { EXPRESSION_TRANSFORMER } from '@ng-atomic/common/utils';\nimport { LanguageService } from '@ng-atomic/common/services/language';\nimport papaparse from 'papaparse';\nimport { Cell } from '../models';\nimport { SelectionService } from './selection.service';\nimport { SpreadSheetDataService } from './data.service';\n\n@Injectable()\nexport class ClipboardService {\n private clipboard = inject(Clipboard);\n private snackBar = inject(SnackBarService);\n protected data = inject(SpreadSheetDataService);\n readonly dataAccessor = injectDataAccessor();\n readonly expression = inject(EXPRESSION_TRANSFORMER);\n readonly language = inject(LanguageService);\n\n constructor(\n private selectionService: SelectionService,\n ) { }\n\n private buildGridData(range: {minRow: number; maxRow: number; minCol: number; maxCol: number}): Cell[][] {\n const header = this.data.displayedColumns().map(column => ({\n dataValue: this.language.transform(column),\n expressionValue: this.language.transform(column),\n isHeader: true\n }));\n const rows = this.data.items().map(item => this.data.displayedColumns().map(column => ({\n dataValue: this.dataAccessor(item, column),\n expressionValue: this.expression(this.dataAccessor(item, column), {item, name: column}),\n })));\n const fullData = [header, ...rows];\n return fullData.slice(range.minRow, range.maxRow + 1).map(row => row.slice(range.minCol, range.maxCol + 1));\n }\n\n async copy(): Promise<void> {\n const selection = this.selectionService.getSelection();\n if (!selection) return;\n let { start, end } = selection;\n end = end ?? start;\n const minRow = Math.min(start.row, end.row);\n const maxRow = Math.max(start.row, end.row);\n const minCol = Math.min(start.col, end.col);\n const maxCol = Math.max(start.col, end.col);\n const selectedData = this.buildGridData({minRow, maxRow, minCol, maxCol});\n const tsv = papaparse.unparse(selectedData.map(row => row.map(cell => cell.dataValue)),\n { delimiter: \"\\t\", newline: \"\\n\", header: false });\n this.copyText(tsv);\n }\n\n setData(items: any[], displayedColumns: string[]): void {\n this.data.displayedColumns.set(displayedColumns);\n this.data.items.set(items);\n }\n\n protected copyText(text: string) {\n this.clipboard.copy(text);\n this.snackBar.open('クリップボードにコピーしました。');\n }\n\n async paste(targetRow: number, targetCol: number): Promise<void> {\n }\n}","import { inject, Injectable, InjectionToken } from \"@angular/core\";\n\ninterface CellContext<T> {\n item: T;\n name: string;\n position: {\n row: number;\n col: number;\n }\n}\n\nexport type CellProtector = (value: any, context: CellContext<any>) => boolean;\nexport const COLUMN_PROTECTOR = new InjectionToken<CellProtector[]>('COLUMN_PROTECTOR', {\n providedIn: 'root',\n factory: () => [],\n});\nexport function provideCellProtector(useFactory: () => CellProtector) {\n return { provide: COLUMN_PROTECTOR, useFactory, multi: true };\n}\n\n@Injectable()\nexport class ProtectionService {\n readonly protectors = inject(COLUMN_PROTECTOR, {optional: true});\n\n isEditable(value: any, context: CellContext<any>): boolean {\n if (!this.protectors) return true;\n return this.protectors.every((protector) => protector(value, context));\n }\n}\n","import { inject, Injectable, signal } from '@angular/core';\nimport { EditingStateManager } from '@ng-atomic/common/services/editing';\nimport { GridService } from './grid.service';\nimport { SelectionService } from './selection.service';\nimport { ProtectionService } from './protection.service';\nimport { Position } from '../models/cell.model';\nimport { SpreadSheetDataService } from './data.service';\n\n@Injectable()\nexport class EditorService {\n protected readonly data = inject(SpreadSheetDataService);\n private grid = inject(GridService);\n private selection = inject(SelectionService);\n private protection = inject(ProtectionService);\n private editingStateManager = inject(EditingStateManager);\n readonly editinngCell = signal<{ row: number, col: number } | null>(null);\n protected readonly inputMap = new Map<string, HTMLInputElement>();\n\n isEditing(position: Position): boolean {\n return this.editinngCell()?.row === position.row && this.editinngCell()?.col === position.col;\n }\n\n startEditing(position: Position): void {\n const context = this.grid.getContext(position);\n console.debug('context:', context);\n if (!this.protection.isEditable(null, context!)) {\n return;\n }\n this.selection.clearSelection();\n this.editinngCell.set(position);\n \n \n const columnId = this.data.displayedColumns()[position.col];\n this.editingStateManager.startEditing(position.row, columnId);\n \n this.focus(position);\n }\n\n stopEditing(): void {\n const editingCell = this.editinngCell();\n if (editingCell) {\n \n const columnId = this.data.displayedColumns()[editingCell.col];\n this.editingStateManager.stopEditing(editingCell.row, columnId);\n }\n this.editinngCell.set(null);\n }\n\n focus(position: Position): void {\n setTimeout(() => {\n const input = this.getInput(position);\n if (input && input !== document.activeElement) {\n input.focus();\n input.select();\n }\n });\n }\n\n getEditingCell(): Position | null {\n for (let i = 0; i < this.data.items().length; i++) {\n for (let j = 0; j < this.data.displayedColumns().length; j++) {\n if (this.isEditing({row: i, col: j})) {\n return { row: i, col: j };\n }\n }\n }\n return null;\n }\n\n setInput(input: HTMLInputElement, position: Position): void {\n this.inputMap.set(`${this.buildKey(position)}`, input);\n }\n\n getInput(position: Position): HTMLInputElement | null {\n return this.inputMap.get(this.buildKey(position)) ?? null;\n }\n\n protected buildKey(position: Position): string {\n return `(${position.row}, ${position.col})`;\n }\n}","import { Injectable, signal } from '@angular/core';\nimport { Position } from '../models';\n\nexport interface Range {\n start: Position;\n end: Position;\n}\n\n@Injectable()\nexport class AutoFillService {\n private autofillMode = signal(false);\n private sourcePosition = signal<Position | null>(null);\n private targetRange = signal<Range | null>(null);\n private previewElements = new Set<HTMLElement>();\n \n readonly isAutofillMode = this.autofillMode.asReadonly();\n readonly getSourcePosition = this.sourcePosition.asReadonly();\n readonly getTargetRange = this.targetRange.asReadonly();\n \n startAutofill(position: Position): void {\n this.autofillMode.set(true);\n this.sourcePosition.set(position);\n this.targetRange.set({ start: position, end: position });\n }\n \n updateAutofillRange(endPosition: Position): void {\n const sourcePos = this.sourcePosition();\n if (sourcePos) {\n this.targetRange.set({ start: sourcePos, end: endPosition });\n this.updatePreview();\n }\n }\n \n \n cancelAutofill(): void {\n this.resetAutofill();\n }\n \n \n private updatePreview(): void {\n \n this.clearPreview();\n \n const range = this.targetRange();\n if (!range) return;\n \n \n for (let row = range.start.row + 1; row <= range.end.row; row++) {\n const position = { row, col: range.start.col };\n const cellElement = this.getCellElement(position);\n if (cellElement) {\n cellElement.classList.add('autofill-preview');\n this.previewElements.add(cellElement);\n }\n }\n }\n \n private clearPreview(): void {\n this.previewElements.forEach(element => {\n element.classList.remove('autofill-preview');\n });\n this.previewElements.clear();\n }\n \n private getCellElement(position: Position): HTMLElement | null {\n return document.querySelector(\n `[data-row=\"${position.row}\"][data-col=\"${position.col}\"]`\n ) as HTMLElement;\n }\n \n \n private resetAutofill(): void {\n this.clearPreview();\n this.autofillMode.set(false);\n this.sourcePosition.set(null);\n this.targetRange.set(null);\n }\n}","import { inject, Injectable, Provider } from '@angular/core';\nimport { Position } from './models/cell.model';\nimport { GridService } from './features/grid.service';\nimport { NavigationService } from './features/navigation.service';\nimport { SelectionService } from './features/selection.service';\nimport { ClipboardService } from './features/clipboard.service';\nimport { EditorService } from './features/editor.service';\nimport { ProtectionService } from './features/protection.service';\nimport { SpreadSheetDataService } from './features/data.service';\nimport { AutoFillService } from './features/autofill.service';\n\n@Injectable()\nexport class SpreadSheetService {\n readonly config = { paste: false };\n readonly grid = inject(GridService);\n \n readonly navigation = inject(NavigationService);\n readonly selection = inject(SelectionService);\n readonly clipboard = inject(ClipboardService);\n readonly editor = inject(EditorService);\n readonly protection = inject(ProtectionService);\n readonly autofill = inject(AutoFillService);\n\n handleKeyDown(event: KeyboardEvent): void {\n if (this.editor.editinngCell()) {\n this.handleKeyDownOnEditing(event);\n } else {\n this.handleKeyDownOnSelecting(event);\n }\n }\n\n protected handleKeyDownOnEditing(event: KeyboardEvent): void {\n const cell = this.editor.editinngCell();\n \n \n \n if (event.cancelBubble) {\n return;\n }\n \n if (event.key === 'Tab') {\n event.preventDefault();\n if (event.shiftKey) {\n this.move(cell!, 'left', 'select');\n } else {\n this.move(cell!, 'right', 'select');\n }\n } else if (event.key === 'Enter') {\n event.preventDefault();\n if (event.shiftKey) {\n this.move(cell!, 'top', 'select');\n } else {\n this.move(cell!, 'bottom', 'select');\n }\n }\n }\n\n protected handleKeyDownOnSelecting(event: KeyboardEvent): void {\n if (event.key === 'Tab') {\n const selectedCell = this.selection.getSelection()!.start;\n event.preventDefault();\n event.stopPropagation();\n if (event.shiftKey) {\n this.move(selectedCell, 'left', 'select');\n } else {\n this.move(selectedCell, 'right', 'select');\n }\n return;\n } else if (event.key === 'Enter') {\n const selectedCell = this.selection.getSelection()!.start;\n if (selectedCell) {\n this.editor.startEditing(selectedCell);\n event.preventDefault();\n }\n } else if (event.ctrlKey || event.metaKey) {\n if (event.key === 'c') {\n this.clipboard.copy();\n event.preventDefault();\n } else if (event.key === 'v') {\n if (!this.config.paste) return;\n const target = this.selection.getSelection()!.start;\n if (target) {\n this.clipboard.paste(target.row, target.col);\n }\n event.preventDefault();\n }\n return;\n } else if (event.key === 'Delete' || event.key === 'Backspace') {\n const selection = this.selection.getSelection();\n if (selection) {\n this.selection.clearSelectedRange(selection);\n event.preventDefault();\n return;\n }\n } else {\n const selection = this.selection.getSelection()!.start;\n let newPosition: Position | undefined;\n if (event.shiftKey) {\n const selectionEnd = this.selection.getSelectionEndOrStart();\n switch (event.key) {\n case 'ArrowRight':\n newPosition = this.navigation.moveRight(selectionEnd);\n break;\n case 'ArrowLeft':\n newPosition = this.navigation.moveLeft(selectionEnd);\n break;\n case 'ArrowUp':\n newPosition = this.navigation.moveUp(selectionEnd);\n break;\n case 'ArrowDown':\n newPosition = this.navigation.moveDown(selectionEnd);\n break;\n default:\n return;\n }\n if (newPosition) {\n event.preventDefault();\n this.selection.updateSelectionEnd(newPosition);\n }\n } else {\n switch (event.key) {\n case 'ArrowRight':\n newPosition = this.navigation.moveRight(selection);\n break;\n case 'ArrowLeft':\n newPosition = this.navigation.moveLeft(selection);\n break;\n case 'ArrowUp':\n newPosition = this.navigation.moveUp(selection);\n break;\n case 'ArrowDown':\n newPosition = this.navigation.moveDown(selection);\n break;\n default:\n return;\n }\n if (newPosition) {\n event.preventDefault();\n this.selection.clearSelection();\n this.selection.handleClick(newPosition);\n }\n }\n }\n }\n\n protected move(_position: Position, dest: 'top' | 'bottom' | 'left' | 'right', mode: 'edit' | 'select') {\n this.editor.stopEditing();\n let position: Position = _position;\n if (dest === 'top') {\n position = this.navigation.moveToPreviousRow(_position);\n } else if (dest === 'bottom') {\n position = this.navigation.moveToNextRow(_position);\n } else if (dest === 'left') {\n position = this.navigation.moveToPreviousCell(_position);\n } else if (dest === 'right') {\n position = this.navigation.moveToNextCell(_position);\n }\n\n this.selection.setStartPosition(position);\n\n if (mode === 'edit') {\n this.editor.startEditing(position);\n }\n }\n}\n\nexport function provideSpreadSheetService(): Provider[] {\n return [\n ClipboardService,\n SpreadSheetDataService,\n EditorService,\n SpreadSheetService,\n GridService,\n NavigationService,\n SelectionService,\n ProtectionService,\n AutoFillService\n ];\n}\n","import { computed, Directive, effect, ElementRef, inject, input, signal, AfterViewInit } from \"@angular/core\";\nimport { SpreadSheetService } from \"../spreadsheet.service\";\nimport { CellContext } from \"../models/cell.model\";\n\n@Directive({\n standalone: true,\n selector: '[ssCell]',\n host: {\n '[class.selected]': 'ss.selection.isSelected(position())',\n '[class.editing]': 'ss.editor.isEditing(position())',\n '(mousedown)': 'ss.selection.handleMouseDown(position(), $event)',\n '(mouseup)': 'ss.selection.handleMouseUp()',\n '(mouseenter)': 'ss.selection.handleMouseEnter(position())',\n '(click)': 'ss.selection.handleClick(position(), $event)',\n '(dblclick)': 'onDbClick()',\n '[attr.data-row]': 'position().row',\n '[attr.data-col]': 'position().col',\n }\n})\nexport class SpreadSheetCell implements AfterViewInit {\n protected ss = inject(SpreadSheetService);\n readonly el = inject<ElementRef<HTMLTableCellElement>>(ElementRef);\n\n readonly position = input<{row: number, col: number}>({row: 0, col: 0}, {alias: 'ssCell'});\n readonly editable = input<boolean>(false, {alias: 'ssCellEditable'});\n readonly context = input<CellContext | null>(null, {alias: 'ssCellContext'});\n readonly isSelected = computed(() => this.ss.selection.isSelected(this.position()));\n readonly isEditing = computed(() => this.ss.editor.isEditing(this.position()));\n readonly frameEl = signal<HTMLDivElement | null>(null);\n\n constructor() {\n effect(() => {\n if (!this.context()) return;\n this.ss.grid.setContext(this.context()!);\n });\n\n effect(() => {\n const isCursor = this.ss.selection.isCursorPosition(this.position());\n let frame = this.frameEl();\n\n if (isCursor) {\n if (!frame) {\n frame = this.buildOutlineFrame();\n this.el.nativeElement.appendChild(frame);\n this.frameEl.set(frame);\n }\n } else {\n frame?.remove();\n this.frameEl.set(null);\n }\n });\n }\n\n onDbClick(): void {\n if (!this.editable()) return;\n this.ss.editor.startEditing(this.position());\n }\n\n ngAfterViewInit(): void {\n this.ss.selection.setCell(this.position(), this.el.nativeElement);\n if (this.isSelected() && !this.isEditing()) {\n this.ss.selection.focus(this.position());\n }\n }\n\n protected buildOutlineFrame(): HTMLDivElement {\n const frame = document.createElement('div');\n frame.classList.add('selection-frame');\n frame.style.position = 'absolute';\n frame.style.top = '0';\n frame.style.left = '0';\n frame.style.width = '100%';\n frame.style.height = '100%';\n frame.style.border = '2px solid #2196f3';\n frame.style.borderRadius = '4px';\n frame.style.pointerEvents = 'none';\n frame.style.boxSizing = 'border-box';\n return frame;\n }\n\n protected createLabelElement(options: {\n label: string\n color: string\n }) {\n const el = document.createElement('span');\n el.textContent = options.label;\n el.style.backgroundColor = `${options.color}`;\n el.style.color = '#fff';\n el.style.padding = '2px 4px';\n el.style.position = 'absolute';\n el.style.fontSize = '10px';\n el.style.top = '0';\n el.style.left = '0';\n el.style.zIndex = '9999';\n el.style.lineHeight = '1.5em';\n el.style.whiteSpace = 'nowrap';\n this.el.nativeElement.appendChild(el);\n }\n}\n\n\n@Directive({\n standalone: true,\n selector: '[ssCellInput]',\n host: {\n '(blur)': 'stopEditing()',\n }\n})\nexport class SpreadSheetCellInput implements AfterViewInit {\n protected ss = inject(SpreadSheetService);\n readonly position = input<{row: number, col: number}>({row: 0, col: 0}, {alias: 'ssCellInput'});\n readonly el = inject<ElementRef<HTMLInputElement>>(ElementRef);\n readonly isSelected = computed(() => this.ss.selection.isSelected(this.position()));\n readonly isEditing = computed(() => this.ss.editor.isEditing(this.position()));\n\n ngAfterViewInit(): void {\n this.ss.editor.setInput(this.el.nativeElement, this.position());\n if (this.isSelected() && this.isEditing()) {\n this.ss.editor.focus(this.position());\n }\n }\n\n protected stopEditing(): void {\n this.ss.editor.stopEditing();\n }\n}\n","import { Component, Directive, inject, OnDestroy, output, ViewContainerRef, ComponentRef, ElementRef, Renderer2, HostListener } from '@angular/core';\nimport { SpreadSheetService } from '../spreadsheet.service';\n\ntype Position = { row: number; col: number };\ntype Range = { start: Position; end: Position };\n\nexport interface AutofillContext {\n sourceContext: any;\n targetContexts: Array<{ position: Position; context: any }>;\n}\n\n@Component({\n selector: 'autofill-handle',\n standalone: true,\n template: '',\n styles: [`\n :host {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: #2196F3;\n border: 2px solid #ffffff;\n border-radius: 50%;\n cursor: crosshair;\n z-index: 10000;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);\n transition: background-color 0.2s, opacity 0.2s;\n opacity: 0;\n pointer-events: none;\n \n &:hover {\n background-color: #1976D2;\n }\n \n &.visible {\n opacity: 1;\n pointer-events: auto;\n }\n }\n `]\n})\nclass AutofillHandleComponent {\n readonly elementRef = inject(ElementRef<HTMLElement>);\n private renderer = inject(Renderer2);\n \n handleMouseDown = output<MouseEvent>();\n \n @HostListener('mousedown', ['$event'])\n onMouseDown(e: MouseEvent): void {\n e.preventDefault();\n e.stopPropagation();\n this.handleMouseDown.emit(e);\n }\n\n show(rect: DOMRect, containerRect?: DOMRect) {\n const el = this.elementRef.nativeElement;\n \n const handleSize = 14; \n \n if (containerRect) {\n \n this.renderer.setStyle(el, 'left', `${rect.right - containerRect.left - handleSize / 2}px`);\n this.renderer.setStyle(el, 'top', `${rect.bottom - containerRect.top - handleSize / 2}px`);\n } else {\n \n this.renderer.setStyle(el, 'left', `${rect.right - handleSize}px`);\n this.renderer.setStyle(el, 'top', `${rect.bottom - handleSize}px`);\n }\n \n this.renderer.addClass(el, 'visible');\n }\n \n hide() {\n this.renderer.removeClass(this.elementRef.nativeElement, 'visible');\n }\n}\n\n\n@Directive({\n standalone: true,\n selector: '[gridDataTableAutofill]'\n})\nexport class GridDataTableAutofill implements OnDestroy {\n private ss = inject(SpreadSheetService);\n private viewContainerRef = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private autofillStartPosition: Position | null = null;\n private lastAutofillContexts: AutofillContext | null = null;\n private cleanupFunctions: (() => void)[] = [];\n private handleComponent: ComponentRef<AutofillHandleComponent> | null = null;\n private currentCell: HTMLElement | null = null;\n \n \n readonly autofillComplete = output<{\n sourcePosition: Position;\n targetRange: Range;\n contexts: AutofillContext;\n }>();\n\n private currentPosition: Position | null = null;\n\n constructor() {\n \n this.handleComponent = this.viewContainerRef.createComponent(AutofillHandleComponent);\n \n \n this.handleComponent.instance.handleMouseDown.subscribe(() => {\n if (this.currentPosition) {\n this.startAutofill(this.currentPosition);\n }\n });\n }\n\n showHandle(cell: HTMLElement, position: Position): void {\n this.currentCell = cell;\n this.currentPosition = position;\n \n \n let scrollContainer: HTMLElement | null = null;\n if (!this.handleComponent?.location.nativeElement.parentElement) {\n \n scrollContainer = (cell.closest('cdk-virtual-scroll-viewport') ||\n cell.closest('.mat-table-container') ||\n cell.closest('table')?.parentElement) as HTMLElement | null;\n \n if (scrollContainer) {\n this.renderer.appendChild(scrollContainer, this.handleComponent!.location.nativeElement);\n } else {\n \n this.renderer.appendChild(document.body, this.handleComponent!.location.nativeElement);\n this.renderer.setStyle(this.handleComponent!.location.nativeElement, 'position', 'fixed');\n }\n } else {\n scrollContainer = this.handleComponent!.location.nativeElement.parentElement as HTMLElement;\n }\n \n const cellRect = cell.getBoundingClientRect();\n const containerRect = scrollContainer?.getBoundingClientRect();\n \n this.handleComponent?.instance.show(cellRect, containerRect);\n \n \n this.setupScrollListener();\n }\n\n hideHandle(): void {\n this.currentCell = null;\n this.currentPosition = null;\n this.handleComponent?.instance.hide();\n }\n\n onAutofillStart(position: Position): void {\n this.startAutofill(position);\n }\n \n private setupScrollListener(): void {\n if (this.cleanupFunctions.some(fn => fn.name === 'scrollCleanup')) {\n return; \n }\n \n const scrollHandler = () => {\n if (this.currentCell && this.handleComponent) {\n const cellRect = this.currentCell.getBoundingClientRect();\n const containerElement = this.handleComponent.location.nativeElement.parentElement;\n const containerRect = containerElement?.getBoundingClientRect();\n this.handleComponent.instance.show(cellRect, containerRect);\n }\n };\n \n \n const scrollContainer = this.currentCell?.closest('cdk-virtual-scroll-viewport') || \n this.currentCell?.closest('.mat-table-container');\n \n if (scrollContainer) {\n scrollContainer.addEventListener('scroll', scrollHandler, { passive: true });\n const cleanup = () => scrollContainer.removeEventListener('scroll', scrollHandler);\n Object.defineProperty(cleanup, 'name', { value: 'scrollCleanup' });\n this.cleanupFunctions.push(cleanup);\n }\n \n \n window.addEventListener('scroll', scrollHandler, { passive: true });\n const windowCleanup = () => window.removeEventListener('scroll', scrollHandler);\n Object.defineProperty(windowCleanup, 'name', { value: 'scrollCleanup' });\n this.cleanupFunctions.push(windowCleanup);\n }\n \n \n private startAutofill(position: Position): void {\n this.autofillStartPosition = position;\n this.ss.autofill.startAutofill(position);\n \n \n this.cleanup();\n \n \n const onMouseMove = this.onMouseMove.bind(this);\n const onMouseUp = this.onMouseUp.bind(this);\n \n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n \n this.cleanupFunctions.push(() => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n });\n }\n\n private onMouseMove(event: MouseEvent): void {\n if (!this.autofillStartPosition) return;\n \n \n const element = document.elementFromPoint(event.clientX, event.clientY);\n const cell = element?.closest('td[mat-cell]');\n if (cell) {\n const targetRow = parseInt(cell.getAttribute('data-row') || '0');\n const targetCol = parseInt(cell.getAttribute('data-col') || '0');\n \n this.ss.autofill.updateAutofillRange({ row: targetRow, col: targetCol });\n }\n }\n\n private onMouseUp(): void {\n const result = this.completeAutofill();\n if (result) {\n this.autofillComplete.emit(result);\n }\n \n this.autofillStartPosition = null;\n this.cleanup();\n }\n\n private completeAutofill(): { sourcePosition: Position; targetRange: Range; contexts: AutofillContext } | null {\n const sourcePosition = this.ss.autofill.getSourcePosition();\n const targetRange = this.ss.autofill.getTargetRange();\n \n if (!sourcePosition || !targetRange) {\n return null;\n }\n\n \n const contexts: Array<{ position: Position; context: any }> = [];\n const { start, end } = targetRange;\n \n \n const sourceContext = this.ss.grid.getContext(sourcePosition);\n if (!sourceContext) {\n console.warn('Source context not found');\n this.ss.autofill.cancelAutofill();\n return null;\n }\n \n \n for (let row = start.row + 1; row <= end.row; row++) {\n const targetContext = this.ss.grid.getContext({ row, col: start.col });\n if (targetContext) {\n contexts.push({ position: { row, col: start.col }, context: targetContext });\n }\n }\n \n \n this.lastAutofillContexts = { sourceContext, targetContexts: contexts };\n \n \n this.ss.autofill.cancelAutofill();\n \n if (contexts.length > 0) {\n return {\n sourcePosition,\n targetRange,\n contexts: this.lastAutofillContexts\n };\n }\n \n return null;\n }\n\n getLastAutofillContexts(): AutofillContext | null {\n return this.lastAutofillContexts;\n }\n\n private cleanup(): void {\n this.cleanupFunctions.forEach(fn => fn());\n this.cleanupFunctions = [];\n }\n \n ngOnDestroy(): void {\n this.cleanup();\n if (this.handleComponent) {\n this.handleComponent.destroy();\n }\n }\n}","import { Directive, effect, ElementRef, inject, input, computed } from \"@angular/core\";\nimport { SpreadSheetService } from \"../spreadsheet.service\";\nimport { GridDataTableAutofill } from \"./grid-table-autofill.directive\";\n\n@Directive({ standalone: true, selector: '[gridDataCellAutofill]' })\nexport class SpreadSheetCellAutofill {\n protected ss = inject(SpreadSheetService);\n readonly el = inject<ElementRef<HTMLTableCellElement>>(ElementRef);\n readonly table = inject(GridDataTableAutofill);\n \n readonly position = input<{row: number, col: number}>({row: 0, col: 0}, {alias: 'gridDataCellAutofill'});\n readonly enabled = input<boolean>(true, {alias: 'gridDataCellAutofillEnabled'});\n \n readonly shouldShow = computed(() => this.enabled() && \n this.ss.selection.isCursorPosition(this.position()) && \n !this.ss.editor.isEditing(this.position()) &&\n !this.ss.autofill.isAutofillMode());\n\n constructor() {\n \n effect(() => {\n if (this.shouldShow()) {\n requestAnimationFrame(() => {\n this.table.showHandle(this.el.nativeElement, this.position());\n });\n } else if (!this.shouldShow() && this.ss.selection.isCursorPosition(this.position())) {\n \n this.table.hideHandle();\n }\n });\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SelectionService"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-services-ui.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/services/ui/ui.service.ts","../../../../../packages/@ng-atomic/common/src/lib/services/ui/ui.helpers.ts","../../../../../packages/@ng-atomic/common/src/lib/services/ui/ng-atomic-common-services-ui.ts"],"sourcesContent":["\nimport { Injectable, PLATFORM_ID, computed, inject } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { NavigationStart } from '@angular/router';\nimport { filter, map, startWith } from 'rxjs';\nimport { isPlatformBrowser } from '@angular/common';\nimport { RouterService } from '@ng-atomic/common/services/router';\nimport { Breakpoint, BreakpointService } from '@ng-atomic/common/services/breakpoint';\n\nexport interface UIContext {\n breakpoint: Breakpoint;\n paths: any[];\n}\n\n@Injectable({ providedIn: 'root' })\nexport class UiService {\n readonly breakpoint = inject(BreakpointService);\n readonly router = inject(RouterService);\n readonly platformId = inject(PLATFORM_ID);\n\n readonly paths$ = this.router.events.pipe(\n filter(event => event instanceof NavigationStart),\n map((event: NavigationStart) => event.url),\n startWith(isPlatformBrowser(this.platformId) ? window?.location?.pathname : ''),\n map(url => this.router.parseUrl(url)),\n map(urlTree => urlTree.root.children?.primary?.segments ?? []),\n );\n readonly paths = toSignal(this.paths$);\n\n readonly snapshot$ = this.router.events.pipe(\n filter(event => event instanceof NavigationStart),\n map(() => this.router.routerState.snapshot.root),\n );\n readonly snapshot = toSignal(this.snapshot$);\n\n readonly uiContext = computed(() => ({\n breakpoint: this.breakpoint.breakpoint(),\n paths: this.paths(),\n }));\n}\n","import { ElementRef, InjectionToken, Injector, Provider, ProviderToken, Signal, Type, computed, effect, inject, isSignal, runInInjectionContext, signal } from \"@angular/core\";\nimport { UIContext, UiService } from \"./ui.service\";\nimport { get, set } from \"lodash-es\";\nimport { Action, makeProvideComopnentConfigure } from \"@ng-atomic/core\";\nimport { ActivatedRoute, PRIMARY_OUTLET, Router } from \"@angular/router\";\nimport { map, shareReplay, startWith, take } from \"rxjs\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { NavigationHistoryService } from \"@ng-atomic/common/services/navigation-history\";\nimport { derivedAsync } from \"ngxtension/derived-async\";\nimport { makeInitializerConfig } from \"@ng-atomic/common/services/initializer\";\n\nexport function scoped<T extends object, TKey extends keyof T>(source: Signal<T>, path: TKey | [TKey]): Signal<T[TKey]> {\n const scopedSignal = signal<T[TKey]>(get(source(), path));\n effect(() => {\n scopedSignal.set(get(source(), path, source()) as T[TKey]);\n });\n return computed(() => scopedSignal());\n}\n\nexport function injectBreakpoint() {\n return inject(UiService).breakpoint.breakpoint;\n}\n\nexport function injectIsMobile() {\n const breakpoint = injectBreakpoint();\n return computed(() => ['xSmall', 'small'].includes(breakpoint()));\n}\n\nexport enum NavActionId {\n TOGGLE_SIDE_NAV = '[@ng-atomic/common/services/ui] TOGGLE_SIDE_NAV',\n BACK = '[@ng-atomic/common/services/ui] BACK',\n CLOSE = '[@ng-atomic/common/services/ui] CLOSE',\n}\n\n\nfunction flattenRoutes(route: ActivatedRoute): ActivatedRoute[] {\n const routes = [];\n let route_ = route;\n while (route_) {\n routes.push(route_);\n if (!route_.parent) break;\n route_ = route_.parent;\n }\n return routes;\n}\n\nexport function isRootPageRoute(route: ActivatedRoute, outlet = PRIMARY_OUTLET) {\n const routes = flattenRoutes(route).reverse();\n const outletRootIndex = routes.findIndex(route => route.outlet === outlet);\n const outletComponentRoutes = routes\n .slice(outletRootIndex)\n .filter(route => !!route?.component);\n return outletComponentRoutes.length <= 2;\n}\n\nexport function injectIsRootPage$(outlet = PRIMARY_OUTLET) {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n startWith(null),\n map(() => isRootPageRoute(route, outlet)),\n take(1),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectIsRootPage(outlet = PRIMARY_OUTLET) {\n const isRootPage$ = injectIsRootPage$(outlet);\n const injector = inject(Injector);\n return derivedAsync(() => isRootPage$, { injector });\n}\n\nexport function injectNavStartActions(\n isRootPage: Signal<boolean> = signal<boolean>(false),\n): Signal<Action[]> {\n const context = injectUiContext();\n const navigationHistory = inject(NavigationHistoryService);\n const isInitial = false;\n return computed(() => {\n console.debug('[UiService] navigationHistory:', navigationHistory)\n const isRootPage_ = isRootPage();\n const context_ = context();\n switch (context_.breakpoint) {\n case 'xLarge':\n case 'large':\n case 'medium':\n case 'small': {\n if (isRootPage_) {\n return [];\n } else {\n if (isInitial) {\n return [];\n } else {\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n }\n case 'xSmall': {\n if (isRootPage_) {\n return [{ id: NavActionId.TOGGLE_SIDE_NAV, name: 'メニュー', icon: 'menu' }];\n } else {\n if (isInitial) {\n return [{ id: NavActionId.TOGGLE_SIDE_NAV, name: 'メニュー', icon: 'menu' }]\n } else {\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n }\n default: {\n if (isRootPage_) return [];\n return [{ id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }];\n }\n }\n });\n}\n\nexport function injectNavStartActionsV2() {\n const isRootPage = injectIsRootPage();\n return injectNavStartActions(isRootPage as Signal<boolean>);\n}\n\nexport function injectSideAppNavStartActions(outlet = 'side'): Signal<Action[]> {\n const context = injectUiContext();\n const isRootPageV2 = injectIsRootPage(outlet);\n return computed(() => {\n const isRootPage_ = isRootPageV2();\n const context_ = context();\n switch (context_.breakpoint) {\n default: {\n if (isRootPage_) {\n return [\n { id: NavActionId.CLOSE, name: 'CLOSE', icon: 'close' },\n ];\n } else {\n return [\n { id: NavActionId.BACK, name: 'BACK', icon: 'arrow_back' }\n ];\n }\n }\n }\n });\n\n}\n\nexport function injectUiContext(): Signal<UIContext> {\n return inject(UiService).uiContext as Signal<UIContext>;\n}\n\nexport type UiConfigReducer<T extends object | string, C extends UIContext = any> = (config: T, context: C) => T;\nexport const UI_CONFIG_REDUCER = new InjectionToken<UiConfigReducer<any>>('UI_CONFIG_REDUCER');\nexport type ReducerFactory<T extends object | string>\n = (injector: Injector, hostInjector: Injector) => (config: T, context: UIContext) => T;\n\nexport type DefaultReducerFactory<T extends object | string>\n = (injector: Injector, hostInjector: Injector) => (context: UIContext) => T;\n\nexport const wrap = <T extends object | string>(\n defaultReducerFactory: DefaultReducerFactory<T>,\n): ReducerFactory<T> => {\n return (injector: Injector, hostInjector: Injector) => {\n const reducer = defaultReducerFactory(injector, hostInjector);\n return (_: T, context: UIContext) => {\n return reducer(context);\n }\n };\n}\n\nexport function call<T>(signalOrValue: Signal<T> | T): T {\n return isSignal(signalOrValue) ? signalOrValue() : signalOrValue;\n}\n\nfunction setReducerPath(reducer: Function, path: string[]) {\n Object.defineProperty(reducer, 'path', { value: path, configurable: true });\n return reducer;\n}\n\nfunction getReducerPath(reducer: Function) {\n return (reducer as unknown as Record<string, unknown>)['path'];\n}\n\nexport function provideUiConfig<T extends object | string>(\n reducerFactory: ReducerFactory<T>,\n path: string[] = [],\n name = 'name',\n token = UI_CONFIG_REDUCER,\n): Provider {\n return {\n provide: token,\n useFactory: (injector: Injector) => {\n function _reducerFactory(hostInjector: Injector) {\n const reducer = reducerFactory(injector, hostInjector);\n return (config: T, context: any): T => {\n if (path.length === 0) return reducer(config, context);\n return set(config as object, path, reducer(get<any, any>(config, path), context)) as T;\n }\n }\n Object.defineProperty(_reducerFactory, 'name', { value: name, configurable: true });\n setReducerPath(_reducerFactory, path);\n return _reducerFactory;\n },\n deps: [Injector],\n multi: true,\n };\n}\n\nexport function injectRootConfig<T extends object>(\n paths: string[] = [],\n token = UI_CONFIG_REDUCER,\n): Signal<T> {\n const uiContext = injectUiContext();\n const factories = injectReducerFactories(paths, token);\n const hostInjector = inject(Injector);\n const reducers = factories.map(factory => {\n return runInInjectionContext(hostInjector, () => factory(hostInjector));\n });\n if (!reducers) return undefined as unknown as Signal<T>;\n const rootConfig = computed(() => {\n const context = uiContext();\n return reducers.reduce((acc, reducer) => {\n return runInInjectionContext(hostInjector, () => reducer(acc, context));\n }, {} as T);\n });\n return rootConfig;\n}\n\n\nexport function injectUiConfig<T extends object>(\n paths: string[] = [],\n token: InjectionToken<UiConfigReducer<any>> = UI_CONFIG_REDUCER,\n): Signal<T> {\n const rootConfig = injectRootConfig<T>(paths, token);\n return scoped(rootConfig, paths as any);\n}\n\nexport function makeConfig<T extends object>(defaultUseFactory: DefaultReducerFactory<T>, path: string[]) {\n const factory = wrap(defaultUseFactory);\n const token = new InjectionToken<UiConfigReducer<T>>(`[${path.join('.')}] UI_CONFIG_REDUCER`);\n return {\n provide(useFactory?: ReducerFactory<T>, label = useFactory ? 'custom' : 'default') {\n useFactory ??= factory;\n return provideUiConfig<T>(useFactory, path, `[${path.join('.')}] ${label}`, token);\n },\n inject() {\n return injectUiConfig<T>(path, token);\n },\n }\n}\n\nexport function makeDI<T extends object, K>(type: Type<K>, defaultUseFactory: DefaultReducerFactory<T>, path: string[]) {\n const Config = makeConfig<T>(defaultUseFactory, path);\n const Initializer = makeInitializerConfig(type);\n const provideComponent = makeProvideComopnentConfigure(type);\n return {\n provide: (typeOrComponent: Parameters<typeof provideComponent>[0]) => [\n provideComponent(typeOrComponent), Config.provide(),\n Config.provide(),\n ],\n provideConfig: Config.provide,\n injectConfig: Config.inject,\n provideInitializer: Initializer.provide,\n initialize: Initializer.initializeStore,\n provideComponent,\n Initializer,\n Config,\n }\n}\n\nfunction injectReducers(token: InjectionToken<UiConfigReducer<any>>): ((hostInjector: Injector) => UiConfigReducer<any>)[] {\n return injectDeepMulti<(hostInjector: Injector) => UiConfigReducer<any>>(token);\n}\n\nfunction injectReducerFactories(\n path: string[] = [],\n token = UI_CONFIG_REDUCER,\n): ((hostInjector: Injector) => UiConfigReducer<any>)[] {\n return injectReducers(token).filter(factory => {\n return (getReducerPath(factory) as string[]).every((p: string, i: number) => path[i] === p);\n });\n}\n\nexport function injectDeepMulti<T>(token: ProviderToken<T>, injector: Injector = inject(Injector)): T[] {\n const valueOrArray = injector.get(token as ProviderToken<T[]>, [], { optional: true });\n const items = Array.isArray(valueOrArray) ? valueOrArray : [valueOrArray];\n const parentInjector = injector.get(Injector, null, { skipSelf: true });\n if (!parentInjector) return items;\n return [...new Set([...injectDeepMulti(token, parentInjector), ...items])];\n}\n\nexport function debugInjector(injector: Injector | null = inject(Injector)) {\n const getParent = (injector: Injector, n = 0): Injector | null => {\n let current: Injector | null = injector;\n while (current && n-- > 0) {\n current = current.get(Injector, null, { skipSelf: true });\n }\n return current;\n }\n\n const getInjectorName = (injector: Injector): string => {\n const name = injector.get(ElementRef, null)?.nativeElement?.tagName?.toLowerCase();\n if (name) return `<${name}>`;\n return `${(injector as unknown as Record<string, unknown>)['source']}`;\n }\n\n const isNodeInjector = (injector: Injector): boolean => {\n return injector.get(ElementRef, null) !== null;\n }\n\n const mapToNames = (reducers: any) => (reducers ?? []).map((reducer: { name: string }) => reducer.name);\n\n for (let i = 0; i < 20; i++) {\n injector = getParent(injector!, i);\n if (injector === Injector.NULL) break;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-entities.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/entities/proxy-id.service.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/task-composer.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store-adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/entity-store-manager.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/di.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entities/ng-atomic-common-stores-entities.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\n\n@Injectable({providedIn: 'root'})\nexport class ProxyIdService {\n proxyMap = new Map<string, string>();\n\n isProxyId(id: string | null): boolean {\n return !!id?.startsWith('proxy-');\n }\n\n proxyId(_id: string): string {\n const id = this.isProxyId(_id) ? _id : `proxy-${this.proxyMap.size}`;\n if (!this.proxyMap.get(id)) this.proxyMap.set(id, id);\n return id;\n }\n\n update(proxyId: string, id: string) {\n this.proxyMap.set(proxyId, id);\n }\n\n resolve(proxyIdOrId: string): string {\n return this.isProxyId(proxyIdOrId) ? this.proxyMap.get(proxyIdOrId)! : proxyIdOrId;\n }\n}\n","import { Injectable, inject } from \"@angular/core\";\nimport { merge } from \"lodash-es\";\nimport { ProxyIdService } from \"./proxy-id.service\";\n\nexport type Entity = {id: string};\n\ninterface BaseTask {\n type: 'create' | 'update' | 'delete' | 'noop';\n timestamp: number;\n}\n\ninterface CreateAction<T extends Entity> extends BaseTask {\n type: 'create';\n payload: T;\n}\n\ninterface UpdateAction<T extends Entity> extends BaseTask {\n type: 'update';\n payload: Partial<T> & Entity;\n}\n\ninterface DeleteAction extends BaseTask {\n type: 'delete';\n payload: Entity;\n}\n\ninterface NoopAction extends BaseTask {\n type: 'noop';\n payload: {};\n}\n\nexport type Task<T extends Entity> = CreateAction<T> | UpdateAction<T> | DeleteAction | NoopAction;\n\nexport function pushMap<T>(map: Map<string, T[]>, id: string, item: T): Map<string, T[]> {\n const items = map.get(id) ?? [];\n items.push(item);\n map.set(id, items);\n return map;\n}\n\n@Injectable({providedIn: 'root'})\nexport class TaskComposerService {\n readonly proxyId = inject(ProxyIdService);\n\n composeTasks<T extends Entity>(tasks: Task<T>[]): Task<T>[] {\n const map = new Map<string, Task<T>[]>();\n tasks.sort((a, b) => a.timestamp - b.timestamp).forEach((task) => {\n let id = (task.payload as any)?.id;\n switch(task.type) {\n case 'noop':\n break\n case 'create':\n id = this.proxyId.proxyId(task.payload.id);\n pushMap(map, id, {...task, payload: {...task.payload, id}} as Task<T>);\n break;\n case 'update':\n case 'delete':\n pushMap(map, this.proxyId.resolve(id), task);\n break;\n }\n });\n\n const _tasks: Task<T>[] = [];\n for (const tasks of map.values()) {\n _tasks.push(this.compose(tasks));\n }\n return _tasks.filter(task => task.type !== 'noop');\n }\n\n compose<T extends Entity>(tasks: Task<T>[]): Task<T> {\n let created = false;\n return tasks.reduce<Task<T>>((a, b) => {\n switch(b.type) {\n case 'create':\n created = true;\n return {\n type: 'create',\n payload: b.payload,\n timestamp: b.timestamp,\n } as Task<T>;\n case 'update':\n return {\n type: created ? 'create' : 'update',\n payload: merge(a.payload, b.payload),\n timestamp: b.timestamp,\n } as Task<T>;\n case 'delete':\n return {\n type: created ? 'noop' : 'delete',\n payload: b.payload,\n timestamp: b.timestamp,\n } as Task<T>;\n default:\n return a;\n }\n }, {type: 'noop', payload: {}} as Task<T>)\n }\n}\n","\nimport { InjectionToken, Injector, inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { Observable } from 'rxjs';\nimport { Entity } from './task-composer';\n\nexport class EntityStoreAdapter<E extends Entity> {\n list?(): Observable<E[]> {\n throw new Error('not implemented');\n }\n\n create?(entity: E): Promise<E> {\n throw new Error('not implemented');\n }\n\n update?(entity: Partial<E> & Pick<E, 'id'>): Promise<void> {\n throw new Error('not implemented');\n }\n\n delete?(entity: Pick<E, 'id'>): Promise<void> {\n throw new Error('not implemented');\n }\n\n save?(entity: E): Promise<E> {\n throw new Error('not implemented');\n }\n}\n\nexport const ENTITY_STORE_ADAPTER = new InjectionToken<{\n entity: Type<Entity>,\n adapter: EntityStoreAdapter<Entity>\n}[]>('ENTITY_STORE_ADAPTER');\n\nexport function provideEntityStoreAdapter<E extends Entity>(\n entity: Type<E>,\n adapterFactory: (injector: Injector) => EntityStoreAdapter<E>,\n) {\n return {\n provide: ENTITY_STORE_ADAPTER,\n multi: true,\n useFactory: (injector: Injector) => {\n return { entity, adapter: adapterFactory(injector) };\n },\n deps: [Injector]\n };\n}\n\nexport function injectEntityStoreAdapter<E extends Entity>(entity: Type<E>): EntityStoreAdapter<E> {\n const adapters = inject(ENTITY_STORE_ADAPTER, {optional: true}) ?? [];\n return adapters.find(adapter => adapter.entity === entity)?.adapter as EntityStoreAdapter<E>;\n}\n","import { toSignal } from '@angular/core/rxjs-interop';\nimport { inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { ComponentStore } from '@ngrx/component-store';\nimport { EntityState, EntityAdapter, createEntityAdapter } from '@ngrx/entity';\nimport { Observable, ReplaySubject, Subject, isObservable, of } from 'rxjs';\nimport { bufferTime, distinctUntilChanged, filter, map, shareReplay, switchMap, tap } from 'rxjs/operators';\nimport { merge } from 'lodash-es';\nimport { Entity, Task, TaskComposerService } from './task-composer';\nimport { ProxyIdService } from './proxy-id.service';\nimport { EntityStoreAdapter, injectEntityStoreAdapter } from './entity-store-adapter';\n\nexport const distinctUntilChangedArray = <T>() => {\n return distinctUntilChanged<T>((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur));\n};\n\nexport class BaseEntityStore<E extends Entity> extends ComponentStore<EntityState<E>> {\n protected adapter: EntityStoreAdapter<E>;\n\n protected readonly refresh$ = new ReplaySubject<void>(1);\n protected get selectors() { return this.entityAdapter.getSelectors(); }\n readonly all$ = this.select((state) => this.selectors.selectAll(state));\n readonly all = toSignal(this.all$);\n readonly total$ = this.select((state) => this.selectors.selectTotal(state));\n readonly total = toSignal(this.total$);\n\n \n readonly entities$ = this.all$\n \n readonly entities = this.all;\n \n readonly size$ = this.total$;\n\n readonly addOne = this.updater((state, entity: E) => this.entityAdapter.addOne(entity, state));\n readonly addMany = this.updater((state, entities: E[]) => this.entityAdapter.addMany(entities, state));\n readonly updateOne = this.updater((state, update: {id: string, changes: Partial<E>}) => this.entityAdapter.updateOne(update, state));\n readonly updateMany = this.updater((state, updates: {id: string, changes: Partial<E>}[]) => this.entityAdapter.updateMany(updates, state));\n readonly upsertOne = this.updater((state, entity: E) => this.entityAdapter.upsertOne(entity, state));\n readonly upsertMany = this.updater((state, entities: E[]) => this.entityAdapter.upsertMany(entities, state));\n readonly removeOne = this.updater((state, id: string) => this.entityAdapter.removeOne(id, state));\n readonly removeMany = this.updater((state, ids: string[]) => this.entityAdapter.removeMany(ids, state));\n readonly removeAll = this.updater((state) => this.entityAdapter.removeAll(state));\n readonly setOne = this.updater((state, entity: E) => this.entityAdapter.setOne(entity, state));\n readonly setAll = this.updater((state, entities: E[]) => this.entityAdapter.setAll(entities, state));\n\n constructor(\n protected entity: Type<E>,\n protected entityAdapter: EntityAdapter<E> = createEntityAdapter<E>({selectId: (entity) => entity.id, sortComparer: false}),\n ) {\n super(entityAdapter.getInitialState());\n this.adapter = injectEntityStoreAdapter(entity);\n this.getEntities(this.refresh$);\n this.refresh();\n }\n\n protected getEntities = this.effect((refresh$: Observable<void>) => refresh$.pipe(\n switchMap(() => this.adapter?.list?.() ?? of([] as E[])),\n tap((entities: E[]) => this.setAll(entities)),\n ));\n\n refresh() {\n this.refresh$.next();\n }\n\n mapToOne(valueOrObs: string | Observable<string>): Observable<E> {\n const wrap = (valueOrObs: string | Observable<string>) => isObservable(valueOrObs) ? valueOrObs : of(valueOrObs);\n return wrap(valueOrObs).pipe(\n switchMap(id => this.select((state) => this.selectors.selectEntities(state)[id])),\n ) as Observable<E>;\n }\n\n}\n\nexport class EntityStore<E extends Entity> extends BaseEntityStore<E> {\n protected proxyId = inject(ProxyIdService, {});\n protected composer = inject(TaskComposerService);\n protected taskSubject$ = new Subject<Task<E>>();\n protected task$: Observable<Task<E>> = this.taskSubject$.pipe(\n map(task => {\n switch(task.type) {\n case 'create': return merge(task, {payload: {id: this.proxyId.proxyId(task.payload.id)}});\n default: return task;\n }\n }),\n shareReplay(1),\n );\n protected composedTasks$ = this.task$.pipe(\n bufferTime(5 * 1000),\n filter(tasks => tasks.length > 0),\n map((tasks) => this.composer.composeTasks(tasks)),\n );\n\n constructor(\n protected entity: Type<E>,\n protected entityAdapter: EntityAdapter<E> = createEntityAdapter<E>({selectId: (entity) => entity.id, sortComparer: false}),\n ) {\n super(entity, entityAdapter);\n this.task$.subscribe((task: Task<E>) => this.runTask(task));\n this.composedTasks$.subscribe(tasks => this.runComposedTasks(tasks));\n }\n\n dispatch(action: Task<E>) {\n this.taskSubject$.next(action);\n }\n\n protected async runTask(task: Task<E>): Promise<any> {\n switch(task.type) {\n case 'create': return this.addOne(task.payload);\n case 'update': return this.updateOne({id: task.payload.id, changes: task.payload});\n case 'delete': return this.removeOne(task.payload.id);\n }\n }\n\n protected async runComposedTasks(tasks: Task<E>[]): Promise<void> {\n return Promise.all(tasks.map((task) => {\n switch(task.type) {\n case 'create': return this.adapter.create!(task.payload)\n .then((entity) => {\n this.proxyId.update(task.payload.id, entity.id);\n const _entity = this.state().entities[task.payload.id];\n this.removeOne(task.payload.id);\n this.addOne({..._entity, id: entity.id} as E);\n });\n case 'update': return this.adapter.update!({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n });\n case 'delete': return this.adapter.delete!({\n ...task.payload,\n id: this.proxyId.resolve(task.payload.id),\n } as any);\n }\n }))\n .then(() => this.onSyncSucceeded())\n .catch(() => this.onSyncFailed());\n }\n\n protected onSyncFailed() { }\n protected onSyncSucceeded() { }\n\n create(payload: E): Promise<E> {\n return this.adapter.create!(payload);\n }\n\n update(payload: Pick<E, 'id'> & Partial<E>): Promise<void> {\n return this.adapter.update!(payload);\n }\n\n delete(payload: Pick<E, 'id'>): Promise<void> {\n return this.adapter.delete!(payload);\n }\n\n save(payload: E): Promise<E> {\n return this.adapter.save!(payload);\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { Type } from '@nx-ddd/common/domain';\nimport { Entity } from './task-composer';\nimport { EntityStore } from './entity-store';\nexport { distinctUntilChangedArray } from './entity-store';\n\n@Injectable({providedIn: 'root'})\nexport class EntityStoreService {\n protected storeMap = new Map<Type<Entity>, EntityStore<Entity>>();\n\n get<E extends Entity>(Entity: Type<E>): EntityStore<E> {\n if (!this.storeMap.has(Entity)) {\n this.storeMap.set(Entity, new EntityStore(Entity) as unknown as EntityStore<Entity>);\n }\n return this.storeMap.get(Entity) as unknown as EntityStore<E>;\n }\n}\n\nexport function injectEntityStore<E extends Entity>(Entity: Type<E>): EntityStore<E> {\n return inject(EntityStoreService).get(Entity);\n}\n","import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';\nimport { Signal, computed, inject } from '@angular/core';\nimport { Resolver, BaseResolver, Type } from '@nx-ddd/common/domain';\nimport { injectResolver$ } from '@ng-atomic/common/utils';\nimport { Observable, combineLatest, isObservable, of, filter, map, shareReplay, switchMap } from 'rxjs';\nimport { Entity } from './task-composer';\nimport { EntityStore } from './entity-store';\nimport { injectEntityStore } from './entity-store-manager';\nimport { derivedAsync } from 'ngxtension/derived-async';\n\ntype OneProps<V> = {id: V, [key: string]: V};\ntype AllProps<V> = {[key: string]: V};\n\nexport function injectOne$<T extends Entity>(\n Entity: Type<T>,\n params: OneProps<Observable<any>>,\n resolverType: Type<BaseResolver<T>> = Resolver\n): Observable<T> {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n Entity: injectEntityStore(Entity).mapToOne(params.id).pipe(\n filter((Entity) => !!Entity)\n ),\n }).pipe(\n map(({ resolver, Entity }) => resolver.resolve(Entity)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n }\n\n return injectEntityStore(Entity).mapToOne(params.id).pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nfunction signalMapToObsMap(map: AllProps<Signal<any>>): AllProps<Observable<any>> {\n return Object.entries(map).reduce((acc, [key, value]) => {\n acc[key] = toObservable(value as any);\n return acc;\n }, {} as AllProps<Observable<any>>);\n}\n\n\nexport function injectOne<T extends Entity>(\n Entity: Type<T>,\n params: OneProps<Signal<any>>,\n resolverType: Type<BaseResolver<T>> = Resolver\n) {\n return toSignal(injectOne$(Entity, signalMapToObsMap(params) as any, resolverType));\n}\n\nexport function injectAll$<T extends Entity>(\n Entity: Type<T>,\n params: Record<string, Observable<any>> = {},\n resolverType: Type<BaseResolver<T>> = Resolver\n) {\n if (resolverType) {\n return combineLatest({\n resolver: injectResolver$(resolverType, params),\n entities: injectEntityStore(Entity).all$,\n }).pipe(\n map(({ resolver, entities }) => resolver.resolveMany(entities)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n }\n\n return injectEntityStore(Entity).entities$.pipe(\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport const callSignalMap = <T extends Record<string, Signal<any>>>(map: T): Signal<T> => {\n return computed(() => Object.entries(map).reduce((acc, [key, value]) => {\n return {...acc, [key]: value()};\n }, {} as T));\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nexport function injectAll<T extends Entity>(\n Entity: Type<T>,\n params: AllProps<Signal<any>> = {},\n resolverType: Type<BaseResolver<T>> = Resolver\n): Signal<T[]> {\n const $params = signalMapToObsMap(params);\n const all$ = injectAll$(Entity, $params, resolverType);\n return derivedAsync(() => all$, { initialValue: [] });\n}\n\nexport type ValueOrObservable<T> = T | Observable<T>;\n\nexport function mapToOne$<T extends {id: string}>(\n storeType: new () => EntityStore<T>,\n keyOrKey$: ValueOrObservable<string>,\n): Observable<T> {\n const store = inject<EntityStore<T>>(storeType, {});\n const key$ = isObservable(keyOrKey$) ? keyOrKey$ : of(keyOrKey$);\n return key$.pipe(switchMap(key => store.mapToOne(key)));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["filter","map","shareReplay","switchMap"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-entity.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/entity/entity.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/entity/ng-atomic-common-stores-entity.ts"],"sourcesContent":["import { ComponentStore } from '@ngrx/component-store';\nimport { Observable } from 'rxjs';\nimport { filter, switchMap, tap } from 'rxjs/operators';\n\nexport type Mode = 'create' | 'update'\n\nexport interface EntityState<Entity> {\n mode: Mode;\n entityId: string;\n entity: Entity;\n}\n\nexport const tryCatch = (promise: Promise<any>) => new Promise(async (resolve, reject) => {\n try { resolve(await promise); } catch (error) { reject(error); }\n});\n\nexport abstract class EntityStore<S extends EntityState<Entity>, Entity> extends ComponentStore<S> {\n get entity() { return this.get().entity}\n\n mode$ = this.select(state => state.mode);\n entityId$ = this.select(state => state.entityId).pipe(filter(id => !!id));\n entity$ = this.select(state => state.entity);\n\n setMode = this.updater((state, mode: Mode) => ({...state, mode}));\n setEntityId = this.updater((state, entityId: string) => ({...state, entityId}));\n setEntity = this.updater((state, entity: Entity) => ({...state, entity}));\n\n constructor(initialState?: S) {\n super(initialState);\n this.getEntity(this.entityId$);\n }\n\n getEntityIdAndMode = this.effect((entityId$: Observable<string>) => entityId$.pipe(\n tap(id => this.setMode(id === 'new' ? 'create' : 'update')),\n filter(id => id !== 'new'),\n tap((id: string) => this.setEntityId(id)),\n ));\n\n getEntity = this.effect((entityId$: Observable<string>) => entityId$.pipe(\n switchMap(id => this._getEntity(id)),\n tap((entity: Entity) => this.setEntity(entity)),\n ));\n\n createEntity(value: Partial<Entity>) {\n const entity: Entity = ({...this.entity, ...value});\n return tryCatch(this._createEntity(entity));\n }\n\n updateEntity(value: Partial<Entity>) {\n const entity: Entity = ({...this.entity, ...value});\n return this._updateEntity(entity)\n }\n\n abstract _getEntity(idOrParams: string): Observable<Entity>;\n abstract _createEntity(entity: Entity): Promise<Entity>;\n abstract _updateEntity(entity: Entity): Promise<void>;\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAYO,MAAM,QAAQ,GAAG,CAAC,OAAqB,KAAK,IAAI,OAAO,CAAC,OAAO,OAAO,EAAE,MAAM,KAAI;AACvF,IAAA,IAAI;AAAE,QAAA,OAAO,CAAC,MAAM,OAAO,CAAC;IAAE;IAAE,OAAO,KAAK,EAAE;QAAE,MAAM,CAAC,KAAK,CAAC;IAAE;AACjE,CAAC;AAEK,MAAgB,WAAmD,SAAQ,cAAiB,CAAA;IAChG,IAAI,MAAM,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAA,CAAA;AAUvC,IAAA,WAAA,CAAY,YAAgB,EAAA;QAC1B,KAAK,CAAC,YAAY,CAAC;AATrB,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;QACxC,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACzE,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QAE5C,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAU,MAAM,EAAC,GAAG,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;QACjE,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,QAAgB,MAAM,EAAC,GAAG,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;QAC/E,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,MAAc,MAAM,EAAC,GAAG,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC;AAOzE,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAA6B,KAAK,SAAS,CAAC,IAAI,CAChF,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAC3D,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,CAAC,EAC1B,GAAG,CAAC,CAAC,EAAU,KAAK,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAC1C,CAAC;QAEF,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAA6B,KAAK,SAAS,CAAC,IAAI,CACvE,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EACpC,GAAG,CAAC,CAAC,MAAc,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAChD,CAAC;AAZA,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;IAChC;AAaA,IAAA,YAAY,CAAC,KAAsB,EAAA;AACjC,QAAA,MAAM,MAAM,IAAY,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAC,CAAC;QACnD,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C;AAEA,IAAA,YAAY,CAAC,KAAsB,EAAA;AACjC,QAAA,MAAM,MAAM,IAAY,EAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,EAAC,CAAC;AACnD,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IACnC;AAMD;;ACzDD;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-pagination.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/pagination/pagination.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/pagination/ng-atomic-common-stores-pagination.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Page } from '@ng-atomic/common/utils';\nimport { Observable, tap } from \"rxjs\";\n\nexport interface State {\n page: Page;\n}\n\n@Injectable()\nexport class PaginationStore extends ComponentStore<State> {\n constructor() {super({page: Page.from()})}\n\n get page() { return this.get(state => state.page); }\n get start() { return this.page.start; }\n get end() { return this.page.end; }\n\n page$ = this.select(state => state.page);\n\n setPage = this.updater((state, page: Page) => ({...state, page}));\n patch = this.updater((state, page: Partial<Page>) => ({...state, page: state.page.patch(page)}));\n \n getPageLength = this.effect((entities$: Observable<any[]>) => entities$.pipe(\n tap(({length}: any[]) => this.setPage(this.page.patch({length}))),\n ));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,eAAgB,SAAQ,cAAqB,CAAA;AACxD,IAAA,WAAA,GAAA;QAAe,KAAK,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAC,CAAC;AAMzC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;QAExC,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAU,MAAM,EAAC,GAAG,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAmB,MAAM,EAAC,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;AAEhG,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,SAA4B,KAAK,SAAS,CAAC,IAAI,CAC1E,GAAG,CAAC,CAAC,EAAC,MAAM,EAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC,CAClE,CAAC;IAbuC;AAEzC,IAAA,IAAI,IAAI,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,IAAI,KAAK,GAAA,EAAK,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,GAAG,GAAA,EAAK,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;8GALvB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAf,eAAe,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B;;;ACTD;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-query.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/query/query.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/query/ng-atomic-common-stores-query.ts"],"sourcesContent":["import { Inject, Injectable, Optional } from \"@angular/core\";\nimport { DOMAIN_LANG_MAP } from \"@ng-atomic/common/services/language\";\nimport { QueryResolverService } from \"@ng-atomic/common/services/query-resolver\";\nimport { ComponentStore } from \"@ngrx/component-store\";\n\nexport interface QueryState {\n query: string;\n}\n\n@Injectable()\nexport class QueryStore<E extends object = any> extends ComponentStore<QueryState> {\n constructor(\n protected queryResolver: QueryResolverService<E>,\n @Optional() @Inject(DOMAIN_LANG_MAP) protected langMap: Record<string, string>,\n ) {\n super({query: ''});\n this.langMap ??= {};\n }\n\n get query(): string { return this.get().query; }\n query$ = this.select((state) => state.query);\n\n setQuery = this.updater((state, query: string) => ({...state, query}));\n\n resolve(entities: E[]): E[] {\n return this.queryResolver.resolve(entities, this.query);\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUM,MAAO,UAAmC,SAAQ,cAA0B,CAAA;IAChF,WAAA,CACY,aAAsC,EACD,OAA+B,EAAA;AAE9E,QAAA,KAAK,CAAC,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC;QAHR,IAAA,CAAA,aAAa,GAAb,aAAa;QACwB,IAAA,CAAA,OAAO,GAAP,OAAO;AAOxD,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;QAE5C,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAa,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;AANpE,QAAA,IAAI,CAAC,OAAO,KAAK,EAAE;IACrB;IAEA,IAAI,KAAK,GAAA,EAAa,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AAK/C,IAAA,OAAO,CAAC,QAAa,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;IACzD;AAhBW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,sDAGC,eAAe,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAH1B,UAAU,EAAA,CAAA,CAAA;;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB;;0BAII;;0BAAY,MAAM;2BAAC,eAAe;;;ACbvC;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-selection.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/selection/selection.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/selection/ng-atomic-common-stores-selection.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Observable, Subscription } from \"rxjs\";\n\nexport interface SelectionState {\n idSet: Set<string>;\n initialIdSet: Set<string> | null;\n\n}\n\n@Injectable()\nexport class SelectionStore extends ComponentStore<SelectionState> {\n get idSet(): Set<string> { return this.get(state => state.idSet); }\n get initialIdSet(): Set<string> { return this.get(state => state.initialIdSet)!; }\n\n constructor() {\n super({idSet: new Set(), initialIdSet: null});\n }\n\n setIdSet: (observableOrValue: Set<string> | Observable<Set<string>>) => Subscription = this.updater((state, idSet: Set<string>) => ({...state, idSet}));\n setInitialIdSet: (observableOrValue: Set<string> | Observable<Set<string>>) => Subscription = this.updater((state, initialIdSet: Set<string>) => ({...state, initialIdSet}));\n\n addIds: (ids: string[]) => Subscription = (ids: string[]) => this.setIdSet(new Set([...this.idSet, ...ids]));\n addId: (id: string) => Subscription = (id: string) => this.addIds([id]);\n\n removeId: (id: string) => Subscription = (id: string) => this.setIdSet(new Set([...this.idSet].filter(_id => _id !== id)));\n toggleId: (id: string) => Subscription = (id: string) => this.idSet.has(id) ? this.removeId(id) : this.addId(id);\n\n getSelectedAndUnselected(): [Set<string>, Set<string>] {\n const unselectedIdSet = new Set([...this.initialIdSet].filter(id => !this.idSet.has(id)));\n return [this.idSet, unselectedIdSet];\n }\n\n filterBySelectedIds<E extends {id: string}>(entities: E[]): E[] {\n return entities.filter(({id}) => this.idSet.has(id));\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAWM,MAAO,cAAe,SAAQ,cAA8B,CAAA;AAChE,IAAA,IAAI,KAAK,GAAA,EAAkB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,IAAA,IAAI,YAAY,GAAA,EAAkB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAE,CAAC,CAAC;AAEjF,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC;QAG/C,IAAA,CAAA,QAAQ,GAA+E,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAkB,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QACvJ,IAAA,CAAA,eAAe,GAA+E,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,YAAyB,MAAM,EAAC,GAAG,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;QAE5K,IAAA,CAAA,MAAM,GAAoC,CAAC,GAAa,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AAC5G,QAAA,IAAA,CAAA,KAAK,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AAEvE,QAAA,IAAA,CAAA,QAAQ,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1H,QAAA,IAAA,CAAA,QAAQ,GAAiC,CAAC,EAAU,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IAThH;IAWA,wBAAwB,GAAA;AACtB,QAAA,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AACzF,QAAA,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC;IACtC;AAEA,IAAA,mBAAmB,CAAyB,QAAa,EAAA;QACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAC,EAAE,EAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtD;8GAxBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAd,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B;;;ACVD;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-stores-sort.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/stores/sort/sort.store.ts","../../../../../packages/@ng-atomic/common/src/lib/stores/sort/ng-atomic-common-stores-sort.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { ComponentStore } from \"@ngrx/component-store\";\nimport { Observable } from \"rxjs\";\n\nexport interface SortState {\n key: string;\n order: 'asc' | 'desc';\n}\n\n@Injectable()\nexport class SortStore extends ComponentStore<SortState> {\n constructor() {super({key: null as unknown as string, order: 'asc'})}\n\n get key() { return this.get().key; }\n get order() { return this.get().order; }\n\n state$ = this.select(state => state);\n key$ = this.select(state => state.key);\n order$ = this.select(state => state.order);\n\n setKey = this.updater((state, key: string) => ({...state, key}));\n setOrder = this.updater((state, order: 'asc' | 'desc') => ({...state, order}));\n \n changeSortFromEvent(key: string, state: SortState = this.state()) {\n const reverse = (order: 'asc' | 'desc') => order === 'asc' ? 'desc' : 'asc';\n const order = key === state.key ? reverse(state.order) : 'asc';\n this.setKey(key);\n this.setOrder(order);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAUM,MAAO,SAAU,SAAQ,cAAyB,CAAA;AACtD,IAAA,WAAA,GAAA;QAAe,KAAK,CAAC,EAAC,GAAG,EAAE,IAAyB,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;QAKpE,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC;AACpC,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC;AACtC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;QAE1C,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAW,MAAM,EAAC,GAAG,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;QAChE,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAqB,MAAM,EAAC,GAAG,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IAVV;IAEpE,IAAI,GAAG,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK,GAAA,EAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AASvC,IAAA,mBAAmB,CAAC,GAAW,EAAE,QAAmB,IAAI,CAAC,KAAK,EAAE,EAAA;AAC9D,QAAA,MAAM,OAAO,GAAG,CAAC,KAAqB,KAAK,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK;QAC3E,MAAM,KAAK,GAAG,GAAG,KAAK,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;AAC9D,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IACtB;8GAlBW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAT,SAAS,EAAA,CAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBADrB;;;ACTD;;AAEG;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-utils.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/utils/comma/comma.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/compare-by-id/compare-by-id.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/date-utils/date-utils.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/diff/diff.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/form/form.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/get/get.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-params.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-query.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-navigation.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/route-data.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/inject/resolver.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.adapter.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.formats.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-jp-providers.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/mat-dayjs-date/dayjs-date.module.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/page/page.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/router/router.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/expression/expression.transformer.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/to-object/to-object.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/time.ts","../../../../../packages/@ng-atomic/common/src/lib/utils/ng-atomic-common-utils.ts"],"sourcesContent":["export const comma = (n: number | null): string => n === null ? '0' : n.toLocaleString();\nexport const commaStr = (n: number, unit = '円') => n < 0 ? `-${comma(abs(n))}${unit}` : `${comma(n)}${unit}`;\nexport const abs = (n: number) => Math.abs(n);","export type HasId = { id: string };\nexport function compareByIdFactory(key: string) {\n return (a: any, b: any) => parseInt(a?.[key], 10) - parseInt(b?.[key], 10);\n}\nexport const compareById = compareByIdFactory('id');\n","import dayjs from 'dayjs';\n\nexport const removeComma = (str: string) => str.replace(/\\,/g, '');\n\nexport const DATE_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\nconst DATE_REGEX = /^[0-9]{4}\\/(0[1-9]|1[0-2])\\/(0[1-9]|[12][0-9]|3[01])$/;\nconst DATETIME_REGEX = /^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\+([+-][0-2]\\d:[0-5]\\d)$/;\nexport const isDateStr = (str: string | null): str is string => !!str && !!str.match(DATE_REGEX);\nexport const isDateTimeStr = (str: string | null): str is string => !!str && !!str.match(DATE_REGEX);\n\nconst ISO_REGEX = /\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z)/;\nexport const isIsoString = (str: string | null): str is string => !!str && !!str.match(ISO_REGEX);\n\n\nexport interface Timestamp {\n toDate: () => Date;\n}\n\nexport function timestampToDayjs(timestamp: Timestamp | null): dayjs.Dayjs | null {\n return timestamp ? dayjs(timestamp.toDate()) : null;\n}","import { SelectionModel } from \"@angular/cdk/collections\";\n\nexport function diff<T = any>(initial: SelectionModel<T>, current: SelectionModel<T>): {\n selectedIds: T[],\n unselectedIds: T[],\n} {\n return {\n selectedIds: current.selected.filter((id: T) => !initial.isSelected(id)),\n unselectedIds: initial.selected.filter((id: T) => !current.isSelected(id)),\n }\n}\n","import { Signal } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { AbstractControl } from \"@angular/forms\";\nimport { Observable, distinctUntilChanged, map, merge, of, startWith } from \"rxjs\";\nimport { computedAsync } from \"ngxtension/computed-async\";\nimport { computeFake } from \"@ng-atomic/core\";\n\nexport function getValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.value), control.valueChanges).pipe(\n distinctUntilChanged((pre, cur) => JSON.stringify(pre) === JSON.stringify(cur)),\n );\n}\n\nexport function getValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getValue$(control)) as Signal<T>;\n}\n\nexport function getRawValue$<T>(control: AbstractControl<T>): Observable<T> {\n return merge(of(control.getRawValue()), control.valueChanges.pipe(map(() => control.getRawValue())));\n}\n\nexport function getRawValue<T>(control: AbstractControl<T>): Signal<T> {\n return toSignal(getRawValue$(control)) as Signal<T>;\n}\n\nexport function computedRawValue<T>(controlFactory: () => AbstractControl<T>): Signal<T> {\n return computedAsync(() => controlFactory().valueChanges.pipe(\n startWith(null),\n map(() => controlFactory().getRawValue()),\n ), { initialValue: computeFake(controlFactory()).getRawValue() });\n}\n\nexport function getInvalid$<T>(control: AbstractControl<T>): Observable<boolean> {\n return control.statusChanges.pipe(\n startWith(null),\n map(() => control.invalid),\n );\n}\n\nexport function getInvalid<T>(form: AbstractControl<T>): Signal<boolean> {\n return toSignal(getInvalid$(form)) as Signal<boolean>;\n}\n\n","import { get as _get } from 'lodash-es';\n\n\nexport type PathKeys<T> = T extends object ? {\n [K in keyof T]-?: K extends string | number ?\n T[K] extends object ? [K] | [K, ...PathKeys<T[K]>] : [K]\n : never\n}[keyof T] : [];\n\n\nexport type NestedGetType<T, P extends any[]> = \n P extends [infer F, ...infer R]\n ? F extends keyof T\n ? NestedGetType<T[F], R>\n : never\n : T;\n\n\nexport function get<T, P extends PathKeys<T>>(obj: T, path: P): NestedGetType<T, P> {\n return _get(obj, path as any);\n}","import { Signal, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, ParamMap, Params } from \"@angular/router\";\nimport { Observable, OperatorFunction, combineLatest, map, of, shareReplay } from \"rxjs\";\nimport { unflatten } from 'flat';\n\nexport function injectRouterParam$(key: string): Observable<string> {\n return inject(ActivatedRoute).paramMap.pipe(\n map((params) => params.get(key)) as OperatorFunction<ParamMap, string>,\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\n\nexport function injectRouterParam(key: string): Signal<string> {\n return toSignal(injectRouterParam$(key)) as Signal<string>;\n}\n\nexport function injectRouteParams$({\n merge = true,\n route = inject(ActivatedRoute),\n}: {\n merge?: boolean,\n route?: ActivatedRoute,\n} = {}): Observable<Params> {\n const parentParams = (merge && route.parent) ? injectRouteParams$({merge, route: route.parent}) : of(new Map<string, string>());\n return combineLatest({\n parentParams,\n params: route.params\n }).pipe(\n map(({parentParams, params}) => ({\n ...parentParams,\n ...params,\n })),\n shareReplay(1),\n takeUntilDestroyed(),\n )\n}\n\nexport function injectUnflattenRouteParams$({\n merge = true,\n route = inject(ActivatedRoute),\n}: {\n merge?: boolean,\n route?: ActivatedRoute,\n} = {}) {\n return injectRouteParams$({merge, route}).pipe(\n map((params) => (unflatten(params) as any)),\n );\n}\n\nexport function injectUnflattenRouteParam$<T = any>(key?: string): Observable<T> {\n return injectUnflattenRouteParams$().pipe(\n map((params) => key ? params[key]: params),\n );\n}\n\nexport function injectUnflattenRouteParam<T = any>(key?: string): Signal<T> {\n return toSignal(injectUnflattenRouteParam$(key)) as Signal<T>;\n}\n\nexport function injectUnflattenRouteParams({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<any> {\n return toSignal(injectUnflattenRouteParams$({merge}), {initialValue: {}});\n}\n\nexport function injectRouteParamMap$({\n merge = true,\n}: {\n merge?: boolean,\n} = {}) {\n return injectRouteParams$({merge}).pipe(\n map((params) => new Map(Object.entries(params)) as never as ParamMap),\n );\n}\n\nexport function injectRouteParamMap({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<ParamMap> {\n return toSignal(injectRouteParamMap$({merge})) as Signal<ParamMap>;\n}\n\nexport function injectRouteParams({\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Signal<Record<string, string>> {\n return toSignal(injectRouteParams$({merge})) as Signal<Record<string, string>>;\n}\n\nexport function injectRouteParam$(key: string, {\n merge = true,\n}: {\n merge?: boolean,\n} = {}): Observable<string> {\n return injectRouteParamMap$({merge}).pipe(\n map((params) => params.get(key)) as OperatorFunction<ParamMap, string>,\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteParam(key: string, injector?: import(\"@angular/core\").Injector): Signal<string> {\n return toSignal(injectRouteParam$(key), {injector}) as Signal<string>;\n}\n\nexport function injectRouteSkip$(): Observable<boolean> {\n return injectRouteParam$('skip', {merge: false}).pipe(\n map((skip) => skip === 'true'),\n shareReplay(1),\n takeUntilDestroyed(),\n )\n}\n\nexport function injectRouteSkip(): Signal<boolean> {\n return toSignal(injectRouteSkip$()) as Signal<boolean>;\n}\n","import { Signal, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Observable, map, shareReplay } from \"rxjs\";\n\nexport function injectRouteQueryParam$<T extends string = string>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouteQueryParam(key: string): Signal<string> {\n return toSignal(injectRouteQueryParam$(key)) as Signal<string>;\n}\n\nexport function injectRouterQueryParam$<T extends string = string>(key: string): Observable<T> {\n return inject(ActivatedRoute).queryParamMap.pipe(\n map((params) => params.get(key) as T),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectRouterQueryParam<T extends string = string>(key: string): Signal<T> {\n return toSignal(injectRouterQueryParam$(key)) as Signal<T>;\n}\n","import { Signal, computed, inject } from \"@angular/core\";\nimport { takeUntilDestroyed, toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute, NavigationEnd, NavigationExtras, Router } from \"@angular/router\";\nimport { Observable, filter, map, of, shareReplay, startWith, switchMap } from \"rxjs\";\n\nexport function injectRouteNavigated$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => route),\n );\n}\n\nexport function injectRouteNavigated() {\n return toSignal(injectRouteNavigated$());\n}\n\nexport function injectPrimaryPaths$() {\n return injectRouteNavigated$().pipe(\n map(route => {\n const paths: (string | null)[] = [];\n let current: ActivatedRoute | null = route.root;\n while (current) {\n paths.push(current?.routeConfig?.path ?? null);\n current = current.firstChild;\n }\n return paths.filter(Boolean);\n }),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectPrimaryPaths() {\n return toSignal(injectPrimaryPaths$());\n}\n\nexport function injectChildRouteParam$(key: string): Observable<string> {\n return injectRouteNavigated$().pipe(\n switchMap((route) => route?.firstChild ? route.firstChild.paramMap : of(new Map<string, string>())),\n map((params) => params.get(key) as string),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRouteParam(key: string): Signal<string> {\n return toSignal(injectChildRouteParam$(key)) as Signal<string>;\n}\n\nexport function injectChildRoute$() {\n return injectRouteNavigated$().pipe(\n map((route) => (route?.firstChild?.firstChild ?? null) as ActivatedRoute),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectChildRoute(): Signal<ActivatedRoute> {\n return toSignal(injectChildRoute$()) as Signal<ActivatedRoute>;\n}\n\nexport function injectHasNext$() {\n const router = inject(Router);\n const route = inject(ActivatedRoute);\n return router.events.pipe(\n startWith(null),\n map(() => !!route?.firstChild?.firstChild),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function injectHasNext() {\n return toSignal(injectHasNext$());\n}\n\nexport function injectNavigationExtras(): Signal<NavigationExtras> {\n const relativeTo = inject(ActivatedRoute);\n const hasNext = injectHasNext();\n return computed(() => ({ relativeTo, replaceUrl: hasNext() }));\n}\n","import { Injector, Signal, computed, inject } from \"@angular/core\";\nimport { toSignal } from \"@angular/core/rxjs-interop\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Observable, map } from \"rxjs\";\nimport { get } from \"lodash-es\";\n\nexport function injectRouteData$<T>(path: string): Observable<T> {\n return inject(ActivatedRoute).data.pipe(map(data => get(data, path) as T));\n}\n\nexport function injectRouteData<T>(key: string): Signal<T> {\n return toSignal(injectRouteData$<T>(key)) as Signal<T>;\n}\n\nexport function injectRouteDataSnapshot<T>(key: string): Signal<T> {\n const route = inject(ActivatedRoute);\n return computed(() => route.snapshot.data[key] as T);\n}\n\nexport function injectActivatedComponents(injector: Injector = inject(Injector)): any[] {\n const components = [];\n let route = injector.get(ActivatedRoute, {optional: true}) ?? null;\n while(route) {\n if (route.component) components.push(route.component);\n route = route.parent;\n }\n return components;\n}\n","import { Injectable } from \"@angular/core\";\nimport { takeUntilDestroyed } from \"@angular/core/rxjs-interop\";\nimport { Observable, combineLatest, map, of, shareReplay } from \"rxjs\";\nimport { BaseResolver, Type } from \"@nx-ddd/common/domain\";\n\nexport interface Resolver<T> {\n resolve(entry: T): T;\n resolveMany(entities: T[]): T[];\n}\n\nexport function provideResolver(\n Entity: Type<{id: string}>,\n ResolverType: new (params: Record<string, Observable<any>>) => Resolver<any>,\n) {\n return {\n provide: Entity,\n deps: [],\n multi: true,\n };\n}\n\n@Injectable({providedIn: 'root'})\nexport class ResolverManager {\n protected map = new Map<string, Resolver<any>>();\n\n get(Entity: Type<{id: string}>) {\n if (!this.map.has(Entity.name)) {\n void 0;\n }\n return this.map.get(Entity.name);\n }\n}\n\nexport function injectResolver$<T>(\n ResolverType: Type<BaseResolver<T>>,\n params: Record<string, Observable<any>>,\n): Observable<BaseResolver<T>> {\n const params$ = Object.keys(params).length > 0 ? combineLatest(params) : of({});\n return params$.pipe(\n map((params) => new ResolverType(params)),\n shareReplay(1),\n takeUntilDestroyed(),\n );\n}\n\nexport function getResolver<T>(\n ResolverType: new (params: Record<string, any>) => Resolver<T>,\n params: Record<string, any>,\n): Resolver<T> {\n return new ResolverType(params);\n}\n","\nimport { Optional, Inject, InjectionToken } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport { Dayjs } from 'dayjs';\nimport utc from 'dayjs/plugin/utc';\nimport localeData from 'dayjs/plugin/localeData';\nimport LocalizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\n\nexport interface DayJsDateAdapterOptions {\n \n useUtc?: boolean;\n}\n\n\nexport const MAT_DAYJS_DATE_ADAPTER_OPTIONS = new InjectionToken<DayJsDateAdapterOptions>(\n 'MAT_DAYJS_DATE_ADAPTER_OPTIONS', {\n providedIn: 'root',\n factory: MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY\n});\n\nexport function MAT_DAYJS_DATE_ADAPTER_OPTIONS_FACTORY(): DayJsDateAdapterOptions {\n return {\n useUtc: false\n };\n}\n\n\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n\nexport class DayjsDateAdapter extends DateAdapter<Dayjs> {\n private localeData!: {\n firstDayOfWeek: number,\n longMonths: string[],\n shortMonths: string[],\n dates: string[],\n longDaysOfWeek: string[],\n shortDaysOfWeek: string[],\n narrowDaysOfWeek: string[]\n };\n\n constructor(\n @Optional() @Inject(MAT_DATE_LOCALE) public dateLocale: string,\n @Optional() @Inject(MAT_DAYJS_DATE_ADAPTER_OPTIONS) private options?: DayJsDateAdapterOptions\n ) {\n super();\n this.initializeParser(dateLocale);\n }\n\n override setLocale(locale: string) {\n super.setLocale(locale);\n\n const dayJsLocaleData = this.dayJs().localeData();\n this.localeData = {\n firstDayOfWeek: dayJsLocaleData.firstDayOfWeek(),\n longMonths: dayJsLocaleData.months(),\n shortMonths: dayJsLocaleData.monthsShort(),\n dates: range(31, (i) => this.createDate(2017, 0, i + 1).format('D')),\n longDaysOfWeek: range(7, (i) => this.dayJs().set('day', i).format('dddd')),\n shortDaysOfWeek: dayJsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: dayJsLocaleData.weekdaysMin(),\n };\n }\n\n getYear(date: Dayjs): number {\n return this.dayJs(date).year();\n }\n\n getMonth(date: Dayjs): number {\n return this.dayJs(date).month();\n }\n\n getDate(date: Dayjs): number {\n return this.dayJs(date).date();\n }\n\n getDayOfWeek(date: Dayjs): number {\n return this.dayJs(date).day();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return style === 'long' ? this.localeData.longMonths : this.localeData.shortMonths;\n }\n\n getDateNames(): string[] {\n return this.localeData.dates;\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n if (style === 'long') {\n return this.localeData.longDaysOfWeek;\n }\n if (style === 'short') {\n return this.localeData.shortDaysOfWeek;\n }\n return this.localeData.narrowDaysOfWeek;\n }\n\n getYearName(date: Dayjs): string {\n return this.dayJs(date).format('YYYY');\n }\n\n getFirstDayOfWeek(): number {\n return this.localeData.firstDayOfWeek;\n }\n\n getNumDaysInMonth(date: Dayjs): number {\n return this.dayJs(date).daysInMonth();\n }\n\n clone(date: Dayjs): Dayjs {\n return date.clone();\n }\n\n createDate(year: number, month: number, date: number): Dayjs {\n const returnDayjs = this.dayJs()\n .set('year', year)\n .set('month', month)\n .set('date', date);\n return returnDayjs;\n }\n\n today(): Dayjs {\n return this.dayJs();\n }\n\n parse(value: any, parseFormat: string): Dayjs | null {\n if (value && typeof value === 'string') {\n return this.dayJs(value, dayjs().localeData().longDateFormat(parseFormat), this.locale);\n }\n return value ? this.dayJs(value).locale(this.locale) : null;\n }\n\n format(date: Dayjs, displayFormat: string): string {\n if (!this.isValid(date)) {\n throw Error('DayjsDateAdapter: Cannot format invalid date.');\n }\n return date.locale(this.locale).format(displayFormat);\n }\n\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n \n override deserialize(value: any): Dayjs | null {\n let date;\n if (value instanceof Date) {\n date = this.dayJs(value);\n } else if (this.isDateInstance(value)) {\n \n return this.clone(value);\n }\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n date = this.dayJs(value).toISOString();\n }\n if (date && this.isValid(date as Dayjs)) {\n return this.dayJs(date); \n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any): boolean {\n return dayjs.isDayjs(obj);\n }\n\n isValid(date: Dayjs): boolean {\n return this.dayJs(date).isValid();\n }\n\n invalid(): Dayjs {\n return this.dayJs(null);\n }\n\n private dayJs(input?: any, format?: string, locale?: string): Dayjs {\n if (!this.shouldUseUtc) {\n return dayjs(input, { format, locale }, locale);\n }\n return dayjs(input, { format, locale, utc: this.shouldUseUtc }, locale).utc();\n }\n\n private get shouldUseUtc(): boolean {\n const { useUtc }: DayJsDateAdapterOptions = this.options || {};\n return !!useUtc;\n }\n\n private initializeParser(dateLocale: string) {\n if (this.shouldUseUtc) {\n dayjs.extend(utc);\n }\n\n dayjs.extend(LocalizedFormat);\n dayjs.extend(customParseFormat);\n dayjs.extend(localeData);\n\n this.setLocale(dateLocale);\n }\n}","import { MatDateFormats } from '@angular/material/core';\n\n\nexport const MAT_DAYJS_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: 'MM/DD/YYYY',\n },\n display: {\n dateInput: 'MM/DD/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};","import { MatDateFormats, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport dayjs from 'dayjs';\nimport 'dayjs/locale/ja'\ndayjs.locale('ja');\n\nexport const MAT_DAYJS_DATE_FORMATS_FOR_JP: MatDateFormats = {\n parse: {\n dateInput: 'YYYY/MM/DD',\n },\n display: {\n dateInput: 'YYYY/MM/DD',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n }\n};\n\nexport const MAT_DAYJS_JP_PROVIDERS = [\n { provide: MAT_DATE_LOCALE, useValue: 'ja' },\n { provide: MAT_DATE_FORMATS, useValue: MAT_DAYJS_DATE_FORMATS_FOR_JP },\n];\n","import { NgModule, Provider } from '@angular/core';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { DayjsDateAdapter, MAT_DAYJS_DATE_ADAPTER_OPTIONS } from './dayjs-date.adapter';\nimport { MAT_DAYJS_DATE_FORMATS } from './dayjs-date.formats';\n\n@NgModule({\n providers: [\n provideDayjsDateAdapter(),\n ],\n})\nexport class DayjsDateModule { }\n\nexport function provideDayjsDateAdapter(): Provider[] {\n return [\n {\n provide: DateAdapter,\n useClass: DayjsDateAdapter,\n deps: [\n MAT_DATE_LOCALE, \n MAT_DAYJS_DATE_ADAPTER_OPTIONS,\n ]\n },\n {\n provide: MAT_DATE_FORMATS,\n useValue: MAT_DAYJS_DATE_FORMATS,\n }, \n ]\n}\n","import { PageEvent } from '@angular/material/paginator';\n\nexport interface Page extends PageEvent {\n sortKey: string;\n sortOrder: 'asc' | 'desc';\n}\n\nexport class Page {\n static from(event: Partial<Page> = {}): Page {\n return Object.assign(new Page(), {\n pageSize: 50,\n pageIndex: 0,\n length: 100,\n ...event\n });\n }\n\n get start(): number {\n return this.pageIndex * this.pageSize;\n }\n\n get end(): number {\n return Math.min((this.pageIndex + 1) * this.pageSize, this.length);\n }\n\n patch(obj: Partial<Page>): Page {\n return Page.from({...this, ...obj});\n }\n}\n","import { ActivatedRouteSnapshot, RouterStateSnapshot, Routes } from \"@angular/router\";\n\nexport function walkActivatedRouteSnapshot(\n snapshot: ActivatedRouteSnapshot,\n callback: (snapshot: ActivatedRouteSnapshot) => boolean,\n target: 'children' | 'parent' = 'children',\n): void {\n if(callback(snapshot)) return;\n if (target === 'children') {\n snapshot.children.forEach(child => walkActivatedRouteSnapshot(child, callback, target));\n }\n}\n\n\nexport function skippedResolver(outlet = 'primary') {\n\tlet skipped: boolean | undefined;\n\n\treturn (route: ActivatedRouteSnapshot, snapshot: RouterStateSnapshot) => {\n\t\tconst routes: ActivatedRouteSnapshot[] = [];\n\t\twalkActivatedRouteSnapshot(snapshot.root, snapshot => {\n\t\t\tif (snapshot.outlet === outlet) {\n\t\t\t\troutes.push(snapshot);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\n\t\tif (route === (routes as any).at(-1)) {\n\t\t\treturn skipped = false;\n\t\t}\n\n\t\treturn skipped ??= route !== (routes as any).at(-1);\n\t}\n}\n\nfunction resolveModule(m: any) {\n if (m.default) {\n return m.default;\n }\n return m;\n}\n\nexport function wrapRoutes(routes: Routes): Routes {\n return (routes ?? []).map(route => {\n if (route.loadChildren) {\n return {\n ...route,\n loadChildren: () => (route.loadChildren!() as Promise<Routes>).then(routes => {\n\t\t\t\t\treturn wrapRoutes(resolveModule(routes))\n\t\t\t\t}),\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n }\n };\n }\n return {\n ...route,\n resolve: {\n ...(route?.resolve || {}),\n skipped: skippedResolver(),\n },\n };\n });\n}","import { inject, InjectionToken } from '@angular/core';\nimport dayjs from 'dayjs';\nimport { comma } from '../comma';\n\nexport const yenTransform = (value: number, _unit = ''): string => {\n return `${comma(value)} ${_unit}`;\n}\n\nexport type ExpressionTransformer = (value: string | number | dayjs.Dayjs | any, context?: any) => string;\nexport const defaultExpressionTransformer: ExpressionTransformer = input => {\n if (dayjs.isDayjs(input)) {\n return input.format('YY/MM/DD');\n } else if (Array.isArray(input)) {\n return `${input.length}個のアイテム`;\n } else if (typeof input === 'object') {\n return JSON.stringify(input);\n } else if (typeof input === 'string') {\n return input;\n } else if (typeof input === 'number') {\n return yenTransform(input);\n } else {\n return input;\n }\n}\n\nexport const EXPRESSION_TRANSFORMER = new InjectionToken<ExpressionTransformer>('[@ng-atomic/common] Expression Transformer', {\n providedIn: 'root',\n factory: () => defaultExpressionTransformer,\n});\n\nexport function provideExpressionTransformer(useFactory: () => ExpressionTransformer) {\n return { provide: EXPRESSION_TRANSFORMER, useFactory };\n}\n\nexport function injectParentExpressionTransformer() {\n return inject(EXPRESSION_TRANSFORMER, {skipSelf: true, optional: true}) ?? defaultExpressionTransformer\n}\n\nexport const smartExpTransformer: ExpressionTransformer = defaultExpressionTransformer;\n","const getAllProps = (obj: object, keys: string[] = Object.keys(obj)): string[] => {\n const proto = Object.getPrototypeOf(obj);\n keys = Object.getOwnPropertyNames(proto)\n .filter(v => v !== '__proto__')\n .filter(v => Object.getOwnPropertyDescriptor(proto, v)?.get instanceof Function)\n .concat(keys);\n\n return proto.constructor.name === 'Object' ? keys : getAllProps(proto, keys);\n}\n\nexport const toObject = (obj: object): object => getAllProps(obj).reduce((p, k) => ({...p, [k]: (obj as Record<string, unknown>)[k]}), {});\n","\nexport function formatSeconds(seconds: number): string {\n const h = `${Math.floor(seconds / 3600)}`.padStart(2, '0');\n const m = `${Math.floor(seconds % 3600 / 60)}`.padStart(2, '0');\n const s = `${Math.floor(seconds % 3600 % 60)}`.padStart(2, '0');\n return `${h}:${m}:${s}`;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_get","get"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/common.module.ts","../../../../../packages/@ng-atomic/common/src/lib/services/editing/editing-state-manager.service.ts","../../../../../packages/@ng-atomic/common/src/lib/operators/pause-when-editing.operator.ts","../../../../../packages/@ng-atomic/common/src/lib/directives/active-control/handlers/event-handlers.ts","../../../../../packages/@ng-atomic/common/src/lib/directives/active-control/handlers/scroll-control.ts","../../../../../packages/@ng-atomic/common/src/lib/directives/active-control/active-control.directive.ts","../../../../../packages/@ng-atomic/common/src/lib/ng-atomic-common.ts"],"sourcesContent":["import { EnvironmentProviders, importProvidersFrom, NgModule } from \"@angular/core\";\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { NgAtomicSheetsModule } from \"@ng-atomic/common/services/sheets\";\n\n\n@NgModule({\n imports: [\n MatDialogModule,\n MatSnackBarModule,\n NgAtomicSheetsModule,\n ]\n})\nexport class NgAtomicCommonModule {\n static forRoot() {\n return {\n ngModule: NgAtomicCommonModule,\n providers: [\n ],\n }\n }\n}\n\nexport function provideNgAtomicCommon(): EnvironmentProviders {\n return importProvidersFrom(NgAtomicCommonModule.forRoot());\n}\n","import { Injectable, signal, computed } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { Observable } from 'rxjs';\n\n\n@Injectable({ providedIn: 'root' })\nexport class EditingStateManager {\n private readonly editingCells = signal<string[]>([]);\n readonly isEditing = computed(() => this.editingCells().length > 0);\n readonly isEditing$: Observable<boolean> = toObservable(this.isEditing);\n \n \n startEditing(rowId: string | number, columnId: string): void {\n const cellKey = `${rowId}-${columnId}`;\n this.editingCells.update(cells => {\n const newCells = new Set(cells);\n newCells.add(cellKey);\n return [...newCells];\n });\n }\n \n \n stopEditing(rowId: string | number, columnId: string): void {\n const cellKey = `${rowId}-${columnId}`;\n this.editingCells.update(cells => {\n const newCells = new Set(cells);\n newCells.delete(cellKey);\n return [...newCells];\n });\n }\n}","import { Observable, MonoTypeOperatorFunction } from 'rxjs';\nimport { EditingStateManager } from '../services/editing/editing-state-manager.service';\n\n\nexport function pauseWhenEditing<T>(\n editingStateManager: EditingStateManager\n): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => {\n return new Observable<T>(observer => {\n let pendingValues: T[] = [];\n let isEditing = false;\n \n \n const editingSub = editingStateManager.isEditing$.subscribe(editing => {\n const wasEditing = isEditing;\n isEditing = editing;\n console.debug('[pauseWhenEditing] Editing state changed:', { wasEditing, isEditing, pendingCount: pendingValues.length });\n \n \n if (wasEditing && !isEditing && pendingValues.length > 0) {\n \n const latestValue = pendingValues[pendingValues.length - 1];\n pendingValues = [];\n console.debug('[pauseWhenEditing] Emitting pending value after edit end');\n observer.next(latestValue);\n }\n });\n \n \n const sourceSub = source.subscribe({\n next: value => {\n if (!isEditing) {\n \n console.debug('[pauseWhenEditing] Passing through value (not editing)');\n observer.next(value);\n } else {\n \n pendingValues.push(value);\n console.debug('[pauseWhenEditing] Buffering value (editing)', { pendingCount: pendingValues.length });\n }\n },\n error: err => observer.error(err),\n complete: () => observer.complete()\n });\n\n \n return () => {\n editingSub.unsubscribe();\n sourceSub.unsubscribe();\n };\n });\n };\n}\n\n\nexport function bufferWhenEditing<T>(\n editingStateManager: EditingStateManager\n): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => {\n return new Observable<T>(observer => {\n const buffer: T[] = [];\n let isEditing = false;\n \n \n const editingSub = editingStateManager.isEditing$.subscribe(editing => {\n const wasEditing = isEditing;\n isEditing = editing;\n \n \n if (wasEditing && !isEditing && buffer.length > 0) {\n buffer.forEach(value => observer.next(value));\n buffer.length = 0; \n }\n });\n \n \n const sourceSub = source.subscribe({\n next: value => {\n if (!isEditing) {\n observer.next(value);\n } else {\n buffer.push(value);\n }\n },\n error: err => observer.error(err),\n complete: () => observer.complete()\n });\n \n \n return () => {\n editingSub.unsubscribe();\n sourceSub.unsubscribe();\n };\n });\n };\n}","import { Signal, WritableSignal } from '@angular/core';\n\nexport type CleanupFunction = () => void;\n\nexport interface ActiveControlOptions {\n \n disableStopPropagation?: boolean;\n \n scrollSelectors?: string[];\n \n focusTargetSelector?: string;\n}\n\nexport class ActiveControlEventHandlers {\n private cleanupFunctions: CleanupFunction[] = [];\n\n constructor(\n private hostElement: HTMLElement,\n private isActive: WritableSignal<boolean>,\n private onActiveChange: (active: boolean) => void,\n private options: ActiveControlOptions = {}\n ) {}\n\n setupAll(): CleanupFunction[] {\n this.setupClickHandlers();\n this.setupPreventionHandlers();\n return this.cleanupFunctions;\n }\n\n private setupClickHandlers(): void {\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n const CLICK_MOVE_THRESHOLD_PX = 5;\n let justActivated = false;\n let gestureStart: { x: number; y: number } | null = null;\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n const gestureStartHandler = (e: MouseEvent) => {\n justActivated = false;\n gestureStart = this.hostElement.contains(e.target as Node)\n ? { x: e.screenX, y: e.screenY }\n : null;\n };\n this.addEventListener(window, 'mousedown', gestureStartHandler, { capture: true });\n\n const mousedownHandler = (e: MouseEvent) => {\n if (!this.isActive()) {\n this.setActive(true);\n justActivated = true;\n \n \n \n \n \n \n if (this.options.focusTargetSelector) {\n const target = this.hostElement.querySelector<HTMLElement>(this.options.focusTargetSelector);\n if (target) {\n e.preventDefault();\n target.focus();\n }\n }\n }\n \n \n if (!this.options.disableStopPropagation) {\n e.stopPropagation();\n }\n };\n this.addEventListener(this.hostElement, 'mousedown', mousedownHandler);\n\n \n \n \n \n \n \n const mouseupHandler = (e: MouseEvent) => {\n const start = gestureStart;\n gestureStart = null;\n if (e.button !== 0) {\n return; \n }\n if (justActivated) {\n justActivated = false;\n return;\n }\n if (!start) {\n return; \n }\n const moved = Math.hypot(e.screenX - start.x, e.screenY - start.y) > CLICK_MOVE_THRESHOLD_PX;\n if (moved) {\n return; \n }\n if (this.isActive()) {\n this.setActive(false);\n }\n };\n this.addEventListener(window, 'mouseup', mouseupHandler, { capture: true });\n\n \n const documentClickListener = (e: MouseEvent) => {\n if (!this.hostElement.contains(e.target as Node) && this.isActive()) {\n this.setActive(false);\n }\n };\n document.addEventListener('mousedown', documentClickListener, { capture: true });\n this.cleanupFunctions.push(() =>\n document.removeEventListener('mousedown', documentClickListener, { capture: true })\n );\n }\n\n private setupPreventionHandlers(): void {\n \n \n \n this.addEventListener(this.hostElement, 'wheel', (e: WheelEvent) => {\n if (this.isActive()) {\n \n if (e.ctrlKey) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n \n const target = e.target as HTMLElement;\n const isScrollableElement = this.options.scrollSelectors?.some(selector =>\n target.closest(selector) !== null\n );\n if (!isScrollableElement) {\n e.preventDefault();\n e.stopPropagation();\n }\n }\n }, { passive: false });\n\n \n const touchHandler = (e: TouchEvent) => {\n if (!this.isActive()) return;\n\n \n const target = e.target as HTMLElement;\n const isScrollableElement = this.options.scrollSelectors?.some(selector =>\n target.closest(selector) !== null\n );\n if (!isScrollableElement) {\n if (e.touches.length > 1) {\n \n e.preventDefault();\n e.stopPropagation();\n }\n \n }\n };\n this.addEventListener(this.hostElement, 'touchstart', touchHandler, { passive: false });\n this.addEventListener(this.hostElement, 'touchmove', touchHandler, { passive: false });\n\n \n const gestureHandler = (e: Event) => {\n if (this.isActive()) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n ['gesturestart', 'gesturechange', 'gestureend'].forEach(eventName => {\n this.addEventListener(this.hostElement, eventName, gestureHandler, { passive: false });\n });\n\n \n \n this.setupDocumentLevelPinchZoomPrevention();\n }\n\n \n private setupDocumentLevelPinchZoomPrevention(): void {\n \n const documentTouchHandler = (e: TouchEvent) => {\n if (!this.isActive()) return;\n if (!this.hostElement.contains(e.target as Node)) return;\n\n if (e.touches.length > 1) {\n e.preventDefault();\n }\n };\n\n document.addEventListener('touchstart', documentTouchHandler, { capture: true, passive: false });\n document.addEventListener('touchmove', documentTouchHandler, { capture: true, passive: false });\n\n this.cleanupFunctions.push(() => {\n document.removeEventListener('touchstart', documentTouchHandler, { capture: true });\n document.removeEventListener('touchmove', documentTouchHandler, { capture: true });\n });\n\n \n const documentGestureHandler = (e: Event) => {\n if (!this.isActive()) return;\n if (!this.hostElement.contains(e.target as Node)) return;\n e.preventDefault();\n };\n\n ['gesturestart', 'gesturechange', 'gestureend'].forEach(eventName => {\n document.addEventListener(eventName, documentGestureHandler, { capture: true, passive: false });\n this.cleanupFunctions.push(() =>\n document.removeEventListener(eventName, documentGestureHandler, { capture: true })\n );\n });\n }\n\n private addEventListener(\n element: HTMLElement | Document | Window,\n event: string,\n handler: (e: any) => void,\n options?: AddEventListenerOptions\n ): void {\n element.addEventListener(event, handler as EventListener, options);\n this.cleanupFunctions.push(() => element.removeEventListener(event, handler as EventListener, options));\n }\n\n private toggleActive(): void {\n this.setActive(!this.isActive());\n }\n\n private setActive(active: boolean): void {\n this.isActive.set(active);\n this.onActiveChange(active);\n }\n}\n","import { Signal } from '@angular/core';\nimport { CleanupFunction } from './event-handlers';\n\nexport interface ScrollControlOptions {\n \n disableScrollLock?: boolean;\n}\n\nexport class ScrollControl {\n private lockedScrollTop = 0;\n private wasActive = false;\n private rafId?: number;\n\n constructor(\n private scrollElement: HTMLElement,\n private isActive: Signal<boolean>,\n private options: ScrollControlOptions = {}\n ) {}\n\n setup(): CleanupFunction[] {\n const cleanups: CleanupFunction[] = [];\n\n \n const checkActiveState = () => {\n const isActiveNow = this.isActive();\n\n if (!this.options.disableScrollLock) {\n if (!isActiveNow && this.wasActive) {\n \n this.lockedScrollTop = this.scrollElement.scrollTop;\n } else if (!isActiveNow) {\n \n this.scrollElement.scrollTop = this.lockedScrollTop;\n }\n }\n \n\n this.wasActive = isActiveNow;\n this.rafId = requestAnimationFrame(checkActiveState);\n };\n checkActiveState();\n cleanups.push(() => {\n if (this.rafId !== undefined) {\n cancelAnimationFrame(this.rafId);\n }\n });\n\n \n const scrollHandler = () => {\n if (!this.options.disableScrollLock && !this.isActive()) {\n this.scrollElement.scrollTop = this.lockedScrollTop;\n }\n };\n this.scrollElement.addEventListener('scroll', scrollHandler);\n cleanups.push(() => this.scrollElement.removeEventListener('scroll', scrollHandler));\n\n return cleanups;\n }\n}\n","import { Directive, ElementRef, input, output, effect, signal, OnDestroy, inject } from '@angular/core';\nimport { ActiveControlEventHandlers, ScrollControl } from './handlers';\n\n\n@Directive({\n selector: '[appActiveControl]',\n standalone: true,\n host: {\n '[class.active]': 'isActive()',\n '[class.nodrag]': '!disableNodrag()',\n '[class.nowheel]': 'isActive()',\n }\n})\nexport class ActiveControlDirective implements OnDestroy {\n private readonly el = inject(ElementRef);\n readonly scrollSelector = input<string>();\n readonly scrollSelectors = input<string[]>();\n \n readonly disableStopPropagation = input<boolean>(false);\n \n readonly disableScrollLock = input<boolean>(false);\n \n readonly disableNodrag = input<boolean>(false);\n \n readonly focusTargetSelector = input<string>();\n readonly activeChange = output<boolean>();\n readonly isActive = signal<boolean>(false);\n\n private eventCleanupFunctions: (() => void)[] = [];\n private scrollCleanupFunctions: (() => void)[] = [];\n private eventHandlersInitialized = false;\n\n constructor() {\n \n effect(() => {\n if (!this.eventHandlersInitialized) {\n setTimeout(() => this.initializeEventHandlers(), 100);\n this.eventHandlersInitialized = true;\n }\n }, { allowSignalWrites: true });\n\n \n effect(() => {\n const selectors = this.getScrollSelectors();\n setTimeout(() => this.setupScrollControls(selectors), 150);\n });\n }\n\n ngOnDestroy(): void {\n this.eventCleanupFunctions.forEach(cleanup => cleanup());\n this.scrollCleanupFunctions.forEach(cleanup => cleanup());\n }\n\n private initializeEventHandlers(): void {\n const hostElement = this.el.nativeElement as HTMLElement;\n const scrollSelectors = this.getScrollSelectors();\n const eventHandlers = new ActiveControlEventHandlers(\n hostElement,\n this.isActive,\n (active) => this.activeChange.emit(active),\n {\n disableStopPropagation: this.disableStopPropagation(),\n scrollSelectors,\n focusTargetSelector: this.focusTargetSelector(),\n }\n );\n this.eventCleanupFunctions.push(...eventHandlers.setupAll());\n }\n\n private setupScrollControls(selectors: string[]): void {\n \n this.scrollCleanupFunctions.forEach(cleanup => cleanup());\n this.scrollCleanupFunctions = [];\n\n const hostElement = this.el.nativeElement as HTMLElement;\n const disableScrollLock = this.disableScrollLock();\n for (const selector of selectors) {\n \n const scrollElements = hostElement.querySelectorAll<HTMLElement>(selector);\n scrollElements.forEach(scrollElement => {\n const scrollControl = new ScrollControl(scrollElement, this.isActive, { disableScrollLock });\n this.scrollCleanupFunctions.push(...scrollControl.setup());\n });\n }\n }\n\n private getScrollSelectors(): string[] {\n const multiple = this.scrollSelectors();\n if (multiple && multiple.length > 0) {\n return multiple;\n }\n const single = this.scrollSelector();\n return single ? [single] : [];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-directives-active-control.d.ts","sources":["../../../../../packages/@ng-atomic/common/src/lib/directives/active-control/active-control.directive.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA,cAAA,sBAAA,YAAA,SAAA;AAUE;6BACuB,aAAA,CAAA,WAAA;8BACC,aAAA,CAAA,WAAA;qCAEO,aAAA,CAAA,WAAA;gCAEL,aAAA,CAAA,WAAA;4BAEJ,aAAA,CAAA,WAAA;kCAEM,aAAA,CAAA,WAAA;2BACP,aAAA,CAAA,gBAAA;uBACJ,aAAA,CAAA,cAAA;;;;;AAsBjB;AAKA;AAgBA;AAiBA;;;AAQD;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-directives-fallback-src.d.ts","sources":["../../../../../packages/@ng-atomic/common/src/lib/directives/fallback-src/fallback-src.directive.ts"],"sourcesContent":[null],"names":["_angular_core"],"mappings":";;;AAEA,cAAA,oBAAA;0BAKsBA,EAAA,CAAA,cAAA;;;;;AAQrB;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-directives-ios-safari-scroll-buggyfill.d.ts","sources":["../../../../../packages/@ng-atomic/common/src/lib/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.directive.ts","../../../../../packages/@ng-atomic/common/src/lib/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.module.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;AAEA,cAAA,iCAAA,YAAA,aAAA;AAME;;;;AAWD;;ACbD,cAAA,8BAAA;;;;AAW+C;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-directives-molecules-column.d.ts","sources":["../../../../../packages/@ng-atomic/common/src/lib/directives/molecules/column/column.molecule.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAQA,aAAA,QAAA;AACE;AACD;AAED,uBAAA,2BAAA,SAAA,mBAAA;;AAEE,sCAAA,QAAA;;;;;;;;;;;;;;;;;;;;AAWiD;qBAGlC,aAAA,CAAA,WAAA,CAAA,MAAA;oBACD,aAAA,CAAA,WAAA;0BACM,aAAA,CAAA,cAAA;wBACF,aAAA,CAAA,WAAA;uBACD,aAAA,CAAA,WAAA;qBAEF,aAAA,CAAA,MAAA;wBACG,aAAA,CAAA,MAAA;yBACC,aAAA,CAAA,MAAA;mBACN,aAAA,CAAA,MAAA;mBACA,aAAA,CAAA,MAAA;oBACC,aAAA,CAAA,MAAA;AACd,0BAAoB,aAAA,CAAA,MAAA;;;;;AASjB;;;AACJ;AAED,uBAAA,sBAAA,SAAA,iBAAA,YAAA,MAAA,EAAA,SAAA;;;wBAQoB,aAAA,CAAA,MAAA,CAAA,YAAA;mBACL,aAAA,CAAA,MAAA,CAAA,UAAA;yBACM,aAAA,CAAA,MAAA,CAAA,gBAAA;;;;;;;;AA+CpB;;;;"}
|