raise-common-lib 0.0.248 → 0.0.249

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.
Files changed (62) hide show
  1. package/README.md +57 -57
  2. package/bundles/raise-common-lib.umd.js +1937 -12
  3. package/bundles/raise-common-lib.umd.js.map +1 -1
  4. package/bundles/raise-common-lib.umd.min.js +1 -1
  5. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  6. package/esm2015/lib/common-grid/index.component.js +210 -8
  7. package/esm2015/lib/date-tree-filter/date-tree-filter-popover/index.component.js +761 -0
  8. package/esm2015/lib/date-tree-filter/date-tree-filter.helper.js +679 -0
  9. package/esm2015/lib/raise-common-lib.module.js +4 -1
  10. package/esm2015/public-api.js +3 -1
  11. package/esm2015/raise-common-lib.js +2 -2
  12. package/esm5/lib/common-grid/index.component.js +244 -8
  13. package/esm5/lib/date-tree-filter/date-tree-filter-popover/index.component.js +902 -0
  14. package/esm5/lib/date-tree-filter/date-tree-filter.helper.js +787 -0
  15. package/esm5/lib/raise-common-lib.module.js +4 -1
  16. package/esm5/public-api.js +3 -1
  17. package/esm5/raise-common-lib.js +2 -2
  18. package/fesm2015/raise-common-lib.js +1649 -9
  19. package/fesm2015/raise-common-lib.js.map +1 -1
  20. package/fesm5/raise-common-lib.js +1931 -10
  21. package/fesm5/raise-common-lib.js.map +1 -1
  22. package/lib/common-grid/index.component.d.ts +30 -1
  23. package/lib/date-tree-filter/date-tree-filter-popover/index.component.d.ts +46 -0
  24. package/lib/date-tree-filter/date-tree-filter.helper.d.ts +54 -0
  25. package/package.json +1 -1
  26. package/public-api.d.ts +2 -0
  27. package/raise-common-lib.metadata.json +1 -1
  28. package/src/assets/img/arrow_right.svg +4 -4
  29. package/src/assets/img/calendar-disabled.svg +6 -6
  30. package/src/assets/img/calendar.svg +6 -6
  31. package/src/assets/img/calendar_arrow_left.svg +3 -3
  32. package/src/assets/img/calendar_arrow_right.svg +3 -3
  33. package/src/assets/img/checked-vector.svg +3 -3
  34. package/src/assets/img/dialog-close.svg +4 -4
  35. package/src/assets/img/dialog-grow.svg +6 -6
  36. package/src/assets/img/dialog-shrink.svg +6 -6
  37. package/src/assets/img/plus.svg +4 -4
  38. package/src/assets/img/raise_logo_main_new.svg +27 -27
  39. package/src/assets/img/search.svg +4 -4
  40. package/src/assets/img/shrink-icon.svg +6 -6
  41. package/src/assets/img/time-disabled.svg +4 -4
  42. package/src/assets/img/time.svg +4 -4
  43. package/src/assets/img/toolbar-action-addFolder.svg +17 -17
  44. package/src/assets/img/toolbar-action-calculator.svg +11 -11
  45. package/src/assets/img/toolbar-action-collapse.svg +7 -7
  46. package/src/assets/img/toolbar-action-combine.svg +4 -4
  47. package/src/assets/img/toolbar-action-edit.svg +4 -4
  48. package/src/assets/img/toolbar-action-expand.svg +7 -7
  49. package/src/assets/img/toolbar-action-folderMove.svg +8 -8
  50. package/src/assets/img/toolbar-action-lock.svg +6 -6
  51. package/src/assets/img/toolbar-action-preview.svg +7 -7
  52. package/src/assets/img/toolbar-action-publish.svg +5 -5
  53. package/src/assets/img/toolbar-action-reminders.svg +10 -10
  54. package/src/assets/img/toolbar-action-rename.svg +7 -7
  55. package/src/assets/img/toolbar-action-saveSequence.svg +5 -5
  56. package/src/assets/img/toolbar-action-send-file.svg +5 -5
  57. package/src/assets/img/toolbar-action-settle.svg +7 -7
  58. package/src/assets/img/toolbar-action-share.svg +5 -5
  59. package/src/assets/img/toolbar-action-submitForApproval.svg +4 -4
  60. package/src/assets/img/toolbar-action-sync.svg +4 -4
  61. package/src/assets/img/toolbar-action-template.svg +6 -6
  62. package/src/assets/img/toolbar-action-workflow.svg +9 -9
@@ -1,7 +1,8 @@
1
- import { EventEmitter, OnInit, TemplateRef, OnChanges, SimpleChanges, ChangeDetectorRef } from "@angular/core";
1
+ import { ElementRef, EventEmitter, OnInit, TemplateRef, OnChanges, SimpleChanges, ChangeDetectorRef } from "@angular/core";
2
2
  import { GridComponent } from "@syncfusion/ej2-angular-grids";
3
3
  import { BeforeOpenCloseEventArgs } from "@syncfusion/ej2-angular-inputs";
4
4
  import { IActionMenuItem, IColumnField } from "../constant";
5
+ import { DateTreeFilterHelper } from "../date-tree-filter/date-tree-filter.helper";
5
6
  export declare class CommonGridComponent implements OnInit, OnChanges {
6
7
  private ref;
7
8
  grid: GridComponent;
@@ -57,6 +58,17 @@ export declare class CommonGridComponent implements OnInit, OnChanges {
57
58
  alwaysShowCheckbox: boolean;
58
59
  defaultRecord: any;
59
60
  disableSystemRow: boolean;
61
+ /** 开启日期树筛选(默认关闭,不影响现有页面) */
62
+ enableDateTreeFilter: boolean;
63
+ /** 参与日期树筛选的列名或 hint,如 ['CreatedOn', 'ModifiedOn'] */
64
+ dateTreeFilterFields: string[];
65
+ /**
66
+ * 未筛选原始数据(可选)。
67
+ * 不传时由组件在 dataSource 变更时自动快照;传则由页面自行维护 raw。
68
+ */
69
+ dateTreeSourceRows: any[];
70
+ /** 内聚模式下仍向页面同步筛选结果(默认 false,一般无需绑定) */
71
+ dateTreeEmitFilteredRows: boolean;
60
72
  recordDoubleClick: EventEmitter<any>;
61
73
  actionComplete: EventEmitter<any>;
62
74
  rowSelected: EventEmitter<any>;
@@ -74,6 +86,14 @@ export declare class CommonGridComponent implements OnInit, OnChanges {
74
86
  rowDrop: EventEmitter<any>;
75
87
  rowDrag: EventEmitter<any>;
76
88
  rowDragStart: EventEmitter<any>;
89
+ /** 日期树筛选后的行数据(可选,复杂页面与 dateTreeSourceRows 搭配使用) */
90
+ dateTreeFilteredRows: EventEmitter<any[]>;
91
+ dateTreePopoverRef: ElementRef;
92
+ dateTreeHelper: DateTreeFilterHelper;
93
+ /** 内聚模式:表格实际绑定的数据 */
94
+ dateTreeDisplayRows: any[];
95
+ private dateTreeRawRows;
96
+ private dateTreeApplyingFilter;
77
97
  selectId: any[];
78
98
  startPaging: boolean;
79
99
  indexList: any[];
@@ -82,7 +102,16 @@ export declare class CommonGridComponent implements OnInit, OnChanges {
82
102
  constructor(ref: ChangeDetectorRef);
83
103
  ngOnInit(): void;
84
104
  trackByFn(index: any, item: any): any;
105
+ /** ejs-grid 绑定数据源:内聚模式用内部展示数据,否则用 dataSource */
106
+ readonly gridBindDataSource: any[];
107
+ /** 日期树 popover 用的全量数据 */
108
+ readonly dateTreePopoverSourceRows: any[];
85
109
  ngOnChanges(changes: SimpleChanges): void;
110
+ private captureDateTreeRawFromDataSource;
111
+ onDocumentMouseDown(event: MouseEvent): void;
112
+ onDocumentMouseOver(event: MouseEvent): void;
113
+ private refreshDateTreeFilter;
114
+ private onDateTreeRowsApplied;
86
115
  _load(): void;
87
116
  _dataBound(args: any): void;
88
117
  _exportQueryCellInfo(args: any): void;
@@ -0,0 +1,46 @@
1
+ import { EventEmitter, OnChanges, SimpleChanges } from "@angular/core";
2
+ export declare class DateTreeFilterPopoverComponent implements OnChanges {
3
+ field: string;
4
+ translation: any;
5
+ sourceRows: any[];
6
+ dateFields: string[];
7
+ selectedByField: any;
8
+ fieldLabelMap: any;
9
+ apply: EventEmitter<any>;
10
+ close: EventEmitter<void>;
11
+ keyword: string;
12
+ years: any[];
13
+ private expandStateByField;
14
+ private workingSelectedByField;
15
+ ngOnChanges(changes: SimpleChanges): void;
16
+ closePopover(): void;
17
+ onKeywordChange(value: string): void;
18
+ getVisibleYears(): any[];
19
+ toggleYearExpanded(yearNode: any): void;
20
+ toggleMonthExpanded(monthNode: any): void;
21
+ isAllChecked(): boolean;
22
+ isAllIndeterminate(): boolean;
23
+ toggleAllDays(checked: boolean): void;
24
+ isDayChecked(dayNode: any): boolean;
25
+ toggleDay(dayNode: any, checked: boolean): void;
26
+ isMonthDisabled(monthNode: any): boolean;
27
+ isMonthChecked(monthNode: any): boolean;
28
+ isMonthIndeterminate(monthNode: any): boolean;
29
+ toggleMonth(monthNode: any, checked: boolean): void;
30
+ isYearDisabled(yearNode: any): boolean;
31
+ isYearChecked(yearNode: any): boolean;
32
+ isYearIndeterminate(yearNode: any): boolean;
33
+ toggleYear(yearNode: any, checked: boolean): void;
34
+ clearSelection(): void;
35
+ applySelection(): void;
36
+ private rebuildTree;
37
+ private filterRowsBySelectedDateTree;
38
+ private parseDateValue;
39
+ private getOrCreateExpandState;
40
+ private getFieldDaySelectionMap;
41
+ private toDayKey;
42
+ private pad2;
43
+ private getDayKeyByRowValue;
44
+ private getEnabledDayKeysInCurrentField;
45
+ private cloneSelectionMap;
46
+ }
@@ -0,0 +1,54 @@
1
+ export interface DateTreeFilterSetupOptions {
2
+ rows: any[];
3
+ fields: any[];
4
+ hints: string[];
5
+ }
6
+ export interface DateTreeFilterHelperOptions {
7
+ getTranslation: () => any;
8
+ getPopoverElement: () => HTMLElement;
9
+ getGridElement: () => HTMLElement;
10
+ applyRows: (rows: any[]) => void;
11
+ parseDateValue?: (value: any) => Date;
12
+ dateFormats?: string[];
13
+ }
14
+ export interface RsCommonGridDateTreeFactoryHost {
15
+ translation: any;
16
+ dateTreePopoverRef: any;
17
+ grid: any;
18
+ }
19
+ export declare const DATE_TREE_DEFAULT_DATE_FORMATS: string[];
20
+ export declare class DateTreeFilterHelper {
21
+ popoverVisible: boolean;
22
+ popoverField: string;
23
+ popoverStyle: {};
24
+ selectedByField: {};
25
+ fieldLabelMap: {};
26
+ dateFields: any[];
27
+ private sourceRows;
28
+ private options;
29
+ private defaultDateFormats;
30
+ constructor(options: DateTreeFilterHelperOptions);
31
+ setup(config: DateTreeFilterSetupOptions): void;
32
+ handleGridActionBegin(args: any): void;
33
+ updateSelection(selectionMap: any): void;
34
+ close(): void;
35
+ handleDocumentMouseDown(event: MouseEvent): void;
36
+ handleDocumentMouseOver(event: MouseEvent): void;
37
+ updatePosition(): void;
38
+ private open;
39
+ private apply;
40
+ private getRequestType;
41
+ private resolveActionColumnName;
42
+ private resolveDateTreeFieldsByHints;
43
+ private isDateTreeField;
44
+ private getFieldDaySelectionMap;
45
+ private filterRowsBySelectedDateTree;
46
+ private getDayKeyByRowValue;
47
+ private parseDateValue;
48
+ private toDayKey;
49
+ private pad2;
50
+ private isInsidePopover;
51
+ private isDateFilterMenuItem;
52
+ private findDateFilterAnchorElement;
53
+ }
54
+ export declare function createRsCommonGridDateTreeHelper(host: RsCommonGridDateTreeFactoryHost, applyRows: (rows: any[]) => void, dateFormats?: string[]): DateTreeFilterHelper;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "raise-common-lib",
3
- "version": "0.0.248",
3
+ "version": "0.0.249",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^8.2.3 || ^9.0.0",
6
6
  "@angular/core": "^8.2.3 || ^9.0.0"
package/public-api.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export * from "./lib/common-grid/index.component";
2
2
  export * from "./lib/common-grid/grid-action/grid-action.component";
3
3
  export * from "./lib/common-grid/grid-action/grid-action-item/grid-action-item.component";
4
+ export * from "./lib/date-tree-filter/date-tree-filter-popover/index.component";
5
+ export * from "./lib/date-tree-filter/date-tree-filter.helper";
4
6
  export * from "./lib/float-box/index.component";
5
7
  export * from "./lib/commentary/index.component";
6
8
  export * from "./lib/truncated-text-toggle/index.component";