@zeedhi/teknisa-components-common 1.46.0 → 1.47.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.
@@ -1,4 +1,4 @@
1
- import { KeyMap, I18n, FormatterParserProvider, Messages, Metadata, DatasourceFactory, RestDatasource, URL, MemoryDatasource, Utils, Loader, dayjs, Config } from '@zeedhi/core';
1
+ import { KeyMap, I18n, FormatterParserProvider, Messages, Metadata, DatasourceFactory, RestDatasource, URL, MemoryDatasource, Utils, Loader, DateHelper } from '@zeedhi/core';
2
2
  import { Form, Button, Tooltip, GridEditable, Grid, ComponentRender, Iterable, Carousel, Loading as Loading$1, ModalService, GridColumnEditable, Report, IterableColumnsButtonController, IterableColumnsButton, TreeGridEditable } from '@zeedhi/common';
3
3
  import get from 'lodash.get';
4
4
  import debounce from 'lodash.debounce';
@@ -1134,9 +1134,11 @@ class GridBase {
1134
1134
  columnComponentName = `${this.grid.name}-filter-AND-CONTAINS-${column.name}-${index}`;
1135
1135
  }
1136
1136
  this.filterFormInputs[column.name].push(columnComponentName);
1137
- let newColumnComponent = Object.assign(Object.assign(Object.assign({ label: column.label }, column.componentProps), filterItem), { name: columnComponentName });
1137
+ const newColumnComponent = Object.assign(Object.assign(Object.assign({ label: column.label }, column.componentProps), filterItem), { name: columnComponentName });
1138
1138
  if (filterItem.helperOptions) {
1139
- newColumnComponent = this.getHelperValueComponent(newColumnComponent, filterItem.helperOptions, column);
1139
+ if (!newColumnComponent.events)
1140
+ newColumnComponent.events = {};
1141
+ newColumnComponent.events.change = this.changeHelperEvent.bind(this, column);
1140
1142
  }
1141
1143
  filterColumns.push(newColumnComponent);
1142
1144
  });
@@ -1144,54 +1146,9 @@ class GridBase {
1144
1146
  });
1145
1147
  return filterColumns;
1146
1148
  }
1147
- getHelperValueComponent(component, helperValues, column) {
1148
- return {
1149
- name: `${component.name}_helperspan`,
1150
- component: 'ZdTag',
1151
- tag: 'span',
1152
- cssClass: 'zd-display-flex',
1153
- grid: component.grid,
1154
- children: [
1155
- Object.assign(Object.assign({}, component), { persistentHint: true, events: {
1156
- onMounted: this.registerFilterComponentToForm.bind(this),
1157
- change: this.clearFilterHelperValue.bind(this, column),
1158
- } }),
1159
- {
1160
- name: `${component.name}_helperdropdown`,
1161
- component: 'ZdDropdown',
1162
- offsetY: true,
1163
- activator: {
1164
- name: `${component.name}_helperbutton`,
1165
- component: 'ZdButton',
1166
- iconName: 'magnify',
1167
- icon: true,
1168
- small: true,
1169
- cssClass: `filter-helper-values-button ${component.showLabel !== false ? 'with-label' : ''}`,
1170
- },
1171
- children: this.createHelperValueOptions(component, helperValues, column),
1172
- },
1173
- ],
1174
- };
1175
- }
1176
- createHelperValueOptions(component, helperValues, column) {
1177
- return helperValues.map((value) => ({
1178
- name: `${component.name}_helpervalue_${value}`,
1179
- component: 'ZdText',
1180
- cssClass: 'filter-helper-values-option',
1181
- text: TekFilterHelper.getLabel(value),
1182
- events: {
1183
- click: this.helperValuesOptionClick.bind(this, component, value, column),
1184
- },
1185
- }));
1186
- }
1187
- helperValuesOptionClick(component, helperValue, column) {
1188
- const value = TekFilterHelper.getValue(helperValue, column);
1189
- const componentObject = Metadata.getInstance(component.name);
1190
- componentObject.value = value;
1191
- componentObject.hint = TekFilterHelper.getLabel(helperValue);
1192
- this.setFilterPropsHelperValue(column, component.name, helperValue);
1193
- }
1194
- setFilterPropsHelperValue(column, componentName, helperValue) {
1149
+ changeHelperEvent(column, { component }) {
1150
+ const { helperValue } = component;
1151
+ const componentName = component.name;
1195
1152
  if (!Array.isArray(column.filterProps)) {
1196
1153
  column.filterProps.helperValue = helperValue;
1197
1154
  }
@@ -1205,14 +1162,6 @@ class GridBase {
1205
1162
  });
1206
1163
  }
1207
1164
  }
1208
- registerFilterComponentToForm({ component }) {
1209
- const form = Metadata.getInstance(`${this.grid.name}-filter-form`);
1210
- form.registerInput(component);
1211
- }
1212
- clearFilterHelperValue(column, { component }) {
1213
- this.setFilterPropsHelperValue(column, component.name, '');
1214
- component.hint = '';
1215
- }
1216
1165
  loadFilterValues({ component }) {
1217
1166
  const { datasource } = this.grid;
1218
1167
  if (datasource instanceof TekRestDatasource || datasource instanceof TekMemoryDatasource) {
@@ -1687,6 +1636,8 @@ class TekRestDatasource extends RestDatasource {
1687
1636
  }
1688
1637
  this.lazyLoad = this.getInitValue('lazyLoad', props.lazyLoad, this.lazyLoad);
1689
1638
  this.createAccessors();
1639
+ this.createObjAccessors(this.dynamicFilter, 'dynamicFilter');
1640
+ this.createObjAccessors(this.searchJoin, 'searchJoin');
1690
1641
  if (!this.lazyLoad) {
1691
1642
  this.get();
1692
1643
  }
@@ -1866,6 +1817,8 @@ class TekMemoryDatasource extends MemoryDatasource {
1866
1817
  this.searchJoin = this.getInitValue('searchJoin', props.searchJoin, {});
1867
1818
  }
1868
1819
  this.createAccessors();
1820
+ this.createObjAccessors(this.dynamicFilter, 'dynamicFilter');
1821
+ this.createObjAccessors(this.searchJoin, 'searchJoin');
1869
1822
  this.get();
1870
1823
  }
1871
1824
  updateReservedKeys() {
@@ -2012,61 +1965,70 @@ class TekMemoryDatasource extends MemoryDatasource {
2012
1965
  }
2013
1966
  getRowByDynamicFilter(row) {
2014
1967
  let filtered;
2015
- Object.keys(this.dynamicFilter).forEach((key) => {
2016
- const filterItems = this.dynamicFilter[key];
2017
- filterItems.forEach((item) => {
2018
- if (filtered === false && item.relation === 'AND')
2019
- return;
2020
- if (filtered === true && item.relation === 'OR')
2021
- return;
2022
- const columnValue = Utils.normalize(row[key].toString());
2023
- let value = '';
2024
- if (Array.isArray(item.value)) {
2025
- value = item.value.map((val) => Utils.normalize(val.toString()));
2026
- switch (item.operation) {
2027
- case 'IN':
2028
- filtered = value.includes(columnValue);
2029
- break;
2030
- case 'NOT_IN':
2031
- filtered = !value.includes(columnValue);
2032
- break;
2033
- case 'BETWEEN':
2034
- filtered = (Number(columnValue) || columnValue) >= (Number(value[0]) || value[0])
2035
- && (Number(columnValue) || columnValue) <= (Number(value[1]) || value[1]);
2036
- break;
1968
+ try {
1969
+ Object.keys(this.dynamicFilter).forEach((key) => {
1970
+ const filterItems = this.dynamicFilter[key];
1971
+ filterItems.forEach((item) => {
1972
+ if (filtered === false && item.relation === 'AND')
1973
+ return;
1974
+ if (filtered === true && item.relation === 'OR')
1975
+ return;
1976
+ const columnValue = Utils.normalize(row[key].toString());
1977
+ let value = '';
1978
+ if (Array.isArray(item.value)) {
1979
+ value = item.value.map((val) => Utils.normalize(val.toString()));
1980
+ switch (item.operation) {
1981
+ case 'IN':
1982
+ filtered = value.includes(columnValue);
1983
+ break;
1984
+ case 'NOT_IN':
1985
+ filtered = !value.includes(columnValue);
1986
+ break;
1987
+ case 'BETWEEN':
1988
+ filtered = (Number(columnValue) || columnValue) >= (Number(value[0]) || value[0])
1989
+ && (Number(columnValue) || columnValue) <= (Number(value[1]) || value[1]);
1990
+ break;
1991
+ default:
1992
+ break;
1993
+ }
2037
1994
  }
2038
- }
2039
- else {
2040
- value = Utils.normalize(item.value.toString());
2041
- switch (item.operation) {
2042
- case 'CONTAINS':
2043
- filtered = columnValue.indexOf(value) !== -1;
2044
- break;
2045
- case 'NOT_CONTAINS':
2046
- filtered = columnValue.indexOf(value) === -1;
2047
- break;
2048
- case 'EQUALS':
2049
- filtered = columnValue === value;
2050
- break;
2051
- case 'NOT_EQUALS':
2052
- filtered = columnValue !== value;
2053
- break;
2054
- case 'GREATER_THAN':
2055
- filtered = (Number(columnValue) || columnValue) > (Number(value) || value);
2056
- break;
2057
- case 'LESS_THAN':
2058
- filtered = (Number(columnValue) || columnValue) < (Number(value) || value);
2059
- break;
2060
- case 'GREATER_THAN_EQUALS':
2061
- filtered = (Number(columnValue) || columnValue) >= (Number(value) || value);
2062
- break;
2063
- case 'LESS_THAN_EQUALS':
2064
- filtered = (Number(columnValue) || columnValue) <= (Number(value) || value);
2065
- break;
1995
+ else {
1996
+ value = Utils.normalize(item.value.toString());
1997
+ switch (item.operation) {
1998
+ case 'CONTAINS':
1999
+ filtered = columnValue.indexOf(value) !== -1;
2000
+ break;
2001
+ case 'NOT_CONTAINS':
2002
+ filtered = columnValue.indexOf(value) === -1;
2003
+ break;
2004
+ case 'EQUALS':
2005
+ filtered = columnValue === value;
2006
+ break;
2007
+ case 'NOT_EQUALS':
2008
+ filtered = columnValue !== value;
2009
+ break;
2010
+ case 'GREATER_THAN':
2011
+ filtered = (Number(columnValue) || columnValue) > (Number(value) || value);
2012
+ break;
2013
+ case 'LESS_THAN':
2014
+ filtered = (Number(columnValue) || columnValue) < (Number(value) || value);
2015
+ break;
2016
+ case 'GREATER_THAN_EQUALS':
2017
+ filtered = (Number(columnValue) || columnValue) >= (Number(value) || value);
2018
+ break;
2019
+ case 'LESS_THAN_EQUALS':
2020
+ filtered = (Number(columnValue) || columnValue) <= (Number(value) || value);
2021
+ break;
2022
+ default:
2023
+ break;
2024
+ }
2066
2025
  }
2067
- }
2026
+ });
2068
2027
  });
2069
- });
2028
+ }
2029
+ catch (_a) {
2030
+ // do nothing
2031
+ }
2070
2032
  return filtered;
2071
2033
  }
2072
2034
  getRowBySearchJoin(row) {
@@ -3031,88 +2993,19 @@ class TekGridLayoutOptions extends ComponentRender {
3031
2993
  }
3032
2994
 
3033
2995
  class TekFilterHelper {
3034
- static formatDate(date, column) {
3035
- if (column.componentProps.dateFormat) {
3036
- return dayjs(date).format(column.componentProps.dateFormat);
3037
- }
3038
- return dayjs(date).format(Config.dateFormat);
3039
- }
3040
2996
  static getLabel(name) {
3041
- return I18n.translate(this.values[name].label);
2997
+ return DateHelper.getLabel(name);
3042
2998
  }
3043
2999
  static getValue(name, column) {
3044
- if (!this.values[name])
3045
- return '';
3046
- const value = this.values[name].fn();
3047
- if (Array.isArray(value)) {
3048
- return value.map((item) => this.formatDate(item, column));
3049
- }
3050
- return this.formatDate(value, column);
3000
+ return DateHelper.getValue(name, column.componentProps.dateFormat);
3051
3001
  }
3052
3002
  static register(name, label, fn) {
3053
- this.values[name] = {
3054
- label,
3055
- fn,
3056
- };
3003
+ DateHelper.register(name, label, fn);
3057
3004
  }
3058
3005
  static unregister(name) {
3059
- delete this.values[name];
3006
+ DateHelper.unregister(name);
3060
3007
  }
3061
- }
3062
- TekFilterHelper.values = {
3063
- TODAY: {
3064
- label: 'TEKGRID_HELPERVALUE_TODAY',
3065
- fn: () => dayjs().toDate(),
3066
- },
3067
- TOMORROW: {
3068
- label: 'TEKGRID_HELPERVALUE_TOMORROW',
3069
- fn: () => dayjs().add(1, 'day').toDate(),
3070
- },
3071
- YESTERDAY: {
3072
- label: 'TEKGRID_HELPERVALUE_YESTERDAY',
3073
- fn: () => dayjs().subtract(1, 'day').toDate(),
3074
- },
3075
- LAST_7_DAYS: {
3076
- label: 'TEKGRID_HELPERVALUE_LAST_7_DAYS',
3077
- fn: () => {
3078
- const end = dayjs().toDate();
3079
- const start = dayjs().subtract(7, 'day').toDate();
3080
- return [start, end];
3081
- },
3082
- },
3083
- NEXT_7_DAYS: {
3084
- label: 'TEKGRID_HELPERVALUE_NEXT_7_DAYS',
3085
- fn: () => {
3086
- const start = dayjs().toDate();
3087
- const end = dayjs().add(7, 'day').toDate();
3088
- return [start, end];
3089
- },
3090
- },
3091
- CURRENT_WEEK: {
3092
- label: 'TEKGRID_HELPERVALUE_CURRENT_WEEK',
3093
- fn: () => {
3094
- const start = dayjs().startOf('week').toDate();
3095
- const end = dayjs().endOf('week').toDate();
3096
- return [start, end];
3097
- },
3098
- },
3099
- CURRENT_MONTH: {
3100
- label: 'TEKGRID_HELPERVALUE_CURRENT_MONTH',
3101
- fn: () => {
3102
- const start = dayjs().startOf('month').toDate();
3103
- const end = dayjs().endOf('month').toDate();
3104
- return [start, end];
3105
- },
3106
- },
3107
- CURRENT_YEAR: {
3108
- label: 'TEKGRID_HELPERVALUE_CURRENT_YEAR',
3109
- fn: () => {
3110
- const start = dayjs().startOf('year').toDate();
3111
- const end = dayjs().endOf('year').toDate();
3112
- return [start, end];
3113
- },
3114
- },
3115
- };
3008
+ }
3116
3009
 
3117
3010
  /* TekTreeGrid Class */
3118
3011
  class TekTreeGrid extends TreeGridEditable {
@@ -1140,9 +1140,11 @@
1140
1140
  columnComponentName = `${this.grid.name}-filter-AND-CONTAINS-${column.name}-${index}`;
1141
1141
  }
1142
1142
  this.filterFormInputs[column.name].push(columnComponentName);
1143
- let newColumnComponent = Object.assign(Object.assign(Object.assign({ label: column.label }, column.componentProps), filterItem), { name: columnComponentName });
1143
+ const newColumnComponent = Object.assign(Object.assign(Object.assign({ label: column.label }, column.componentProps), filterItem), { name: columnComponentName });
1144
1144
  if (filterItem.helperOptions) {
1145
- newColumnComponent = this.getHelperValueComponent(newColumnComponent, filterItem.helperOptions, column);
1145
+ if (!newColumnComponent.events)
1146
+ newColumnComponent.events = {};
1147
+ newColumnComponent.events.change = this.changeHelperEvent.bind(this, column);
1146
1148
  }
1147
1149
  filterColumns.push(newColumnComponent);
1148
1150
  });
@@ -1150,54 +1152,9 @@
1150
1152
  });
1151
1153
  return filterColumns;
1152
1154
  }
1153
- getHelperValueComponent(component, helperValues, column) {
1154
- return {
1155
- name: `${component.name}_helperspan`,
1156
- component: 'ZdTag',
1157
- tag: 'span',
1158
- cssClass: 'zd-display-flex',
1159
- grid: component.grid,
1160
- children: [
1161
- Object.assign(Object.assign({}, component), { persistentHint: true, events: {
1162
- onMounted: this.registerFilterComponentToForm.bind(this),
1163
- change: this.clearFilterHelperValue.bind(this, column),
1164
- } }),
1165
- {
1166
- name: `${component.name}_helperdropdown`,
1167
- component: 'ZdDropdown',
1168
- offsetY: true,
1169
- activator: {
1170
- name: `${component.name}_helperbutton`,
1171
- component: 'ZdButton',
1172
- iconName: 'magnify',
1173
- icon: true,
1174
- small: true,
1175
- cssClass: `filter-helper-values-button ${component.showLabel !== false ? 'with-label' : ''}`,
1176
- },
1177
- children: this.createHelperValueOptions(component, helperValues, column),
1178
- },
1179
- ],
1180
- };
1181
- }
1182
- createHelperValueOptions(component, helperValues, column) {
1183
- return helperValues.map((value) => ({
1184
- name: `${component.name}_helpervalue_${value}`,
1185
- component: 'ZdText',
1186
- cssClass: 'filter-helper-values-option',
1187
- text: TekFilterHelper.getLabel(value),
1188
- events: {
1189
- click: this.helperValuesOptionClick.bind(this, component, value, column),
1190
- },
1191
- }));
1192
- }
1193
- helperValuesOptionClick(component, helperValue, column) {
1194
- const value = TekFilterHelper.getValue(helperValue, column);
1195
- const componentObject = core.Metadata.getInstance(component.name);
1196
- componentObject.value = value;
1197
- componentObject.hint = TekFilterHelper.getLabel(helperValue);
1198
- this.setFilterPropsHelperValue(column, component.name, helperValue);
1199
- }
1200
- setFilterPropsHelperValue(column, componentName, helperValue) {
1155
+ changeHelperEvent(column, { component }) {
1156
+ const { helperValue } = component;
1157
+ const componentName = component.name;
1201
1158
  if (!Array.isArray(column.filterProps)) {
1202
1159
  column.filterProps.helperValue = helperValue;
1203
1160
  }
@@ -1211,14 +1168,6 @@
1211
1168
  });
1212
1169
  }
1213
1170
  }
1214
- registerFilterComponentToForm({ component }) {
1215
- const form = core.Metadata.getInstance(`${this.grid.name}-filter-form`);
1216
- form.registerInput(component);
1217
- }
1218
- clearFilterHelperValue(column, { component }) {
1219
- this.setFilterPropsHelperValue(column, component.name, '');
1220
- component.hint = '';
1221
- }
1222
1171
  loadFilterValues({ component }) {
1223
1172
  const { datasource } = this.grid;
1224
1173
  if (datasource instanceof TekRestDatasource || datasource instanceof TekMemoryDatasource) {
@@ -1693,6 +1642,8 @@
1693
1642
  }
1694
1643
  this.lazyLoad = this.getInitValue('lazyLoad', props.lazyLoad, this.lazyLoad);
1695
1644
  this.createAccessors();
1645
+ this.createObjAccessors(this.dynamicFilter, 'dynamicFilter');
1646
+ this.createObjAccessors(this.searchJoin, 'searchJoin');
1696
1647
  if (!this.lazyLoad) {
1697
1648
  this.get();
1698
1649
  }
@@ -1872,6 +1823,8 @@
1872
1823
  this.searchJoin = this.getInitValue('searchJoin', props.searchJoin, {});
1873
1824
  }
1874
1825
  this.createAccessors();
1826
+ this.createObjAccessors(this.dynamicFilter, 'dynamicFilter');
1827
+ this.createObjAccessors(this.searchJoin, 'searchJoin');
1875
1828
  this.get();
1876
1829
  }
1877
1830
  updateReservedKeys() {
@@ -2018,61 +1971,70 @@
2018
1971
  }
2019
1972
  getRowByDynamicFilter(row) {
2020
1973
  let filtered;
2021
- Object.keys(this.dynamicFilter).forEach((key) => {
2022
- const filterItems = this.dynamicFilter[key];
2023
- filterItems.forEach((item) => {
2024
- if (filtered === false && item.relation === 'AND')
2025
- return;
2026
- if (filtered === true && item.relation === 'OR')
2027
- return;
2028
- const columnValue = core.Utils.normalize(row[key].toString());
2029
- let value = '';
2030
- if (Array.isArray(item.value)) {
2031
- value = item.value.map((val) => core.Utils.normalize(val.toString()));
2032
- switch (item.operation) {
2033
- case 'IN':
2034
- filtered = value.includes(columnValue);
2035
- break;
2036
- case 'NOT_IN':
2037
- filtered = !value.includes(columnValue);
2038
- break;
2039
- case 'BETWEEN':
2040
- filtered = (Number(columnValue) || columnValue) >= (Number(value[0]) || value[0])
2041
- && (Number(columnValue) || columnValue) <= (Number(value[1]) || value[1]);
2042
- break;
1974
+ try {
1975
+ Object.keys(this.dynamicFilter).forEach((key) => {
1976
+ const filterItems = this.dynamicFilter[key];
1977
+ filterItems.forEach((item) => {
1978
+ if (filtered === false && item.relation === 'AND')
1979
+ return;
1980
+ if (filtered === true && item.relation === 'OR')
1981
+ return;
1982
+ const columnValue = core.Utils.normalize(row[key].toString());
1983
+ let value = '';
1984
+ if (Array.isArray(item.value)) {
1985
+ value = item.value.map((val) => core.Utils.normalize(val.toString()));
1986
+ switch (item.operation) {
1987
+ case 'IN':
1988
+ filtered = value.includes(columnValue);
1989
+ break;
1990
+ case 'NOT_IN':
1991
+ filtered = !value.includes(columnValue);
1992
+ break;
1993
+ case 'BETWEEN':
1994
+ filtered = (Number(columnValue) || columnValue) >= (Number(value[0]) || value[0])
1995
+ && (Number(columnValue) || columnValue) <= (Number(value[1]) || value[1]);
1996
+ break;
1997
+ default:
1998
+ break;
1999
+ }
2043
2000
  }
2044
- }
2045
- else {
2046
- value = core.Utils.normalize(item.value.toString());
2047
- switch (item.operation) {
2048
- case 'CONTAINS':
2049
- filtered = columnValue.indexOf(value) !== -1;
2050
- break;
2051
- case 'NOT_CONTAINS':
2052
- filtered = columnValue.indexOf(value) === -1;
2053
- break;
2054
- case 'EQUALS':
2055
- filtered = columnValue === value;
2056
- break;
2057
- case 'NOT_EQUALS':
2058
- filtered = columnValue !== value;
2059
- break;
2060
- case 'GREATER_THAN':
2061
- filtered = (Number(columnValue) || columnValue) > (Number(value) || value);
2062
- break;
2063
- case 'LESS_THAN':
2064
- filtered = (Number(columnValue) || columnValue) < (Number(value) || value);
2065
- break;
2066
- case 'GREATER_THAN_EQUALS':
2067
- filtered = (Number(columnValue) || columnValue) >= (Number(value) || value);
2068
- break;
2069
- case 'LESS_THAN_EQUALS':
2070
- filtered = (Number(columnValue) || columnValue) <= (Number(value) || value);
2071
- break;
2001
+ else {
2002
+ value = core.Utils.normalize(item.value.toString());
2003
+ switch (item.operation) {
2004
+ case 'CONTAINS':
2005
+ filtered = columnValue.indexOf(value) !== -1;
2006
+ break;
2007
+ case 'NOT_CONTAINS':
2008
+ filtered = columnValue.indexOf(value) === -1;
2009
+ break;
2010
+ case 'EQUALS':
2011
+ filtered = columnValue === value;
2012
+ break;
2013
+ case 'NOT_EQUALS':
2014
+ filtered = columnValue !== value;
2015
+ break;
2016
+ case 'GREATER_THAN':
2017
+ filtered = (Number(columnValue) || columnValue) > (Number(value) || value);
2018
+ break;
2019
+ case 'LESS_THAN':
2020
+ filtered = (Number(columnValue) || columnValue) < (Number(value) || value);
2021
+ break;
2022
+ case 'GREATER_THAN_EQUALS':
2023
+ filtered = (Number(columnValue) || columnValue) >= (Number(value) || value);
2024
+ break;
2025
+ case 'LESS_THAN_EQUALS':
2026
+ filtered = (Number(columnValue) || columnValue) <= (Number(value) || value);
2027
+ break;
2028
+ default:
2029
+ break;
2030
+ }
2072
2031
  }
2073
- }
2032
+ });
2074
2033
  });
2075
- });
2034
+ }
2035
+ catch (_a) {
2036
+ // do nothing
2037
+ }
2076
2038
  return filtered;
2077
2039
  }
2078
2040
  getRowBySearchJoin(row) {
@@ -3037,88 +2999,19 @@
3037
2999
  }
3038
3000
 
3039
3001
  class TekFilterHelper {
3040
- static formatDate(date, column) {
3041
- if (column.componentProps.dateFormat) {
3042
- return core.dayjs(date).format(column.componentProps.dateFormat);
3043
- }
3044
- return core.dayjs(date).format(core.Config.dateFormat);
3045
- }
3046
3002
  static getLabel(name) {
3047
- return core.I18n.translate(this.values[name].label);
3003
+ return core.DateHelper.getLabel(name);
3048
3004
  }
3049
3005
  static getValue(name, column) {
3050
- if (!this.values[name])
3051
- return '';
3052
- const value = this.values[name].fn();
3053
- if (Array.isArray(value)) {
3054
- return value.map((item) => this.formatDate(item, column));
3055
- }
3056
- return this.formatDate(value, column);
3006
+ return core.DateHelper.getValue(name, column.componentProps.dateFormat);
3057
3007
  }
3058
3008
  static register(name, label, fn) {
3059
- this.values[name] = {
3060
- label,
3061
- fn,
3062
- };
3009
+ core.DateHelper.register(name, label, fn);
3063
3010
  }
3064
3011
  static unregister(name) {
3065
- delete this.values[name];
3012
+ core.DateHelper.unregister(name);
3066
3013
  }
3067
- }
3068
- TekFilterHelper.values = {
3069
- TODAY: {
3070
- label: 'TEKGRID_HELPERVALUE_TODAY',
3071
- fn: () => core.dayjs().toDate(),
3072
- },
3073
- TOMORROW: {
3074
- label: 'TEKGRID_HELPERVALUE_TOMORROW',
3075
- fn: () => core.dayjs().add(1, 'day').toDate(),
3076
- },
3077
- YESTERDAY: {
3078
- label: 'TEKGRID_HELPERVALUE_YESTERDAY',
3079
- fn: () => core.dayjs().subtract(1, 'day').toDate(),
3080
- },
3081
- LAST_7_DAYS: {
3082
- label: 'TEKGRID_HELPERVALUE_LAST_7_DAYS',
3083
- fn: () => {
3084
- const end = core.dayjs().toDate();
3085
- const start = core.dayjs().subtract(7, 'day').toDate();
3086
- return [start, end];
3087
- },
3088
- },
3089
- NEXT_7_DAYS: {
3090
- label: 'TEKGRID_HELPERVALUE_NEXT_7_DAYS',
3091
- fn: () => {
3092
- const start = core.dayjs().toDate();
3093
- const end = core.dayjs().add(7, 'day').toDate();
3094
- return [start, end];
3095
- },
3096
- },
3097
- CURRENT_WEEK: {
3098
- label: 'TEKGRID_HELPERVALUE_CURRENT_WEEK',
3099
- fn: () => {
3100
- const start = core.dayjs().startOf('week').toDate();
3101
- const end = core.dayjs().endOf('week').toDate();
3102
- return [start, end];
3103
- },
3104
- },
3105
- CURRENT_MONTH: {
3106
- label: 'TEKGRID_HELPERVALUE_CURRENT_MONTH',
3107
- fn: () => {
3108
- const start = core.dayjs().startOf('month').toDate();
3109
- const end = core.dayjs().endOf('month').toDate();
3110
- return [start, end];
3111
- },
3112
- },
3113
- CURRENT_YEAR: {
3114
- label: 'TEKGRID_HELPERVALUE_CURRENT_YEAR',
3115
- fn: () => {
3116
- const start = core.dayjs().startOf('year').toDate();
3117
- const end = core.dayjs().endOf('year').toDate();
3118
- return [start, end];
3119
- },
3120
- },
3121
- };
3014
+ }
3122
3015
 
3123
3016
  /* TekTreeGrid Class */
3124
3017
  class TekTreeGrid extends common.TreeGridEditable {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zeedhi/teknisa-components-common",
3
- "version": "1.46.0",
3
+ "version": "1.47.0",
4
4
  "description": "Teknisa Components Common",
5
5
  "author": "Zeedhi <zeedhi@teknisa.com>",
6
6
  "license": "ISC",
@@ -28,5 +28,5 @@
28
28
  "peerDependencies": {
29
29
  "@zeedhi/core": "*"
30
30
  },
31
- "gitHead": "35ee7d0d3d5e7c5528f0d41f9a48b5bc4376a9f7"
31
+ "gitHead": "abcaca117ec02f18fa6c8c1aef4bf6bb3582fdf7"
32
32
  }