@ng-atomic/common 18.12.0 → 18.13.0-preview-v19f.1
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/directives/molecules/column/column.molecule.d.ts +2 -1
- package/fesm2022/ng-atomic-common-directives-fallback-src.mjs +3 -3
- package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +9 -8
- package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-directives-molecules-column.mjs +18 -12
- package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-directives-resize-column.mjs +6 -6
- package/fesm2022/ng-atomic-common-interceptors-authorization.mjs +3 -4
- package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-interceptors-throttle.mjs +6 -6
- package/fesm2022/ng-atomic-common-interceptors-token.mjs +3 -3
- package/fesm2022/ng-atomic-common-interceptors.mjs +4 -4
- package/fesm2022/ng-atomic-common-pipes-actions.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-columns.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-domain.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-error.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-expression.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-index-length.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-index.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-keys.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-map.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-page.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-pagination.mjs +4 -4
- package/fesm2022/ng-atomic-common-pipes-query.mjs +4 -4
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-secret.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-select-id.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-signal.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-sort-by.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-sort.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-style.mjs +3 -3
- package/fesm2022/ng-atomic-common-pipes-yen.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-app.mjs +6 -6
- package/fesm2022/ng-atomic-common-services-auth.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-chips-manager.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-csv.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-fab.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-form-_index.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-form-columns.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-form-json-schema.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-form-pagination.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-form-sort.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-initializer.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-language.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-loading.mjs +6 -6
- package/fesm2022/ng-atomic-common-services-navigation-history.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-query-resolver.mjs +6 -6
- package/fesm2022/ng-atomic-common-services-root-property.mjs +14 -15
- package/fesm2022/ng-atomic-common-services-root-property.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-router.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-secret.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-sheets-actions.mjs +4 -4
- package/fesm2022/ng-atomic-common-services-sheets-actions.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-sheets.mjs +7 -7
- package/fesm2022/ng-atomic-common-services-side-app.mjs +6 -6
- package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-snack-bar.mjs +7 -7
- package/fesm2022/ng-atomic-common-services-spreadsheet.mjs +31 -31
- package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-ui.mjs +5 -5
- package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-entities.mjs +9 -9
- package/fesm2022/ng-atomic-common-stores-pagination.mjs +3 -3
- package/fesm2022/ng-atomic-common-stores-query.mjs +3 -3
- package/fesm2022/ng-atomic-common-stores-selection.mjs +3 -3
- package/fesm2022/ng-atomic-common-stores-sort.mjs +3 -3
- package/fesm2022/ng-atomic-common-utils.mjs +7 -7
- package/fesm2022/ng-atomic-common.mjs +11 -11
- package/package.json +54 -178
- package/pipes/index/index.pipe.d.ts +1 -1
- package/pipes/index-length/index-length.pipe.d.ts +1 -1
- package/services/spreadsheet/directives/grid-cell.directive.d.ts +3 -3
- package/services/ui/ui.helpers.d.ts +1 -1
- package/esm2022/common.module.mjs +0 -34
- package/esm2022/directives/fallback-src/fallback-src.directive.mjs +0 -25
- package/esm2022/directives/fallback-src/index.mjs +0 -2
- package/esm2022/directives/fallback-src/ng-atomic-common-directives-fallback-src.mjs +0 -5
- package/esm2022/directives/ios-safari-scroll-buggyfill/index.mjs +0 -3
- package/esm2022/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.directive.mjs +0 -24
- package/esm2022/directives/ios-safari-scroll-buggyfill/ios-safari-scroll-buggyfill.module.mjs +0 -24
- package/esm2022/directives/ios-safari-scroll-buggyfill/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs +0 -5
- package/esm2022/directives/molecules/column/column.molecule.mjs +0 -112
- package/esm2022/directives/molecules/column/index.mjs +0 -2
- package/esm2022/directives/molecules/column/ng-atomic-common-directives-molecules-column.mjs +0 -5
- package/esm2022/directives/resize-column/index.mjs +0 -2
- package/esm2022/directives/resize-column/ng-atomic-common-directives-resize-column.mjs +0 -5
- package/esm2022/directives/resize-column/resize-column.directive.mjs +0 -62
- package/esm2022/directives/resize-column/resize-handle.component.mjs +0 -13
- package/esm2022/index.mjs +0 -2
- package/esm2022/interceptors/authorization/authorization.interceptor.mjs +0 -39
- package/esm2022/interceptors/authorization/index.mjs +0 -2
- package/esm2022/interceptors/authorization/ng-atomic-common-interceptors-authorization.mjs +0 -5
- package/esm2022/interceptors/index.mjs +0 -2
- package/esm2022/interceptors/interceptors.module.mjs +0 -44
- package/esm2022/interceptors/ng-atomic-common-interceptors.mjs +0 -5
- package/esm2022/interceptors/throttle/index.mjs +0 -2
- package/esm2022/interceptors/throttle/ng-atomic-common-interceptors-throttle.mjs +0 -5
- package/esm2022/interceptors/throttle/throttle.interceptor.mjs +0 -63
- package/esm2022/interceptors/token/authorization.interceptor.mjs +0 -26
- package/esm2022/interceptors/token/index.mjs +0 -2
- package/esm2022/interceptors/token/ng-atomic-common-interceptors-token.mjs +0 -5
- package/esm2022/models/index.mjs +0 -2
- package/esm2022/models/menu-item.mjs +0 -2
- package/esm2022/models/ng-atomic-common-models.mjs +0 -5
- package/esm2022/ng-atomic-common.mjs +0 -5
- package/esm2022/pipes/actions/actions.pipe.mjs +0 -19
- package/esm2022/pipes/actions/index.mjs +0 -2
- package/esm2022/pipes/actions/ng-atomic-common-pipes-actions.mjs +0 -5
- package/esm2022/pipes/auto-columns/auto-columns.pipe.mjs +0 -20
- package/esm2022/pipes/auto-columns/index.mjs +0 -2
- package/esm2022/pipes/auto-columns/ng-atomic-common-pipes-auto-columns.mjs +0 -5
- package/esm2022/pipes/columns/columns.pipe.mjs +0 -18
- package/esm2022/pipes/columns/index.mjs +0 -2
- package/esm2022/pipes/columns/ng-atomic-common-pipes-columns.mjs +0 -5
- package/esm2022/pipes/data-accessor/data-accessor.pipe.mjs +0 -46
- package/esm2022/pipes/data-accessor/index.mjs +0 -2
- package/esm2022/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.mjs +0 -5
- package/esm2022/pipes/domain/domain.pipe.mjs +0 -71
- package/esm2022/pipes/domain/index.mjs +0 -2
- package/esm2022/pipes/domain/ng-atomic-common-pipes-domain.mjs +0 -5
- package/esm2022/pipes/error/error.pipe.mjs +0 -46
- package/esm2022/pipes/error/index.mjs +0 -2
- package/esm2022/pipes/error/ng-atomic-common-pipes-error.mjs +0 -5
- package/esm2022/pipes/expression/expression.pipe.mjs +0 -18
- package/esm2022/pipes/expression/index.mjs +0 -2
- package/esm2022/pipes/expression/ng-atomic-common-pipes-expression.mjs +0 -5
- package/esm2022/pipes/grouped-by/grouped-by.pipe.mjs +0 -29
- package/esm2022/pipes/grouped-by/index.mjs +0 -2
- package/esm2022/pipes/grouped-by/ng-atomic-common-pipes-grouped-by.mjs +0 -5
- package/esm2022/pipes/index/index.mjs +0 -2
- package/esm2022/pipes/index/index.pipe.mjs +0 -29
- package/esm2022/pipes/index/ng-atomic-common-pipes-index.mjs +0 -5
- package/esm2022/pipes/index-length/index-length.pipe.mjs +0 -22
- package/esm2022/pipes/index-length/index.mjs +0 -2
- package/esm2022/pipes/index-length/ng-atomic-common-pipes-index-length.mjs +0 -5
- package/esm2022/pipes/keys/index.mjs +0 -2
- package/esm2022/pipes/keys/keys.pipe.mjs +0 -18
- package/esm2022/pipes/keys/ng-atomic-common-pipes-keys.mjs +0 -5
- package/esm2022/pipes/map/index.mjs +0 -2
- package/esm2022/pipes/map/map.pipe.mjs +0 -17
- package/esm2022/pipes/map/ng-atomic-common-pipes-map.mjs +0 -5
- package/esm2022/pipes/page/index.mjs +0 -2
- package/esm2022/pipes/page/ng-atomic-common-pipes-page.mjs +0 -5
- package/esm2022/pipes/page/page.pipe.mjs +0 -25
- package/esm2022/pipes/pagination/index.mjs +0 -2
- package/esm2022/pipes/pagination/ng-atomic-common-pipes-pagination.mjs +0 -5
- package/esm2022/pipes/pagination/pagination.pipe.mjs +0 -32
- package/esm2022/pipes/query/index.mjs +0 -2
- package/esm2022/pipes/query/ng-atomic-common-pipes-query.mjs +0 -5
- package/esm2022/pipes/query/query.pipe.mjs +0 -33
- package/esm2022/pipes/resolve-columns/index.mjs +0 -2
- package/esm2022/pipes/resolve-columns/ng-atomic-common-pipes-resolve-columns.mjs +0 -5
- package/esm2022/pipes/resolve-columns/resolve-columns.pipe.mjs +0 -24
- package/esm2022/pipes/secret/index.mjs +0 -2
- package/esm2022/pipes/secret/ng-atomic-common-pipes-secret.mjs +0 -5
- package/esm2022/pipes/secret/secret.pipe.mjs +0 -21
- package/esm2022/pipes/select-id/index.mjs +0 -2
- package/esm2022/pipes/select-id/ng-atomic-common-pipes-select-id.mjs +0 -5
- package/esm2022/pipes/select-id/select-id.pipe.mjs +0 -29
- package/esm2022/pipes/signal/index.mjs +0 -2
- package/esm2022/pipes/signal/ng-atomic-common-pipes-signal.mjs +0 -5
- package/esm2022/pipes/signal/signal.pipe.mjs +0 -23
- package/esm2022/pipes/smart-field/index.mjs +0 -2
- package/esm2022/pipes/smart-field/ng-atomic-common-pipes-smart-field.mjs +0 -5
- package/esm2022/pipes/smart-field/smart-field.pipe.mjs +0 -44
- package/esm2022/pipes/sort/index.mjs +0 -2
- package/esm2022/pipes/sort/ng-atomic-common-pipes-sort.mjs +0 -5
- package/esm2022/pipes/sort/sort.pipe.mjs +0 -14
- package/esm2022/pipes/sort-by/index.mjs +0 -2
- package/esm2022/pipes/sort-by/ng-atomic-common-pipes-sort-by.mjs +0 -5
- package/esm2022/pipes/sort-by/sort-by.pipe.mjs +0 -32
- package/esm2022/pipes/style/index.mjs +0 -2
- package/esm2022/pipes/style/ng-atomic-common-pipes-style.mjs +0 -5
- package/esm2022/pipes/style/style.pipe.mjs +0 -41
- package/esm2022/pipes/yen/index.mjs +0 -2
- package/esm2022/pipes/yen/ng-atomic-common-pipes-yen.mjs +0 -5
- package/esm2022/pipes/yen/yen.pipe.mjs +0 -20
- package/esm2022/services/app/app.service.mjs +0 -78
- package/esm2022/services/app/index.mjs +0 -2
- package/esm2022/services/app/ng-atomic-common-services-app.mjs +0 -5
- package/esm2022/services/auth/auth.service.mjs +0 -66
- package/esm2022/services/auth/index.mjs +0 -2
- package/esm2022/services/auth/ng-atomic-common-services-auth.mjs +0 -5
- package/esm2022/services/breakpoint/breakpoint.service.mjs +0 -57
- package/esm2022/services/breakpoint/index.mjs +0 -2
- package/esm2022/services/breakpoint/ng-atomic-common-services-breakpoint.mjs +0 -5
- package/esm2022/services/chips-manager/chips.manager.mjs +0 -29
- package/esm2022/services/chips-manager/index.mjs +0 -2
- package/esm2022/services/chips-manager/ng-atomic-common-services-chips-manager.mjs +0 -5
- package/esm2022/services/csv/csv.service.mjs +0 -25
- package/esm2022/services/csv/index.mjs +0 -2
- package/esm2022/services/csv/ng-atomic-common-services-csv.mjs +0 -5
- package/esm2022/services/fab/fab.service.mjs +0 -46
- package/esm2022/services/fab/index.mjs +0 -2
- package/esm2022/services/fab/ng-atomic-common-services-fab.mjs +0 -5
- package/esm2022/services/form/_index/index.mjs +0 -2
- package/esm2022/services/form/_index/index.service.mjs +0 -51
- package/esm2022/services/form/_index/ng-atomic-common-services-form-_index.mjs +0 -5
- package/esm2022/services/form/columns/columns.service.mjs +0 -145
- package/esm2022/services/form/columns/index.mjs +0 -2
- package/esm2022/services/form/columns/ng-atomic-common-services-form-columns.mjs +0 -5
- package/esm2022/services/form/form.service.mjs +0 -38
- package/esm2022/services/form/index.mjs +0 -2
- package/esm2022/services/form/json-schema/index.mjs +0 -2
- package/esm2022/services/form/json-schema/json-schema.mjs +0 -51
- package/esm2022/services/form/json-schema/json-schema.service.mjs +0 -178
- package/esm2022/services/form/json-schema/ng-atomic-common-services-form-json-schema.mjs +0 -5
- package/esm2022/services/form/ng-atomic-common-services-form.mjs +0 -5
- package/esm2022/services/form/pagination/index.mjs +0 -2
- package/esm2022/services/form/pagination/ng-atomic-common-services-form-pagination.mjs +0 -5
- package/esm2022/services/form/pagination/pagination.service.mjs +0 -24
- package/esm2022/services/form/sort/index.mjs +0 -2
- package/esm2022/services/form/sort/ng-atomic-common-services-form-sort.mjs +0 -5
- package/esm2022/services/form/sort/sort.service.mjs +0 -33
- package/esm2022/services/initializer/index.mjs +0 -2
- package/esm2022/services/initializer/initializer.service.mjs +0 -44
- package/esm2022/services/initializer/ng-atomic-common-services-initializer.mjs +0 -5
- package/esm2022/services/language/index.mjs +0 -2
- package/esm2022/services/language/language.service.mjs +0 -39
- package/esm2022/services/language/ng-atomic-common-services-language.mjs +0 -5
- package/esm2022/services/loading/index.mjs +0 -2
- package/esm2022/services/loading/loading.service.mjs +0 -62
- package/esm2022/services/loading/ng-atomic-common-services-loading.mjs +0 -5
- package/esm2022/services/navigation-history/index.mjs +0 -2
- package/esm2022/services/navigation-history/navigation-history.service.mjs +0 -50
- package/esm2022/services/navigation-history/ng-atomic-common-services-navigation-history.mjs +0 -5
- package/esm2022/services/query-resolver/index.mjs +0 -2
- package/esm2022/services/query-resolver/ng-atomic-common-services-query-resolver.mjs +0 -5
- package/esm2022/services/query-resolver/query-resolver.service.mjs +0 -94
- package/esm2022/services/root-property/index.mjs +0 -3
- package/esm2022/services/root-property/ng-atomic-common-services-root-property.mjs +0 -5
- package/esm2022/services/root-property/root-property.di.mjs +0 -15
- package/esm2022/services/root-property/root-property.service.mjs +0 -169
- package/esm2022/services/router/index.mjs +0 -2
- package/esm2022/services/router/ng-atomic-common-services-router.mjs +0 -5
- package/esm2022/services/router/router.service.mjs +0 -25
- package/esm2022/services/secret/index.mjs +0 -2
- package/esm2022/services/secret/ng-atomic-common-services-secret.mjs +0 -5
- package/esm2022/services/secret/secret.service.mjs +0 -16
- package/esm2022/services/sheets/actions/actions.sheet.mjs +0 -45
- package/esm2022/services/sheets/actions/index.mjs +0 -2
- package/esm2022/services/sheets/actions/ng-atomic-common-services-sheets-actions.mjs +0 -5
- package/esm2022/services/sheets/index.mjs +0 -3
- package/esm2022/services/sheets/ng-atomic-common-services-sheets.mjs +0 -5
- package/esm2022/services/sheets/sheets.module.mjs +0 -25
- package/esm2022/services/sheets/sheets.service.mjs +0 -22
- package/esm2022/services/side-app/index.mjs +0 -2
- package/esm2022/services/side-app/ng-atomic-common-services-side-app.mjs +0 -5
- package/esm2022/services/side-app/side-app.service.mjs +0 -55
- package/esm2022/services/side-nav-mode/index.mjs +0 -2
- package/esm2022/services/side-nav-mode/ng-atomic-common-services-side-nav-mode.mjs +0 -5
- package/esm2022/services/side-nav-mode/side-nav-mode.service.mjs +0 -27
- package/esm2022/services/snack-bar/index.mjs +0 -3
- package/esm2022/services/snack-bar/ng-atomic-common-services-snack-bar.mjs +0 -5
- package/esm2022/services/snack-bar/snack-bar.module.mjs +0 -22
- package/esm2022/services/snack-bar/snack-bar.service.mjs +0 -41
- package/esm2022/services/spreadsheet/directives/grid-cell.directive.mjs +0 -124
- package/esm2022/services/spreadsheet/directives/index.mjs +0 -2
- package/esm2022/services/spreadsheet/features/clipboard.service.mjs +0 -71
- package/esm2022/services/spreadsheet/features/data.service.mjs +0 -63
- package/esm2022/services/spreadsheet/features/editor.service.mjs +0 -65
- package/esm2022/services/spreadsheet/features/grid.service.mjs +0 -54
- package/esm2022/services/spreadsheet/features/index.mjs +0 -8
- package/esm2022/services/spreadsheet/features/navigation.service.mjs +0 -71
- package/esm2022/services/spreadsheet/features/protection.service.mjs +0 -25
- package/esm2022/services/spreadsheet/features/selection.service.mjs +0 -129
- package/esm2022/services/spreadsheet/index.mjs +0 -5
- package/esm2022/services/spreadsheet/models/cell.model.mjs +0 -2
- package/esm2022/services/spreadsheet/models/index.mjs +0 -2
- package/esm2022/services/spreadsheet/ng-atomic-common-services-spreadsheet.mjs +0 -5
- package/esm2022/services/spreadsheet/spreadsheet.service.mjs +0 -183
- package/esm2022/services/ui/index.mjs +0 -3
- package/esm2022/services/ui/ng-atomic-common-services-ui.mjs +0 -5
- package/esm2022/services/ui/ui.helpers.mjs +0 -241
- package/esm2022/services/ui/ui.service.mjs +0 -30
- package/esm2022/stores/entities/di.mjs +0 -64
- package/esm2022/stores/entities/entity-store-adapter.mjs +0 -34
- package/esm2022/stores/entities/entity-store-manager.mjs +0 -25
- package/esm2022/stores/entities/entity-store.mjs +0 -121
- package/esm2022/stores/entities/index.mjs +0 -7
- package/esm2022/stores/entities/ng-atomic-common-stores-entities.mjs +0 -5
- package/esm2022/stores/entities/proxy-id.service.mjs +0 -29
- package/esm2022/stores/entities/task-composer.mjs +0 -71
- package/esm2022/stores/entity/entity.store.mjs +0 -34
- package/esm2022/stores/entity/index.mjs +0 -2
- package/esm2022/stores/entity/ng-atomic-common-stores-entity.mjs +0 -5
- package/esm2022/stores/pagination/index.mjs +0 -2
- package/esm2022/stores/pagination/ng-atomic-common-stores-pagination.mjs +0 -5
- package/esm2022/stores/pagination/pagination.store.mjs +0 -23
- package/esm2022/stores/query/index.mjs +0 -2
- package/esm2022/stores/query/ng-atomic-common-stores-query.mjs +0 -5
- package/esm2022/stores/query/query.store.mjs +0 -31
- package/esm2022/stores/selection/index.mjs +0 -2
- package/esm2022/stores/selection/ng-atomic-common-stores-selection.mjs +0 -5
- package/esm2022/stores/selection/selection.store.mjs +0 -29
- package/esm2022/stores/sort/index.mjs +0 -2
- package/esm2022/stores/sort/ng-atomic-common-stores-sort.mjs +0 -5
- package/esm2022/stores/sort/sort.store.mjs +0 -27
- package/esm2022/utils/comma/comma.mjs +0 -4
- package/esm2022/utils/comma/index.mjs +0 -2
- package/esm2022/utils/compare-by-id/compare-by-id.mjs +0 -5
- package/esm2022/utils/compare-by-id/index.mjs +0 -2
- package/esm2022/utils/date-utils/date-utils.mjs +0 -13
- package/esm2022/utils/date-utils/index.mjs +0 -2
- package/esm2022/utils/diff/diff.mjs +0 -7
- package/esm2022/utils/diff/index.mjs +0 -2
- package/esm2022/utils/expression/expression.transformer.mjs +0 -38
- package/esm2022/utils/expression/index.mjs +0 -2
- package/esm2022/utils/form/form.mjs +0 -26
- package/esm2022/utils/form/index.mjs +0 -2
- package/esm2022/utils/get/get.mjs +0 -6
- package/esm2022/utils/get/index.mjs +0 -2
- package/esm2022/utils/index.mjs +0 -15
- package/esm2022/utils/inject/index.mjs +0 -2
- package/esm2022/utils/inject/inject.mjs +0 -177
- package/esm2022/utils/mat-dayjs-date/dayjs-date.adapter.mjs +0 -191
- package/esm2022/utils/mat-dayjs-date/dayjs-date.formats.mjs +0 -15
- package/esm2022/utils/mat-dayjs-date/dayjs-date.module.mjs +0 -37
- package/esm2022/utils/mat-dayjs-date/dayjs-jp-providers.mjs +0 -20
- package/esm2022/utils/mat-dayjs-date/index.mjs +0 -5
- package/esm2022/utils/ng-atomic-common-utils.mjs +0 -5
- package/esm2022/utils/page/index.mjs +0 -2
- package/esm2022/utils/page/page.mjs +0 -20
- package/esm2022/utils/router/index.mjs +0 -2
- package/esm2022/utils/router/router.mjs +0 -54
- package/esm2022/utils/time.mjs +0 -8
- package/esm2022/utils/to-object/index.mjs +0 -2
- package/esm2022/utils/to-object/to-object.mjs +0 -10
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { computed, Directive, effect, ElementRef, inject, input, signal } from "@angular/core";
|
|
2
|
-
import { SpreadSheetService } from "../spreadsheet.service";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SpreadSheetCell {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.ss = inject(SpreadSheetService);
|
|
7
|
-
this.el = inject(ElementRef);
|
|
8
|
-
this.position = input({ row: 0, col: 0 }, { alias: 'ssCell' });
|
|
9
|
-
this.editable = input(false, { alias: 'ssCellEditable' });
|
|
10
|
-
this.context = input(null, { alias: 'ssCellContext' });
|
|
11
|
-
this.isSelected = computed(() => this.ss.selection.isSelected(this.position()));
|
|
12
|
-
this.isEditing = computed(() => this.ss.editor.isEditing(this.position()));
|
|
13
|
-
this.frameEl = signal(null);
|
|
14
|
-
effect(() => {
|
|
15
|
-
if (!this.context())
|
|
16
|
-
return;
|
|
17
|
-
this.ss.grid.setContext(this.context());
|
|
18
|
-
});
|
|
19
|
-
effect(() => {
|
|
20
|
-
const isCursor = this.ss.selection.isCursorPosition(this.position());
|
|
21
|
-
let frame = this.frameEl();
|
|
22
|
-
if (isCursor) {
|
|
23
|
-
if (!frame) {
|
|
24
|
-
frame = this.buildOutlineFrame();
|
|
25
|
-
this.el.nativeElement.appendChild(frame);
|
|
26
|
-
this.frameEl.set(frame);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
frame?.remove();
|
|
31
|
-
this.frameEl.set(null);
|
|
32
|
-
}
|
|
33
|
-
}, { allowSignalWrites: true });
|
|
34
|
-
}
|
|
35
|
-
onDbClick() {
|
|
36
|
-
if (!this.editable())
|
|
37
|
-
return;
|
|
38
|
-
this.ss.editor.startEditing(this.position());
|
|
39
|
-
}
|
|
40
|
-
ngAfterViewInit() {
|
|
41
|
-
this.ss.selection.setCell(this.position(), this.el.nativeElement);
|
|
42
|
-
if (this.isSelected() && !this.isEditing()) {
|
|
43
|
-
this.ss.selection.focus(this.position());
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
buildOutlineFrame() {
|
|
47
|
-
const frame = document.createElement('div');
|
|
48
|
-
frame.classList.add('selection-frame');
|
|
49
|
-
frame.style.position = 'absolute';
|
|
50
|
-
frame.style.top = '0';
|
|
51
|
-
frame.style.left = '0';
|
|
52
|
-
frame.style.width = '100%';
|
|
53
|
-
frame.style.height = '100%';
|
|
54
|
-
frame.style.border = '2px solid #2196f3';
|
|
55
|
-
frame.style.borderRadius = '4px';
|
|
56
|
-
frame.style.pointerEvents = 'none';
|
|
57
|
-
frame.style.boxSizing = 'border-box';
|
|
58
|
-
return frame;
|
|
59
|
-
}
|
|
60
|
-
createLabelElement(options) {
|
|
61
|
-
const el = document.createElement('span');
|
|
62
|
-
el.textContent = options.label;
|
|
63
|
-
el.style.backgroundColor = `${options.color}`;
|
|
64
|
-
el.style.color = '#fff';
|
|
65
|
-
el.style.padding = '2px 4px';
|
|
66
|
-
el.style.position = 'absolute';
|
|
67
|
-
el.style.fontSize = '10px';
|
|
68
|
-
el.style.top = '0';
|
|
69
|
-
el.style.left = '0';
|
|
70
|
-
el.style.zIndex = '9999';
|
|
71
|
-
el.style.lineHeight = '1.5em';
|
|
72
|
-
el.style.whiteSpace = 'nowrap';
|
|
73
|
-
this.el.nativeElement.appendChild(el);
|
|
74
|
-
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
76
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SpreadSheetCell, isStandalone: true, selector: "[ssCell]", inputs: { position: { classPropertyName: "position", publicName: "ssCell", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "ssCellEditable", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "ssCellContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "mousedown": "ss.selection.handleMouseDown(position(), $event)", "mouseup": "ss.selection.handleMouseUp()", "mouseenter": "ss.selection.handleMouseEnter(position())", "click": "ss.selection.handleClick(position(), $event)", "dblclick": "onDbClick()" }, properties: { "class.selected": "ss.selection.isSelected(position())", "class.editing": "ss.editor.isEditing(position())" } }, ngImport: i0 }); }
|
|
77
|
-
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCell, decorators: [{
|
|
79
|
-
type: Directive,
|
|
80
|
-
args: [{
|
|
81
|
-
standalone: true,
|
|
82
|
-
selector: '[ssCell]',
|
|
83
|
-
host: {
|
|
84
|
-
'[class.selected]': 'ss.selection.isSelected(position())',
|
|
85
|
-
'[class.editing]': 'ss.editor.isEditing(position())',
|
|
86
|
-
'(mousedown)': 'ss.selection.handleMouseDown(position(), $event)',
|
|
87
|
-
'(mouseup)': 'ss.selection.handleMouseUp()',
|
|
88
|
-
'(mouseenter)': 'ss.selection.handleMouseEnter(position())',
|
|
89
|
-
'(click)': 'ss.selection.handleClick(position(), $event)',
|
|
90
|
-
'(dblclick)': 'onDbClick()',
|
|
91
|
-
}
|
|
92
|
-
}]
|
|
93
|
-
}], ctorParameters: () => [] });
|
|
94
|
-
export class SpreadSheetCellInput {
|
|
95
|
-
constructor() {
|
|
96
|
-
this.ss = inject(SpreadSheetService);
|
|
97
|
-
this.position = input({ row: 0, col: 0 }, { alias: 'ssCellInput' });
|
|
98
|
-
this.el = inject(ElementRef);
|
|
99
|
-
this.isSelected = computed(() => this.ss.selection.isSelected(this.position()));
|
|
100
|
-
this.isEditing = computed(() => this.ss.editor.isEditing(this.position()));
|
|
101
|
-
}
|
|
102
|
-
ngAfterViewInit() {
|
|
103
|
-
this.ss.editor.setInput(this.el.nativeElement, this.position());
|
|
104
|
-
if (this.isSelected() && this.isEditing()) {
|
|
105
|
-
this.ss.editor.focus(this.position());
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
stopEditing() {
|
|
109
|
-
this.ss.editor.stopEditing();
|
|
110
|
-
}
|
|
111
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCellInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
112
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: SpreadSheetCellInput, isStandalone: true, selector: "[ssCellInput]", inputs: { position: { classPropertyName: "position", publicName: "ssCellInput", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "blur": "stopEditing()" } }, ngImport: i0 }); }
|
|
113
|
-
}
|
|
114
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetCellInput, decorators: [{
|
|
115
|
-
type: Directive,
|
|
116
|
-
args: [{
|
|
117
|
-
standalone: true,
|
|
118
|
-
selector: '[ssCellInput]',
|
|
119
|
-
host: {
|
|
120
|
-
'(blur)': 'stopEditing()',
|
|
121
|
-
}
|
|
122
|
-
}]
|
|
123
|
-
}] });
|
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jZWxsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BuZy1hdG9taWMvY29tbW9uL3NyYy9saWIvc2VydmljZXMvc3ByZWFkc2hlZXQvZGlyZWN0aXZlcy9ncmlkLWNlbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBZ0I1RCxNQUFNLE9BQU8sZUFBZTtJQVcxQjtRQVZVLE9BQUUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNqQyxPQUFFLEdBQUcsTUFBTSxDQUFtQyxVQUFVLENBQUMsQ0FBQztRQUUxRCxhQUFRLEdBQUcsS0FBSyxDQUE2QixFQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUM7UUFDbEYsYUFBUSxHQUFHLEtBQUssQ0FBVSxLQUFLLEVBQUUsRUFBQyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO1FBQzVELFlBQU8sR0FBRyxLQUFLLENBQWMsSUFBSSxFQUFFLEVBQUMsS0FBSyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7UUFDN0QsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENB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QUM7SUFDL0IsQ0FBQzs4R0FoQlUsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBUGhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osUUFBUSxFQUFFLGVBQWU7cUJBQzFCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgU3ByZWFkU2hlZXRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NwcmVhZHNoZWV0LnNlcnZpY2VcIjtcbmltcG9ydCB7IENlbGxDb250ZXh0IH0gZnJvbSBcIi4uL21vZGVscy9jZWxsLm1vZGVsXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tzc0NlbGxdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Muc2VsZWN0ZWRdJzogJ3NzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKHBvc2l0aW9uKCkpJyxcbiAgICAnW2NsYXNzLmVkaXRpbmddJzogJ3NzLmVkaXRvci5pc0VkaXRpbmcocG9zaXRpb24oKSknLFxuICAgICcobW91c2Vkb3duKSc6ICdzcy5zZWxlY3Rpb24uaGFuZGxlTW91c2VEb3duKHBvc2l0aW9uKCksICRldmVudCknLFxuICAgICcobW91c2V1cCknOiAnc3Muc2VsZWN0aW9uLmhhbmRsZU1vdXNlVXAoKScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdzcy5zZWxlY3Rpb24uaGFuZGxlTW91c2VFbnRlcihwb3NpdGlvbigpKScsXG4gICAgJyhjbGljayknOiAnc3Muc2VsZWN0aW9uLmhhbmRsZUNsaWNrKHBvc2l0aW9uKCksICRldmVudCknLFxuICAgICcoZGJsY2xpY2spJzogJ29uRGJDbGljaygpJyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBTcHJlYWRTaGVldENlbGwge1xuICBwcm90ZWN0ZWQgc3MgPSBpbmplY3QoU3ByZWFkU2hlZXRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgZWwgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MVGFibGVDZWxsRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gIHJlYWRvbmx5IHBvc2l0aW9uID0gaW5wdXQ8e3JvdzogbnVtYmVyLCBjb2w6IG51bWJlcn0+KHtyb3c6IDAsIGNvbDogMH0sIHthbGlhczogJ3NzQ2VsbCd9KTtcbiAgcmVhZG9ubHkgZWRpdGFibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSwge2FsaWFzOiAnc3NDZWxsRWRpdGFibGUnfSk7XG4gIHJlYWRvbmx5IGNvbnRleHQgPSBpbnB1dDxDZWxsQ29udGV4dD4obnVsbCwge2FsaWFzOiAnc3NDZWxsQ29udGV4dCd9KTtcbiAgcmVhZG9ubHkgaXNTZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3Muc2VsZWN0aW9uLmlzU2VsZWN0ZWQodGhpcy5wb3NpdGlvbigpKSk7XG4gIHJlYWRvbmx5IGlzRWRpdGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc3MuZWRpdG9yLmlzRWRpdGluZyh0aGlzLnBvc2l0aW9uKCkpKTtcbiAgcmVhZG9ubHkgZnJhbWVFbCA9IHNpZ25hbDxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMuY29udGV4dCgpKSByZXR1cm47XG4gICAgICB0aGlzLnNzLmdyaWQuc2V0Q29udGV4dCh0aGlzLmNvbnRleHQoKSk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgaXNDdXJzb3IgPSB0aGlzLnNzLnNlbGVjdGlvbi5pc0N1cnNvclBvc2l0aW9uKHRoaXMucG9zaXRpb24oKSk7XG4gICAgICBsZXQgZnJhbWUgPSB0aGlzLmZyYW1lRWwoKTtcblxuICAgICAgaWYgKGlzQ3Vyc29yKSB7XG4gICAgICAgIGlmICghZnJhbWUpIHtcbiAgICAgICAgICBmcmFtZSA9IHRoaXMuYnVpbGRPdXRsaW5lRnJhbWUoKTtcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZnJhbWUpO1xuICAgICAgICAgIHRoaXMuZnJhbWVFbC5zZXQoZnJhbWUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmcmFtZT8ucmVtb3ZlKCk7XG4gICAgICAgIHRoaXMuZnJhbWVFbC5zZXQobnVsbCk7XG4gICAgICB9XG4gICAgfSwge2FsbG93U2lnbmFsV3JpdGVzOiB0cnVlfSk7XG4gIH1cblxuICBvbkRiQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVkaXRhYmxlKCkpIHJldHVybjtcbiAgICB0aGlzLnNzLmVkaXRvci5zdGFydEVkaXRpbmcodGhpcy5wb3NpdGlvbigpKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNzLnNlbGVjdGlvbi5zZXRDZWxsKHRoaXMucG9zaXRpb24oKSwgdGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKCkgJiYgIXRoaXMuaXNFZGl0aW5nKCkpIHtcbiAgICAgIHRoaXMuc3Muc2VsZWN0aW9uLmZvY3VzKHRoaXMucG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkT3V0bGluZUZyYW1lKCk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGZyYW1lLmNsYXNzTGlzdC5hZGQoJ3NlbGVjdGlvbi1mcmFtZScpO1xuICAgIGZyYW1lLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBmcmFtZS5zdHlsZS50b3AgPSAnMCc7XG4gICAgZnJhbWUuc3R5bGUubGVmdCA9ICcwJztcbiAgICBmcmFtZS5zdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICBmcmFtZS5zdHlsZS5oZWlnaHQgPSAnMTAwJSc7XG4gICAgZnJhbWUuc3R5bGUuYm9yZGVyID0gJzJweCBzb2xpZCAjMjE5NmYzJztcbiAgICBmcmFtZS5zdHlsZS5ib3JkZXJSYWRpdXMgPSAnNHB4JztcbiAgICBmcmFtZS5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnO1xuICAgIGZyYW1lLnN0eWxlLmJveFNpemluZyA9ICdib3JkZXItYm94JztcbiAgICByZXR1cm4gZnJhbWU7XG4gIH1cblxuICBwcm90ZWN0ZWQgY3JlYXRlTGFiZWxFbGVtZW50KG9wdGlvbnM6IHtcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgY29sb3I6IHN0cmluZ1xuICB9KSB7XG4gICAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgZWwudGV4dENvbnRlbnQgPSBvcHRpb25zLmxhYmVsO1xuICAgIGVsLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IGAke29wdGlvbnMuY29sb3J9YDtcbiAgICBlbC5zdHlsZS5jb2xvciA9ICcjZmZmJztcbiAgICBlbC5zdHlsZS5wYWRkaW5nID0gJzJweCA0cHgnO1xuICAgIGVsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICBlbC5zdHlsZS5mb250U2l6ZSA9ICcxMHB4JztcbiAgICBlbC5zdHlsZS50b3AgPSAnMCc7XG4gICAgZWwuc3R5bGUubGVmdCA9ICcwJztcbiAgICBlbC5zdHlsZS56SW5kZXggPSAnOTk5OSc7XG4gICAgZWwuc3R5bGUubGluZUhlaWdodCA9ICcxLjVlbSc7XG4gICAgZWwuc3R5bGUud2hpdGVTcGFjZSA9ICdub3dyYXAnO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5hcHBlbmRDaGlsZChlbCk7XG4gIH1cbn1cblxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbc3NDZWxsSW5wdXRdJyxcbiAgaG9zdDoge1xuICAgICcoYmx1ciknOiAnc3RvcEVkaXRpbmcoKScsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgU3ByZWFkU2hlZXRDZWxsSW5wdXQge1xuICBwcm90ZWN0ZWQgc3MgPSBpbmplY3QoU3ByZWFkU2hlZXRTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDx7cm93OiBudW1iZXIsIGNvbDogbnVtYmVyfT4oe3JvdzogMCwgY29sOiAwfSwge2FsaWFzOiAnc3NDZWxsSW5wdXQnfSk7XG4gIHJlYWRvbmx5IGVsID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSBpc1NlbGVjdGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zcy5zZWxlY3Rpb24uaXNTZWxlY3RlZCh0aGlzLnBvc2l0aW9uKCkpKTtcbiAgcmVhZG9ubHkgaXNFZGl0aW5nID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zcy5lZGl0b3IuaXNFZGl0aW5nKHRoaXMucG9zaXRpb24oKSkpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNzLmVkaXRvci5zZXRJbnB1dCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMucG9zaXRpb24oKSk7XG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCgpICYmIHRoaXMuaXNFZGl0aW5nKCkpIHtcbiAgICAgIHRoaXMuc3MuZWRpdG9yLmZvY3VzKHRoaXMucG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHN0b3BFZGl0aW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3MuZWRpdG9yLnN0b3BFZGl0aW5nKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './grid-cell.directive';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ3JpZC1jZWxsLmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from '@angular/core';
|
|
2
|
-
import { GridService } from './grid.service';
|
|
3
|
-
import { SelectionService } from './selection.service';
|
|
4
|
-
import { Clipboard } from '@angular/cdk/clipboard';
|
|
5
|
-
import papaparse from 'papaparse';
|
|
6
|
-
import { SnackBarService } from '@ng-atomic/common/services/snack-bar';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./grid.service";
|
|
9
|
-
import * as i2 from "./selection.service";
|
|
10
|
-
export class ClipboardService {
|
|
11
|
-
constructor(gridService, selectionService) {
|
|
12
|
-
this.gridService = gridService;
|
|
13
|
-
this.selectionService = selectionService;
|
|
14
|
-
this.clipboard = inject(Clipboard);
|
|
15
|
-
this.snackBar = inject(SnackBarService);
|
|
16
|
-
}
|
|
17
|
-
async copy() {
|
|
18
|
-
const selection = this.selectionService.getSelection();
|
|
19
|
-
if (!selection)
|
|
20
|
-
return;
|
|
21
|
-
const { start, end } = selection;
|
|
22
|
-
if (!end) {
|
|
23
|
-
this.copyText(this.gridService.data()[start.row][start.col].dataValue);
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
const minRow = Math.min(start.row, end.row);
|
|
27
|
-
const maxRow = Math.max(start.row, end.row);
|
|
28
|
-
const minCol = Math.min(start.col, end.col);
|
|
29
|
-
const maxCol = Math.max(start.col, end.col);
|
|
30
|
-
const data = this.gridService.data();
|
|
31
|
-
const clipboardData = [];
|
|
32
|
-
for (let i = minRow; i <= maxRow; i++) {
|
|
33
|
-
const row = [];
|
|
34
|
-
for (let j = minCol; j <= maxCol; j++) {
|
|
35
|
-
row.push(data[i][j].dataValue);
|
|
36
|
-
}
|
|
37
|
-
clipboardData.push(row);
|
|
38
|
-
}
|
|
39
|
-
const tsv = papaparse.unparse(clipboardData, { delimiter: '\t', newline: '\n', header: false });
|
|
40
|
-
this.clipboard.copy(tsv);
|
|
41
|
-
}
|
|
42
|
-
copyText(text) {
|
|
43
|
-
this.clipboard.copy(text);
|
|
44
|
-
this.snackBar.open('クリップボードにコピーしました。');
|
|
45
|
-
}
|
|
46
|
-
async paste(targetRow, targetCol) {
|
|
47
|
-
try {
|
|
48
|
-
const clipboardText = await navigator.clipboard.readText();
|
|
49
|
-
const rows = clipboardText.split('\n');
|
|
50
|
-
const data = this.gridService.data();
|
|
51
|
-
const rowCount = Math.min(rows.length, data.length - targetRow);
|
|
52
|
-
for (let i = 0; i < rowCount; i++) {
|
|
53
|
-
const cells = rows[i].split('\t');
|
|
54
|
-
const colCount = Math.min(cells.length, this.gridService.columns().length - targetCol);
|
|
55
|
-
for (let j = 0; j < colCount; j++) {
|
|
56
|
-
this.gridService.updateCell(targetRow + i, targetCol + j, cells[j]);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
console.log('Data pasted from clipboard as TSV');
|
|
60
|
-
}
|
|
61
|
-
catch (err) {
|
|
62
|
-
console.error('Failed to read data from clipboard', err);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService, deps: [{ token: i1.GridService }, { token: i2.SelectionService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
66
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService }); }
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ClipboardService, decorators: [{
|
|
69
|
-
type: Injectable
|
|
70
|
-
}], ctorParameters: () => [{ type: i1.GridService }, { type: i2.SelectionService }] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2ZlYXR1cmVzL2NsaXBib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkQsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7OztBQUd2RSxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQ1UsV0FBd0IsRUFDeEIsZ0JBQWtDO1FBRGxDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFMcEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBS3ZDLENBQUM7SUFFTCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU87UUFFdkIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7UUFFakMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxD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QUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RFLENBQUM7WUFDSCxDQUFDO1lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQzs4R0FwRVUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyaWRTZXJ2aWNlIH0gZnJvbSAnLi9ncmlkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4vc2VsZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NsaXBib2FyZCc7XG5pbXBvcnQgcGFwYXBhcnNlIGZyb20gJ3BhcGFwYXJzZSc7XG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICdAbmctYXRvbWljL2NvbW1vbi9zZXJ2aWNlcy9zbmFjay1iYXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ2xpcGJvYXJkU2VydmljZSB7XG4gIHByaXZhdGUgY2xpcGJvYXJkID0gaW5qZWN0KENsaXBib2FyZCk7XG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoU25hY2tCYXJTZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGdyaWRTZXJ2aWNlOiBHcmlkU2VydmljZSxcbiAgICBwcml2YXRlIHNlbGVjdGlvblNlcnZpY2U6IFNlbGVjdGlvblNlcnZpY2UsXG4gICkgeyB9XG5cbiAgYXN5bmMgY29weSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSB0aGlzLnNlbGVjdGlvblNlcnZpY2UuZ2V0U2VsZWN0aW9uKCk7XG4gICAgaWYgKCFzZWxlY3Rpb24pIHJldHVybjtcblxuICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gc2VsZWN0aW9uO1xuXG4gICAgaWYgKCFlbmQpIHtcbiAgICAgIHRoaXMuY29weVRleHQodGhpcy5ncmlkU2VydmljZS5kYXRhKClbc3RhcnQucm93XVtzdGFydC5jb2xdLmRhdGFWYWx1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbWluUm93ID0gTWF0aC5taW4oc3RhcnQucm93LCBlbmQucm93KTtcbiAgICBjb25zdCBtYXhSb3cgPSBNYXRoLm1heChzdGFydC5yb3csIGVuZC5yb3cpO1xuICAgIGNvbnN0IG1pbkNvbCA9IE1hdGgubWluKHN0YXJ0LmNvbCwgZW5kLmNvbCk7XG4gICAgY29uc3QgbWF4Q29sID0gTWF0aC5tYXgoc3RhcnQuY29sLCBlbmQuY29sKTtcblxuICAgIGNvbnN0IGRhdGEgPSB0aGlzLmdyaWRTZXJ2aWNlLmRhdGEoKTtcbiAgICBjb25zdCBjbGlwYm9hcmREYXRhOiBzdHJpbmdbXVtdID0gW107XG5cbiAgICBmb3IgKGxldCBpID0gbWluUm93OyBpIDw9IG1heFJvdzsgaSsrKSB7XG4gICAgICBjb25zdCByb3c6IHN0cmluZ1tdID0gW107XG4gICAgICBmb3IgKGxldCBqID0gbWluQ29sOyBqIDw9IG1heENvbDsgaisrKSB7XG4gICAgICAgIHJvdy5wdXNoKGRhdGFbaV1bal0uZGF0YVZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGNsaXBib2FyZERhdGEucHVzaChyb3cpO1xuICAgIH1cblxuICAgIGNvbnN0IHRzdiA9IHBhcGFwYXJzZS51bnBhcnNlKGNsaXBib2FyZERhdGEsIFxuICAgICAgeyBkZWxpbWl0ZXI6ICdcXHQnLCBuZXdsaW5lOiAnXFxuJywgaGVhZGVyOiBmYWxzZSB9XG4gICAgKTtcbiAgICB0aGlzLmNsaXBib2FyZC5jb3B5KHRzdik7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29weVRleHQodGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlwYm9hcmQuY29weSh0ZXh0KTtcbiAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ+OCr+ODquODg+ODl+ODnOODvOODieOBq+OCs+ODlOODvOOBl+OBvuOBl+OBn+OAgicpO1xuICB9XG5cbiAgYXN5bmMgcGFzdGUodGFyZ2V0Um93OiBudW1iZXIsIHRhcmdldENvbDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNsaXBib2FyZFRleHQgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWRUZXh0KCk7XG4gICAgICBjb25zdCByb3dzID0gY2xpcGJvYXJkVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICBjb25zdCBkYXRhID0gdGhpcy5ncmlkU2VydmljZS5kYXRhKCk7XG5cbiAgICAgIGNvbnN0IHJvd0NvdW50ID0gTWF0aC5taW4ocm93cy5sZW5ndGgsIGRhdGEubGVuZ3RoIC0gdGFyZ2V0Um93KTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByb3dDb3VudDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGNlbGxzID0gcm93c1tpXS5zcGxpdCgnXFx0Jyk7XG4gICAgICAgIGNvbnN0IGNvbENvdW50ID0gTWF0aC5taW4oY2VsbHMubGVuZ3RoLCB0aGlzLmdyaWRTZXJ2aWNlLmNvbHVtbnMoKS5sZW5ndGggLSB0YXJnZXRDb2wpO1xuXG4gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgY29sQ291bnQ7IGorKykge1xuICAgICAgICAgIHRoaXMuZ3JpZFNlcnZpY2UudXBkYXRlQ2VsbCh0YXJnZXRSb3cgKyBpLCB0YXJnZXRDb2wgKyBqLCBjZWxsc1tqXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc29sZS5sb2coJ0RhdGEgcGFzdGVkIGZyb20gY2xpcGJvYXJkIGFzIFRTVicpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHJlYWQgZGF0YSBmcm9tIGNsaXBib2FyZCcsIGVycik7XG4gICAgfVxuICB9XG59Il19
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable } from "@angular/core";
|
|
2
|
-
import { LanguageService } from "@ng-atomic/common/services/language";
|
|
3
|
-
import { injectDataAccessor } from "@ng-atomic/common/pipes/data-accessor";
|
|
4
|
-
import { EXPRESSION_TRANSFORMER } from "@ng-atomic/common/utils";
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class SpreadSheetDataService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.cache = new Map();
|
|
9
|
-
this.language = inject(LanguageService);
|
|
10
|
-
this.dataAccessor = injectDataAccessor();
|
|
11
|
-
this.expression = inject(EXPRESSION_TRANSFORMER);
|
|
12
|
-
}
|
|
13
|
-
buildGridData(items, displayedColumns) {
|
|
14
|
-
return [
|
|
15
|
-
this.buildGridHeaderRow(displayedColumns),
|
|
16
|
-
...items.map((item) => this.buildGridRow(item, displayedColumns))
|
|
17
|
-
];
|
|
18
|
-
}
|
|
19
|
-
buildGridHeaderRow(columns) {
|
|
20
|
-
const key = this.buildKey({ columns });
|
|
21
|
-
const cached = this.cache.get(key);
|
|
22
|
-
if (cached)
|
|
23
|
-
return cached;
|
|
24
|
-
const row = columns.map((column) => ({
|
|
25
|
-
dataValue: this.language.transform(column),
|
|
26
|
-
expressionValue: this.language.transform(column),
|
|
27
|
-
isHeader: true
|
|
28
|
-
}));
|
|
29
|
-
this.cache.set(key, row);
|
|
30
|
-
return row;
|
|
31
|
-
}
|
|
32
|
-
buildGridRow(item, displayedColumns) {
|
|
33
|
-
const key = this.buildKey({ item, displayedColumns });
|
|
34
|
-
const cached = this.cache.get(key);
|
|
35
|
-
if (cached)
|
|
36
|
-
return cached;
|
|
37
|
-
const row = displayedColumns.map((column) => this.buildGridCell(item, column));
|
|
38
|
-
this.cache.set(key, row);
|
|
39
|
-
return row;
|
|
40
|
-
}
|
|
41
|
-
buildGridCell(item, column) {
|
|
42
|
-
const key = this.buildKey({ item, column });
|
|
43
|
-
const cached = this.cache.get(key);
|
|
44
|
-
if (cached)
|
|
45
|
-
return cached;
|
|
46
|
-
const cell = {
|
|
47
|
-
dataValue: this.dataAccessor(item, column),
|
|
48
|
-
expressionValue: this.expression(this.dataAccessor(item, column), { item, name: column }),
|
|
49
|
-
};
|
|
50
|
-
this.cache.set(key, cell);
|
|
51
|
-
return cell;
|
|
52
|
-
}
|
|
53
|
-
buildKey(obj) {
|
|
54
|
-
// return CryptoJS.MD5(JSON.stringify(obj)).toString(CryptoJS.enc.Base64).slice(0, 10);
|
|
55
|
-
return JSON.stringify(obj);
|
|
56
|
-
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService }); }
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SpreadSheetDataService, decorators: [{
|
|
61
|
-
type: Injectable
|
|
62
|
-
}] });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUlqRSxNQUFNLE9BQU8sc0JBQXNCO0lBRG5DO1FBRVcsVUFBSyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO1FBQ3pDLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsaUJBQVksR0FBRyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQWdEdEQ7SUE5Q0MsYUFBYSxDQUFDLEtBQVksRUFBRSxnQkFBMEI7UUFDcEQsT0FBTztZQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6QyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7U0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFUyxrQkFBa0IsQ0FBQyxPQUFpQjtRQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLE1BQU07WUFBRSxPQUFPLE1BQWdCLENBQUM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNuQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQzFDLGVBQWUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDaEQsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyxZQUFZLENBQUMsSUFBWSxFQUFFLGdCQUEwQjtRQUM3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLE1BQU07WUFBRSxPQUFPLE1BQWdCLENBQUM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyxhQUFhLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDbEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksTUFBTTtZQUFFLE9BQU8sTUFBYyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHO1lBQ1gsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztZQUMxQyxlQUFlLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFDLENBQUM7U0FDeEYsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFUyxRQUFRLENBQUMsR0FBVztRQUM1Qix1RkFBdUY7UUFDdkYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdCLENBQUM7OEdBbERVLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENlbGwgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvbGFuZ3VhZ2VcIjtcbmltcG9ydCB7IGluamVjdERhdGFBY2Nlc3NvciB9IGZyb20gXCJAbmctYXRvbWljL2NvbW1vbi9waXBlcy9kYXRhLWFjY2Vzc29yXCI7XG5pbXBvcnQgeyBFWFBSRVNTSU9OX1RSQU5TRk9STUVSIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL3V0aWxzXCI7XG5pbXBvcnQgQ3J5cHRvSlMgZnJvbSBcImNyeXB0by1qc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU3ByZWFkU2hlZXREYXRhU2VydmljZSB7XG4gIHJlYWRvbmx5IGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIENlbGwgfCBDZWxsW10+KCk7XG4gIHJlYWRvbmx5IGxhbmd1YWdlID0gaW5qZWN0KExhbmd1YWdlU2VydmljZSk7XG4gIHJlYWRvbmx5IGRhdGFBY2Nlc3NvciA9IGluamVjdERhdGFBY2Nlc3NvcigpO1xuICByZWFkb25seSBleHByZXNzaW9uID0gaW5qZWN0KEVYUFJFU1NJT05fVFJBTlNGT1JNRVIpO1xuXG4gIGJ1aWxkR3JpZERhdGEoaXRlbXM6IGFueVtdLCBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSk6IENlbGxbXVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5idWlsZEdyaWRIZWFkZXJSb3coZGlzcGxheWVkQ29sdW1ucyksXG4gICAgICAuLi5pdGVtcy5tYXAoKGl0ZW0pID0+IHRoaXMuYnVpbGRHcmlkUm93KGl0ZW0sIGRpc3BsYXllZENvbHVtbnMpKVxuICAgIF07XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRHcmlkSGVhZGVyUm93KGNvbHVtbnM6IHN0cmluZ1tdKTogQ2VsbFtdIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmJ1aWxkS2V5KHtjb2x1bW5zfSk7XG4gICAgY29uc3QgY2FjaGVkID0gdGhpcy5jYWNoZS5nZXQoa2V5KTtcbiAgICBpZiAoY2FjaGVkKSByZXR1cm4gY2FjaGVkIGFzIENlbGxbXTtcbiAgICBjb25zdCByb3cgPSBjb2x1bW5zLm1hcCgoY29sdW1uKSA9PiAoe1xuICAgICAgZGF0YVZhbHVlOiB0aGlzLmxhbmd1YWdlLnRyYW5zZm9ybShjb2x1bW4pLFxuICAgICAgZXhwcmVzc2lvblZhbHVlOiB0aGlzLmxhbmd1YWdlLnRyYW5zZm9ybShjb2x1bW4pLFxuICAgICAgaXNIZWFkZXI6IHRydWVcbiAgICB9KSk7XG4gICAgdGhpcy5jYWNoZS5zZXQoa2V5LCByb3cpO1xuICAgIHJldHVybiByb3c7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRHcmlkUm93KGl0ZW06IG9iamVjdCwgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10pOiBDZWxsW10ge1xuICAgIGNvbnN0IGtleSA9IHRoaXMuYnVpbGRLZXkoe2l0ZW0sIGRpc3BsYXllZENvbHVtbnN9KTtcbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQgYXMgQ2VsbFtdO1xuICAgIGNvbnN0IHJvdyA9IGRpc3BsYXllZENvbHVtbnMubWFwKChjb2x1bW4pID0+IHRoaXMuYnVpbGRHcmlkQ2VsbChpdGVtLCBjb2x1bW4pKTtcbiAgICB0aGlzLmNhY2hlLnNldChrZXksIHJvdyk7XG4gICAgcmV0dXJuIHJvdztcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEdyaWRDZWxsKGl0ZW06IG9iamVjdCwgY29sdW1uOiBzdHJpbmcpOiBDZWxsIHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmJ1aWxkS2V5KHtpdGVtLCBjb2x1bW59KTtcbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xuICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQgYXMgQ2VsbDtcbiAgICBjb25zdCBjZWxsID0ge1xuICAgICAgZGF0YVZhbHVlOiB0aGlzLmRhdGFBY2Nlc3NvcihpdGVtLCBjb2x1bW4pLFxuICAgICAgZXhwcmVzc2lvblZhbHVlOiB0aGlzLmV4cHJlc3Npb24odGhpcy5kYXRhQWNjZXNzb3IoaXRlbSwgY29sdW1uKSwge2l0ZW0sIG5hbWU6IGNvbHVtbn0pLFxuICAgIH07XG4gICAgdGhpcy5jYWNoZS5zZXQoa2V5LCBjZWxsKTtcbiAgICByZXR1cm4gY2VsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEtleShvYmo6IG9iamVjdCk6IHN0cmluZyB7XG4gICAgLy8gcmV0dXJuIENyeXB0b0pTLk1ENShKU09OLnN0cmluZ2lmeShvYmopKS50b1N0cmluZyhDcnlwdG9KUy5lbmMuQmFzZTY0KS5zbGljZSgwLCAxMCk7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaik7XG4gIH1cblxufSJdfQ==
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, signal } from '@angular/core';
|
|
2
|
-
import { GridService } from './grid.service';
|
|
3
|
-
import { SelectionService } from './selection.service';
|
|
4
|
-
import { ProtectionService } from './protection.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class EditorService {
|
|
7
|
-
constructor() {
|
|
8
|
-
this.grid = inject(GridService);
|
|
9
|
-
this.selection = inject(SelectionService);
|
|
10
|
-
this.protection = inject(ProtectionService);
|
|
11
|
-
this.editinngCell = signal(null);
|
|
12
|
-
this.inputMap = new Map();
|
|
13
|
-
}
|
|
14
|
-
isEditing(position) {
|
|
15
|
-
return this.editinngCell()?.row === position.row && this.editinngCell()?.col === position.col;
|
|
16
|
-
}
|
|
17
|
-
startEditing(position) {
|
|
18
|
-
const context = this.grid.getContext(position);
|
|
19
|
-
console.debug('context:', context);
|
|
20
|
-
if (!this.protection.isEditable(null, context)) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
this.selection.clearSelection();
|
|
24
|
-
this.editinngCell.set(position);
|
|
25
|
-
this.focus(position);
|
|
26
|
-
}
|
|
27
|
-
stopEditing() {
|
|
28
|
-
this.editinngCell.set(null);
|
|
29
|
-
}
|
|
30
|
-
focus(position) {
|
|
31
|
-
setTimeout(() => {
|
|
32
|
-
const input = this.getInput(position);
|
|
33
|
-
if (input && input !== document.activeElement) {
|
|
34
|
-
input.focus();
|
|
35
|
-
input.select();
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
getEditingCell() {
|
|
40
|
-
const data = this.grid.data();
|
|
41
|
-
for (let i = 0; i < data.length; i++) {
|
|
42
|
-
for (let j = 0; j < data[i].length; j++) {
|
|
43
|
-
if (this.isEditing({ row: i, col: j })) {
|
|
44
|
-
return { row: i, col: j };
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
setInput(input, position) {
|
|
51
|
-
this.inputMap.set(`${this.buildKey(position)}`, input);
|
|
52
|
-
}
|
|
53
|
-
getInput(position) {
|
|
54
|
-
return this.inputMap.get(this.buildKey(position)) ?? null;
|
|
55
|
-
}
|
|
56
|
-
buildKey(position) {
|
|
57
|
-
return `(${position.row}, ${position.col})`;
|
|
58
|
-
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
60
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorService }); }
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: EditorService, decorators: [{
|
|
63
|
-
type: Injectable
|
|
64
|
-
}] });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2ZlYXR1cmVzL2VkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBSXpELE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBRVUsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsTUFBTSxDQUFzQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxhQUFRLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7S0FzRG5FO0lBcERDLFNBQVMsQ0FBQyxRQUFrQjtRQUMxQixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxHQUFHLEtBQUssUUFBUSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsR0FBRyxLQUFLLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDaEcsQ0FBQztJQUVELFlBQVksQ0FBQyxRQUFrQjtRQUM3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDL0MsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQWtCO1FBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLElBQUksS0FBSyxJQUFJLEtBQUssS0FBSyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzlDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDZCxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDckMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDO29CQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUF1QixFQUFFLFFBQWtCO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxRQUFRLENBQUMsUUFBa0I7UUFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzVELENBQUM7SUFFUyxRQUFRLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzlDLENBQUM7OEdBMURVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkU2VydmljZSB9IGZyb20gJy4vZ3JpZC5zZXJ2aWNlJztcbmltcG9ydCB7IFNlbGVjdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlbGVjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3RlY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi9wcm90ZWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY2VsbC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFZGl0b3JTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBncmlkID0gaW5qZWN0KEdyaWRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzZWxlY3Rpb24gPSBpbmplY3QoU2VsZWN0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcHJvdGVjdGlvbiA9IGluamVjdChQcm90ZWN0aW9uU2VydmljZSk7XG4gIHJlYWRvbmx5IGVkaXRpbm5nQ2VsbCA9IHNpZ25hbDx7IHJvdzogbnVtYmVyLCBjb2w6IG51bWJlciB9IHwgbnVsbD4obnVsbCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpbnB1dE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBIVE1MSW5wdXRFbGVtZW50PigpO1xuXG4gIGlzRWRpdGluZyhwb3NpdGlvbjogUG9zaXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lZGl0aW5uZ0NlbGwoKT8ucm93ID09PSBwb3NpdGlvbi5yb3cgJiYgdGhpcy5lZGl0aW5uZ0NlbGwoKT8uY29sID09PSBwb3NpdGlvbi5jb2w7XG4gIH1cblxuICBzdGFydEVkaXRpbmcocG9zaXRpb246IFBvc2l0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ3JpZC5nZXRDb250ZXh0KHBvc2l0aW9uKTtcbiAgICBjb25zb2xlLmRlYnVnKCdjb250ZXh0OicsIGNvbnRleHQpO1xuICAgIGlmICghdGhpcy5wcm90ZWN0aW9uLmlzRWRpdGFibGUobnVsbCwgY29udGV4dCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3Rpb24uY2xlYXJTZWxlY3Rpb24oKTtcbiAgICB0aGlzLmVkaXRpbm5nQ2VsbC5zZXQocG9zaXRpb24pO1xuICAgIHRoaXMuZm9jdXMocG9zaXRpb24pO1xuICB9XG5cbiAgc3RvcEVkaXRpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5lZGl0aW5uZ0NlbGwuc2V0KG51bGwpO1xuICB9XG5cbiAgZm9jdXMocG9zaXRpb246IFBvc2l0aW9uKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBpbnB1dCA9IHRoaXMuZ2V0SW5wdXQocG9zaXRpb24pO1xuICAgICAgaWYgKGlucHV0ICYmIGlucHV0ICE9PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgICAgIGlucHV0LnNlbGVjdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0RWRpdGluZ0NlbGwoKTogUG9zaXRpb24gfCBudWxsIHtcbiAgICBjb25zdCBkYXRhID0gdGhpcy5ncmlkLmRhdGEoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgZGF0YVtpXS5sZW5ndGg7IGorKykge1xuICAgICAgICBpZiAodGhpcy5pc0VkaXRpbmcoe3JvdzogaSwgY29sOiBqfSkpIHtcbiAgICAgICAgICByZXR1cm4geyByb3c6IGksIGNvbDogaiB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc2V0SW5wdXQoaW5wdXQ6IEhUTUxJbnB1dEVsZW1lbnQsIHBvc2l0aW9uOiBQb3NpdGlvbik6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRNYXAuc2V0KGAke3RoaXMuYnVpbGRLZXkocG9zaXRpb24pfWAsIGlucHV0KTtcbiAgfVxuXG4gIGdldElucHV0KHBvc2l0aW9uOiBQb3NpdGlvbik6IEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dE1hcC5nZXQodGhpcy5idWlsZEtleShwb3NpdGlvbikpID8/IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgYnVpbGRLZXkocG9zaXRpb246IFBvc2l0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCgke3Bvc2l0aW9uLnJvd30sICR7cG9zaXRpb24uY29sfSlgO1xuICB9XG59Il19
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { computed, Injectable, signal } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class GridService {
|
|
4
|
-
constructor() {
|
|
5
|
-
this.data = signal([[]]);
|
|
6
|
-
this.columns = computed(() => Array.from({ length: this.data()[0].length }, (_, i) => String.fromCharCode(65 + i)));
|
|
7
|
-
this.contextMap = new Map();
|
|
8
|
-
}
|
|
9
|
-
updateCell(row, col, value) {
|
|
10
|
-
this.data.update(data => {
|
|
11
|
-
data[row][col] = {
|
|
12
|
-
dataValue: value,
|
|
13
|
-
expressionValue: value,
|
|
14
|
-
};
|
|
15
|
-
return [...data];
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
getValue(position) {
|
|
19
|
-
return this.getCell(position)?.dataValue ?? null;
|
|
20
|
-
}
|
|
21
|
-
getExpressionValue(position) {
|
|
22
|
-
return this.getCell(position)?.expressionValue ?? null;
|
|
23
|
-
}
|
|
24
|
-
getCell(position) {
|
|
25
|
-
return this.data()[position.row]?.[position.col] ?? null;
|
|
26
|
-
}
|
|
27
|
-
updateAllCells(predicate, updates) {
|
|
28
|
-
this.data.update(data => {
|
|
29
|
-
for (let i = 0; i < data.length; i++) {
|
|
30
|
-
for (let j = 0; j < data[0].length; j++) {
|
|
31
|
-
if (predicate(data[i][j])) {
|
|
32
|
-
data[i][j] = { ...data[i][j], ...updates };
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return [...data];
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
setContext(context) {
|
|
40
|
-
this.contextMap.set(this.buildKey(context.position), context);
|
|
41
|
-
}
|
|
42
|
-
getContext(position) {
|
|
43
|
-
return this.contextMap.get(this.buildKey(position)) ?? null;
|
|
44
|
-
}
|
|
45
|
-
buildKey(position) {
|
|
46
|
-
return `(${position.row}, ${position.col})`;
|
|
47
|
-
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GridService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GridService }); }
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: GridService, decorators: [{
|
|
52
|
-
type: Injectable
|
|
53
|
-
}] });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUk3RCxNQUFNLE9BQU8sV0FBVztJQUR4QjtRQUVXLFNBQUksR0FBRyxNQUFNLENBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlCLFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckcsZUFBVSxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO0tBZ0RoRTtJQTlDQyxVQUFVLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxLQUFVO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRztnQkFDZixTQUFTLEVBQUUsS0FBSztnQkFDaEIsZUFBZSxFQUFFLEtBQUs7YUFDdkIsQ0FBQTtZQUNELE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxJQUFJLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGVBQWUsSUFBSSxJQUFJLENBQUM7SUFDekQsQ0FBQztJQUVTLE9BQU8sQ0FBQyxRQUFrQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjLENBQUMsU0FBa0MsRUFBRSxPQUFzQjtRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNyQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUN4QyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUMxQixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO29CQUM3QyxDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQW9CO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxVQUFVLENBQUMsUUFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQzlELENBQUM7SUFFUyxRQUFRLENBQUMsUUFBa0I7UUFDbkMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzlDLENBQUM7OEdBbERVLFdBQVc7a0hBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENlbGwsIENlbGxDb250ZXh0LCBQb3NpdGlvbiB9IGZyb20gJy4uL21vZGVscy9jZWxsLm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEdyaWRTZXJ2aWNlIHtcbiAgcmVhZG9ubHkgZGF0YSA9IHNpZ25hbDxDZWxsW11bXT4oW1tdXSk7XG4gIHJlYWRvbmx5IGNvbHVtbnMgPSBjb21wdXRlZCgoKSA9PiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmRhdGEoKVswXS5sZW5ndGggfSwgKF8sIGkpID0+IFN0cmluZy5mcm9tQ2hhckNvZGUoNjUgKyBpKSkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBDZWxsQ29udGV4dD4oKTtcblxuICB1cGRhdGVDZWxsKHJvdzogbnVtYmVyLCBjb2w6IG51bWJlciwgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZGF0YS51cGRhdGUoZGF0YSA9PiB7XG4gICAgICBkYXRhW3Jvd11bY29sXSA9IHtcbiAgICAgICAgZGF0YVZhbHVlOiB2YWx1ZSxcbiAgICAgICAgZXhwcmVzc2lvblZhbHVlOiB2YWx1ZSxcbiAgICAgIH1cbiAgICAgIHJldHVybiBbLi4uZGF0YV07XG4gICAgfSk7XG4gIH1cblxuICBnZXRWYWx1ZShwb3NpdGlvbjogUG9zaXRpb24pOiBhbnkgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDZWxsKHBvc2l0aW9uKT8uZGF0YVZhbHVlID8/IG51bGw7XG4gIH1cblxuICBnZXRFeHByZXNzaW9uVmFsdWUocG9zaXRpb246IFBvc2l0aW9uKTogYW55IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbChwb3NpdGlvbik/LmV4cHJlc3Npb25WYWx1ZSA/PyBudWxsO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENlbGwocG9zaXRpb246IFBvc2l0aW9uKTogQ2VsbCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmRhdGEoKVtwb3NpdGlvbi5yb3ddPy5bcG9zaXRpb24uY29sXSA/PyBudWxsO1xuICB9XG5cbiAgdXBkYXRlQWxsQ2VsbHMocHJlZGljYXRlOiAoY2VsbDogQ2VsbCkgPT4gYm9vbGVhbiwgdXBkYXRlczogUGFydGlhbDxDZWxsPik6IHZvaWQge1xuICAgIHRoaXMuZGF0YS51cGRhdGUoZGF0YSA9PiB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBkYXRhWzBdLmxlbmd0aDsgaisrKSB7XG4gICAgICAgICAgaWYgKHByZWRpY2F0ZShkYXRhW2ldW2pdKSkge1xuICAgICAgICAgICAgZGF0YVtpXVtqXSA9IHsgLi4uZGF0YVtpXVtqXSwgLi4udXBkYXRlcyB9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIFsuLi5kYXRhXTtcbiAgICB9KTsgXG4gIH1cblxuICBzZXRDb250ZXh0KGNvbnRleHQ6IENlbGxDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0TWFwLnNldCh0aGlzLmJ1aWxkS2V5KGNvbnRleHQucG9zaXRpb24pLCBjb250ZXh0KTtcbiAgfVxuXG4gIGdldENvbnRleHQocG9zaXRpb246IFBvc2l0aW9uKTogQ2VsbENvbnRleHQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5jb250ZXh0TWFwLmdldCh0aGlzLmJ1aWxkS2V5KHBvc2l0aW9uKSkgPz8gbnVsbDtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEtleShwb3NpdGlvbjogUG9zaXRpb24pOiBzdHJpbmcge1xuICAgIHJldHVybiBgKCR7cG9zaXRpb24ucm93fSwgJHtwb3NpdGlvbi5jb2x9KWA7XG4gIH1cbn0iXX0=
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export * from './clipboard.service';
|
|
2
|
-
export * from './data.service';
|
|
3
|
-
export * from './editor.service';
|
|
4
|
-
export * from './grid.service';
|
|
5
|
-
export * from './navigation.service';
|
|
6
|
-
export * from './protection.service';
|
|
7
|
-
export * from './selection.service';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbmctYXRvbWljL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwcmVhZHNoZWV0L2ZlYXR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmlkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9uYXZpZ2F0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm90ZWN0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Rpb24uc2VydmljZSc7XG4iXX0=
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { GridService } from './grid.service';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "./grid.service";
|
|
5
|
-
export class NavigationService {
|
|
6
|
-
constructor(gridService) {
|
|
7
|
-
this.gridService = gridService;
|
|
8
|
-
}
|
|
9
|
-
moveToNextCell({ row, col }) {
|
|
10
|
-
const columns = this.gridService.columns();
|
|
11
|
-
if (col < columns.length - 1) {
|
|
12
|
-
return { row, col: col + 1 };
|
|
13
|
-
}
|
|
14
|
-
else if (row < this.gridService.data().length - 1) {
|
|
15
|
-
return { row: row + 1, col: 0 };
|
|
16
|
-
}
|
|
17
|
-
return { row, col };
|
|
18
|
-
}
|
|
19
|
-
moveToPreviousCell({ row, col }) {
|
|
20
|
-
const columns = this.gridService.columns();
|
|
21
|
-
if (col > 0) {
|
|
22
|
-
return { row, col: col - 1 };
|
|
23
|
-
}
|
|
24
|
-
else if (row > 0) {
|
|
25
|
-
return { row: row - 1, col: columns.length - 1 };
|
|
26
|
-
}
|
|
27
|
-
return { row, col };
|
|
28
|
-
}
|
|
29
|
-
moveToNextRow({ row, col }) {
|
|
30
|
-
if (row < this.gridService.data().length - 1) {
|
|
31
|
-
return { row: row + 1, col };
|
|
32
|
-
}
|
|
33
|
-
return { row, col };
|
|
34
|
-
}
|
|
35
|
-
moveToPreviousRow({ row, col }) {
|
|
36
|
-
if (row > 0) {
|
|
37
|
-
return { row: row - 1, col };
|
|
38
|
-
}
|
|
39
|
-
return { row, col };
|
|
40
|
-
}
|
|
41
|
-
moveRight({ row, col }) {
|
|
42
|
-
if (col < this.gridService.columns().length - 1) {
|
|
43
|
-
return { row, col: col + 1 };
|
|
44
|
-
}
|
|
45
|
-
return { row, col };
|
|
46
|
-
}
|
|
47
|
-
moveLeft({ row, col }) {
|
|
48
|
-
if (col > 0) {
|
|
49
|
-
return { row, col: col - 1 };
|
|
50
|
-
}
|
|
51
|
-
return { row, col };
|
|
52
|
-
}
|
|
53
|
-
moveUp({ row, col }) {
|
|
54
|
-
if (row > 0) {
|
|
55
|
-
return { row: row - 1, col };
|
|
56
|
-
}
|
|
57
|
-
return { row, col };
|
|
58
|
-
}
|
|
59
|
-
moveDown({ row, col }) {
|
|
60
|
-
if (row < this.gridService.data().length - 1) {
|
|
61
|
-
return { row: row + 1, col };
|
|
62
|
-
}
|
|
63
|
-
return { row, col };
|
|
64
|
-
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NavigationService, deps: [{ token: i1.GridService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
66
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NavigationService }); }
|
|
67
|
-
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NavigationService, decorators: [{
|
|
69
|
-
type: Injectable
|
|
70
|
-
}], ctorParameters: () => [{ type: i1.GridService }] });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9uYXZpZ2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUc3QyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQUcsQ0FBQztJQUVoRCxjQUFjLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFXO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDM0MsSUFBSSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDL0IsQ0FBQzthQUFNLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBVztRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNDLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLENBQUM7YUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNuQixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQVc7UUFDaEMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQVc7UUFDcEMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDWixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQVc7UUFDNUIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFXO1FBQzNCLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxNQUFNLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFXO1FBQ3pCLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRLENBQUMsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFXO1FBQzNCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQS9EVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2NlbGwubW9kZWwnO1xuaW1wb3J0IHsgR3JpZFNlcnZpY2UgfSBmcm9tICcuL2dyaWQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZ3JpZFNlcnZpY2U6IEdyaWRTZXJ2aWNlKSB7fVxuXG4gIG1vdmVUb05leHRDZWxsKHtyb3csIGNvbH06IFBvc2l0aW9uKTogUG9zaXRpb24ge1xuICAgIGNvbnN0IGNvbHVtbnMgPSB0aGlzLmdyaWRTZXJ2aWNlLmNvbHVtbnMoKTtcbiAgICBpZiAoY29sIDwgY29sdW1ucy5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4geyByb3csIGNvbDogY29sICsgMSB9O1xuICAgIH0gZWxzZSBpZiAocm93IDwgdGhpcy5ncmlkU2VydmljZS5kYXRhKCkubGVuZ3RoIC0gMSkge1xuICAgICAgcmV0dXJuIHsgcm93OiByb3cgKyAxLCBjb2w6IDAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcm93LCBjb2wgfTtcbiAgfVxuXG4gIG1vdmVUb1ByZXZpb3VzQ2VsbCh7cm93LCBjb2x9OiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5ncmlkU2VydmljZS5jb2x1bW5zKCk7XG4gICAgaWYgKGNvbCA+IDApIHtcbiAgICAgIHJldHVybiB7IHJvdywgY29sOiBjb2wgLSAxIH07XG4gICAgfSBlbHNlIGlmIChyb3cgPiAwKSB7XG4gICAgICByZXR1cm4geyByb3c6IHJvdyAtIDEsIGNvbDogY29sdW1ucy5sZW5ndGggLSAxIH07XG4gICAgfVxuICAgIHJldHVybiB7IHJvdywgY29sIH07XG4gIH1cblxuICBtb3ZlVG9OZXh0Um93KHtyb3csIGNvbH06IFBvc2l0aW9uKTogUG9zaXRpb24ge1xuICAgIGlmIChyb3cgPCB0aGlzLmdyaWRTZXJ2aWNlLmRhdGEoKS5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4geyByb3c6IHJvdyArIDEsIGNvbCB9O1xuICAgIH1cbiAgICByZXR1cm4geyByb3csIGNvbCB9O1xuICB9XG5cbiAgbW92ZVRvUHJldmlvdXNSb3coe3JvdywgY29sfTogUG9zaXRpb24pOiBQb3NpdGlvbiB7XG4gICAgaWYgKHJvdyA+IDApIHtcbiAgICAgIHJldHVybiB7IHJvdzogcm93IC0gMSwgY29sIH07XG4gICAgfVxuICAgIHJldHVybiB7IHJvdywgY29sIH07XG4gIH1cblxuICBtb3ZlUmlnaHQoe3JvdywgY29sfTogUG9zaXRpb24pOiBQb3NpdGlvbiB7XG4gICAgaWYgKGNvbCA8IHRoaXMuZ3JpZFNlcnZpY2UuY29sdW1ucygpLmxlbmd0aCAtIDEpIHtcbiAgICAgIHJldHVybiB7IHJvdywgY29sOiBjb2wgKyAxIH07XG4gICAgfVxuICAgIHJldHVybiB7IHJvdywgY29sIH07XG4gIH1cblxuICBtb3ZlTGVmdCh7cm93LCBjb2x9OiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgICBpZiAoY29sID4gMCkge1xuICAgICAgcmV0dXJuIHsgcm93LCBjb2w6IGNvbCAtIDEgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcm93LCBjb2wgfTtcbiAgfVxuXG4gIG1vdmVVcCh7cm93LCBjb2x9OiBQb3NpdGlvbik6IFBvc2l0aW9uIHtcbiAgICBpZiAocm93ID4gMCkge1xuICAgICAgcmV0dXJuIHsgcm93OiByb3cgLSAxLCBjb2wgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgcm93LCBjb2wgfTtcbiAgfVxuXG4gIG1vdmVEb3duKHtyb3csIGNvbH06IFBvc2l0aW9uKTogUG9zaXRpb24ge1xuICAgIGlmIChyb3cgPCB0aGlzLmdyaWRTZXJ2aWNlLmRhdGEoKS5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4geyByb3c6IHJvdyArIDEsIGNvbCB9O1xuICAgIH1cbiAgICByZXR1cm4geyByb3csIGNvbCB9O1xuICB9XG59Il19
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { inject, Injectable, InjectionToken } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export const COLUMN_PROTECTOR = new InjectionToken('COLUMN_PROTECTOR', {
|
|
4
|
-
providedIn: 'root',
|
|
5
|
-
factory: () => [],
|
|
6
|
-
});
|
|
7
|
-
export function provideCellProtector(useFactory) {
|
|
8
|
-
return { provide: COLUMN_PROTECTOR, useFactory, multi: true };
|
|
9
|
-
}
|
|
10
|
-
export class ProtectionService {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.protectors = inject(COLUMN_PROTECTOR, { optional: true });
|
|
13
|
-
}
|
|
14
|
-
isEditable(value, context) {
|
|
15
|
-
if (!this.protectors)
|
|
16
|
-
return true;
|
|
17
|
-
return this.protectors.every((protector) => protector(value, context));
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProtectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProtectionService }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ProtectionService, decorators: [{
|
|
23
|
-
type: Injectable
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdGVjdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG5nLWF0b21pYy9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcHJlYWRzaGVldC9mZWF0dXJlcy9wcm90ZWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVluRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBa0Isa0JBQWtCLEVBQUU7SUFDdEYsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7Q0FDbEIsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFVBQStCO0lBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUNoRSxDQUFDO0FBR0QsTUFBTSxPQUFPLGlCQUFpQjtJQUQ5QjtRQUVXLGVBQVUsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztLQU1sRTtJQUpDLFVBQVUsQ0FBQyxLQUFVLEVBQUUsT0FBeUI7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OEdBTlUsaUJBQWlCO2tIQUFqQixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW50ZXJmYWNlIENlbGxDb250ZXh0PFQ+IHtcbiAgaXRlbTogVDtcbiAgbmFtZTogc3RyaW5nO1xuICBwb3NpdGlvbjoge1xuICAgIHJvdzogbnVtYmVyO1xuICAgIGNvbDogbnVtYmVyO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIENlbGxQcm90ZWN0b3IgPSAodmFsdWU6IGFueSwgY29udGV4dDogQ2VsbENvbnRleHQ8YW55PikgPT4gYm9vbGVhbjtcbmV4cG9ydCBjb25zdCBDT0xVTU5fUFJPVEVDVE9SID0gbmV3IEluamVjdGlvblRva2VuPENlbGxQcm90ZWN0b3JbXT4oJ0NPTFVNTl9QUk9URUNUT1InLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gW10sXG59KTtcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ2VsbFByb3RlY3Rvcih1c2VGYWN0b3J5OiAoKSA9PiBDZWxsUHJvdGVjdG9yKSB7XG4gIHJldHVybiB7IHByb3ZpZGU6IENPTFVNTl9QUk9URUNUT1IsIHVzZUZhY3RvcnksIG11bHRpOiB0cnVlIH07XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQcm90ZWN0aW9uU2VydmljZSB7XG4gIHJlYWRvbmx5IHByb3RlY3RvcnMgPSBpbmplY3QoQ09MVU1OX1BST1RFQ1RPUiwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgaXNFZGl0YWJsZSh2YWx1ZTogYW55LCBjb250ZXh0OiBDZWxsQ29udGV4dDxhbnk+KTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnByb3RlY3RvcnMpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiB0aGlzLnByb3RlY3RvcnMuZXZlcnkoKHByb3RlY3RvcikgPT4gcHJvdGVjdG9yKHZhbHVlLCBjb250ZXh0KSk7XG4gIH1cbn1cbiJdfQ==
|