@ng-atomic/common 18.11.0 → 18.12.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/directives/molecules/column/column.molecule.d.ts +66 -0
- package/directives/molecules/column/index.d.ts +1 -0
- package/directives/resize-column/index.d.ts +1 -0
- package/directives/resize-column/resize-column.directive.d.ts +21 -0
- package/directives/resize-column/resize-handle.component.d.ts +5 -0
- package/esm2022/directives/molecules/column/column.molecule.mjs +112 -0
- package/esm2022/directives/molecules/column/index.mjs +2 -0
- package/esm2022/directives/molecules/column/ng-atomic-common-directives-molecules-column.mjs +5 -0
- package/esm2022/directives/resize-column/index.mjs +2 -0
- package/esm2022/directives/resize-column/ng-atomic-common-directives-resize-column.mjs +5 -0
- package/esm2022/directives/resize-column/resize-column.directive.mjs +62 -0
- package/esm2022/directives/resize-column/resize-handle.component.mjs +13 -0
- package/esm2022/models/index.mjs +1 -1
- package/esm2022/pipes/actions/actions.pipe.mjs +1 -1
- package/esm2022/pipes/columns/columns.pipe.mjs +3 -2
- package/esm2022/pipes/data-accessor/data-accessor.pipe.mjs +1 -1
- package/esm2022/pipes/domain/domain.pipe.mjs +10 -24
- package/esm2022/pipes/error/error.pipe.mjs +1 -2
- package/esm2022/pipes/expression/expression.pipe.mjs +18 -0
- package/esm2022/pipes/expression/index.mjs +2 -0
- package/esm2022/pipes/expression/ng-atomic-common-pipes-expression.mjs +5 -0
- package/esm2022/pipes/smart-field/smart-field.pipe.mjs +15 -4
- package/esm2022/pipes/style/index.mjs +2 -0
- package/esm2022/pipes/style/ng-atomic-common-pipes-style.mjs +5 -0
- package/esm2022/pipes/style/style.pipe.mjs +41 -0
- package/esm2022/services/form/columns/columns.service.mjs +28 -21
- package/esm2022/services/form/json-schema/json-schema.service.mjs +75 -57
- package/esm2022/services/form/pagination/pagination.service.mjs +4 -4
- package/esm2022/services/language/index.mjs +2 -0
- package/esm2022/services/language/language.service.mjs +39 -0
- package/esm2022/services/language/ng-atomic-common-services-language.mjs +5 -0
- package/esm2022/services/loading/loading.service.mjs +2 -2
- package/esm2022/services/query-resolver/query-resolver.service.mjs +4 -5
- package/esm2022/services/snack-bar/snack-bar.service.mjs +29 -11
- package/esm2022/services/spreadsheet/directives/grid-cell.directive.mjs +124 -0
- package/esm2022/services/spreadsheet/directives/index.mjs +2 -0
- package/esm2022/services/spreadsheet/features/clipboard.service.mjs +71 -0
- package/esm2022/services/spreadsheet/features/data.service.mjs +63 -0
- package/esm2022/services/spreadsheet/features/editor.service.mjs +65 -0
- package/esm2022/services/spreadsheet/features/grid.service.mjs +54 -0
- package/esm2022/services/spreadsheet/features/index.mjs +8 -0
- package/esm2022/services/spreadsheet/features/navigation.service.mjs +71 -0
- package/esm2022/services/spreadsheet/features/protection.service.mjs +25 -0
- package/esm2022/services/spreadsheet/features/selection.service.mjs +129 -0
- package/esm2022/services/spreadsheet/index.mjs +5 -0
- package/esm2022/services/spreadsheet/models/cell.model.mjs +2 -0
- package/esm2022/services/spreadsheet/models/index.mjs +2 -0
- package/esm2022/services/spreadsheet/ng-atomic-common-services-spreadsheet.mjs +5 -0
- package/esm2022/services/spreadsheet/spreadsheet.service.mjs +183 -0
- package/esm2022/services/ui/ui.helpers.mjs +15 -8
- package/esm2022/stores/query/query.store.mjs +2 -2
- package/esm2022/utils/expression/expression.transformer.mjs +38 -0
- package/esm2022/utils/expression/index.mjs +2 -0
- package/esm2022/utils/get/get.mjs +2 -2
- package/esm2022/utils/index.mjs +2 -2
- package/esm2022/utils/inject/inject.mjs +1 -1
- package/fesm2022/ng-atomic-common-directives-fallback-src.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-directives-molecules-column.mjs +119 -0
- package/fesm2022/ng-atomic-common-directives-molecules-column.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-directives-resize-column.mjs +79 -0
- package/fesm2022/ng-atomic-common-directives-resize-column.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-interceptors-authorization.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-interceptors-throttle.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-interceptors-token.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-interceptors.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-actions.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-auto-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-columns.mjs +2 -1
- package/fesm2022/ng-atomic-common-pipes-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-data-accessor.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-domain.mjs +10 -24
- package/fesm2022/ng-atomic-common-pipes-domain.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-error.mjs +0 -1
- package/fesm2022/ng-atomic-common-pipes-error.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-expression.mjs +25 -0
- package/fesm2022/ng-atomic-common-pipes-expression.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-grouped-by.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-index-length.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-index.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-keys.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-map.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-page.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-pagination.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-query.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-resolve-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-secret.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-select-id.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-signal.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-smart-field.mjs +15 -4
- package/fesm2022/ng-atomic-common-pipes-smart-field.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-sort-by.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-sort.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-pipes-style.mjs +48 -0
- package/fesm2022/ng-atomic-common-pipes-style.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-pipes-yen.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-auth.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-breakpoint.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-chips-manager.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-csv.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-fab.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-_index.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-columns.mjs +27 -20
- package/fesm2022/ng-atomic-common-services-form-columns.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-json-schema.mjs +74 -56
- package/fesm2022/ng-atomic-common-services-form-json-schema.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-pagination.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-form-pagination.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form-sort.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-form.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-initializer.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-language.mjs +46 -0
- package/fesm2022/ng-atomic-common-services-language.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-services-loading.mjs +1 -1
- package/fesm2022/ng-atomic-common-services-loading.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-navigation-history.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-query-resolver.mjs +3 -3
- package/fesm2022/ng-atomic-common-services-query-resolver.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-root-property.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-router.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-secret.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-sheets-actions.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-sheets.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-side-app.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-side-nav-mode.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-snack-bar.mjs +29 -11
- package/fesm2022/ng-atomic-common-services-snack-bar.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-services-spreadsheet.mjs +758 -0
- package/fesm2022/ng-atomic-common-services-spreadsheet.mjs.map +1 -0
- package/fesm2022/ng-atomic-common-services-ui.mjs +14 -7
- package/fesm2022/ng-atomic-common-services-ui.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-entities.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-entity.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-pagination.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-query.mjs +1 -1
- package/fesm2022/ng-atomic-common-stores-query.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-selection.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-stores-sort.mjs.map +1 -1
- package/fesm2022/ng-atomic-common-utils.mjs +34 -15
- package/fesm2022/ng-atomic-common-utils.mjs.map +1 -1
- package/fesm2022/ng-atomic-common.mjs.map +1 -1
- package/models/index.d.ts +2 -1
- package/package.json +67 -38
- package/pipes/actions/actions.pipe.d.ts +2 -1
- package/pipes/columns/columns.pipe.d.ts +1 -0
- package/pipes/data-accessor/data-accessor.pipe.d.ts +1 -1
- package/pipes/domain/domain.pipe.d.ts +3 -5
- package/pipes/expression/expression.pipe.d.ts +9 -0
- package/pipes/expression/index.d.ts +1 -0
- package/pipes/smart-field/smart-field.pipe.d.ts +2 -2
- package/pipes/style/index.d.ts +1 -0
- package/pipes/style/style.pipe.d.ts +18 -0
- package/services/form/_index/index.service.d.ts +4 -4
- package/services/form/columns/columns.service.d.ts +5 -2
- package/services/form/json-schema/json-schema.service.d.ts +9 -1
- package/services/form/pagination/pagination.service.d.ts +5 -5
- package/services/language/index.d.ts +1 -0
- package/services/language/language.service.d.ts +12 -0
- package/services/query-resolver/query-resolver.service.d.ts +2 -2
- package/services/snack-bar/snack-bar.service.d.ts +5 -3
- package/services/spreadsheet/directives/grid-cell.directive.d.ts +41 -0
- package/services/spreadsheet/directives/index.d.ts +1 -0
- package/services/spreadsheet/features/clipboard.service.d.ts +15 -0
- package/services/spreadsheet/features/data.service.d.ts +16 -0
- package/services/spreadsheet/features/editor.service.d.ts +22 -0
- package/services/spreadsheet/features/grid.service.d.ts +17 -0
- package/services/spreadsheet/features/index.d.ts +7 -0
- package/services/spreadsheet/features/navigation.service.d.ts +17 -0
- package/services/spreadsheet/features/protection.service.d.ts +24 -0
- package/services/spreadsheet/features/selection.service.d.ts +40 -0
- package/services/spreadsheet/index.d.ts +4 -0
- package/services/spreadsheet/models/cell.model.d.ts +17 -0
- package/services/spreadsheet/models/index.d.ts +1 -0
- package/services/spreadsheet/spreadsheet.service.d.ts +29 -0
- package/utils/expression/expression.transformer.d.ts +12 -0
- package/utils/expression/index.d.ts +1 -0
- package/utils/index.d.ts +1 -1
- package/utils/inject/inject.d.ts +2 -2
- package/esm2022/pipes/smart-exp/index.mjs +0 -3
- package/esm2022/pipes/smart-exp/ng-atomic-common-pipes-smart-exp.mjs +0 -5
- package/esm2022/pipes/smart-exp/smart-exp.module.mjs +0 -16
- package/esm2022/pipes/smart-exp/smart-exp.pipe.mjs +0 -27
- package/esm2022/utils/smart-exp-transformer/index.mjs +0 -2
- package/esm2022/utils/smart-exp-transformer/smart-exp-transformer.mjs +0 -18
- package/fesm2022/ng-atomic-common-pipes-smart-exp.mjs +0 -47
- package/fesm2022/ng-atomic-common-pipes-smart-exp.mjs.map +0 -1
- package/pipes/smart-exp/index.d.ts +0 -2
- package/pipes/smart-exp/smart-exp.module.d.ts +0 -7
- package/pipes/smart-exp/smart-exp.pipe.d.ts +0 -11
- package/utils/smart-exp-transformer/index.d.ts +0 -1
- package/utils/smart-exp-transformer/smart-exp-transformer.d.ts +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs","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","../../../../../packages/@ng-atomic/common/src/lib/directives/ios-safari-scroll-buggyfill/ng-atomic-common-directives-ios-safari-scroll-buggyfill.ts"],"sourcesContent":["import { AfterViewInit, Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[iosSafariScrollBuggyfill]'\n})\nexport class IosSafariScrollBuggyfillDirective implements AfterViewInit {\n\n ngAfterViewInit(): void {\n // this.el.nativeElement.addEventListener('touchmove', (e: Event) => {\n // e.preventDefault();\n // }, {passive: false});\n }\n\n @HostListener('touchmove', ['$event'])\n onTouchmove(event: Event) {\n event.preventDefault();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IosSafariScrollBuggyfillDirective } from './ios-safari-scroll-buggyfill.directive';\n\n\n\n@NgModule({\n declarations: [\n IosSafariScrollBuggyfillDirective,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n IosSafariScrollBuggyfillDirective,\n ]\n})\nexport class IosSafariScrollBuggyfillModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,iCAAiC,CAAA;IAE5C,eAAe,GAAA
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-directives-ios-safari-scroll-buggyfill.mjs","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","../../../../../packages/@ng-atomic/common/src/lib/directives/ios-safari-scroll-buggyfill/ng-atomic-common-directives-ios-safari-scroll-buggyfill.ts"],"sourcesContent":["import { AfterViewInit, Directive, HostListener } from '@angular/core';\n\n@Directive({\n selector: '[iosSafariScrollBuggyfill]'\n})\nexport class IosSafariScrollBuggyfillDirective implements AfterViewInit {\n\n ngAfterViewInit(): void {\n // this.el.nativeElement.addEventListener('touchmove', (e: Event) => {\n // e.preventDefault();\n // }, {passive: false});\n }\n\n @HostListener('touchmove', ['$event'])\n onTouchmove(event: Event) {\n event.preventDefault();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IosSafariScrollBuggyfillDirective } from './ios-safari-scroll-buggyfill.directive';\n\n\n\n@NgModule({\n declarations: [\n IosSafariScrollBuggyfillDirective,\n ],\n imports: [\n CommonModule,\n ],\n exports: [\n IosSafariScrollBuggyfillDirective,\n ]\n})\nexport class IosSafariScrollBuggyfillModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,iCAAiC,CAAA;IAE5C,eAAe,GAAA;;;;;AAOf,IAAA,WAAW,CAAC,KAAY,EAAA;QACtB,KAAK,CAAC,cAAc,EAAE;;8GAVb,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjC,iCAAiC,EAAA,QAAA,EAAA,4BAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAH7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;8BAUC,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;;MCI1B,8BAA8B,CAAA;8GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,EATvC,YAAA,EAAA,CAAA,iCAAiC,CAGjC,EAAA,OAAA,EAAA,CAAA,YAAY,aAGZ,iCAAiC,CAAA,EAAA,CAAA,CAAA;AAGxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,YANvC,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAMH,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAX1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,iCAAiC;AAClC,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;AACb,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iCAAiC;AAClC;AACF,iBAAA;;;AChBD;;AAEG;;;;"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, signal, computed, Directive, inject, viewChild, effect } from '@angular/core';
|
|
3
|
+
import { CdkTable, CdkColumnDef, CdkCellDef, CdkHeaderCellDef } from '@angular/cdk/table';
|
|
4
|
+
import { InjectableComponent, _computed, NgAtomicComponent } from '@ng-atomic/core';
|
|
5
|
+
import { Clipboard } from '@angular/cdk/clipboard';
|
|
6
|
+
import { makeConfig } from '@ng-atomic/common/services/ui';
|
|
7
|
+
import { SpreadSheetService } from '@ng-atomic/common/services/spreadsheet';
|
|
8
|
+
|
|
9
|
+
var _a;
|
|
10
|
+
var ActionId;
|
|
11
|
+
(function (ActionId) {
|
|
12
|
+
ActionId["CHANGE_WIDTH"] = "[@ng-atomic/common/directives/molecules/column] change width";
|
|
13
|
+
})(ActionId || (ActionId = {}));
|
|
14
|
+
class NgAtomicColumnMoleculeStore extends InjectableComponent {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.#config = _a._Config.inject();
|
|
18
|
+
this.column = input.required();
|
|
19
|
+
this.index = input.required();
|
|
20
|
+
this.tooltipText = signal(null);
|
|
21
|
+
this.clickCopy = input(_computed(() => this.#config().clickCopy));
|
|
22
|
+
this.editable = input(_computed(() => this.#config().editable));
|
|
23
|
+
this.sticky = computed(() => this.column().sticky);
|
|
24
|
+
this.stickyEnd = computed(() => this.column().stickyEnd);
|
|
25
|
+
this.stickyLeft = computed(() => this.column().stickyLeft);
|
|
26
|
+
this.sort = computed(() => this.column().sort);
|
|
27
|
+
this.name = computed(() => this.column().name);
|
|
28
|
+
this.width = computed(() => this.column().width);
|
|
29
|
+
this.columnStyle = computed(() => {
|
|
30
|
+
const stickyLeft = `${this.stickyLeft()}px`;
|
|
31
|
+
const left = this.column().sticky ? stickyLeft : 'auto';
|
|
32
|
+
return ({
|
|
33
|
+
width: `${this.width()}px`,
|
|
34
|
+
minWidth: `${this.width()}px`,
|
|
35
|
+
maxWidth: `${this.width()}px`,
|
|
36
|
+
left,
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
static { this._ActionId = ActionId; }
|
|
41
|
+
static { this._Config = makeConfig(() => {
|
|
42
|
+
return () => ({
|
|
43
|
+
index: 0,
|
|
44
|
+
sort: 'none',
|
|
45
|
+
sticky: false,
|
|
46
|
+
stickyEnd: false,
|
|
47
|
+
name: '',
|
|
48
|
+
editable: false,
|
|
49
|
+
clickCopy: false,
|
|
50
|
+
});
|
|
51
|
+
}, ['@ng-atomic/common', 'molecules', 'column']); }
|
|
52
|
+
#config;
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicColumnMoleculeStore, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
54
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: NgAtomicColumnMoleculeStore, isStandalone: true, inputs: { column: { classPropertyName: "column", publicName: "column", isSignal: true, isRequired: true, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: true, transformFunction: null }, clickCopy: { classPropertyName: "clickCopy", publicName: "clickCopy", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
|
|
55
|
+
}
|
|
56
|
+
_a = NgAtomicColumnMoleculeStore;
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicColumnMoleculeStore, decorators: [{
|
|
58
|
+
type: Directive,
|
|
59
|
+
args: [{ standalone: true }]
|
|
60
|
+
}] });
|
|
61
|
+
class NgAtomicColumnMolecule extends NgAtomicComponent {
|
|
62
|
+
#store;
|
|
63
|
+
#table;
|
|
64
|
+
#clipboard;
|
|
65
|
+
constructor() {
|
|
66
|
+
super();
|
|
67
|
+
this.#store = inject(NgAtomicColumnMoleculeStore);
|
|
68
|
+
this.#table = inject(CdkTable, { optional: true });
|
|
69
|
+
this.#clipboard = inject(Clipboard);
|
|
70
|
+
this.ss = inject(SpreadSheetService);
|
|
71
|
+
this.columnDef = viewChild.required(CdkColumnDef);
|
|
72
|
+
this.cell = viewChild.required(CdkCellDef);
|
|
73
|
+
this.headerCell = viewChild.required(CdkHeaderCellDef);
|
|
74
|
+
effect(() => {
|
|
75
|
+
const name = this.#store.name();
|
|
76
|
+
if (this.columnDef())
|
|
77
|
+
this.columnDef().name = name;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
ngOnInit() {
|
|
81
|
+
if (this.#table) {
|
|
82
|
+
this.columnDef().name = this.#store.name();
|
|
83
|
+
this.columnDef().cell = this.cell();
|
|
84
|
+
this.columnDef().headerCell = this.headerCell();
|
|
85
|
+
this.#table.addColumnDef(this.columnDef());
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
ngOnDestroy() {
|
|
89
|
+
if (this.#table) {
|
|
90
|
+
this.#table.removeColumnDef(this.columnDef());
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
copy(text, $event) {
|
|
94
|
+
if (!this.#store.clickCopy()) {
|
|
95
|
+
$event.preventDefault();
|
|
96
|
+
$event.stopPropagation();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this.#clipboard.copy(text);
|
|
100
|
+
this.#store.tooltipText.set('コピーしました!');
|
|
101
|
+
setTimeout(() => this.#store.tooltipText.set(null), 1000);
|
|
102
|
+
}
|
|
103
|
+
onResize(index, width) {
|
|
104
|
+
this.dispatch({ id: ActionId.CHANGE_WIDTH, payload: { index, width } });
|
|
105
|
+
}
|
|
106
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicColumnMolecule, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
107
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.1.2", type: NgAtomicColumnMolecule, isStandalone: true, viewQueries: [{ propertyName: "columnDef", first: true, predicate: CdkColumnDef, descendants: true, isSignal: true }, { propertyName: "cell", first: true, predicate: CdkCellDef, descendants: true, isSignal: true }, { propertyName: "headerCell", first: true, predicate: CdkHeaderCellDef, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
108
|
+
}
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NgAtomicColumnMolecule, decorators: [{
|
|
110
|
+
type: Directive,
|
|
111
|
+
args: [{ standalone: true }]
|
|
112
|
+
}], ctorParameters: () => [] });
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Generated bundle index. Do not edit.
|
|
116
|
+
*/
|
|
117
|
+
|
|
118
|
+
export { NgAtomicColumnMolecule, NgAtomicColumnMoleculeStore };
|
|
119
|
+
//# sourceMappingURL=ng-atomic-common-directives-molecules-column.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-directives-molecules-column.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/directives/molecules/column/column.molecule.ts","../../../../../packages/@ng-atomic/common/src/lib/directives/molecules/column/ng-atomic-common-directives-molecules-column.ts"],"sourcesContent":["import { computed, Directive, effect, inject, input, signal, viewChild } from '@angular/core';\nimport { CdkCellDef, CdkColumnDef, CdkHeaderCellDef, CdkTable } from '@angular/cdk/table';\nimport { _computed, InjectableComponent, NgAtomicComponent } from '@ng-atomic/core';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { makeConfig } from '@ng-atomic/common/services/ui';\nimport { SpreadSheetService } from '@ng-atomic/common/services/spreadsheet';\nimport { Column } from '@ng-atomic/common/models';\n\nenum ActionId {\n CHANGE_WIDTH = '[@ng-atomic/common/directives/molecules/column] change width',\n}\n\n@Directive({ standalone: true })\nexport abstract class NgAtomicColumnMoleculeStore extends InjectableComponent {\n static readonly _ActionId = ActionId;\n static readonly _Config = makeConfig(() => {\n return () => ({\n index: 0,\n sort: 'none' as 'asc' | 'desc' | 'none',\n sticky: false,\n stickyEnd: false,\n name: '',\n editable: false,\n clickCopy: false,\n });\n }, ['@ng-atomic/common', 'molecules', 'column']);\n\n readonly #config = NgAtomicColumnMoleculeStore._Config.inject();\n readonly column = input.required<Column>();\n readonly index = input.required<number>();\n readonly tooltipText = signal<string | null>(null);\n readonly clickCopy = input(_computed(() => this.#config().clickCopy));\n readonly editable = input(_computed(() => this.#config().editable));\n\n readonly sticky = computed(() => this.column().sticky);\n readonly stickyEnd = computed(() => this.column().stickyEnd);\n readonly stickyLeft = computed(() => this.column().stickyLeft);\n readonly sort = computed(() => this.column().sort);\n readonly name = computed(() => this.column().name);\n readonly width = computed(() => this.column().width);\n readonly columnStyle = computed(() => {\n const stickyLeft = `${this.stickyLeft()}px`;\n const left = this.column().sticky ? stickyLeft : 'auto';\n return ({\n width: `${this.width()}px`,\n minWidth: `${this.width()}px`,\n maxWidth: `${this.width()}px`,\n left,\n });\n });\n}\n\n@Directive({ standalone: true })\nexport abstract class NgAtomicColumnMolecule extends NgAtomicComponent {\n readonly #store = inject(NgAtomicColumnMoleculeStore);\n readonly #table = inject(CdkTable, {optional: true});\n readonly #clipboard = inject(Clipboard);\n protected ss = inject(SpreadSheetService);\n\n\n readonly columnDef = viewChild.required(CdkColumnDef);\n readonly cell = viewChild.required(CdkCellDef);\n readonly headerCell = viewChild.required(CdkHeaderCellDef);\n\n constructor() {\n super();\n effect(() => {\n const name = this.#store.name();\n if (this.columnDef()) this.columnDef().name = name;\n })\n }\n\n ngOnInit() {\n if (this.#table) {\n this.columnDef().name = this.#store.name();\n this.columnDef().cell = this.cell();\n this.columnDef().headerCell = this.headerCell();\n this.#table.addColumnDef(this.columnDef());\n }\n }\n\n ngOnDestroy() {\n if (this.#table) {\n this.#table.removeColumnDef(this.columnDef());\n }\n }\n\n protected copy(text: string, $event: Event) {\n if (!this.#store.clickCopy()) {\n $event.preventDefault();\n $event.stopPropagation();\n return;\n }\n this.#clipboard.copy(text);\n this.#store.tooltipText.set('コピーしました!');\n setTimeout(() => this.#store.tooltipText.set(null), 1000);\n }\n\n protected onResize(index: number, width: number) {\n this.dispatch({ id: ActionId.CHANGE_WIDTH, payload: { index, width } });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component, input, output, inject, ViewContainerRef, ElementRef, Renderer2, Directive } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class ResizeHandle {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ResizeHandle, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: ResizeHandle, isStandalone: true, selector: "resize-handle", ngImport: i0, template: `
|
|
7
|
+
`, isInline: true, styles: [":host.resize-handle{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:1}:host.resize-handle:hover{background-color:#ddd}:host.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}:host.resizing :host.resize-handle{background-color:#999}\n"] }); }
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ResizeHandle, decorators: [{
|
|
10
|
+
type: Component,
|
|
11
|
+
args: [{ standalone: true, selector: 'resize-handle', template: `
|
|
12
|
+
`, styles: [":host.resize-handle{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:1}:host.resize-handle:hover{background-color:#ddd}:host.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}:host.resizing :host.resize-handle{background-color:#999}\n"] }]
|
|
13
|
+
}] });
|
|
14
|
+
|
|
15
|
+
class ResizeColumnDirective {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.width = input(100, { alias: 'resizeColumnWidth' });
|
|
18
|
+
this.resize = output();
|
|
19
|
+
this.isResizing = false;
|
|
20
|
+
this.startX = 0;
|
|
21
|
+
this.startWidth = 0;
|
|
22
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
23
|
+
this.el = inject((ElementRef));
|
|
24
|
+
this.renderer = inject(Renderer2);
|
|
25
|
+
const handleRef = this.viewContainerRef.createComponent(ResizeHandle);
|
|
26
|
+
this.handle = handleRef.location.nativeElement;
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.setupResizeHandle();
|
|
30
|
+
}
|
|
31
|
+
setupResizeHandle() {
|
|
32
|
+
this.renderer.addClass(this.handle, 'resize-handle');
|
|
33
|
+
this.renderer.listen(this.handle, 'mousedown', (event) => this.startResize(event));
|
|
34
|
+
this.renderer.listen(this.handle, 'click', (event) => event.stopPropagation());
|
|
35
|
+
this.renderer.appendChild(this.el.nativeElement, this.handle);
|
|
36
|
+
}
|
|
37
|
+
startResize(event) {
|
|
38
|
+
event.preventDefault();
|
|
39
|
+
this.isResizing = true;
|
|
40
|
+
this.startX = event.pageX;
|
|
41
|
+
this.startWidth = this.width();
|
|
42
|
+
const moveHandler = (e) => this.onResizing(e);
|
|
43
|
+
const stopHandler = () => this.stopResize(moveHandler, stopHandler);
|
|
44
|
+
document.addEventListener('mousemove', moveHandler);
|
|
45
|
+
document.addEventListener('mouseup', stopHandler);
|
|
46
|
+
document.body.classList.add('resizing');
|
|
47
|
+
}
|
|
48
|
+
onResizing(event) {
|
|
49
|
+
if (!this.isResizing)
|
|
50
|
+
return;
|
|
51
|
+
const diff = event.pageX - this.startX;
|
|
52
|
+
const newWidth = Math.max(50, this.startWidth + diff);
|
|
53
|
+
this.resize.emit(newWidth);
|
|
54
|
+
}
|
|
55
|
+
stopResize(moveHandler, stopHandler) {
|
|
56
|
+
if (!this.isResizing)
|
|
57
|
+
return;
|
|
58
|
+
this.isResizing = false;
|
|
59
|
+
document.removeEventListener('mousemove', moveHandler);
|
|
60
|
+
document.removeEventListener('mouseup', stopHandler);
|
|
61
|
+
document.body.classList.remove('resizing');
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ResizeColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
64
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.2", type: ResizeColumnDirective, isStandalone: true, selector: "[resizeColumn]", inputs: { width: { classPropertyName: "width", publicName: "resizeColumnWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { resize: "resize" }, ngImport: i0 }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ResizeColumnDirective, decorators: [{
|
|
67
|
+
type: Directive,
|
|
68
|
+
args: [{
|
|
69
|
+
selector: '[resizeColumn]',
|
|
70
|
+
standalone: true,
|
|
71
|
+
}]
|
|
72
|
+
}], ctorParameters: () => [] });
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Generated bundle index. Do not edit.
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
export { ResizeColumnDirective };
|
|
79
|
+
//# sourceMappingURL=ng-atomic-common-directives-resize-column.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-directives-resize-column.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/directives/resize-column/resize-handle.component.ts","../../../../../packages/@ng-atomic/common/src/lib/directives/resize-column/resize-column.directive.ts","../../../../../packages/@ng-atomic/common/src/lib/directives/resize-column/ng-atomic-common-directives-resize-column.ts"],"sourcesContent":["import { Component } from \"@angular/core\";\n\n@Component({\n standalone: true,\n selector: 'resize-handle',\n template: `\n `,\n styles: `\n :host {\n &.resize-handle {\n position: absolute;\n right: -4px;\n top: 0;\n bottom: 0;\n width: 8px;\n cursor: col-resize;\n z-index: 1;\n }\n\n &.resize-handle:hover {\n background-color: #ddd;\n }\n\n &.resizing {\n cursor: col-resize;\n user-select: none;\n }\n\n &.resizing &.resize-handle {\n background-color: #999;\n }\n }\n `\n})\nexport class ResizeHandle { }\n","import { Directive, ElementRef, inject, input, OnInit, output, Renderer2, ViewContainerRef } from \"@angular/core\";\nimport { ResizeHandle } from \"./resize-handle.component\";\n\n@Directive({\n selector: '[resizeColumn]',\n standalone: true,\n})\nexport class ResizeColumnDirective implements OnInit {\n readonly width = input<number>(100, {alias: 'resizeColumnWidth'});\n readonly resize = output<number>();\n\n private isResizing = false;\n private startX = 0;\n private startWidth = 0;\n private handle: HTMLDivElement;\n\n protected readonly viewContainerRef = inject(ViewContainerRef);\n protected readonly el = inject(ElementRef<HTMLElement>);\n protected readonly renderer = inject(Renderer2);\n\n constructor() {\n const handleRef = this.viewContainerRef.createComponent(ResizeHandle);\n this.handle = handleRef.location.nativeElement;\n }\n\n ngOnInit() {\n this.setupResizeHandle();\n }\n\n private setupResizeHandle() {\n this.renderer.addClass(this.handle, 'resize-handle');\n this.renderer.listen(this.handle, 'mousedown', (event: MouseEvent) => this.startResize(event));\n this.renderer.listen(this.handle, 'click', (event: MouseEvent) => event.stopPropagation());\n this.renderer.appendChild(this.el.nativeElement, this.handle);\n }\n\n private startResize(event: MouseEvent) {\n event.preventDefault();\n this.isResizing = true;\n this.startX = event.pageX;\n this.startWidth = this.width();\n\n const moveHandler = (e: MouseEvent) => this.onResizing(e);\n const stopHandler = () => this.stopResize(moveHandler, stopHandler);\n\n document.addEventListener('mousemove', moveHandler);\n document.addEventListener('mouseup', stopHandler);\n document.body.classList.add('resizing');\n }\n\n private onResizing(event: MouseEvent) {\n if (!this.isResizing) return;\n\n const diff = event.pageX - this.startX;\n const newWidth = Math.max(50, this.startWidth + diff);\n this.resize.emit(newWidth);\n }\n\n private stopResize(moveHandler: (e: MouseEvent) => void, stopHandler: () => void) {\n if (!this.isResizing) return;\n\n this.isResizing = false;\n document.removeEventListener('mousemove', moveHandler);\n document.removeEventListener('mouseup', stopHandler);\n document.body.classList.remove('resizing');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-interceptors-authorization.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/interceptors/authorization/authorization.interceptor.ts","../../../../../packages/@ng-atomic/common/src/lib/interceptors/authorization/ng-atomic-common-interceptors-authorization.ts"],"sourcesContent":["import { Injectable, InjectionToken, Provider, inject } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpInterceptorFn } from '@angular/common/http';\nimport { from, Observable } from 'rxjs';\nimport { mergeMap, take } from 'rxjs/operators';\n\nexport type GetAuthorization = () => Promise<string | null> | Observable<string | null>;\nexport const AUTHORIZATION = new InjectionToken<GetAuthorization>('[@ng-atomic/common] AUTHORIZATION');\n\n/** @deprecated use `authorizationInterceptor` instead. */\n@Injectable()\nexport class AuthorizationInterceptor implements HttpInterceptor {\n\n private getAuth = inject(AUTHORIZATION);\n\n intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n if (!req.url.startsWith('/api')) return next.handle(req);\n\n return from(this.getAuth())\n .pipe(take(1))\n .pipe(mergeMap(idToken => next.handle(idToken ? this.getRequestWithToken(req, idToken) : req)));\n }\n\n private getRequestWithToken(req: HttpRequest<unknown>, token: string) {\n return req.clone({ setHeaders: {Authorization: token} });\n }\n}\n\nexport function authorizationInterceptor(\n isAuthorizedRequest: (req: HttpRequest<unknown>) => boolean = req => req.url.startsWith('/api')\n): HttpInterceptorFn {\n return (req, next) => {\n if (!isAuthorizedRequest(req)) return next(req);\n const getAuth = inject(AUTHORIZATION, { optional: true }) ?? null;\n return from(getAuth()).pipe(\n take(1),\n mergeMap(token => next(token ? req.clone({ setHeaders: {Authorization: token} }) : req)),\n );\n };\n};\n\nexport function provideAuthorization(useFactory: () => GetAuthorization): Provider {\n return { provide: AUTHORIZATION, useFactory };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,aAAa,GAAG,IAAI,cAAc,CAAmB,mCAAmC
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-interceptors-authorization.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/interceptors/authorization/authorization.interceptor.ts","../../../../../packages/@ng-atomic/common/src/lib/interceptors/authorization/ng-atomic-common-interceptors-authorization.ts"],"sourcesContent":["import { Injectable, InjectionToken, Provider, inject } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpInterceptorFn } from '@angular/common/http';\nimport { from, Observable } from 'rxjs';\nimport { mergeMap, take } from 'rxjs/operators';\n\nexport type GetAuthorization = () => Promise<string | null> | Observable<string | null>;\nexport const AUTHORIZATION = new InjectionToken<GetAuthorization>('[@ng-atomic/common] AUTHORIZATION');\n\n/** @deprecated use `authorizationInterceptor` instead. */\n@Injectable()\nexport class AuthorizationInterceptor implements HttpInterceptor {\n\n private getAuth = inject(AUTHORIZATION);\n\n intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n if (!req.url.startsWith('/api')) return next.handle(req);\n\n return from(this.getAuth())\n .pipe(take(1))\n .pipe(mergeMap(idToken => next.handle(idToken ? this.getRequestWithToken(req, idToken) : req)));\n }\n\n private getRequestWithToken(req: HttpRequest<unknown>, token: string) {\n return req.clone({ setHeaders: {Authorization: token} });\n }\n}\n\nexport function authorizationInterceptor(\n isAuthorizedRequest: (req: HttpRequest<unknown>) => boolean = req => req.url.startsWith('/api')\n): HttpInterceptorFn {\n return (req, next) => {\n if (!isAuthorizedRequest(req)) return next(req);\n const getAuth = inject(AUTHORIZATION, { optional: true }) ?? null;\n return from(getAuth()).pipe(\n take(1),\n mergeMap(token => next(token ? req.clone({ setHeaders: {Authorization: token} }) : req)),\n );\n };\n};\n\nexport function provideAuthorization(useFactory: () => GetAuthorization): Provider {\n return { provide: AUTHORIZATION, useFactory };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,aAAa,GAAG,IAAI,cAAc,CAAmB,mCAAmC;AAErG;MAEa,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAGU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;AAaxC;IAXC,SAAS,CAAC,GAAyB,EAAE,IAAiB,EAAA;QACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAExD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;;IAG3F,mBAAmB,CAAC,GAAyB,EAAE,KAAa,EAAA;AAClE,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAC,aAAa,EAAE,KAAK,EAAC,EAAE,CAAC;;8GAb/C,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAxB,wBAAwB,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC;;AAkBe,SAAA,wBAAwB,CACtC,mBAAA,GAA8D,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAA;AAE/F,IAAA,OAAO,CAAC,GAAG,EAAE,IAAI,KAAI;AACnB,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC;AAC/C,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI;QACjE,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CACzB,IAAI,CAAC,CAAC,CAAC,EACP,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAC,aAAa,EAAE,KAAK,EAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CACzF;AACH,KAAC;AACH;AAAC;AAEK,SAAU,oBAAoB,CAAC,UAAkC,EAAA;AACrE,IAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE;AAC/C;;AC1CA;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-interceptors-throttle.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/interceptors/throttle/throttle.interceptor.ts","../../../../../packages/@ng-atomic/common/src/lib/interceptors/throttle/ng-atomic-common-interceptors-throttle.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable, ReplaySubject, Subject, throwError } from 'rxjs';\nimport { catchError, finalize, tap} from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nclass IcedCacheService {\n cache = {};\n\n has(key: string): boolean {\n return !!this.cache?.[key];\n }\n\n get(key: string): Subject<HttpEvent<unknown>> {\n return this.cache[key];\n }\n\n set(key: string, value: Subject<HttpEvent<unknown>>): void {\n this.cache[key] = value;\n this.removeAfter(key, 10 * 1000);\n }\n\n removeAfter(key: string, ms = 1000) {\n setTimeout(() => this.remove(key), ms);\n }\n\n remove(key: string) {\n delete this.cache?.[key];\n }\n}\n\n@Injectable()\nexport class ThrottleInterceptor implements HttpInterceptor {\n\n constructor(private cache: IcedCacheService) { }\n\n intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n if (!this.test(req)) return next.handle(req);\n\n const key = this.buildKey(req);\n\n if (!this.cache.has(key)) {\n const subject = new ReplaySubject<HttpEvent<unknown>>(1);\n next.handle(req).pipe(\n tap(event => subject.next(event)),\n catchError((error) => (subject.error(error), throwError(error))),\n finalize(() => subject.complete()),\n ).subscribe(() => {});\n this.cache.set(key, subject);\n }\n\n return this.cache.get(key);\n }\n\n protected test(req: HttpRequest<unknown>): boolean {\n if (req.method !== 'GET') return false;\n return req.url.startsWith('/api');\n }\n\n private buildKey(req: HttpRequest<unknown>): string {\n return `${req.url}`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMA,MAGM,gBAAgB,CAAA;AAHtB,IAAA,WAAA,GAAA;QAIE,IAAK,CAAA,KAAA,GAAG,EAAE
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-interceptors-throttle.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/interceptors/throttle/throttle.interceptor.ts","../../../../../packages/@ng-atomic/common/src/lib/interceptors/throttle/ng-atomic-common-interceptors-throttle.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { Observable, ReplaySubject, Subject, throwError } from 'rxjs';\nimport { catchError, finalize, tap} from 'rxjs/operators';\n\n\n@Injectable({\n providedIn: 'root'\n})\nclass IcedCacheService {\n cache = {};\n\n has(key: string): boolean {\n return !!this.cache?.[key];\n }\n\n get(key: string): Subject<HttpEvent<unknown>> {\n return this.cache[key];\n }\n\n set(key: string, value: Subject<HttpEvent<unknown>>): void {\n this.cache[key] = value;\n this.removeAfter(key, 10 * 1000);\n }\n\n removeAfter(key: string, ms = 1000) {\n setTimeout(() => this.remove(key), ms);\n }\n\n remove(key: string) {\n delete this.cache?.[key];\n }\n}\n\n@Injectable()\nexport class ThrottleInterceptor implements HttpInterceptor {\n\n constructor(private cache: IcedCacheService) { }\n\n intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n if (!this.test(req)) return next.handle(req);\n\n const key = this.buildKey(req);\n\n if (!this.cache.has(key)) {\n const subject = new ReplaySubject<HttpEvent<unknown>>(1);\n next.handle(req).pipe(\n tap(event => subject.next(event)),\n catchError((error) => (subject.error(error), throwError(error))),\n finalize(() => subject.complete()),\n ).subscribe(() => {});\n this.cache.set(key, subject);\n }\n\n return this.cache.get(key);\n }\n\n protected test(req: HttpRequest<unknown>): boolean {\n if (req.method !== 'GET') return false;\n return req.url.startsWith('/api');\n }\n\n private buildKey(req: HttpRequest<unknown>): string {\n return `${req.url}`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-interceptors-token.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/interceptors/token/authorization.interceptor.ts","../../../../../packages/@ng-atomic/common/src/lib/interceptors/token/ng-atomic-common-interceptors-token.ts"],"sourcesContent":["import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { from, Observable } from 'rxjs';\nimport { mergeMap, take } from 'rxjs/operators';\n\nexport type ProvideAuthorization = () => Promise<string | null> | Observable<string | null>;\nexport const PROVIDE_AUTHORIZATION = new InjectionToken<ProvideAuthorization>('PROVIDE_AUTHORIZATION');\n\n@Injectable()\nexport class AuthorizationInterceptor implements HttpInterceptor {\n\n private provide = inject(PROVIDE_AUTHORIZATION);\n\n intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n if (!req.url.startsWith('/api')) return next.handle(req);\n\n return from(this.provide())\n .pipe(take(1))\n .pipe(mergeMap(idToken => next.handle(idToken ? this.getRequestWithToken(req, idToken) : req)));\n }\n\n private getRequestWithToken(req: HttpRequest<unknown>, token: string) {\n return req.clone({ setHeaders: {Authorization: token} });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,qBAAqB,GAAG,IAAI,cAAc,CAAuB,uBAAuB
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-interceptors-token.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/interceptors/token/authorization.interceptor.ts","../../../../../packages/@ng-atomic/common/src/lib/interceptors/token/ng-atomic-common-interceptors-token.ts"],"sourcesContent":["import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\nimport { from, Observable } from 'rxjs';\nimport { mergeMap, take } from 'rxjs/operators';\n\nexport type ProvideAuthorization = () => Promise<string | null> | Observable<string | null>;\nexport const PROVIDE_AUTHORIZATION = new InjectionToken<ProvideAuthorization>('PROVIDE_AUTHORIZATION');\n\n@Injectable()\nexport class AuthorizationInterceptor implements HttpInterceptor {\n\n private provide = inject(PROVIDE_AUTHORIZATION);\n\n intercept(req: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n if (!req.url.startsWith('/api')) return next.handle(req);\n\n return from(this.provide())\n .pipe(take(1))\n .pipe(mergeMap(idToken => next.handle(idToken ? this.getRequestWithToken(req, idToken) : req)));\n }\n\n private getRequestWithToken(req: HttpRequest<unknown>, token: string) {\n return req.clone({ setHeaders: {Authorization: token} });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,qBAAqB,GAAG,IAAI,cAAc,CAAuB,uBAAuB;MAGxF,wBAAwB,CAAA;AADrC,IAAA,WAAA,GAAA;AAGU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,qBAAqB,CAAC;AAahD;IAXC,SAAS,CAAC,GAAyB,EAAE,IAAiB,EAAA;QACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;AAAE,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AAExD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACvB,aAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACZ,aAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;;IAG3F,mBAAmB,CAAC,GAAyB,EAAE,KAAa,EAAA;AAClE,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,EAAC,aAAa,EAAE,KAAK,EAAC,EAAE,CAAC;;8GAb/C,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAxB,wBAAwB,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC;;;ACRD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-interceptors.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/interceptors/interceptors.module.ts","../../../../../packages/@ng-atomic/common/src/lib/interceptors/ng-atomic-common-interceptors.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthorizationInterceptor } from '@ng-atomic/common/interceptors/authorization';\nimport { ThrottleInterceptor } from '@ng-atomic/common/interceptors/throttle';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthorizationInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ThrottleInterceptor,\n multi: true\n },\n ],\n})\nexport class InterceptorsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAwBa,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-interceptors.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/interceptors/interceptors.module.ts","../../../../../packages/@ng-atomic/common/src/lib/interceptors/ng-atomic-common-interceptors.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { AuthorizationInterceptor } from '@ng-atomic/common/interceptors/authorization';\nimport { ThrottleInterceptor } from '@ng-atomic/common/interceptors/throttle';\n\n@NgModule({\n declarations: [],\n imports: [\n CommonModule\n ],\n providers: [\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AuthorizationInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ThrottleInterceptor,\n multi: true\n },\n ],\n})\nexport class InterceptorsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAwBa,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAf3B,YAAY,CAAA,EAAA,CAAA,CAAA;AAeH,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAblB,SAAA,EAAA;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,wBAAwB;AAClC,gBAAA,KAAK,EAAE;AACR,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,mBAAmB;AAC7B,gBAAA,KAAK,EAAE;AACR,aAAA;AACF,SAAA,EAAA,OAAA,EAAA,CAbC,YAAY,CAAA,EAAA,CAAA,CAAA;;2FAeH,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAlB9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EAAE;AAChB,oBAAA,OAAO,EAAE;wBACP;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,wBAAwB;AAClC,4BAAA,KAAK,EAAE;AACR,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,mBAAmB;AAC7B,4BAAA,KAAK,EAAE;AACR,yBAAA;AACF,qBAAA;AACF,iBAAA;;;ACvBD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-actions.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/actions/actions.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/actions/ng-atomic-common-pipes-actions.ts"],"sourcesContent":["import { Pipe, PipeTransform } from \"@angular/core\";\nimport { resolveActions } from \"@ng-atomic/core\";\n\n@Pipe({\n standalone: true,\n name: 'resolveActions',\n pure: true\n})\nexport class ActionsPipe implements PipeTransform {\n transform(value: any, ...args: any[]):
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-actions.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/actions/actions.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/actions/ng-atomic-common-pipes-actions.ts"],"sourcesContent":["import { Pipe, PipeTransform } from \"@angular/core\";\nimport { Action, resolveActions } from \"@ng-atomic/core\";\n\n@Pipe({\n standalone: true,\n name: 'resolveActions',\n pure: true\n})\nexport class ActionsPipe implements PipeTransform {\n transform(value: any, ...args: any[]): Action[] {\n return resolveActions(value, ...args);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,WAAW,CAAA;AACtB,IAAA,SAAS,CAAC,KAAU,EAAE,GAAG,IAAW,EAAA;AAClC,QAAA,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC;;8GAF5B,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBALvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,gBAAgB;AACtB,oBAAA,IAAI,EAAE;AACP,iBAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-auto-columns.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/auto-columns/auto-columns.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/auto-columns/ng-atomic-common-pipes-auto-columns.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { flattenExcludeDayjs } from '@nx-ddd/core/util/walk-obj';\n\n@Pipe({name: 'autoColumns', standalone: true, pure: true})\nexport class AutoColumnsPipe<T> implements PipeTransform {\n transform(items: T[]): string[] {\n const keys = new Set<string>();\n items.slice(0, 1).forEach(item => {\n const obj = flattenExcludeDayjs(item);\n Object.keys(obj).forEach(key => keys.add(key));\n })\n return [...keys, '__actions'];\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,eAAe,CAAA;AAC1B,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-auto-columns.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/auto-columns/auto-columns.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/auto-columns/ng-atomic-common-pipes-auto-columns.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { flattenExcludeDayjs } from '@nx-ddd/core/util/walk-obj';\n\n@Pipe({name: 'autoColumns', standalone: true, pure: true})\nexport class AutoColumnsPipe<T> implements PipeTransform {\n transform(items: T[]): string[] {\n const keys = new Set<string>();\n items.slice(0, 1).forEach(item => {\n const obj = flattenExcludeDayjs(item);\n Object.keys(obj).forEach(key => keys.add(key));\n })\n return [...keys, '__actions'];\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,eAAe,CAAA;AAC1B,IAAA,SAAS,CAAC,KAAU,EAAA;AAClB,QAAA,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU;AAC9B,QAAA,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,IAAG;AAC/B,YAAA,MAAM,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC;AACrC,YAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAChD,SAAC,CAAC;AACF,QAAA,OAAO,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;;8GAPpB,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,IAAI;mBAAC,EAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;;;ACHzD;;AAEG;;;;"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Pipe } from '@angular/core';
|
|
3
3
|
|
|
4
|
+
/** @deprecated */
|
|
4
5
|
class ColumnsPipe {
|
|
5
6
|
transform(columns) {
|
|
6
7
|
return columns.filter(item => item.visible).map((column, i) => ({
|
|
7
8
|
...column,
|
|
8
|
-
name: ['checkbox', 'actions'].includes(column.type) ?
|
|
9
|
+
name: ['checkbox', 'actions'].includes(column.type) ? column.name : column.name,
|
|
9
10
|
}));
|
|
10
11
|
}
|
|
11
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ColumnsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-columns.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/columns/columns.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/columns/ng-atomic-common-pipes-columns.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Column } from '@ng-atomic/common/models';\n\n@Pipe({name: 'columns', standalone: true, pure: true})\nexport class ColumnsPipe implements PipeTransform {\n transform<T>(columns: Column[]): Column[] {\n return columns.filter(item => item.visible).map((column, i) => ({\n ...column,\n name: ['checkbox', 'actions'].includes(column.type) ?
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-columns.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/columns/columns.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/columns/ng-atomic-common-pipes-columns.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Column } from '@ng-atomic/common/models';\n\n/** @deprecated */\n@Pipe({name: 'columns', standalone: true, pure: true})\nexport class ColumnsPipe implements PipeTransform {\n transform<T>(columns: Column[]): Column[] {\n return columns.filter(item => item.visible).map((column, i) => ({\n ...column,\n name: ['checkbox', 'actions'].includes(column.type) ? column.name : column.name,\n }));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA;MAEa,WAAW,CAAA;AACtB,IAAA,SAAS,CAAI,OAAiB,EAAA;QAC5B,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM;AAC9D,YAAA,GAAG,MAAM;YACT,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;AAChF,SAAA,CAAC,CAAC;;8GALM,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,IAAI;mBAAC,EAAC,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;;;ACJrD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-data-accessor.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/data-accessor/data-accessor.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.ts"],"sourcesContent":["import { InjectionToken, Pipe, inject, PipeTransform } from \"@angular/core\";\nimport { get } from 'lodash-es';\n\nexport type DataAccessor<T> = (obj: T, key: string,
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-data-accessor.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/data-accessor/data-accessor.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/data-accessor/ng-atomic-common-pipes-data-accessor.ts"],"sourcesContent":["import { InjectionToken, Pipe, inject, PipeTransform } from \"@angular/core\";\nimport { get } from 'lodash-es';\n\nexport type DataAccessor<T> = (obj: T, key: string, context?: number | any) => any;\nexport const DATA_ACCESSOR = new InjectionToken<DataAccessor<any>>('DATA_ACCESSOR');\nexport const defaultDataAccessor: DataAccessor<any> = (obj, key) => get(obj, key) ?? '';\nexport function provideDataAccessor<T>(useFactory: () => DataAccessor<T> = () => defaultDataAccessor, {\n merge = true\n}: {\n merge?: boolean\n} = {}) {\n return {\n provide: DATA_ACCESSOR,\n useFactory: () => {\n if (merge) {\n const parentAccessor = injectParentDataAccessor<T>();\n const accessor = useFactory();\n return (obj: T, key: string, index?: number) => {\n const result = accessor(obj, key, index);\n return typeof result !== 'undefined' ? result : parentAccessor(obj, key, index);\n };\n }\n return useFactory();\n }\n };\n}\n\nexport function injectDataAccessor<T>(): DataAccessor<T> {\n return inject(DATA_ACCESSOR, {optional: true}) ?? defaultDataAccessor;\n}\n\nexport function injectParentDataAccessor<T>(): DataAccessor<T> {\n return inject(DATA_ACCESSOR, {skipSelf: true, optional: true}) ?? defaultDataAccessor;\n}\n\n@Pipe({\n name: 'dataAccessor',\n pure: true,\n standalone: true,\n})\nexport class DataAccessorPipe<T> implements PipeTransform {\n protected dataAccessor = injectDataAccessor();\n\n transform(data: T, key: string, index?: number): any {\n return this.dataAccessor(data, key, index);\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,aAAa,GAAG,IAAI,cAAc,CAAoB,eAAe;AACrE,MAAA,mBAAmB,GAAsB,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI;AACrE,SAAA,mBAAmB,CAAI,UAAA,GAAoC,MAAM,mBAAmB,EAAE,EACpG,KAAK,GAAG,IAAI,KAGV,EAAE,EAAA;IACJ,OAAO;AACL,QAAA,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,MAAK;YACf,IAAI,KAAK,EAAE;AACT,gBAAA,MAAM,cAAc,GAAG,wBAAwB,EAAK;AACpD,gBAAA,MAAM,QAAQ,GAAG,UAAU,EAAE;AAC7B,gBAAA,OAAO,CAAC,GAAM,EAAE,GAAW,EAAE,KAAc,KAAI;oBAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;AACxC,oBAAA,OAAO,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;AACjF,iBAAC;;YAEH,OAAO,UAAU,EAAE;;KAEtB;AACH;SAEgB,kBAAkB,GAAA;AAChC,IAAA,OAAO,MAAM,CAAC,aAAa,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,mBAAmB;AACvE;SAEgB,wBAAwB,GAAA;AACtC,IAAA,OAAO,MAAM,CAAC,aAAa,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,mBAAmB;AACvF;MAOa,gBAAgB,CAAA;AAL7B,IAAA,WAAA,GAAA;QAMY,IAAY,CAAA,YAAA,GAAG,kBAAkB,EAAE;AAK9C;AAHC,IAAA,SAAS,CAAC,IAAO,EAAE,GAAW,EAAE,KAAc,EAAA;QAC5C,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC;;8GAJjC,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,cAAc;AACpB,oBAAA,IAAI,EAAE,IAAI;AACV,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACvCD;;AAEG;;;;"}
|
|
@@ -2,42 +2,28 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, inject, Pipe, signal } from '@angular/core';
|
|
3
3
|
import { getLangMap, getProps, getModelName } from '@nx-ddd/common/domain/models';
|
|
4
4
|
import { wrapFactory } from '@ng-atomic/common/pipes/signal';
|
|
5
|
-
import {
|
|
5
|
+
import { LanguageService, DOMAIN_LANG_MAP } from '@ng-atomic/common/services/language';
|
|
6
6
|
|
|
7
7
|
const DOMAIN_MODEL = new InjectionToken('Domain Model');
|
|
8
|
-
const DOMAIN_LANG_MAP = new InjectionToken('domain lang map');
|
|
9
8
|
const DOMAIN_PROPS = new InjectionToken('Domain Props');
|
|
10
9
|
const DOMAIN_MODEL_NAME = new InjectionToken('Domain Model Name');
|
|
11
10
|
class DomainPipe {
|
|
12
11
|
constructor() {
|
|
13
|
-
this.
|
|
14
|
-
this.regexResolvers = Object.entries(this.map).map(([regexKey, value]) => {
|
|
15
|
-
const regexIndicators = /[.*+?^${}()|[\]\\]/;
|
|
16
|
-
if (regexIndicators.test(regexKey)) {
|
|
17
|
-
return (key) => {
|
|
18
|
-
const regex = new RegExp(regexKey);
|
|
19
|
-
return regex.test(key) ? value : null;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
return () => null;
|
|
23
|
-
});
|
|
12
|
+
this.language = inject(LanguageService);
|
|
24
13
|
}
|
|
25
|
-
transform(input, map
|
|
26
|
-
|
|
27
|
-
return get(map, input);
|
|
28
|
-
for (const resolver of this.regexResolvers) {
|
|
29
|
-
const result = resolver(input);
|
|
30
|
-
if (result)
|
|
31
|
-
return result;
|
|
32
|
-
}
|
|
33
|
-
return map[input] ?? input;
|
|
14
|
+
transform(input, map) {
|
|
15
|
+
return this.language.transform(input, map);
|
|
34
16
|
}
|
|
35
17
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DomainPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
36
18
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: DomainPipe, isStandalone: true, name: "domain" }); }
|
|
37
19
|
}
|
|
38
20
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: DomainPipe, decorators: [{
|
|
39
21
|
type: Pipe,
|
|
40
|
-
args: [{
|
|
22
|
+
args: [{
|
|
23
|
+
standalone: true,
|
|
24
|
+
name: 'domain',
|
|
25
|
+
pure: true,
|
|
26
|
+
}]
|
|
41
27
|
}] });
|
|
42
28
|
function injectParentDomainLangMap() {
|
|
43
29
|
return inject(DOMAIN_LANG_MAP, { skipSelf: true, optional: true }) ?? {};
|
|
@@ -88,5 +74,5 @@ function provideDomain(useFactory) {
|
|
|
88
74
|
* Generated bundle index. Do not edit.
|
|
89
75
|
*/
|
|
90
76
|
|
|
91
|
-
export {
|
|
77
|
+
export { DOMAIN_MODEL, DOMAIN_MODEL_NAME, DOMAIN_PROPS, DomainPipe, injectModel, injectModelName, injectParentDomainLangMap, injectProps, provideDomain, provideDomainLang, provideLangMap, provideModel, provideModelName, provideProps };
|
|
92
78
|
//# sourceMappingURL=ng-atomic-common-pipes-domain.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-domain.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/domain/domain.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/domain/ng-atomic-common-pipes-domain.ts"],"sourcesContent":["import { InjectionToken, Injector, Pipe, Signal, inject, signal, PipeTransform } from '@angular/core';\nimport { Entity, Type, getLangMap, getModelName, getProps } from '@nx-ddd/common/domain/models';\nimport { SignalOrValue, wrapFactory } from '@ng-atomic/common/pipes/signal';\nimport {
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-domain.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/domain/domain.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/domain/ng-atomic-common-pipes-domain.ts"],"sourcesContent":["import { InjectionToken, Injector, Pipe, Signal, inject, signal, PipeTransform } from '@angular/core';\nimport { Entity, Type, getLangMap, getModelName, getProps } from '@nx-ddd/common/domain/models';\nimport { SignalOrValue, wrapFactory } from '@ng-atomic/common/pipes/signal';\nimport { DOMAIN_LANG_MAP, DomainLangMap, LanguageService } from '@ng-atomic/common/services/language';\n\nexport const DOMAIN_MODEL = new InjectionToken<Type<{id: string}>>('Domain Model');\nexport const DOMAIN_PROPS = new InjectionToken<Signal<string[]>>('Domain Props');\nexport const DOMAIN_MODEL_NAME = new InjectionToken<Signal<string>>('Domain Model Name');\n\n@Pipe({\n standalone: true,\n name: 'domain',\n pure: true,\n})\nexport class DomainPipe implements PipeTransform {\n readonly language = inject(LanguageService);\n\n transform(input: string, map?: DomainLangMap) {\n return this.language.transform(input, map);\n }\n}\n\nexport function injectParentDomainLangMap(): DomainLangMap {\n return inject(DOMAIN_LANG_MAP, {skipSelf: true, optional: true}) ?? {};\n}\n\nexport function provideLangMap(useFactory: () => DomainLangMap, {\n merge = true\n}: {\n merge?: boolean\n} = {}) {\n return {\n provide: DOMAIN_LANG_MAP,\n useFactory: () => {\n if (merge) return {...injectParentDomainLangMap(), ...useFactory()};\n return useFactory();\n }\n };\n}\n\nexport function provideDomainLang<E>(domain: Type<E>, mergeObj: DomainLangMap = {}) {\n return provideLangMap(() => getLangMap(domain, mergeObj));\n}\n\nexport function provideModel<E>(useFactory: () => Type<E>) {\n return { provide: DOMAIN_MODEL, useFactory};\n}\n\nexport function injectModel<E = Entity>(): Type<E> {\n return inject(DOMAIN_MODEL, {optional: true}) as Type<E> ?? null;\n}\n\nexport function provideProps(useFactory: () => SignalOrValue<string[]>) {\n return { provide: DOMAIN_PROPS, useFactory: wrapFactory(useFactory)}\n}\n\nexport function provideModelName(useFactory: () => SignalOrValue<string>) {\n return { provide: DOMAIN_MODEL_NAME, useFactory: wrapFactory(useFactory)}\n}\n\nexport function injectProps(): Signal<string[]> {\n return inject(DOMAIN_PROPS, {optional: true}) ?? signal([]);\n}\n\nexport function injectModelName(injector?: Injector): Signal<string> {\n if (injector) return injector.get(DOMAIN_MODEL_NAME, null) ?? signal(null);\n return inject(DOMAIN_MODEL_NAME, {optional: true}) ?? signal(null);\n}\n\nexport function provideDomain<E>(useFactory: () => Type<E>) {\n return [\n provideModel(useFactory),\n provideLangMap(() => getLangMap(useFactory())),\n provideProps(() => getProps(useFactory())),\n provideModelName(() => getModelName(useFactory()))\n ]\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ import { InjectionToken, inject, Pipe } from '@angular/core';
|
|
|
3
3
|
|
|
4
4
|
const ERROR_MESSAGE_RESOLVER = new InjectionToken('[@ng-atomic/common] Error message resolver');
|
|
5
5
|
const defaultErrorMessageResolver = (errors) => {
|
|
6
|
-
console.debug('errors:', errors);
|
|
7
6
|
if (!errors)
|
|
8
7
|
return '';
|
|
9
8
|
const value = Object.entries(errors)[0][0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-error.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/error/error.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/error/ng-atomic-common-pipes-error.ts"],"sourcesContent":["import { InjectionToken, Pipe, inject, PipeTransform } from \"@angular/core\";\nimport { ValidationErrors } from \"@angular/forms\";\n\nexport type ErrorMessageResolver = (errors: ValidationErrors) => string;\nexport const ERROR_MESSAGE_RESOLVER = new InjectionToken<ErrorMessageResolver>('[@ng-atomic/common] Error message resolver');\n\nexport const defaultErrorMessageResolver: ErrorMessageResolver = (errors: ValidationErrors): string => {\n
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-error.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/error/error.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/error/ng-atomic-common-pipes-error.ts"],"sourcesContent":["import { InjectionToken, Pipe, inject, PipeTransform } from \"@angular/core\";\nimport { ValidationErrors } from \"@angular/forms\";\n\nexport type ErrorMessageResolver = (errors: ValidationErrors) => string;\nexport const ERROR_MESSAGE_RESOLVER = new InjectionToken<ErrorMessageResolver>('[@ng-atomic/common] Error message resolver');\n\nexport const defaultErrorMessageResolver: ErrorMessageResolver = (errors: ValidationErrors): string => {\n if (!errors) return '';\n const value = Object.entries(errors)[0][0];\n switch (value) {\n case 'required':\n return '必須項目です';\n case 'minLength':\n return `最低${errors[value].requiredLength}文字以上で入力してください`;\n case 'maxLength':\n return `最大${errors[value].requiredLength}文字以下で入力してください`;\n case 'email':\n return 'メールアドレスの形式で入力してください';\n case 'pattern':\n return '半角英数字で入力してください';\n default:\n return '値を確認してください';\n }\n};\n\nexport function provideErrorMessageResolver(resolver: ErrorMessageResolver) {\n return {provide: ERROR_MESSAGE_RESOLVER, useValue: resolver};\n}\n\n@Pipe({\n standalone: true,\n name: 'error',\n pure: true,\n})\nexport class ErrorPipe implements PipeTransform {\n protected resolver = inject(ERROR_MESSAGE_RESOLVER, {optional: true}) ?? defaultErrorMessageResolver;\n\n transform(errors: ValidationErrors): string {\n const error = this.resolver(errors);\n console.debug('error:', error?.length);\n return error;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIa,sBAAsB,GAAG,IAAI,cAAc,CAAuB,4CAA4C;AAE9G,MAAA,2BAA2B,GAAyB,CAAC,MAAwB,KAAY;AACpG,IAAA,IAAI,CAAC,MAAM;AAAE,QAAA,OAAO,EAAE;AACtB,IAAA,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,QAAQ,KAAK;AACX,QAAA,KAAK,UAAU;AACb,YAAA,OAAO,QAAQ;AACjB,QAAA,KAAK,WAAW;YACd,OAAO,CAAA,EAAA,EAAK,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,eAAe;AACzD,QAAA,KAAK,WAAW;YACd,OAAO,CAAA,EAAA,EAAK,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,eAAe;AACzD,QAAA,KAAK,OAAO;AACV,YAAA,OAAO,qBAAqB;AAC9B,QAAA,KAAK,SAAS;AACZ,YAAA,OAAO,gBAAgB;AACzB,QAAA;AACE,YAAA,OAAO,YAAY;;AAEzB;AAEM,SAAU,2BAA2B,CAAC,QAA8B,EAAA;IACxE,OAAO,EAAC,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAC;AAC9D;MAOa,SAAS,CAAA;AALtB,IAAA,WAAA,GAAA;AAMY,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,sBAAsB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,2BAA2B;AAOrG;AALC,IAAA,SAAS,CAAC,MAAwB,EAAA;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;AACtC,QAAA,OAAO,KAAK;;8GANH,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBALrB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA;;;ACjCD;;AAEG;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Pipe } from '@angular/core';
|
|
3
|
+
import { EXPRESSION_TRANSFORMER } from '@ng-atomic/common/utils';
|
|
4
|
+
|
|
5
|
+
class ExpressionPipe {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.transformer = inject(EXPRESSION_TRANSFORMER);
|
|
8
|
+
}
|
|
9
|
+
transform(input, key) {
|
|
10
|
+
return this.transformer(input, key);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ExpressionPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.2", ngImport: i0, type: ExpressionPipe, isStandalone: true, name: "expression" }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: ExpressionPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{ standalone: true, name: 'expression', pure: true }]
|
|
18
|
+
}] });
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Generated bundle index. Do not edit.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
export { ExpressionPipe };
|
|
25
|
+
//# sourceMappingURL=ng-atomic-common-pipes-expression.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-expression.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/expression/expression.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/expression/ng-atomic-common-pipes-expression.ts"],"sourcesContent":["import { inject, Pipe, PipeTransform } from '@angular/core';\nimport { EXPRESSION_TRANSFORMER } from '@ng-atomic/common/utils';\nimport dayjs from 'dayjs';\n\n\n@Pipe({ standalone: true, name: 'expression', pure: true })\nexport class ExpressionPipe implements PipeTransform {\n protected transformer = inject(EXPRESSION_TRANSFORMER);\n\n transform(input: string | number | dayjs.Dayjs | any, key?: string): string {\n return this.transformer(input, key);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAMa,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAKvD;IAHC,SAAS,CAAC,KAA0C,EAAE,GAAY,EAAA;QAChE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;;8GAJ1B,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,IAAI;mBAAC,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;;;ACL1D;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-grouped-by.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/grouped-by/grouped-by.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/grouped-by/ng-atomic-common-pipes-grouped-by.ts"],"sourcesContent":["import { Pipe, inject, PipeTransform } from \"@angular/core\";\nimport { DATA_ACCESSOR, defaultDataAccessor } from \"@ng-atomic/common/pipes/data-accessor\";\n\n@Pipe({\n name: 'groupedBy',\n standalone: true,\n pure: true,\n})\nexport class GroupedByPipe implements PipeTransform {\n private dataAccessor = inject(DATA_ACCESSOR) ?? defaultDataAccessor;\n\n transform<T>(items: T[], groupedBy?: string): { [id: string]: T[] } {\n if (!groupedBy) return {};\n\n return (items ?? []).reduce((acc, item) => {\n const key = this.dataAccessor(item, groupedBy);\n acc[key] ??= [],\n acc[key].push(item);\n return acc;\n }, {} as { [id: string]: T[] });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,aAAa,CAAA;AAL1B,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,mBAAmB
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-grouped-by.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/grouped-by/grouped-by.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/grouped-by/ng-atomic-common-pipes-grouped-by.ts"],"sourcesContent":["import { Pipe, inject, PipeTransform } from \"@angular/core\";\nimport { DATA_ACCESSOR, defaultDataAccessor } from \"@ng-atomic/common/pipes/data-accessor\";\n\n@Pipe({\n name: 'groupedBy',\n standalone: true,\n pure: true,\n})\nexport class GroupedByPipe implements PipeTransform {\n private dataAccessor = inject(DATA_ACCESSOR) ?? defaultDataAccessor;\n\n transform<T>(items: T[], groupedBy?: string): { [id: string]: T[] } {\n if (!groupedBy) return {};\n\n return (items ?? []).reduce((acc, item) => {\n const key = this.dataAccessor(item, groupedBy);\n acc[key] ??= [],\n acc[key].push(item);\n return acc;\n }, {} as { [id: string]: T[] });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAQa,aAAa,CAAA;AAL1B,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,mBAAmB;AAYpE;IAVC,SAAS,CAAI,KAAU,EAAE,SAAkB,EAAA;AACzC,QAAA,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,EAAE;AAEzB,QAAA,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAI;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC;AAC9C,YAAA,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE;gBACf,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACnB,YAAA,OAAO,GAAG;SACX,EAAE,EAA2B,CAAC;;8GAXtB,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,WAAW;AACjB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA;;;ACPD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-atomic-common-pipes-index-length.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/index-length/index-length.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/index-length/ng-atomic-common-pipes-index-length.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Index } from '@ng-atomic/common/models';\nimport { injectQueryTransformer } from '@ng-atomic/common/pipes/query';\nimport { injectSortByTransformer } from '@ng-atomic/common/pipes/sort-by';\n\n@Pipe({name: 'indexLength', standalone: true, pure: true})\nexport class IndexLengthPipe<T> implements PipeTransform {\n protected query = injectQueryTransformer<T>();\n protected sortBy = injectSortByTransformer<T>();\n\n transform(items: T[], prams: Partial<Index>): number {\n items = this.query(items, prams?.query ?? '');\n items = this.sortBy(items, prams?.sort);\n return items.length;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;QAEY,IAAK,CAAA,KAAA,GAAG,sBAAsB,EAAK
|
|
1
|
+
{"version":3,"file":"ng-atomic-common-pipes-index-length.mjs","sources":["../../../../../packages/@ng-atomic/common/src/lib/pipes/index-length/index-length.pipe.ts","../../../../../packages/@ng-atomic/common/src/lib/pipes/index-length/ng-atomic-common-pipes-index-length.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Index } from '@ng-atomic/common/models';\nimport { injectQueryTransformer } from '@ng-atomic/common/pipes/query';\nimport { injectSortByTransformer } from '@ng-atomic/common/pipes/sort-by';\n\n@Pipe({name: 'indexLength', standalone: true, pure: true})\nexport class IndexLengthPipe<T> implements PipeTransform {\n protected query = injectQueryTransformer<T>();\n protected sortBy = injectSortByTransformer<T>();\n\n transform(items: T[], prams: Partial<Index>): number {\n items = this.query(items, prams?.query ?? '');\n items = this.sortBy(items, prams?.sort);\n return items.length;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;QAEY,IAAK,CAAA,KAAA,GAAG,sBAAsB,EAAK;QACnC,IAAM,CAAA,MAAA,GAAG,uBAAuB,EAAK;AAOhD;IALC,SAAS,CAAC,KAAU,EAAE,KAAqB,EAAA;AACzC,QAAA,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;QAC7C,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;QACvC,OAAO,KAAK,CAAC,MAAM;;8GAPV,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAf,eAAe,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,CAAA;;2FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,IAAI;mBAAC,EAAC,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC;;;ACLzD;;AAEG;;;;"}
|