@elite.framework/ng.core 1.0.62 → 1.0.65
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/elite.framework-ng.core-src-lib-components-attachments.mjs +204 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-attachments.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-breadcrumb.mjs +132 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-breadcrumb.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-color-picker.mjs +76 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-color-picker.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-column-settings-popover.mjs +172 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-column-settings-popover.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-condition-editor.mjs +794 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-condition-editor.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-custom-switch.mjs +110 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-custom-switch.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-deactivation-reason.mjs +130 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-deactivation-reason.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-form-button.mjs +50 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-form-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-form-field.mjs +154 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-form-field.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-form-template.mjs +24 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-form-template.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-image.mjs +100 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-image.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-label.mjs +78 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-avatar-label.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button-selector.mjs +167 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button-selector.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button.mjs +62 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-split-button.mjs +50 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-split-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-username-with-domain.mjs +76 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-formly-username-with-domain.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-autocomplete.mjs +163 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-autocomplete.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-button.mjs +133 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-button.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-card.mjs +214 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-card.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-crud-table.mjs +385 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-crud-table.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-errormessage.mjs +23 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-errormessage.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-formly-fields.mjs +53 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-formly-fields.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-loadingspinner.mjs +23 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-loadingspinner.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-search.mjs +85 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-search.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-selector.mjs +430 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-selector.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-table.mjs +216 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-generic-table.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-header-wrapper.mjs +18 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-header-wrapper.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-icon-picker.mjs +195 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-icon-picker.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-input-switch.mjs +94 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-input-switch.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-input-with-icon.mjs +55 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-input-with-icon.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-label-type.mjs +112 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-label-type.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-odata-query-builder.mjs +297 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-odata-query-builder.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-repeat.mjs +135 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-repeat.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-cards.mjs +40 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-cards.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-toggles.mjs +41 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-sidebar-toggles.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-tabs.mjs +45 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-tabs.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-tag-type.mjs +192 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-tag-type.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-text-editor.mjs +44 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-text-editor.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-wrappers.mjs +174 -0
- package/fesm2022/elite.framework-ng.core-src-lib-components-wrappers.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-directives.mjs +59 -0
- package/fesm2022/elite.framework-ng.core-src-lib-directives.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-src-lib-pipes.mjs +135 -0
- package/fesm2022/elite.framework-ng.core-src-lib-pipes.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core.mjs +1371 -6371
- package/fesm2022/elite.framework-ng.core.mjs.map +1 -1
- package/index.d.ts +347 -1274
- package/package.json +162 -22
- package/src/lib/components/attachments/index.d.ts +31 -0
- package/src/lib/components/breadcrumb/index.d.ts +10 -0
- package/src/lib/components/color-picker/index.d.ts +9 -0
- package/src/lib/components/column-settings-popover/index.d.ts +39 -0
- package/src/lib/components/condition-editor/index.d.ts +73 -0
- package/src/lib/components/custom-switch/index.d.ts +12 -0
- package/src/lib/components/deactivation-reason/index.d.ts +24 -0
- package/src/lib/components/form-button/index.d.ts +10 -0
- package/src/lib/components/form-field/index.d.ts +30 -0
- package/src/lib/components/form-template/index.d.ts +9 -0
- package/src/lib/components/formly-avatar-image/index.d.ts +11 -0
- package/src/lib/components/formly-avatar-label/index.d.ts +29 -0
- package/src/lib/components/formly-button/index.d.ts +13 -0
- package/src/lib/components/formly-button-selector/index.d.ts +28 -0
- package/src/lib/components/formly-split-button/index.d.ts +16 -0
- package/src/lib/components/formly-username-with-domain/index.d.ts +12 -0
- package/src/lib/components/generic-autocomplete/index.d.ts +34 -0
- package/src/lib/components/generic-button/index.d.ts +35 -0
- package/src/lib/components/generic-card/index.d.ts +90 -0
- package/src/lib/components/generic-crud-table/index.d.ts +120 -0
- package/src/lib/components/generic-errormessage/index.d.ts +10 -0
- package/src/lib/components/generic-formly-fields/index.d.ts +22 -0
- package/src/lib/components/generic-loadingspinner/index.d.ts +9 -0
- package/src/lib/components/generic-search/index.d.ts +29 -0
- package/src/lib/components/generic-selector/index.d.ts +66 -0
- package/src/lib/components/generic-table/index.d.ts +60 -0
- package/src/lib/components/header-wrapper/index.d.ts +8 -0
- package/src/lib/components/icon-picker/index.d.ts +23 -0
- package/src/lib/components/input-switch/index.d.ts +9 -0
- package/src/lib/components/input-with-icon/index.d.ts +10 -0
- package/src/lib/components/label-type/index.d.ts +19 -0
- package/src/lib/components/odata-query-builder/index.d.ts +81 -0
- package/src/lib/components/repeat/index.d.ts +17 -0
- package/src/lib/components/sidebar-cards/index.d.ts +18 -0
- package/src/lib/components/sidebar-toggles/index.d.ts +18 -0
- package/src/lib/components/tabs/index.d.ts +10 -0
- package/src/lib/components/tag-type/index.d.ts +27 -0
- package/src/lib/components/text-editor/index.d.ts +9 -0
- package/src/lib/components/wrappers/index.d.ts +24 -0
- package/src/lib/directives/index.d.ts +23 -0
- package/src/lib/pipes/index.d.ts +20 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { FieldType } from '@ngx-formly/core';
|
|
4
|
+
import * as i2 from 'primeng/editor';
|
|
5
|
+
import { EditorModule } from 'primeng/editor';
|
|
6
|
+
import * as i1 from '@angular/forms';
|
|
7
|
+
import { FormsModule } from '@angular/forms';
|
|
8
|
+
import { CommonModule } from '@angular/common';
|
|
9
|
+
import { AutofocusDirective } from '@elite.framework/ng.core';
|
|
10
|
+
|
|
11
|
+
class RichTextEditorTypeComponent extends FieldType {
|
|
12
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: RichTextEditorTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: RichTextEditorTypeComponent, isStandalone: true, selector: "formly-rich-text-editor-type", usesInheritance: true, ngImport: i0, template: `
|
|
14
|
+
<p-editor
|
|
15
|
+
[(ngModel)]="formControl.value"
|
|
16
|
+
[appAutofocus]="to['autofocus'] || false"
|
|
17
|
+
[style]="{height: to['height'] || '200px'}"
|
|
18
|
+
[placeholder]="to.placeholder"
|
|
19
|
+
></p-editor>
|
|
20
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: EditorModule }, { kind: "component", type: i2.Editor, selector: "p-editor", inputs: ["style", "styleClass", "placeholder", "formats", "modules", "bounds", "scrollingContainer", "debug", "readonly"], outputs: ["onInit", "onTextChange", "onSelectionChange"] }, { kind: "directive", type: AutofocusDirective, selector: "[appAutofocus]", inputs: ["appAutofocus"] }] });
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: RichTextEditorTypeComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{
|
|
25
|
+
selector: 'formly-rich-text-editor-type',
|
|
26
|
+
standalone: true,
|
|
27
|
+
imports: [CommonModule, FormsModule, EditorModule, AutofocusDirective],
|
|
28
|
+
template: `
|
|
29
|
+
<p-editor
|
|
30
|
+
[(ngModel)]="formControl.value"
|
|
31
|
+
[appAutofocus]="to['autofocus'] || false"
|
|
32
|
+
[style]="{height: to['height'] || '200px'}"
|
|
33
|
+
[placeholder]="to.placeholder"
|
|
34
|
+
></p-editor>
|
|
35
|
+
`,
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Generated bundle index. Do not edit.
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
export { RichTextEditorTypeComponent };
|
|
44
|
+
//# sourceMappingURL=elite.framework-ng.core-src-lib-components-text-editor.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-src-lib-components-text-editor.mjs","sources":["../../../projects/core/src/lib/components/text-editor/formly-rich-text-editor-type.ts","../../../projects/core/src/lib/components/text-editor/elite.framework-ng.core-src-lib-components-text-editor.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FieldType } from '@ngx-formly/core';\nimport { EditorModule } from 'primeng/editor';\nimport { FormsModule } from '@angular/forms';\nimport { CommonModule } from '@angular/common';\nimport { AutofocusDirective } from '@elite.framework/ng.core';\n\n@Component({\n selector: 'formly-rich-text-editor-type',\n standalone: true,\n imports: [CommonModule, FormsModule, EditorModule,AutofocusDirective],\n template: `\n <p-editor\n [(ngModel)]=\"formControl.value\"\n [appAutofocus]=\"to['autofocus'] || false\"\n [style]=\"{height: to['height'] || '200px'}\"\n [placeholder]=\"to.placeholder\"\n ></p-editor>\n `,\n})\nexport class RichTextEditorTypeComponent extends FieldType {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;AAoBM,MAAO,2BAA4B,SAAQ,SAAS,CAAA;uGAA7C,2BAA2B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA3B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAT5B;;;;;;;AAOT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EARS,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,kRAAC,kBAAkB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAUzD,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAbvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAC,kBAAkB,CAAC;AACrE,oBAAA,QAAQ,EAAE;;;;;;;AAOT,EAAA,CAAA;AACF,iBAAA;;;ACnBD;;AAEG;;;;"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import * as i1$1 from '@angular/common';
|
|
2
|
+
import { NgIf, CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Component } from '@angular/core';
|
|
5
|
+
import { FieldWrapper } from '@ngx-formly/core';
|
|
6
|
+
import * as i1 from '@ngx-translate/core';
|
|
7
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
8
|
+
import * as i2 from 'primeng/tooltip';
|
|
9
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
10
|
+
|
|
11
|
+
// label.wrapper.ts – LabelWrapperComponent
|
|
12
|
+
class LabelWrapperComponent extends FieldWrapper {
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: LabelWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: LabelWrapperComponent, isStandalone: true, selector: "formly-label-wrapper", usesInheritance: true, ngImport: i0, template: `
|
|
15
|
+
<!-- font-semibold -->
|
|
16
|
+
<label *ngIf="to.label" [for]="id" class="block mb-1 font-bold text-lg">{{ to.label | translate }} <span *ngIf="to.required" class="text-red-600">*</span></label>
|
|
17
|
+
<ng-container #fieldComponent></ng-container>
|
|
18
|
+
<small *ngIf="to.description" class="text-gray-500">{{ to.description | translate}}</small>
|
|
19
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: LabelWrapperComponent, decorators: [{
|
|
22
|
+
type: Component,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: 'formly-label-wrapper',
|
|
25
|
+
imports: [NgIf, TranslateModule],
|
|
26
|
+
template: `
|
|
27
|
+
<!-- font-semibold -->
|
|
28
|
+
<label *ngIf="to.label" [for]="id" class="block mb-1 font-bold text-lg">{{ to.label | translate }} <span *ngIf="to.required" class="text-red-600">*</span></label>
|
|
29
|
+
<ng-container #fieldComponent></ng-container>
|
|
30
|
+
<small *ngIf="to.description" class="text-gray-500">{{ to.description | translate}}</small>
|
|
31
|
+
`
|
|
32
|
+
}]
|
|
33
|
+
}] });
|
|
34
|
+
|
|
35
|
+
class PanelWrapperComponent extends FieldWrapper {
|
|
36
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: PanelWrapperComponent, isStandalone: true, selector: "formly-panel-wrapper", usesInheritance: true, ngImport: i0, template: `
|
|
38
|
+
@if (to.hidden == false || !to.hidden) {
|
|
39
|
+
<div style="border-radius: var(--content-border-radius);"
|
|
40
|
+
class="border border-surface rounded-2xl bg-white p-3 mb-2">
|
|
41
|
+
|
|
42
|
+
@if (to.label) {
|
|
43
|
+
<div class="font-bold mb-2 flex items-center gap-2">
|
|
44
|
+
@if (to['icon']) {
|
|
45
|
+
<i class="{{ to['icon'] }}"></i>
|
|
46
|
+
}
|
|
47
|
+
{{ to.label | translate }}
|
|
48
|
+
</div>
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
<ng-container #fieldComponent></ng-container>
|
|
52
|
+
</div>
|
|
53
|
+
}
|
|
54
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: PanelWrapperComponent, decorators: [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{
|
|
59
|
+
selector: 'formly-panel-wrapper',
|
|
60
|
+
standalone: true,
|
|
61
|
+
imports: [TranslateModule],
|
|
62
|
+
template: `
|
|
63
|
+
@if (to.hidden == false || !to.hidden) {
|
|
64
|
+
<div style="border-radius: var(--content-border-radius);"
|
|
65
|
+
class="border border-surface rounded-2xl bg-white p-3 mb-2">
|
|
66
|
+
|
|
67
|
+
@if (to.label) {
|
|
68
|
+
<div class="font-bold mb-2 flex items-center gap-2">
|
|
69
|
+
@if (to['icon']) {
|
|
70
|
+
<i class="{{ to['icon'] }}"></i>
|
|
71
|
+
}
|
|
72
|
+
{{ to.label | translate }}
|
|
73
|
+
</div>
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
<ng-container #fieldComponent></ng-container>
|
|
77
|
+
</div>
|
|
78
|
+
}
|
|
79
|
+
`,
|
|
80
|
+
}]
|
|
81
|
+
}] });
|
|
82
|
+
|
|
83
|
+
// td-wrapper.component.ts
|
|
84
|
+
class TdWrapperComponent extends FieldWrapper {
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TdWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: TdWrapperComponent, isStandalone: true, selector: "formly-wrapper-td", usesInheritance: true, ngImport: i0, template: `
|
|
87
|
+
<ng-container #fieldComponent></ng-container>
|
|
88
|
+
`, isInline: true });
|
|
89
|
+
}
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TdWrapperComponent, decorators: [{
|
|
91
|
+
type: Component,
|
|
92
|
+
args: [{
|
|
93
|
+
imports: [],
|
|
94
|
+
selector: 'formly-wrapper-td',
|
|
95
|
+
template: `
|
|
96
|
+
<ng-container #fieldComponent></ng-container>
|
|
97
|
+
`,
|
|
98
|
+
standalone: true,
|
|
99
|
+
}]
|
|
100
|
+
}] });
|
|
101
|
+
|
|
102
|
+
class TooltipWrapperComponent extends FieldWrapper {
|
|
103
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TooltipWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
104
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.4", type: TooltipWrapperComponent, isStandalone: true, selector: "app-tooltip-wrapper", usesInheritance: true, ngImport: i0, template: `
|
|
105
|
+
<div class="flex flex-col">
|
|
106
|
+
<label *ngIf="field.props?.label" class="flex items-center mb-1 text-sm font-medium text-gray-700">
|
|
107
|
+
{{ field.props?.label }}
|
|
108
|
+
|
|
109
|
+
<!-- PrimeNG Tooltip Icon -->
|
|
110
|
+
<span
|
|
111
|
+
*ngIf="field && field.props && field.props['tooltip']"
|
|
112
|
+
[pTooltip]="field.props['tooltip']"
|
|
113
|
+
[tooltipPosition]="field.props['tooltipPosition'] || 'right'"
|
|
114
|
+
[tooltipStyleClass]="field.props['tooltipClass']"
|
|
115
|
+
class="ml-2 cursor-help inline-flex items-center"
|
|
116
|
+
>
|
|
117
|
+
<i class="pi pi-info-circle text-gray-500 text-sm"></i>
|
|
118
|
+
</span>
|
|
119
|
+
|
|
120
|
+
<!-- Required Asterisk -->
|
|
121
|
+
<span *ngIf="field.props?.required" class="text-red-500 ml-1">*</span>
|
|
122
|
+
</label>
|
|
123
|
+
|
|
124
|
+
<ng-template #fieldComponent></ng-template>
|
|
125
|
+
|
|
126
|
+
<!-- <div *ngIf="showError && field.formControl?.errors" class="text-red-500 text-xs mt-1">
|
|
127
|
+
<formly-validation-message [field]="field"></formly-validation-message>
|
|
128
|
+
</div> -->
|
|
129
|
+
</div>
|
|
130
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }] });
|
|
131
|
+
}
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TooltipWrapperComponent, decorators: [{
|
|
133
|
+
type: Component,
|
|
134
|
+
args: [{
|
|
135
|
+
imports: [CommonModule, TooltipModule],
|
|
136
|
+
selector: 'app-tooltip-wrapper',
|
|
137
|
+
template: `
|
|
138
|
+
<div class="flex flex-col">
|
|
139
|
+
<label *ngIf="field.props?.label" class="flex items-center mb-1 text-sm font-medium text-gray-700">
|
|
140
|
+
{{ field.props?.label }}
|
|
141
|
+
|
|
142
|
+
<!-- PrimeNG Tooltip Icon -->
|
|
143
|
+
<span
|
|
144
|
+
*ngIf="field && field.props && field.props['tooltip']"
|
|
145
|
+
[pTooltip]="field.props['tooltip']"
|
|
146
|
+
[tooltipPosition]="field.props['tooltipPosition'] || 'right'"
|
|
147
|
+
[tooltipStyleClass]="field.props['tooltipClass']"
|
|
148
|
+
class="ml-2 cursor-help inline-flex items-center"
|
|
149
|
+
>
|
|
150
|
+
<i class="pi pi-info-circle text-gray-500 text-sm"></i>
|
|
151
|
+
</span>
|
|
152
|
+
|
|
153
|
+
<!-- Required Asterisk -->
|
|
154
|
+
<span *ngIf="field.props?.required" class="text-red-500 ml-1">*</span>
|
|
155
|
+
</label>
|
|
156
|
+
|
|
157
|
+
<ng-template #fieldComponent></ng-template>
|
|
158
|
+
|
|
159
|
+
<!-- <div *ngIf="showError && field.formControl?.errors" class="text-red-500 text-xs mt-1">
|
|
160
|
+
<formly-validation-message [field]="field"></formly-validation-message>
|
|
161
|
+
</div> -->
|
|
162
|
+
</div>
|
|
163
|
+
`
|
|
164
|
+
}]
|
|
165
|
+
}] });
|
|
166
|
+
|
|
167
|
+
// export * from './formly-wrapper-custom-panel';
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Generated bundle index. Do not edit.
|
|
171
|
+
*/
|
|
172
|
+
|
|
173
|
+
export { LabelWrapperComponent, PanelWrapperComponent, TdWrapperComponent, TooltipWrapperComponent };
|
|
174
|
+
//# sourceMappingURL=elite.framework-ng.core-src-lib-components-wrappers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-src-lib-components-wrappers.mjs","sources":["../../../projects/core/src/lib/components/wrappers/label.wrapper.ts","../../../projects/core/src/lib/components/wrappers/panel.wrapper.ts","../../../projects/core/src/lib/components/wrappers/td-wrapper.type.ts","../../../projects/core/src/lib/components/wrappers/tooltip-wrapper.ts","../../../projects/core/src/lib/components/wrappers/public-api.ts","../../../projects/core/src/lib/components/wrappers/elite.framework-ng.core-src-lib-components-wrappers.ts"],"sourcesContent":["// label.wrapper.ts – LabelWrapperComponent\nimport { NgIf } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'formly-label-wrapper',\n imports: [NgIf,TranslateModule],\n template: `\n <!-- font-semibold -->\n <label *ngIf=\"to.label\" [for]=\"id\" class=\"block mb-1 font-bold text-lg\">{{ to.label | translate }} <span *ngIf=\"to.required\" class=\"text-red-600\">*</span></label>\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"to.description\" class=\"text-gray-500\">{{ to.description | translate}}</small>\n `\n})\nexport class LabelWrapperComponent extends FieldWrapper {}\n","import { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'formly-panel-wrapper',\n standalone: true,\n imports: [TranslateModule],\n template: `\n @if (to.hidden == false || !to.hidden) {\n <div style=\"border-radius: var(--content-border-radius);\"\n class=\"border border-surface rounded-2xl bg-white p-3 mb-2\">\n\n @if (to.label) {\n <div class=\"font-bold mb-2 flex items-center gap-2\">\n @if (to['icon']) {\n <i class=\"{{ to['icon'] }}\"></i>\n }\n {{ to.label | translate }}\n </div>\n }\n\n <ng-container #fieldComponent></ng-container>\n </div>\n }\n `,\n})\nexport class PanelWrapperComponent extends FieldWrapper {}\n","// td-wrapper.component.ts\nimport { Component } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\n\n@Component({\n imports:[],\n selector: 'formly-wrapper-td',\n template: `\n <ng-container #fieldComponent></ng-container>\n `,\n standalone: true,\n})\nexport class TdWrapperComponent extends FieldWrapper {}\n","import { CommonModule } from '@angular/common';\nimport { Component, ViewChild, ViewContainerRef } from '@angular/core';\nimport { FieldWrapper } from '@ngx-formly/core';\nimport { TooltipModule } from 'primeng/tooltip';\n\n@Component({\n imports:[CommonModule,TooltipModule],\n selector: 'app-tooltip-wrapper',\n template: `\n <div class=\"flex flex-col\">\n <label *ngIf=\"field.props?.label\" class=\"flex items-center mb-1 text-sm font-medium text-gray-700\">\n {{ field.props?.label }}\n\n <!-- PrimeNG Tooltip Icon -->\n <span\n *ngIf=\"field && field.props && field.props['tooltip']\"\n [pTooltip]=\"field.props['tooltip']\"\n [tooltipPosition]=\"field.props['tooltipPosition'] || 'right'\"\n [tooltipStyleClass]=\"field.props['tooltipClass']\"\n class=\"ml-2 cursor-help inline-flex items-center\"\n >\n <i class=\"pi pi-info-circle text-gray-500 text-sm\"></i>\n </span>\n\n <!-- Required Asterisk -->\n <span *ngIf=\"field.props?.required\" class=\"text-red-500 ml-1\">*</span>\n </label>\n\n <ng-template #fieldComponent></ng-template>\n\n <!-- <div *ngIf=\"showError && field.formControl?.errors\" class=\"text-red-500 text-xs mt-1\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </div> -->\n </div>\n `\n})\nexport class TooltipWrapperComponent extends FieldWrapper {\n // @ViewChild('fieldComponent', { read: ViewContainerRef, static: true }) fieldComponent!: ViewContainerRef;\n\n // get showError(): boolean {\n // return this.field.formControl?.invalid && (\n // this.field.formControl?.dirty ||\n // this.field.formControl?.touched ||\n // this.options.parentForm?.submitted\n // );\n // }\n}\n","export * from './label.wrapper';\r\nexport * from './panel.wrapper';\r\nexport * from './td-wrapper.type';\r\nexport * from './tooltip-wrapper';\r\n// export * from './formly-wrapper-custom-panel';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Input, Directive } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class AutofocusDirective {
|
|
5
|
+
el;
|
|
6
|
+
autoFocus = true;
|
|
7
|
+
constructor(el) {
|
|
8
|
+
this.el = el;
|
|
9
|
+
}
|
|
10
|
+
ngOnChanges() {
|
|
11
|
+
if (this.autoFocus === '' || this.autoFocus === true) {
|
|
12
|
+
this.el.nativeElement.focus();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AutofocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
16
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: AutofocusDirective, isStandalone: true, selector: "[appAutofocus]", inputs: { autoFocus: ["appAutofocus", "autoFocus"] }, usesOnChanges: true, ngImport: i0 });
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: AutofocusDirective, decorators: [{
|
|
19
|
+
type: Directive,
|
|
20
|
+
args: [{
|
|
21
|
+
selector: '[appAutofocus]',
|
|
22
|
+
standalone: true
|
|
23
|
+
}]
|
|
24
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { autoFocus: [{
|
|
25
|
+
type: Input,
|
|
26
|
+
args: ['appAutofocus']
|
|
27
|
+
}] } });
|
|
28
|
+
|
|
29
|
+
class RtlLang {
|
|
30
|
+
el;
|
|
31
|
+
renderer;
|
|
32
|
+
lang = 'ar';
|
|
33
|
+
constructor(el, renderer) {
|
|
34
|
+
this.el = el;
|
|
35
|
+
this.renderer = renderer;
|
|
36
|
+
}
|
|
37
|
+
ngOnChanges(changes) {
|
|
38
|
+
const direction = this.lang === 'ar' ? 'rtl' : 'ltr';
|
|
39
|
+
this.renderer.setStyle(this.el.nativeElement, 'direction', direction);
|
|
40
|
+
}
|
|
41
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: RtlLang, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
42
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.4", type: RtlLang, isStandalone: true, selector: "[appRtlLang]", inputs: { lang: ["appRtlLang", "lang"] }, usesOnChanges: true, ngImport: i0 });
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: RtlLang, decorators: [{
|
|
45
|
+
type: Directive,
|
|
46
|
+
args: [{
|
|
47
|
+
selector: '[appRtlLang]'
|
|
48
|
+
}]
|
|
49
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { lang: [{
|
|
50
|
+
type: Input,
|
|
51
|
+
args: ['appRtlLang']
|
|
52
|
+
}] } });
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Generated bundle index. Do not edit.
|
|
56
|
+
*/
|
|
57
|
+
|
|
58
|
+
export { AutofocusDirective, RtlLang };
|
|
59
|
+
//# sourceMappingURL=elite.framework-ng.core-src-lib-directives.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-src-lib-directives.mjs","sources":["../../../projects/core/src/lib/directives/appAutofocus.ts","../../../projects/core/src/lib/directives/rtl-lang.ts","../../../projects/core/src/lib/directives/elite.framework-ng.core-src-lib-directives.ts"],"sourcesContent":["import { Directive, ElementRef, Input, OnChanges } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n standalone:true\n})\nexport class AutofocusDirective implements OnChanges {\n @Input('appAutofocus') autoFocus: boolean | string = true;\n\n constructor(private el: ElementRef) {}\n\n ngOnChanges() {\n if (this.autoFocus === '' || this.autoFocus === true) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { Directive, ElementRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[appRtlLang]'\n})\nexport class RtlLang implements OnChanges{\n\n@Input('appRtlLang') lang: string = 'ar';\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n const direction = this.lang === 'ar' ? 'rtl' : 'ltr';\n this.renderer.setStyle(this.el.nativeElement, 'direction', direction);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAMa,kBAAkB,CAAA;AAGT,IAAA,EAAA;IAFG,SAAS,GAAqB,IAAI;AAEzD,IAAA,WAAA,CAAoB,EAAc,EAAA;QAAd,IAAA,CAAA,EAAE,GAAF,EAAE;;IAEtB,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AACpD,YAAA,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;;;uGAPtB,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,cAAA,EAAA,WAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAC;AACZ,iBAAA;+EAEwB,SAAS,EAAA,CAAA;sBAA/B,KAAK;uBAAC,cAAc;;;MCFV,OAAO,CAAA;AAIE,IAAA,EAAA;AAAwB,IAAA,QAAA;IAFzB,IAAI,GAAW,IAAI;IAEtC,WAAA,CAAoB,EAAc,EAAU,QAAmB,EAAA;QAA3C,IAAA,CAAA,EAAE,GAAF,EAAE;QAAsB,IAAA,CAAA,QAAQ,GAAR,QAAQ;;AAEpD,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,GAAG,KAAK,GAAG,KAAK;AACpD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC;;uGAR5D,OAAO,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAP,OAAO,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,CAAA,YAAA,EAAA,MAAA,CAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAP,OAAO,EAAA,UAAA,EAAA,CAAA;kBAHnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE;AACX,iBAAA;uGAGoB,IAAI,EAAA,CAAA;sBAAxB,KAAK;uBAAC,YAAY;;;ACPnB;;AAEG;;;;"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/common';
|
|
4
|
+
|
|
5
|
+
// tafqeet.pipe.ts
|
|
6
|
+
class TafqeetPipe {
|
|
7
|
+
transform(value, currencyName = 'ريال سعودي') {
|
|
8
|
+
if (value == null || isNaN(value))
|
|
9
|
+
return '';
|
|
10
|
+
const [intPart, fracPart] = value.toFixed(2).split('.').map(Number);
|
|
11
|
+
const intText = this.toArabicWords(intPart);
|
|
12
|
+
const fracText = this.toArabicWords(fracPart);
|
|
13
|
+
let result = `${intText} ${currencyName}`;
|
|
14
|
+
if (fracPart > 0) {
|
|
15
|
+
result += ` و${fracText} هللة`;
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
toArabicWords(n) {
|
|
20
|
+
const units = [
|
|
21
|
+
'', 'واحد', 'اثنان', 'ثلاثة', 'أربعة', 'خمسة', 'ستة', 'سبعة', 'ثمانية', 'تسعة'
|
|
22
|
+
];
|
|
23
|
+
const teens = [
|
|
24
|
+
'عشرة', 'أحد عشر', 'اثنا عشر', 'ثلاثة عشر', 'أربعة عشر', 'خمسة عشر',
|
|
25
|
+
'ستة عشر', 'سبعة عشر', 'ثمانية عشر', 'تسعة عشر'
|
|
26
|
+
];
|
|
27
|
+
const tens = [
|
|
28
|
+
'', '', 'عشرون', 'ثلاثون', 'أربعون', 'خمسون', 'ستون', 'سبعون', 'ثمانون', 'تسعون'
|
|
29
|
+
];
|
|
30
|
+
const hundreds = [
|
|
31
|
+
'', 'مائة', 'مائتان', 'ثلاثمائة', 'أربعمائة', 'خمسمائة', 'ستمائة', 'سبعمائة', 'ثمانمائة', 'تسعمائة'
|
|
32
|
+
];
|
|
33
|
+
if (n === 0)
|
|
34
|
+
return 'صفر';
|
|
35
|
+
let words = [];
|
|
36
|
+
if (n >= 100) {
|
|
37
|
+
const h = Math.floor(n / 100);
|
|
38
|
+
words.push(hundreds[h]);
|
|
39
|
+
n %= 100;
|
|
40
|
+
}
|
|
41
|
+
if (n >= 10 && n < 20) {
|
|
42
|
+
words.push(teens[n - 10]);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
const t = Math.floor(n / 10);
|
|
46
|
+
const u = n % 10;
|
|
47
|
+
if (u > 0) {
|
|
48
|
+
words.push(units[u]);
|
|
49
|
+
}
|
|
50
|
+
if (t > 0) {
|
|
51
|
+
words.push(tens[t]);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return words.reverse().filter(w => !!w).join(' و ');
|
|
55
|
+
}
|
|
56
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TafqeetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
57
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.4", ngImport: i0, type: TafqeetPipe, isStandalone: true, name: "tafqeet" });
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TafqeetPipe, decorators: [{
|
|
60
|
+
type: Pipe,
|
|
61
|
+
args: [{
|
|
62
|
+
name: 'tafqeet'
|
|
63
|
+
}]
|
|
64
|
+
}] });
|
|
65
|
+
|
|
66
|
+
class TimeAgoWithFullDatePipe {
|
|
67
|
+
datePipe;
|
|
68
|
+
constructor(datePipe) {
|
|
69
|
+
this.datePipe = datePipe;
|
|
70
|
+
} // حقن DatePipe
|
|
71
|
+
transform(value) {
|
|
72
|
+
if (!value)
|
|
73
|
+
return '';
|
|
74
|
+
const date = typeof value === 'string' ? new Date(value) : value;
|
|
75
|
+
const now = new Date();
|
|
76
|
+
const seconds = Math.floor((now.getTime() - date.getTime()) / 1000);
|
|
77
|
+
let relativeTime;
|
|
78
|
+
if (seconds < 10) { // في بضع ثوانٍ (لأن "few seconds" في Freshdesk تكون قصيرة جداً)
|
|
79
|
+
relativeTime = 'منذ بضع ثوانٍ';
|
|
80
|
+
}
|
|
81
|
+
else if (seconds < 60) {
|
|
82
|
+
relativeTime = `منذ ${seconds} ثانية`;
|
|
83
|
+
}
|
|
84
|
+
else if (seconds < 120) { // 1 to 2 minutes
|
|
85
|
+
relativeTime = 'منذ دقيقة واحدة';
|
|
86
|
+
}
|
|
87
|
+
else if (seconds < 3600) { // less than 1 hour
|
|
88
|
+
relativeTime = `منذ ${Math.floor(seconds / 60)} دقيقة`;
|
|
89
|
+
}
|
|
90
|
+
else if (seconds < 7200) { // 1 to 2 hours
|
|
91
|
+
relativeTime = 'منذ ساعة واحدة';
|
|
92
|
+
}
|
|
93
|
+
else if (seconds < 86400) { // less than 24 hours
|
|
94
|
+
relativeTime = `منذ ${Math.floor(seconds / 3600)} ساعة`;
|
|
95
|
+
}
|
|
96
|
+
else if (seconds < 172800) { // 1 to 2 days
|
|
97
|
+
relativeTime = 'منذ يوم واحد';
|
|
98
|
+
}
|
|
99
|
+
else if (seconds < 2592000) { // less than 30 days (approx. 1 month)
|
|
100
|
+
relativeTime = `منذ ${Math.floor(seconds / 86400)} يومًا`;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
// For longer periods, Freshdesk typically just shows the full date
|
|
104
|
+
// We'll still keep the 'منذ X' for now based on previous request,
|
|
105
|
+
// but you might consider just returning the full date for older items.
|
|
106
|
+
const months = Math.floor(seconds / 2592000); // 30 days * 24 hours * 60 minutes * 60 seconds
|
|
107
|
+
if (months < 12) {
|
|
108
|
+
relativeTime = `منذ ${months} شهرًا`;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
relativeTime = `منذ ${Math.floor(months / 12)} سنة`;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
// تنسيق التاريخ الكامل بالضبط كما في Freshdesk: "Sat, 26 Jul 2025 at 9:41 PM"
|
|
115
|
+
const fullDateFormatted = this.datePipe.transform(date, 'E, d MMM yyyy at h:mm a', 'en-US');
|
|
116
|
+
// دمج الوقت النسبي مع التاريخ الكامل
|
|
117
|
+
return `${relativeTime} (${fullDateFormatted})`;
|
|
118
|
+
}
|
|
119
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TimeAgoWithFullDatePipe, deps: [{ token: i1.DatePipe }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
120
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.4", ngImport: i0, type: TimeAgoWithFullDatePipe, isStandalone: true, name: "timeAgoWithFullDate", pure: false });
|
|
121
|
+
}
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TimeAgoWithFullDatePipe, decorators: [{
|
|
123
|
+
type: Pipe,
|
|
124
|
+
args: [{
|
|
125
|
+
name: 'timeAgoWithFullDate', // تغيير الاسم ليعكس وظيفته الشاملة
|
|
126
|
+
pure: false // مهم لتحديث الـ Pipe بشكل متكرر
|
|
127
|
+
}]
|
|
128
|
+
}], ctorParameters: () => [{ type: i1.DatePipe }] });
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Generated bundle index. Do not edit.
|
|
132
|
+
*/
|
|
133
|
+
|
|
134
|
+
export { TafqeetPipe, TimeAgoWithFullDatePipe };
|
|
135
|
+
//# sourceMappingURL=elite.framework-ng.core-src-lib-pipes.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-src-lib-pipes.mjs","sources":["../../../projects/core/src/lib/pipes/tafkeet-pipe.ts","../../../projects/core/src/lib/pipes/time-ago.pipe.ts","../../../projects/core/src/lib/pipes/elite.framework-ng.core-src-lib-pipes.ts"],"sourcesContent":["// tafqeet.pipe.ts\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'tafqeet'\n})\nexport class TafqeetPipe implements PipeTransform {\n transform(value: number, currencyName: string = 'ريال سعودي'): string {\n if (value == null || isNaN(value)) return '';\n\n const [intPart, fracPart] = value.toFixed(2).split('.').map(Number);\n const intText = this.toArabicWords(intPart);\n const fracText = this.toArabicWords(fracPart);\n\n let result = `${intText} ${currencyName}`;\n if (fracPart > 0) {\n result += ` و${fracText} هللة`;\n }\n\n return result;\n }\n\n private toArabicWords(n: number): string {\n const units = [\n '', 'واحد', 'اثنان', 'ثلاثة', 'أربعة', 'خمسة', 'ستة', 'سبعة', 'ثمانية', 'تسعة'\n ];\n const teens = [\n 'عشرة', 'أحد عشر', 'اثنا عشر', 'ثلاثة عشر', 'أربعة عشر', 'خمسة عشر',\n 'ستة عشر', 'سبعة عشر', 'ثمانية عشر', 'تسعة عشر'\n ];\n const tens = [\n '', '', 'عشرون', 'ثلاثون', 'أربعون', 'خمسون', 'ستون', 'سبعون', 'ثمانون', 'تسعون'\n ];\n const hundreds = [\n '', 'مائة', 'مائتان', 'ثلاثمائة', 'أربعمائة', 'خمسمائة', 'ستمائة', 'سبعمائة', 'ثمانمائة', 'تسعمائة'\n ];\n\n if (n === 0) return 'صفر';\n\n let words: string[] = [];\n\n if (n >= 100) {\n const h = Math.floor(n / 100);\n words.push(hundreds[h]);\n n %= 100;\n }\n\n if (n >= 10 && n < 20) {\n words.push(teens[n - 10]);\n } else {\n const t = Math.floor(n / 10);\n const u = n % 10;\n\n if (u > 0) {\n words.push(units[u]);\n }\n if (t > 0) {\n words.push(tens[t]);\n }\n }\n\n return words.reverse().filter(w => !!w).join(' و ');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { DatePipe } from '@angular/common'; // لاستخدام DatePipe لتنسيق التاريخ الكامل\n\n@Pipe({\n name: 'timeAgoWithFullDate', // تغيير الاسم ليعكس وظيفته الشاملة\n pure: false // مهم لتحديث الـ Pipe بشكل متكرر\n})\nexport class TimeAgoWithFullDatePipe implements PipeTransform {\n\n constructor(private datePipe: DatePipe) {} // حقن DatePipe\n\n transform(value: Date | string | null): string {\n if (!value) return '';\n\n const date = typeof value === 'string' ? new Date(value) : value;\n const now = new Date();\n const seconds = Math.floor((now.getTime() - date.getTime()) / 1000);\n\n let relativeTime: string;\n\n if (seconds < 10) { // في بضع ثوانٍ (لأن \"few seconds\" في Freshdesk تكون قصيرة جداً)\n relativeTime = 'منذ بضع ثوانٍ';\n } else if (seconds < 60) {\n relativeTime = `منذ ${seconds} ثانية`;\n } else if (seconds < 120) { // 1 to 2 minutes\n relativeTime = 'منذ دقيقة واحدة';\n } else if (seconds < 3600) { // less than 1 hour\n relativeTime = `منذ ${Math.floor(seconds / 60)} دقيقة`;\n } else if (seconds < 7200) { // 1 to 2 hours\n relativeTime = 'منذ ساعة واحدة';\n } else if (seconds < 86400) { // less than 24 hours\n relativeTime = `منذ ${Math.floor(seconds / 3600)} ساعة`;\n } else if (seconds < 172800) { // 1 to 2 days\n relativeTime = 'منذ يوم واحد';\n } else if (seconds < 2592000) { // less than 30 days (approx. 1 month)\n relativeTime = `منذ ${Math.floor(seconds / 86400)} يومًا`;\n } else {\n // For longer periods, Freshdesk typically just shows the full date\n // We'll still keep the 'منذ X' for now based on previous request,\n // but you might consider just returning the full date for older items.\n const months = Math.floor(seconds / 2592000); // 30 days * 24 hours * 60 minutes * 60 seconds\n if (months < 12) {\n relativeTime = `منذ ${months} شهرًا`;\n } else {\n relativeTime = `منذ ${Math.floor(months / 12)} سنة`;\n }\n }\n\n // تنسيق التاريخ الكامل بالضبط كما في Freshdesk: \"Sat, 26 Jul 2025 at 9:41 PM\"\n const fullDateFormatted = this.datePipe.transform(date, 'E, d MMM yyyy at h:mm a', 'en-US');\n\n // دمج الوقت النسبي مع التاريخ الكامل\n return `${relativeTime} (${fullDateFormatted})`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|