@yoozsoft/yoozsoft-ng 5.2.1 → 5.3.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.
@@ -0,0 +1,77 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Output, Input, Component } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { NgbPagination } from '@ng-bootstrap/ng-bootstrap';
6
+
7
+ class YsPaginationComponent {
8
+ rowsPerPage = [10, 25, 50];
9
+ pageReport = true;
10
+ pageReportTemplate = 'Showing {first} to {last} of {totalRecords} items';
11
+ ellipses = false;
12
+ boundaryLinks = true;
13
+ maxSize = 5;
14
+ rotate = true;
15
+ page = 1;
16
+ pageSizeSelection = true;
17
+ pageSize = this.rowsPerPage[0] || 10;
18
+ collectionSize = 0;
19
+ pageChange = new EventEmitter();
20
+ get firstIndex() { return (this.page - 1) * this.pageSize; }
21
+ get lastIndex() { return Math.min(this.firstIndex + this.pageSize, this.collectionSize); }
22
+ get totalPages() {
23
+ return Math.ceil(this.collectionSize / this.pageSize) || 1;
24
+ }
25
+ changePage(page) {
26
+ if (page >= 1 && page <= this.totalPages) {
27
+ this.page = page;
28
+ this.pageChange.emit({ page: this.page, pageSize: this.pageSize });
29
+ }
30
+ }
31
+ changePageSize(size) {
32
+ this.pageSize = +size;
33
+ this.page = 1;
34
+ this.pageChange.emit({ page: this.page, pageSize: this.pageSize });
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: YsPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.5", type: YsPaginationComponent, isStandalone: true, selector: "ys-pagination", inputs: { rowsPerPage: "rowsPerPage", pageReport: "pageReport", pageReportTemplate: "pageReportTemplate", ellipses: "ellipses", boundaryLinks: "boundaryLinks", maxSize: "maxSize", rotate: "rotate", page: "page", pageSizeSelection: "pageSizeSelection", pageSize: "pageSize", collectionSize: "collectionSize" }, outputs: { pageChange: "pageChange" }, ngImport: i0, template: "<div class=\"ys-pagination d-flex flex-wrap justify-content-center justify-content-sm-between align-items-center gap-2\">\r\n\r\n <!-- \u0635\u0641\u062D\u0647\u200C\u0628\u0646\u062F\u06CC -->\r\n <ngb-pagination [collectionSize]=\"collectionSize\" [(page)]=\"page\" [pageSize]=\"pageSize\" [maxSize]=\"maxSize\"\r\n [rotate]=\"rotate\" [ellipses]=\"ellipses\" [boundaryLinks]=\"boundaryLinks\" (pageChange)=\"changePage($event)\" />\r\n\r\n <!-- \u0627\u0646\u062A\u062E\u0627\u0628 \u062A\u0639\u062F\u0627\u062F \u062F\u0631 \u0647\u0631 \u0635\u0641\u062D\u0647 -->\r\n @if(pageSizeSelection){\r\n <select class=\"pagination-select form-select form-select-sm w-auto me-auto\" [(ngModel)]=\"pageSize\"\r\n (change)=\"changePageSize(pageSize)\" id=\"pagination\">\r\n @for (opt of rowsPerPage; track opt) {\r\n <option [value]=\"opt\">{{ opt }}</option>\r\n }\r\n </select>\r\n }\r\n\r\n <!-- \u06AF\u0632\u0627\u0631\u0634 -->\r\n @if(pageReport){\r\n <small class=\"pagination-report text-muted ms-auto\">\r\n {{ pageReportTemplate\r\n .replace('{first}', firstIndex + 1 + '')\r\n .replace('{last}', lastIndex + '')\r\n .replace('{totalRecords}', collectionSize + '') }}\r\n </small>\r\n }\r\n\r\n</div>", styles: [":host::ng-deep .ys-pagination .pagination{margin-bottom:0!important}:host::ng-deep .ys-pagination .pagination-select{height:-webkit-fill-available;height:stretch}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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: "component", type: NgbPagination, selector: "ngb-pagination", inputs: ["disabled", "boundaryLinks", "directionLinks", "ellipses", "rotate", "collectionSize", "maxSize", "page", "pageSize", "size"], outputs: ["pageChange"] }] });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: YsPaginationComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'ys-pagination', imports: [FormsModule, NgbPagination], template: "<div class=\"ys-pagination d-flex flex-wrap justify-content-center justify-content-sm-between align-items-center gap-2\">\r\n\r\n <!-- \u0635\u0641\u062D\u0647\u200C\u0628\u0646\u062F\u06CC -->\r\n <ngb-pagination [collectionSize]=\"collectionSize\" [(page)]=\"page\" [pageSize]=\"pageSize\" [maxSize]=\"maxSize\"\r\n [rotate]=\"rotate\" [ellipses]=\"ellipses\" [boundaryLinks]=\"boundaryLinks\" (pageChange)=\"changePage($event)\" />\r\n\r\n <!-- \u0627\u0646\u062A\u062E\u0627\u0628 \u062A\u0639\u062F\u0627\u062F \u062F\u0631 \u0647\u0631 \u0635\u0641\u062D\u0647 -->\r\n @if(pageSizeSelection){\r\n <select class=\"pagination-select form-select form-select-sm w-auto me-auto\" [(ngModel)]=\"pageSize\"\r\n (change)=\"changePageSize(pageSize)\" id=\"pagination\">\r\n @for (opt of rowsPerPage; track opt) {\r\n <option [value]=\"opt\">{{ opt }}</option>\r\n }\r\n </select>\r\n }\r\n\r\n <!-- \u06AF\u0632\u0627\u0631\u0634 -->\r\n @if(pageReport){\r\n <small class=\"pagination-report text-muted ms-auto\">\r\n {{ pageReportTemplate\r\n .replace('{first}', firstIndex + 1 + '')\r\n .replace('{last}', lastIndex + '')\r\n .replace('{totalRecords}', collectionSize + '') }}\r\n </small>\r\n }\r\n\r\n</div>", styles: [":host::ng-deep .ys-pagination .pagination{margin-bottom:0!important}:host::ng-deep .ys-pagination .pagination-select{height:-webkit-fill-available;height:stretch}\n"] }]
42
+ }], propDecorators: { rowsPerPage: [{
43
+ type: Input
44
+ }], pageReport: [{
45
+ type: Input
46
+ }], pageReportTemplate: [{
47
+ type: Input
48
+ }], ellipses: [{
49
+ type: Input
50
+ }], boundaryLinks: [{
51
+ type: Input
52
+ }], maxSize: [{
53
+ type: Input
54
+ }], rotate: [{
55
+ type: Input
56
+ }], page: [{
57
+ type: Input
58
+ }], pageSizeSelection: [{
59
+ type: Input
60
+ }], pageSize: [{
61
+ type: Input
62
+ }], collectionSize: [{
63
+ type: Input
64
+ }], pageChange: [{
65
+ type: Output
66
+ }] } });
67
+
68
+ /*
69
+ * Public API Surface of ys-pagination
70
+ */
71
+
72
+ /**
73
+ * Generated bundle index. Do not edit.
74
+ */
75
+
76
+ export { YsPaginationComponent };
77
+ //# sourceMappingURL=yoozsoft-yoozsoft-ng-pagination.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yoozsoft-yoozsoft-ng-pagination.mjs","sources":["../../../../projects/yoozsoft/yoozsoft-ng/pagination/src/ys-pagination/ys-pagination.component.ts","../../../../projects/yoozsoft/yoozsoft-ng/pagination/src/ys-pagination/ys-pagination.component.html","../../../../projects/yoozsoft/yoozsoft-ng/pagination/public-api.ts","../../../../projects/yoozsoft/yoozsoft-ng/pagination/yoozsoft-yoozsoft-ng-pagination.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgbPagination } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'ys-pagination',\r\n imports: [FormsModule, NgbPagination],\r\n templateUrl: './ys-pagination.component.html',\r\n styleUrl: './ys-pagination.component.scss'\r\n})\r\nexport class YsPaginationComponent {\r\n\r\n @Input() rowsPerPage: number[] = [10, 25, 50];\r\n @Input() pageReport: boolean = true;\r\n @Input() pageReportTemplate: string = 'Showing {first} to {last} of {totalRecords} items';\r\n @Input() ellipses: boolean = false;\r\n @Input() boundaryLinks: boolean = true;\r\n @Input() maxSize: number = 5;\r\n @Input() rotate: boolean = true;\r\n\r\n @Input() page: number = 1;\r\n @Input() pageSizeSelection: boolean = true;\r\n @Input() pageSize: number = this.rowsPerPage[0] || 10;\r\n @Input() collectionSize: number = 0;\r\n\r\n @Output() pageChange = new EventEmitter<{ page: number, pageSize: number }>();\r\n\r\n get firstIndex(): number { return (this.page - 1) * this.pageSize; }\r\n get lastIndex(): number { return Math.min(this.firstIndex + this.pageSize, this.collectionSize); }\r\n\r\n get totalPages(): number {\r\n return Math.ceil(this.collectionSize / this.pageSize) || 1;\r\n }\r\n\r\n changePage(page: number): void {\r\n if (page >= 1 && page <= this.totalPages) {\r\n this.page = page;\r\n\r\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize });\r\n }\r\n }\r\n\r\n changePageSize(size: number): void {\r\n this.pageSize = +size;\r\n this.page = 1;\r\n this.pageChange.emit({ page: this.page, pageSize: this.pageSize });\r\n }\r\n\r\n}","<div class=\"ys-pagination d-flex flex-wrap justify-content-center justify-content-sm-between align-items-center gap-2\">\r\n\r\n <!-- صفحه‌بندی -->\r\n <ngb-pagination [collectionSize]=\"collectionSize\" [(page)]=\"page\" [pageSize]=\"pageSize\" [maxSize]=\"maxSize\"\r\n [rotate]=\"rotate\" [ellipses]=\"ellipses\" [boundaryLinks]=\"boundaryLinks\" (pageChange)=\"changePage($event)\" />\r\n\r\n <!-- انتخاب تعداد در هر صفحه -->\r\n @if(pageSizeSelection){\r\n <select class=\"pagination-select form-select form-select-sm w-auto me-auto\" [(ngModel)]=\"pageSize\"\r\n (change)=\"changePageSize(pageSize)\" id=\"pagination\">\r\n @for (opt of rowsPerPage; track opt) {\r\n <option [value]=\"opt\">{{ opt }}</option>\r\n }\r\n </select>\r\n }\r\n\r\n <!-- گزارش -->\r\n @if(pageReport){\r\n <small class=\"pagination-report text-muted ms-auto\">\r\n {{ pageReportTemplate\r\n .replace('{first}', firstIndex + 1 + '')\r\n .replace('{last}', lastIndex + '')\r\n .replace('{totalRecords}', collectionSize + '') }}\r\n </small>\r\n }\r\n\r\n</div>","/*\r\n * Public API Surface of ys-pagination\r\n */\r\n\r\nexport * from './src/ys-pagination/ys-pagination.component';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yoozsoft/yoozsoft-ng",
3
- "version": "5.2.1",
3
+ "version": "5.3.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.0.0",
6
6
  "@angular/core": "^20.0.0"
@@ -18,6 +18,7 @@
18
18
  "dropdown",
19
19
  "file-upload",
20
20
  "navbar",
21
+ "pagination",
21
22
  "password-strength",
22
23
  "persian-datepicker",
23
24
  "progress",
@@ -37,17 +38,17 @@
37
38
  "types": "./index.d.ts",
38
39
  "default": "./fesm2022/yoozsoft-yoozsoft-ng.mjs"
39
40
  },
40
- "./autocomplete": {
41
- "types": "./autocomplete/index.d.ts",
42
- "default": "./fesm2022/yoozsoft-yoozsoft-ng-autocomplete.mjs"
41
+ "./datepicker": {
42
+ "types": "./datepicker/index.d.ts",
43
+ "default": "./fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs"
43
44
  },
44
45
  "./directives": {
45
46
  "types": "./directives/index.d.ts",
46
47
  "default": "./fesm2022/yoozsoft-yoozsoft-ng-directives.mjs"
47
48
  },
48
- "./datepicker": {
49
- "types": "./datepicker/index.d.ts",
50
- "default": "./fesm2022/yoozsoft-yoozsoft-ng-datepicker.mjs"
49
+ "./autocomplete": {
50
+ "types": "./autocomplete/index.d.ts",
51
+ "default": "./fesm2022/yoozsoft-yoozsoft-ng-autocomplete.mjs"
51
52
  },
52
53
  "./dropdown": {
53
54
  "types": "./dropdown/index.d.ts",
@@ -73,6 +74,10 @@
73
74
  "types": "./overlay/index.d.ts",
74
75
  "default": "./fesm2022/yoozsoft-yoozsoft-ng-overlay.mjs"
75
76
  },
77
+ "./pagination": {
78
+ "types": "./pagination/index.d.ts",
79
+ "default": "./fesm2022/yoozsoft-yoozsoft-ng-pagination.mjs"
80
+ },
76
81
  "./password-strength": {
77
82
  "types": "./password-strength/index.d.ts",
78
83
  "default": "./fesm2022/yoozsoft-yoozsoft-ng-password-strength.mjs"
@@ -85,6 +90,10 @@
85
90
  "types": "./select/index.d.ts",
86
91
  "default": "./fesm2022/yoozsoft-yoozsoft-ng-select.mjs"
87
92
  },
93
+ "./tiff-viewer": {
94
+ "types": "./tiff-viewer/index.d.ts",
95
+ "default": "./fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs"
96
+ },
88
97
  "./sidebar": {
89
98
  "types": "./sidebar/index.d.ts",
90
99
  "default": "./fesm2022/yoozsoft-yoozsoft-ng-sidebar.mjs"
@@ -92,10 +101,6 @@
92
101
  "./toast": {
93
102
  "types": "./toast/index.d.ts",
94
103
  "default": "./fesm2022/yoozsoft-yoozsoft-ng-toast.mjs"
95
- },
96
- "./tiff-viewer": {
97
- "types": "./tiff-viewer/index.d.ts",
98
- "default": "./fesm2022/yoozsoft-yoozsoft-ng-tiff-viewer.mjs"
99
104
  }
100
105
  }
101
106
  }
@@ -0,0 +1,29 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter } from '@angular/core';
3
+
4
+ declare class YsPaginationComponent {
5
+ rowsPerPage: number[];
6
+ pageReport: boolean;
7
+ pageReportTemplate: string;
8
+ ellipses: boolean;
9
+ boundaryLinks: boolean;
10
+ maxSize: number;
11
+ rotate: boolean;
12
+ page: number;
13
+ pageSizeSelection: boolean;
14
+ pageSize: number;
15
+ collectionSize: number;
16
+ pageChange: EventEmitter<{
17
+ page: number;
18
+ pageSize: number;
19
+ }>;
20
+ get firstIndex(): number;
21
+ get lastIndex(): number;
22
+ get totalPages(): number;
23
+ changePage(page: number): void;
24
+ changePageSize(size: number): void;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<YsPaginationComponent, never>;
26
+ static ɵcmp: i0.ɵɵComponentDeclaration<YsPaginationComponent, "ys-pagination", never, { "rowsPerPage": { "alias": "rowsPerPage"; "required": false; }; "pageReport": { "alias": "pageReport"; "required": false; }; "pageReportTemplate": { "alias": "pageReportTemplate"; "required": false; }; "ellipses": { "alias": "ellipses"; "required": false; }; "boundaryLinks": { "alias": "boundaryLinks"; "required": false; }; "maxSize": { "alias": "maxSize"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "page": { "alias": "page"; "required": false; }; "pageSizeSelection": { "alias": "pageSizeSelection"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "collectionSize": { "alias": "collectionSize"; "required": false; }; }, { "pageChange": "pageChange"; }, never, never, true, never>;
27
+ }
28
+
29
+ export { YsPaginationComponent };