@zeedhi/common 1.50.0 → 1.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/zd-common.esm.js +88 -17
- package/dist/zd-common.umd.js +88 -17
- package/package.json +2 -2
- package/types/components/zd-container/container.d.ts +4 -0
- package/types/components/zd-container/interfaces.d.ts +1 -0
- package/types/components/zd-frame/frame.d.ts +4 -1
- package/types/components/zd-frame-page/frame-page.d.ts +1 -1
- package/types/components/zd-grid/grid-editable.d.ts +1 -0
- package/types/components/zd-iterable/iterable-controller.d.ts +8 -0
- package/types/components/zd-iterable/iterable.d.ts +1 -1
- package/types/components/zd-select-tree/select-tree.d.ts +3 -2
- package/types/components/zd-tabs/interfaces.d.ts +1 -0
- package/types/components/zd-tabs/tab.d.ts +1 -0
- package/types/components/zd-tree-grid/tree-grid-editable.d.ts +1 -0
- package/types/utils/report/report.d.ts +1 -1
package/dist/zd-common.esm.js
CHANGED
|
@@ -2317,7 +2317,12 @@ class Container extends ComponentRender {
|
|
|
2317
2317
|
* Removes viewport maximum-width size breakpoints.
|
|
2318
2318
|
*/
|
|
2319
2319
|
this.fluid = true;
|
|
2320
|
+
/**
|
|
2321
|
+
* Define if the container is a scroll view
|
|
2322
|
+
*/
|
|
2323
|
+
this.scrollView = false;
|
|
2320
2324
|
this.fluid = this.getInitValue('fluid', props.fluid, this.fluid);
|
|
2325
|
+
this.scrollView = this.getInitValue('scrollView', props.scrollView, this.scrollView);
|
|
2321
2326
|
this.fillHeight = this.getInitValue('fillHeight', props.fillHeight, this.fillHeight);
|
|
2322
2327
|
this.height = this.getInitValue('height', props.height, this.height);
|
|
2323
2328
|
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
@@ -4456,8 +4461,8 @@ class Frame extends ComponentRender {
|
|
|
4456
4461
|
this.metadata = this.overrideNamedPropsFunc(this.metadata);
|
|
4457
4462
|
}
|
|
4458
4463
|
}
|
|
4459
|
-
catch (
|
|
4460
|
-
this.notFoundError();
|
|
4464
|
+
catch (e) {
|
|
4465
|
+
this.notFoundError(e);
|
|
4461
4466
|
}
|
|
4462
4467
|
finally {
|
|
4463
4468
|
this.loading = false;
|
|
@@ -4478,7 +4483,10 @@ class Frame extends ComponentRender {
|
|
|
4478
4483
|
this.getMetadata();
|
|
4479
4484
|
});
|
|
4480
4485
|
}
|
|
4481
|
-
notFoundError() {
|
|
4486
|
+
notFoundError(e) {
|
|
4487
|
+
if (this.rejectLoad)
|
|
4488
|
+
this.rejectLoad(e);
|
|
4489
|
+
}
|
|
4482
4490
|
requestPage() {
|
|
4483
4491
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4484
4492
|
if (!this.cache) {
|
|
@@ -4504,6 +4512,8 @@ class Frame extends ComponentRender {
|
|
|
4504
4512
|
* @param element
|
|
4505
4513
|
*/
|
|
4506
4514
|
afterLoad(event, element) {
|
|
4515
|
+
if (this.resolveLoad)
|
|
4516
|
+
this.resolveLoad(this.metadata);
|
|
4507
4517
|
this.callEvent('onAfterLoad', {
|
|
4508
4518
|
event, element, component: this,
|
|
4509
4519
|
});
|
|
@@ -4544,6 +4554,18 @@ class Frame extends ComponentRender {
|
|
|
4544
4554
|
return caches.delete(Frame.cacheName);
|
|
4545
4555
|
});
|
|
4546
4556
|
}
|
|
4557
|
+
waitLoading() {
|
|
4558
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
4559
|
+
return new Promise((resolve, reject) => {
|
|
4560
|
+
if (!this.loading) {
|
|
4561
|
+
resolve(this.metadata);
|
|
4562
|
+
return;
|
|
4563
|
+
}
|
|
4564
|
+
this.resolveLoad = resolve;
|
|
4565
|
+
this.rejectLoad = reject;
|
|
4566
|
+
});
|
|
4567
|
+
});
|
|
4568
|
+
}
|
|
4547
4569
|
}
|
|
4548
4570
|
Frame.cacheName = 'zd-frame-cache';
|
|
4549
4571
|
|
|
@@ -4557,8 +4579,8 @@ class FramePage extends Frame {
|
|
|
4557
4579
|
this.notFoundRoute = this.getInitValue('notFoundRoute', props.notFoundRoute, this.notFoundRoute);
|
|
4558
4580
|
this.createAccessors();
|
|
4559
4581
|
}
|
|
4560
|
-
notFoundError() {
|
|
4561
|
-
super.notFoundError();
|
|
4582
|
+
notFoundError(e) {
|
|
4583
|
+
super.notFoundError(e);
|
|
4562
4584
|
Router.replace(this.notFoundRoute);
|
|
4563
4585
|
}
|
|
4564
4586
|
/**
|
|
@@ -4780,6 +4802,23 @@ class ColumnNotFoundError extends Error {
|
|
|
4780
4802
|
}
|
|
4781
4803
|
}
|
|
4782
4804
|
|
|
4805
|
+
class IterableController {
|
|
4806
|
+
constructor(iterable) {
|
|
4807
|
+
this.searchInValue = undefined;
|
|
4808
|
+
this.columns = iterable.columns;
|
|
4809
|
+
}
|
|
4810
|
+
get searchIn() {
|
|
4811
|
+
return this.searchInValue || this.columns.reduce((result, column) => {
|
|
4812
|
+
if (column.type !== 'action' && column.isVisible)
|
|
4813
|
+
result.push(column.name);
|
|
4814
|
+
return result;
|
|
4815
|
+
}, []);
|
|
4816
|
+
}
|
|
4817
|
+
set searchIn(value) {
|
|
4818
|
+
this.searchInValue = value;
|
|
4819
|
+
}
|
|
4820
|
+
}
|
|
4821
|
+
|
|
4783
4822
|
/**
|
|
4784
4823
|
* Base class for Iterable components.
|
|
4785
4824
|
*/
|
|
@@ -4815,16 +4854,14 @@ class Iterable extends ComponentRender {
|
|
|
4815
4854
|
*/
|
|
4816
4855
|
this.actionsApplied = {};
|
|
4817
4856
|
this.columns = this.getColumns(props.columns || this.columns);
|
|
4818
|
-
this.
|
|
4857
|
+
this.createController();
|
|
4858
|
+
this.datasource = DatasourceFactory.factory(Object.assign(Object.assign({}, props.datasource), { searchIn: ((_a = props.datasource) === null || _a === void 0 ? void 0 : _a.searchIn) || `{{IterableController_${this.name}.searchIn}}` }));
|
|
4819
4859
|
this.pageSizes = this.getInitValue('pageSizes', props.pageSizes, this.pageSizes);
|
|
4820
4860
|
this.virtualScroll = this.getInitValue('virtualScroll', props.virtualScroll, this.virtualScroll);
|
|
4821
4861
|
}
|
|
4822
|
-
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
result.push(column.name);
|
|
4826
|
-
return result;
|
|
4827
|
-
}, []);
|
|
4862
|
+
createController() {
|
|
4863
|
+
const controller = new IterableController(this);
|
|
4864
|
+
Loader.addController(`IterableController_${this.name}`, controller);
|
|
4828
4865
|
}
|
|
4829
4866
|
/**
|
|
4830
4867
|
* Retrieves columns instances
|
|
@@ -5635,6 +5672,7 @@ class GridEditable extends Grid {
|
|
|
5635
5672
|
});
|
|
5636
5673
|
}
|
|
5637
5674
|
} });
|
|
5675
|
+
this.updateOriginalRow(key, row);
|
|
5638
5676
|
return Object.assign(Object.assign({}, componentProps), { name: compName, parent: this, align: column.align, showLabel: false, showHelper: false, dense: true, value: colValue, events: newEvents, autofill: false });
|
|
5639
5677
|
}
|
|
5640
5678
|
checkLookupData(column, row, componentProps) {
|
|
@@ -5682,6 +5720,10 @@ class GridEditable extends Grid {
|
|
|
5682
5720
|
this.editedRows = rows;
|
|
5683
5721
|
}
|
|
5684
5722
|
}
|
|
5723
|
+
updateOriginalRow(key, row) {
|
|
5724
|
+
if (this.editedRows[key] !== undefined)
|
|
5725
|
+
this.editedRows[key].originalRow = row;
|
|
5726
|
+
}
|
|
5685
5727
|
/**
|
|
5686
5728
|
* Checks if column is edited
|
|
5687
5729
|
* @param column Column
|
|
@@ -9258,6 +9300,7 @@ class SelectTree extends TextInput {
|
|
|
9258
9300
|
* Uses delayed loading to load tree branches
|
|
9259
9301
|
*/
|
|
9260
9302
|
this.fetchOnDemand = false;
|
|
9303
|
+
this.savedNodes = undefined;
|
|
9261
9304
|
this.nodes = this.getInitValue('nodes', props.nodes, this.nodes);
|
|
9262
9305
|
this.alwaysOpen = this.getInitValue('alwaysOpen', props.alwaysOpen, this.alwaysOpen);
|
|
9263
9306
|
this.flattenSearchResults = this.getInitValue('flattenSearchResults', props.flattenSearchResults, this.flattenSearchResults);
|
|
@@ -9334,7 +9377,7 @@ class SelectTree extends TextInput {
|
|
|
9334
9377
|
}
|
|
9335
9378
|
createNodeFromRow(row) {
|
|
9336
9379
|
let children;
|
|
9337
|
-
if (this.fetchOnDemand) {
|
|
9380
|
+
if (this.fetchOnDemand && !this.datasource.search) {
|
|
9338
9381
|
children = null;
|
|
9339
9382
|
}
|
|
9340
9383
|
else {
|
|
@@ -9414,6 +9457,26 @@ class SelectTree extends TextInput {
|
|
|
9414
9457
|
* Triggered after the search query changes
|
|
9415
9458
|
*/
|
|
9416
9459
|
searchChange(searchQuery, element) {
|
|
9460
|
+
if (this.fetchOnDemand) {
|
|
9461
|
+
if (!searchQuery && this.savedNodes) {
|
|
9462
|
+
this.nodes = this.savedNodes;
|
|
9463
|
+
this.savedNodes = undefined;
|
|
9464
|
+
this.datasource.search = '';
|
|
9465
|
+
}
|
|
9466
|
+
else {
|
|
9467
|
+
if (!this.savedNodes) {
|
|
9468
|
+
this.savedNodes = [...this.nodes];
|
|
9469
|
+
}
|
|
9470
|
+
this.datasource.setSearch(searchQuery).then(() => {
|
|
9471
|
+
const treeData = this.treeDataStructure.treeData.map((item) => {
|
|
9472
|
+
delete item[this.parentField];
|
|
9473
|
+
item.tree__children = [];
|
|
9474
|
+
return item;
|
|
9475
|
+
});
|
|
9476
|
+
this.nodes = this.createChildrenNodes(treeData);
|
|
9477
|
+
});
|
|
9478
|
+
}
|
|
9479
|
+
}
|
|
9417
9480
|
this.callEvent('onSearchChange', { element, component: this, searchQuery });
|
|
9418
9481
|
}
|
|
9419
9482
|
isDisable(node) {
|
|
@@ -9443,7 +9506,7 @@ class SelectTree extends TextInput {
|
|
|
9443
9506
|
return !hasError;
|
|
9444
9507
|
}
|
|
9445
9508
|
/**
|
|
9446
|
-
* Triggered when the data is
|
|
9509
|
+
* Triggered when the data is inputed.
|
|
9447
9510
|
* @param value search value
|
|
9448
9511
|
* @param event DOM event
|
|
9449
9512
|
* @param element Element focused
|
|
@@ -9452,6 +9515,7 @@ class SelectTree extends TextInput {
|
|
|
9452
9515
|
if (value !== this.lastInputValue) {
|
|
9453
9516
|
this.lastInputValue = value;
|
|
9454
9517
|
this.callInputEvent({ element, component: this });
|
|
9518
|
+
this.searchChange(value, element);
|
|
9455
9519
|
}
|
|
9456
9520
|
}
|
|
9457
9521
|
get searchValue() {
|
|
@@ -9926,9 +9990,11 @@ class Tab extends Component {
|
|
|
9926
9990
|
super(props);
|
|
9927
9991
|
this.disabled = false;
|
|
9928
9992
|
this.tabTitle = '';
|
|
9993
|
+
this.lazyLoad = true;
|
|
9929
9994
|
this.tabTitle = this.getInitValue('tabTitle', props.tabTitle, this.tabTitle);
|
|
9930
9995
|
this.disabled = this.getInitValue('disabled', props.disabled, this.disabled);
|
|
9931
9996
|
this.flex = this.getInitValue('flex', props.flex, this.flex);
|
|
9997
|
+
this.lazyLoad = this.getInitValue('lazyLoad', props.lazyLoad, this.lazyLoad);
|
|
9932
9998
|
this.createAccessors();
|
|
9933
9999
|
}
|
|
9934
10000
|
}
|
|
@@ -11192,8 +11258,13 @@ class TreeGridEditable extends TreeGrid {
|
|
|
11192
11258
|
});
|
|
11193
11259
|
}
|
|
11194
11260
|
} });
|
|
11261
|
+
this.updateOriginalRow(key, row);
|
|
11195
11262
|
return Object.assign(Object.assign({}, componentProps), { name: compName, parent: this, align: column.align, showLabel: false, showHelper: false, dense: true, value: colValue, events: newEvents, autofill: false });
|
|
11196
11263
|
}
|
|
11264
|
+
updateOriginalRow(key, row) {
|
|
11265
|
+
if (this.editedRows[key] !== undefined)
|
|
11266
|
+
this.editedRows[key].originalRow = row;
|
|
11267
|
+
}
|
|
11197
11268
|
checkLookupData(column, row, componentProps) {
|
|
11198
11269
|
if (row[column.name] && column.lookupData && componentProps.datasource) {
|
|
11199
11270
|
componentProps.datasource.data = componentProps.datasource.data || [];
|
|
@@ -12564,7 +12635,7 @@ class Report {
|
|
|
12564
12635
|
const { route } = reportType;
|
|
12565
12636
|
const { name, columns, datasource } = this.iterable;
|
|
12566
12637
|
const { groupedData } = Object.assign({}, this.iterable);
|
|
12567
|
-
const formattedColumns = this.
|
|
12638
|
+
const formattedColumns = this.removeColumns(columns);
|
|
12568
12639
|
const metadataObj = yield reportType.buildMetadata(name, this.title, formattedColumns, datasource.filter, portrait);
|
|
12569
12640
|
let dataset;
|
|
12570
12641
|
if ((reportType instanceof XLS2Report || reportType instanceof XLS3Report) && groupedData) {
|
|
@@ -12606,8 +12677,8 @@ class Report {
|
|
|
12606
12677
|
return new URL(reportFile, this.fileEndPoint).href;
|
|
12607
12678
|
});
|
|
12608
12679
|
}
|
|
12609
|
-
|
|
12610
|
-
return columns.filter((item) => item.type !== 'action');
|
|
12680
|
+
removeColumns(columns) {
|
|
12681
|
+
return columns.filter((item) => (item.type !== 'action' && item.isVisible));
|
|
12611
12682
|
}
|
|
12612
12683
|
}
|
|
12613
12684
|
|
package/dist/zd-common.umd.js
CHANGED
|
@@ -2324,7 +2324,12 @@
|
|
|
2324
2324
|
* Removes viewport maximum-width size breakpoints.
|
|
2325
2325
|
*/
|
|
2326
2326
|
this.fluid = true;
|
|
2327
|
+
/**
|
|
2328
|
+
* Define if the container is a scroll view
|
|
2329
|
+
*/
|
|
2330
|
+
this.scrollView = false;
|
|
2327
2331
|
this.fluid = this.getInitValue('fluid', props.fluid, this.fluid);
|
|
2332
|
+
this.scrollView = this.getInitValue('scrollView', props.scrollView, this.scrollView);
|
|
2328
2333
|
this.fillHeight = this.getInitValue('fillHeight', props.fillHeight, this.fillHeight);
|
|
2329
2334
|
this.height = this.getInitValue('height', props.height, this.height);
|
|
2330
2335
|
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
@@ -4463,8 +4468,8 @@
|
|
|
4463
4468
|
this.metadata = this.overrideNamedPropsFunc(this.metadata);
|
|
4464
4469
|
}
|
|
4465
4470
|
}
|
|
4466
|
-
catch (
|
|
4467
|
-
this.notFoundError();
|
|
4471
|
+
catch (e) {
|
|
4472
|
+
this.notFoundError(e);
|
|
4468
4473
|
}
|
|
4469
4474
|
finally {
|
|
4470
4475
|
this.loading = false;
|
|
@@ -4485,7 +4490,10 @@
|
|
|
4485
4490
|
this.getMetadata();
|
|
4486
4491
|
});
|
|
4487
4492
|
}
|
|
4488
|
-
notFoundError() {
|
|
4493
|
+
notFoundError(e) {
|
|
4494
|
+
if (this.rejectLoad)
|
|
4495
|
+
this.rejectLoad(e);
|
|
4496
|
+
}
|
|
4489
4497
|
requestPage() {
|
|
4490
4498
|
return __awaiter(this, void 0, void 0, function* () {
|
|
4491
4499
|
if (!this.cache) {
|
|
@@ -4511,6 +4519,8 @@
|
|
|
4511
4519
|
* @param element
|
|
4512
4520
|
*/
|
|
4513
4521
|
afterLoad(event, element) {
|
|
4522
|
+
if (this.resolveLoad)
|
|
4523
|
+
this.resolveLoad(this.metadata);
|
|
4514
4524
|
this.callEvent('onAfterLoad', {
|
|
4515
4525
|
event, element, component: this,
|
|
4516
4526
|
});
|
|
@@ -4551,6 +4561,18 @@
|
|
|
4551
4561
|
return caches.delete(Frame.cacheName);
|
|
4552
4562
|
});
|
|
4553
4563
|
}
|
|
4564
|
+
waitLoading() {
|
|
4565
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
4566
|
+
return new Promise((resolve, reject) => {
|
|
4567
|
+
if (!this.loading) {
|
|
4568
|
+
resolve(this.metadata);
|
|
4569
|
+
return;
|
|
4570
|
+
}
|
|
4571
|
+
this.resolveLoad = resolve;
|
|
4572
|
+
this.rejectLoad = reject;
|
|
4573
|
+
});
|
|
4574
|
+
});
|
|
4575
|
+
}
|
|
4554
4576
|
}
|
|
4555
4577
|
Frame.cacheName = 'zd-frame-cache';
|
|
4556
4578
|
|
|
@@ -4564,8 +4586,8 @@
|
|
|
4564
4586
|
this.notFoundRoute = this.getInitValue('notFoundRoute', props.notFoundRoute, this.notFoundRoute);
|
|
4565
4587
|
this.createAccessors();
|
|
4566
4588
|
}
|
|
4567
|
-
notFoundError() {
|
|
4568
|
-
super.notFoundError();
|
|
4589
|
+
notFoundError(e) {
|
|
4590
|
+
super.notFoundError(e);
|
|
4569
4591
|
core.Router.replace(this.notFoundRoute);
|
|
4570
4592
|
}
|
|
4571
4593
|
/**
|
|
@@ -4787,6 +4809,23 @@
|
|
|
4787
4809
|
}
|
|
4788
4810
|
}
|
|
4789
4811
|
|
|
4812
|
+
class IterableController {
|
|
4813
|
+
constructor(iterable) {
|
|
4814
|
+
this.searchInValue = undefined;
|
|
4815
|
+
this.columns = iterable.columns;
|
|
4816
|
+
}
|
|
4817
|
+
get searchIn() {
|
|
4818
|
+
return this.searchInValue || this.columns.reduce((result, column) => {
|
|
4819
|
+
if (column.type !== 'action' && column.isVisible)
|
|
4820
|
+
result.push(column.name);
|
|
4821
|
+
return result;
|
|
4822
|
+
}, []);
|
|
4823
|
+
}
|
|
4824
|
+
set searchIn(value) {
|
|
4825
|
+
this.searchInValue = value;
|
|
4826
|
+
}
|
|
4827
|
+
}
|
|
4828
|
+
|
|
4790
4829
|
/**
|
|
4791
4830
|
* Base class for Iterable components.
|
|
4792
4831
|
*/
|
|
@@ -4822,16 +4861,14 @@
|
|
|
4822
4861
|
*/
|
|
4823
4862
|
this.actionsApplied = {};
|
|
4824
4863
|
this.columns = this.getColumns(props.columns || this.columns);
|
|
4825
|
-
this.
|
|
4864
|
+
this.createController();
|
|
4865
|
+
this.datasource = core.DatasourceFactory.factory(Object.assign(Object.assign({}, props.datasource), { searchIn: ((_a = props.datasource) === null || _a === void 0 ? void 0 : _a.searchIn) || `{{IterableController_${this.name}.searchIn}}` }));
|
|
4826
4866
|
this.pageSizes = this.getInitValue('pageSizes', props.pageSizes, this.pageSizes);
|
|
4827
4867
|
this.virtualScroll = this.getInitValue('virtualScroll', props.virtualScroll, this.virtualScroll);
|
|
4828
4868
|
}
|
|
4829
|
-
|
|
4830
|
-
|
|
4831
|
-
|
|
4832
|
-
result.push(column.name);
|
|
4833
|
-
return result;
|
|
4834
|
-
}, []);
|
|
4869
|
+
createController() {
|
|
4870
|
+
const controller = new IterableController(this);
|
|
4871
|
+
core.Loader.addController(`IterableController_${this.name}`, controller);
|
|
4835
4872
|
}
|
|
4836
4873
|
/**
|
|
4837
4874
|
* Retrieves columns instances
|
|
@@ -5642,6 +5679,7 @@
|
|
|
5642
5679
|
});
|
|
5643
5680
|
}
|
|
5644
5681
|
} });
|
|
5682
|
+
this.updateOriginalRow(key, row);
|
|
5645
5683
|
return Object.assign(Object.assign({}, componentProps), { name: compName, parent: this, align: column.align, showLabel: false, showHelper: false, dense: true, value: colValue, events: newEvents, autofill: false });
|
|
5646
5684
|
}
|
|
5647
5685
|
checkLookupData(column, row, componentProps) {
|
|
@@ -5689,6 +5727,10 @@
|
|
|
5689
5727
|
this.editedRows = rows;
|
|
5690
5728
|
}
|
|
5691
5729
|
}
|
|
5730
|
+
updateOriginalRow(key, row) {
|
|
5731
|
+
if (this.editedRows[key] !== undefined)
|
|
5732
|
+
this.editedRows[key].originalRow = row;
|
|
5733
|
+
}
|
|
5692
5734
|
/**
|
|
5693
5735
|
* Checks if column is edited
|
|
5694
5736
|
* @param column Column
|
|
@@ -9265,6 +9307,7 @@
|
|
|
9265
9307
|
* Uses delayed loading to load tree branches
|
|
9266
9308
|
*/
|
|
9267
9309
|
this.fetchOnDemand = false;
|
|
9310
|
+
this.savedNodes = undefined;
|
|
9268
9311
|
this.nodes = this.getInitValue('nodes', props.nodes, this.nodes);
|
|
9269
9312
|
this.alwaysOpen = this.getInitValue('alwaysOpen', props.alwaysOpen, this.alwaysOpen);
|
|
9270
9313
|
this.flattenSearchResults = this.getInitValue('flattenSearchResults', props.flattenSearchResults, this.flattenSearchResults);
|
|
@@ -9341,7 +9384,7 @@
|
|
|
9341
9384
|
}
|
|
9342
9385
|
createNodeFromRow(row) {
|
|
9343
9386
|
let children;
|
|
9344
|
-
if (this.fetchOnDemand) {
|
|
9387
|
+
if (this.fetchOnDemand && !this.datasource.search) {
|
|
9345
9388
|
children = null;
|
|
9346
9389
|
}
|
|
9347
9390
|
else {
|
|
@@ -9421,6 +9464,26 @@
|
|
|
9421
9464
|
* Triggered after the search query changes
|
|
9422
9465
|
*/
|
|
9423
9466
|
searchChange(searchQuery, element) {
|
|
9467
|
+
if (this.fetchOnDemand) {
|
|
9468
|
+
if (!searchQuery && this.savedNodes) {
|
|
9469
|
+
this.nodes = this.savedNodes;
|
|
9470
|
+
this.savedNodes = undefined;
|
|
9471
|
+
this.datasource.search = '';
|
|
9472
|
+
}
|
|
9473
|
+
else {
|
|
9474
|
+
if (!this.savedNodes) {
|
|
9475
|
+
this.savedNodes = [...this.nodes];
|
|
9476
|
+
}
|
|
9477
|
+
this.datasource.setSearch(searchQuery).then(() => {
|
|
9478
|
+
const treeData = this.treeDataStructure.treeData.map((item) => {
|
|
9479
|
+
delete item[this.parentField];
|
|
9480
|
+
item.tree__children = [];
|
|
9481
|
+
return item;
|
|
9482
|
+
});
|
|
9483
|
+
this.nodes = this.createChildrenNodes(treeData);
|
|
9484
|
+
});
|
|
9485
|
+
}
|
|
9486
|
+
}
|
|
9424
9487
|
this.callEvent('onSearchChange', { element, component: this, searchQuery });
|
|
9425
9488
|
}
|
|
9426
9489
|
isDisable(node) {
|
|
@@ -9450,7 +9513,7 @@
|
|
|
9450
9513
|
return !hasError;
|
|
9451
9514
|
}
|
|
9452
9515
|
/**
|
|
9453
|
-
* Triggered when the data is
|
|
9516
|
+
* Triggered when the data is inputed.
|
|
9454
9517
|
* @param value search value
|
|
9455
9518
|
* @param event DOM event
|
|
9456
9519
|
* @param element Element focused
|
|
@@ -9459,6 +9522,7 @@
|
|
|
9459
9522
|
if (value !== this.lastInputValue) {
|
|
9460
9523
|
this.lastInputValue = value;
|
|
9461
9524
|
this.callInputEvent({ element, component: this });
|
|
9525
|
+
this.searchChange(value, element);
|
|
9462
9526
|
}
|
|
9463
9527
|
}
|
|
9464
9528
|
get searchValue() {
|
|
@@ -9933,9 +9997,11 @@
|
|
|
9933
9997
|
super(props);
|
|
9934
9998
|
this.disabled = false;
|
|
9935
9999
|
this.tabTitle = '';
|
|
10000
|
+
this.lazyLoad = true;
|
|
9936
10001
|
this.tabTitle = this.getInitValue('tabTitle', props.tabTitle, this.tabTitle);
|
|
9937
10002
|
this.disabled = this.getInitValue('disabled', props.disabled, this.disabled);
|
|
9938
10003
|
this.flex = this.getInitValue('flex', props.flex, this.flex);
|
|
10004
|
+
this.lazyLoad = this.getInitValue('lazyLoad', props.lazyLoad, this.lazyLoad);
|
|
9939
10005
|
this.createAccessors();
|
|
9940
10006
|
}
|
|
9941
10007
|
}
|
|
@@ -11199,8 +11265,13 @@
|
|
|
11199
11265
|
});
|
|
11200
11266
|
}
|
|
11201
11267
|
} });
|
|
11268
|
+
this.updateOriginalRow(key, row);
|
|
11202
11269
|
return Object.assign(Object.assign({}, componentProps), { name: compName, parent: this, align: column.align, showLabel: false, showHelper: false, dense: true, value: colValue, events: newEvents, autofill: false });
|
|
11203
11270
|
}
|
|
11271
|
+
updateOriginalRow(key, row) {
|
|
11272
|
+
if (this.editedRows[key] !== undefined)
|
|
11273
|
+
this.editedRows[key].originalRow = row;
|
|
11274
|
+
}
|
|
11204
11275
|
checkLookupData(column, row, componentProps) {
|
|
11205
11276
|
if (row[column.name] && column.lookupData && componentProps.datasource) {
|
|
11206
11277
|
componentProps.datasource.data = componentProps.datasource.data || [];
|
|
@@ -12571,7 +12642,7 @@
|
|
|
12571
12642
|
const { route } = reportType;
|
|
12572
12643
|
const { name, columns, datasource } = this.iterable;
|
|
12573
12644
|
const { groupedData } = Object.assign({}, this.iterable);
|
|
12574
|
-
const formattedColumns = this.
|
|
12645
|
+
const formattedColumns = this.removeColumns(columns);
|
|
12575
12646
|
const metadataObj = yield reportType.buildMetadata(name, this.title, formattedColumns, datasource.filter, portrait);
|
|
12576
12647
|
let dataset;
|
|
12577
12648
|
if ((reportType instanceof XLS2Report || reportType instanceof XLS3Report) && groupedData) {
|
|
@@ -12613,8 +12684,8 @@
|
|
|
12613
12684
|
return new URL(reportFile, this.fileEndPoint).href;
|
|
12614
12685
|
});
|
|
12615
12686
|
}
|
|
12616
|
-
|
|
12617
|
-
return columns.filter((item) => item.type !== 'action');
|
|
12687
|
+
removeColumns(columns) {
|
|
12688
|
+
return columns.filter((item) => (item.type !== 'action' && item.isVisible));
|
|
12618
12689
|
}
|
|
12619
12690
|
}
|
|
12620
12691
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeedhi/common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.53.0",
|
|
4
4
|
"description": "Zeedhi Common",
|
|
5
5
|
"author": "Zeedhi <zeedhi@teknisa.com>",
|
|
6
6
|
"license": "ISC",
|
|
@@ -37,5 +37,5 @@
|
|
|
37
37
|
"lodash.times": "^4.3.2",
|
|
38
38
|
"mockdate": "^3.0.2"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "ec0c81b4691fc0b6bc813f8ff7c49512a319f9e4"
|
|
41
41
|
}
|
|
@@ -24,6 +24,10 @@ export declare class Container extends ComponentRender implements IContainer {
|
|
|
24
24
|
* Removes viewport maximum-width size breakpoints.
|
|
25
25
|
*/
|
|
26
26
|
fluid: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Define if the container is a scroll view
|
|
29
|
+
*/
|
|
30
|
+
scrollView: boolean;
|
|
27
31
|
/**
|
|
28
32
|
* Creates a new Container.
|
|
29
33
|
* @param props Container properties
|
|
@@ -20,6 +20,8 @@ export declare class Frame extends ComponentRender implements IFrame {
|
|
|
20
20
|
type: string;
|
|
21
21
|
private readonly headerName;
|
|
22
22
|
private static readonly cacheName;
|
|
23
|
+
protected resolveLoad?: (value: Object) => void;
|
|
24
|
+
protected rejectLoad?: (reason?: any) => void;
|
|
23
25
|
/**
|
|
24
26
|
* Creates a new Frame.
|
|
25
27
|
* @param props Frame properties
|
|
@@ -28,7 +30,7 @@ export declare class Frame extends ComponentRender implements IFrame {
|
|
|
28
30
|
private getMetadata;
|
|
29
31
|
overrideNamedPropsFunc(metadata: object): any;
|
|
30
32
|
reload(): Promise<void>;
|
|
31
|
-
protected notFoundError(): void;
|
|
33
|
+
protected notFoundError(e: unknown): void;
|
|
32
34
|
private requestPage;
|
|
33
35
|
/**
|
|
34
36
|
* Triggered when frame is load.
|
|
@@ -52,4 +54,5 @@ export declare class Frame extends ComponentRender implements IFrame {
|
|
|
52
54
|
* Deletes all frame cached requests
|
|
53
55
|
*/
|
|
54
56
|
static deleteCache(): Promise<boolean>;
|
|
57
|
+
waitLoading(): Promise<Object>;
|
|
55
58
|
}
|
|
@@ -6,7 +6,7 @@ export declare class FramePage extends Frame implements IFramePage {
|
|
|
6
6
|
*/
|
|
7
7
|
notFoundRoute: string;
|
|
8
8
|
constructor(props: IFramePage);
|
|
9
|
-
protected notFoundError(): void;
|
|
9
|
+
protected notFoundError(e: unknown): void;
|
|
10
10
|
/**
|
|
11
11
|
* Triggered before the component is destroyed.
|
|
12
12
|
*/
|
|
@@ -103,6 +103,7 @@ export declare class GridEditable extends Grid implements IGridEditable {
|
|
|
103
103
|
* change event of editable components
|
|
104
104
|
*/
|
|
105
105
|
private changeEditableComponent;
|
|
106
|
+
private updateOriginalRow;
|
|
106
107
|
/**
|
|
107
108
|
* Checks if column is edited
|
|
108
109
|
* @param column Column
|
|
@@ -41,7 +41,7 @@ export declare class Iterable extends ComponentRender implements IIterable {
|
|
|
41
41
|
* @param props Iterable properties
|
|
42
42
|
*/
|
|
43
43
|
constructor(props: IIterable);
|
|
44
|
-
protected
|
|
44
|
+
protected createController(): void;
|
|
45
45
|
/**
|
|
46
46
|
* Retrieves columns instances
|
|
47
47
|
* @param columns Columns property
|
|
@@ -117,16 +117,17 @@ export declare class SelectTree extends TextInput implements ISelectTree {
|
|
|
117
117
|
* Triggered after selecting an node
|
|
118
118
|
*/
|
|
119
119
|
select(node: ISelectTreeNode<IDictionary>, element?: any): void;
|
|
120
|
+
private savedNodes?;
|
|
120
121
|
/**
|
|
121
122
|
* Triggered after the search query changes
|
|
122
123
|
*/
|
|
123
|
-
searchChange(searchQuery:
|
|
124
|
+
searchChange(searchQuery: string, element?: any): void;
|
|
124
125
|
private isDisable;
|
|
125
126
|
private getDisabledNodes;
|
|
126
127
|
getNodes(): ISelectTreeNode<IDictionary>[];
|
|
127
128
|
validate(): boolean;
|
|
128
129
|
/**
|
|
129
|
-
* Triggered when the data is
|
|
130
|
+
* Triggered when the data is inputed.
|
|
130
131
|
* @param value search value
|
|
131
132
|
* @param event DOM event
|
|
132
133
|
* @param element Element focused
|