@zeedhi/common 1.41.0 → 1.44.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 +532 -22
- package/dist/zd-common.umd.js +531 -20
- package/package.json +2 -2
- package/types/components/index.d.ts +2 -0
- package/types/components/zd-apex-chart/apex-chart.d.ts +152 -1
- package/types/components/zd-apex-chart/interfaces.d.ts +35 -3
- package/types/components/zd-carousel/carousel.d.ts +10 -0
- package/types/components/zd-carousel/interfaces.d.ts +2 -0
- package/types/components/zd-code-editor/code-editor.d.ts +5 -1
- package/types/components/zd-code-editor/interfaces.d.ts +2 -1
- package/types/components/zd-container/container.d.ts +12 -0
- package/types/components/zd-container/interfaces.d.ts +3 -0
- package/types/components/zd-dialog/dialog.d.ts +11 -0
- package/types/components/zd-dialog/interfaces.d.ts +2 -0
- package/types/components/zd-dropdown/dropdown.d.ts +4 -0
- package/types/components/zd-dropdown/interfaces.d.ts +1 -0
- package/types/components/zd-form/form.d.ts +4 -0
- package/types/components/zd-form/interfaces.d.ts +1 -0
- package/types/components/zd-frame/frame.d.ts +3 -0
- package/types/components/zd-frame/interfaces.d.ts +3 -0
- package/types/components/zd-grid/grid-editable.d.ts +11 -1
- package/types/components/zd-iterable/column.d.ts +2 -0
- package/types/components/zd-iterable/interfaces.d.ts +1 -0
- package/types/components/zd-list/interfaces.d.ts +3 -0
- package/types/components/zd-list/list.d.ts +12 -0
- package/types/components/zd-menu/menu-group.d.ts +8 -0
- package/types/components/zd-menu/menu-link.d.ts +4 -0
- package/types/components/zd-menu/menu.d.ts +2 -0
- package/types/components/zd-modal/interfaces.d.ts +2 -0
- package/types/components/zd-modal/modal.d.ts +8 -0
- package/types/components/zd-select-tree-multiple/interfaces.d.ts +1 -0
- package/types/components/zd-select-tree-multiple/select-tree-multiple.d.ts +4 -0
- package/types/components/zd-selectable-list/interfaces.d.ts +1 -0
- package/types/components/zd-selectable-list/selectable-list.d.ts +4 -4
- package/types/components/zd-tabs/interfaces.d.ts +1 -0
- package/types/components/zd-tabs/tabs.d.ts +14 -0
- package/types/components/zd-tree-grid/tree-grid-editable.d.ts +3 -0
- package/types/utils/report/report-type/interfaces.d.ts +1 -0
- package/types/utils/themes/themes.d.ts +4 -0
package/dist/zd-common.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccessorManager, Event, KeyMap, Metadata, FormatterParserProvider, Validation, Accessor, DatasourceFactory, I18n, MethodNotAssignedError, Loader, Mask, Config, dayjs,
|
|
1
|
+
import { AccessorManager, Event, KeyMap, Metadata, FormatterParserProvider, Validation, Accessor, DatasourceFactory, I18n, MethodNotAssignedError, Loader, Mask, Config, dayjs, Utils, Router, InstanceNotFoundError, Http, Cookie, URL as URL$1 } from '@zeedhi/core';
|
|
2
2
|
import merge from 'lodash.merge';
|
|
3
3
|
import debounce from 'lodash.debounce';
|
|
4
4
|
import isUndefined from 'lodash.isundefined';
|
|
@@ -437,6 +437,26 @@ class ApexChart extends ComponentRender {
|
|
|
437
437
|
reset: 'zoomReset',
|
|
438
438
|
},
|
|
439
439
|
},
|
|
440
|
+
events: {
|
|
441
|
+
animationEnd: this.animationEndEvent.bind(this),
|
|
442
|
+
beforeMount: this.beforeMountEvent.bind(this),
|
|
443
|
+
mounted: this.mountedEvent.bind(this),
|
|
444
|
+
updated: this.updatedEvent.bind(this),
|
|
445
|
+
click: this.clickEvent.bind(this),
|
|
446
|
+
mouseMove: this.mouseMoveEvent.bind(this),
|
|
447
|
+
mouseLeave: this.mouseLeaveEvent.bind(this),
|
|
448
|
+
legendClick: this.legendClickEvent.bind(this),
|
|
449
|
+
markerClick: this.markerClickEvent.bind(this),
|
|
450
|
+
selection: this.selectionEvent.bind(this),
|
|
451
|
+
dataPointSelection: this.dataPointSelectionEvent.bind(this),
|
|
452
|
+
dataPointMouseEnter: this.dataPointMouseEnterEvent.bind(this),
|
|
453
|
+
dataPointMouseLeave: this.dataPointMouseLeaveEvent.bind(this),
|
|
454
|
+
beforeZoom: this.beforeZoomEvent.bind(this),
|
|
455
|
+
beforeResetZoom: this.beforeResetZoomEvent.bind(this),
|
|
456
|
+
zoomed: this.zoomedEvent.bind(this),
|
|
457
|
+
scrolled: this.scrolledEvent.bind(this),
|
|
458
|
+
brushScrolled: this.brushScrolledEvent.bind(this),
|
|
459
|
+
},
|
|
440
460
|
},
|
|
441
461
|
};
|
|
442
462
|
this.chartType = this.getInitValue('chartType', props.chartType, this.chartType);
|
|
@@ -479,6 +499,223 @@ class ApexChart extends ComponentRender {
|
|
|
479
499
|
}
|
|
480
500
|
return Promise.resolve();
|
|
481
501
|
}
|
|
502
|
+
/**
|
|
503
|
+
* Fires when the chart’s initial animation is finished
|
|
504
|
+
* @param chartContext
|
|
505
|
+
* @param config
|
|
506
|
+
* @param element DOM Element
|
|
507
|
+
*/
|
|
508
|
+
animationEndEvent(chartContext, options) {
|
|
509
|
+
this.callEvent('chartAnimationEnd', { component: this, chartContext, options });
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* Fires before the chart has been drawn on screen
|
|
513
|
+
* @param chartContext
|
|
514
|
+
* @param config
|
|
515
|
+
* @param element DOM Element
|
|
516
|
+
*/
|
|
517
|
+
beforeMountEvent(chartContext, config) {
|
|
518
|
+
this.callEvent('chartBeforeMount', {
|
|
519
|
+
component: this, chartContext, config,
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
/**
|
|
523
|
+
* Fires after the chart has been drawn on screen
|
|
524
|
+
* @param chartContext
|
|
525
|
+
* @param config
|
|
526
|
+
* @param element DOM Element
|
|
527
|
+
*/
|
|
528
|
+
mountedEvent(chartContext, config) {
|
|
529
|
+
this.callEvent('chartMounted', {
|
|
530
|
+
component: this, chartContext, config,
|
|
531
|
+
});
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Fires when the chart has been dynamically updated either with
|
|
535
|
+
* updateOptions() or updateSeries() functions
|
|
536
|
+
* @param chartContext
|
|
537
|
+
* @param config
|
|
538
|
+
* @param element DOM Element
|
|
539
|
+
*/
|
|
540
|
+
updatedEvent(chartContext, config) {
|
|
541
|
+
this.callEvent('chartUpdated', {
|
|
542
|
+
component: this, chartContext, config,
|
|
543
|
+
});
|
|
544
|
+
}
|
|
545
|
+
/**
|
|
546
|
+
* Fires when the chart has been dynamically updated either with
|
|
547
|
+
* updateOptions() or updateSeries() functions
|
|
548
|
+
* @param event Event that triggered the click event
|
|
549
|
+
* @param chartContext
|
|
550
|
+
* @param config
|
|
551
|
+
* @param element DOM Element
|
|
552
|
+
*/
|
|
553
|
+
clickEvent(event, chartContext, config) {
|
|
554
|
+
this.callEvent('chartClick', {
|
|
555
|
+
event, component: this, chartContext, config,
|
|
556
|
+
});
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* Fires when user moves mouse on any area of the chart.
|
|
560
|
+
* @param event Event that triggered the click event
|
|
561
|
+
* @param chartContext
|
|
562
|
+
* @param config
|
|
563
|
+
* @param element DOM Element
|
|
564
|
+
*/
|
|
565
|
+
mouseMoveEvent(event, chartContext, config) {
|
|
566
|
+
this.callEvent('chartMouseMove', {
|
|
567
|
+
event, component: this, chartContext, config,
|
|
568
|
+
});
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* Fires when user moves mouse on any area of the chart.
|
|
572
|
+
* @param event Event that triggered the mouse leave
|
|
573
|
+
* @param chartContext
|
|
574
|
+
* @param config New config
|
|
575
|
+
* @param element DOM Element
|
|
576
|
+
*/
|
|
577
|
+
mouseLeaveEvent(event, chartContext, config) {
|
|
578
|
+
this.callEvent('chartMouseLeave', {
|
|
579
|
+
event, component: this, chartContext, config,
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* Fires when user moves mouse on any area of the chart.
|
|
584
|
+
* @param chartContext
|
|
585
|
+
* @param seriesIndex
|
|
586
|
+
* @param config
|
|
587
|
+
* @param element DOM Element
|
|
588
|
+
*/
|
|
589
|
+
legendClickEvent(chartContext, seriesIndex, config) {
|
|
590
|
+
this.callEvent('chartLegendClick', {
|
|
591
|
+
component: this, chartContext, seriesIndex, config,
|
|
592
|
+
});
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
* Fires when user moves mouse on any area of the chart.
|
|
596
|
+
* @param event Event that triggered the marker click
|
|
597
|
+
* @param chartContext
|
|
598
|
+
* @param option New config
|
|
599
|
+
* @param element DOM Element
|
|
600
|
+
*/
|
|
601
|
+
markerClickEvent(event, chartContext, config) {
|
|
602
|
+
this.callEvent('chartMarkerClick', {
|
|
603
|
+
event, component: this, chartContext, config,
|
|
604
|
+
});
|
|
605
|
+
}
|
|
606
|
+
/**
|
|
607
|
+
* Fires when user selects rect using the selection tool.
|
|
608
|
+
* The second argument
|
|
609
|
+
* @param chartContext
|
|
610
|
+
* @param config contains the yaxis and xaxis coordinates where user made the selection
|
|
611
|
+
* @param element DOM Element
|
|
612
|
+
*/
|
|
613
|
+
selectionEvent(chartContext, config) {
|
|
614
|
+
this.callEvent('chartSelection', {
|
|
615
|
+
component: this, chartContext, config,
|
|
616
|
+
});
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Fires when user clicks on a datapoint (bar/column/marker/bubble/donut-slice).
|
|
620
|
+
* @param event Event that triggered when user clicks on a datapoint
|
|
621
|
+
* @param chartContext
|
|
622
|
+
* @param config The config object, also includes additional information like
|
|
623
|
+
* which dataPointIndex was selected of which series.
|
|
624
|
+
* @param element DOM Element
|
|
625
|
+
*/
|
|
626
|
+
dataPointSelectionEvent(event, chartContext, config) {
|
|
627
|
+
this.callEvent('chartDataPointSelection', {
|
|
628
|
+
event, component: this, chartContext, config,
|
|
629
|
+
});
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Fires when user clicks on a datapoint (bar/column/marker/bubble/donut-slice).
|
|
633
|
+
* @param event Event that triggered when user’s mouse enter on a datapoint
|
|
634
|
+
* @param chartContext
|
|
635
|
+
* @param config The config object, also includes additional information like
|
|
636
|
+
* which dataPointIndex was hovered of particular series.
|
|
637
|
+
* @param element DOM Element
|
|
638
|
+
*/
|
|
639
|
+
dataPointMouseEnterEvent(event, chartContext, config) {
|
|
640
|
+
this.callEvent('chartDataPointMouseEnter', {
|
|
641
|
+
event, component: this, chartContext, config,
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* MouseLeave event for a datapoint (bar/column/marker/bubble/donut-slice).
|
|
646
|
+
* @param event Event that triggered the beforeSlide event
|
|
647
|
+
* @param chartContext
|
|
648
|
+
* @param config
|
|
649
|
+
* @param element DOM Element
|
|
650
|
+
*/
|
|
651
|
+
dataPointMouseLeaveEvent(event, chartContext, config) {
|
|
652
|
+
this.callEvent('chartDataPointMouseLeave', {
|
|
653
|
+
event, component: this, chartContext, config,
|
|
654
|
+
});
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* This function, if defined, runs just before zooming in/out of the chart
|
|
658
|
+
* allowing you to set a custom range for zooming in/out.
|
|
659
|
+
* @param chartContext
|
|
660
|
+
* @param config { min: timestamp, max: timestamp }
|
|
661
|
+
* @param element DOM Element
|
|
662
|
+
*/
|
|
663
|
+
beforeZoomEvent(chartContext, config) {
|
|
664
|
+
this.callEvent('chartBeforeZoom', {
|
|
665
|
+
component: this, chartContext, config,
|
|
666
|
+
});
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* This function, if defined, runs just before the user hits the HOME button
|
|
670
|
+
* on the toolbar to reset the chart to it’s original state. The function
|
|
671
|
+
* allows you to set a custom axes range for the initial view of the chart.
|
|
672
|
+
* @param chartContext
|
|
673
|
+
* @param config { min: timestamp, max: timestamp }
|
|
674
|
+
* @param element DOM Element
|
|
675
|
+
*/
|
|
676
|
+
beforeResetZoomEvent(chartContext, config) {
|
|
677
|
+
this.callEvent('chartBeforeResetZoom', {
|
|
678
|
+
component: this, chartContext, config,
|
|
679
|
+
});
|
|
680
|
+
}
|
|
681
|
+
/**
|
|
682
|
+
* Fires when user zooms in/out the chart using either the selection zooming
|
|
683
|
+
* tool or zoom in/out buttons.
|
|
684
|
+
* The 2nd argument includes information of the new xaxis/yaxis generated after zooming.
|
|
685
|
+
* @param chartContext
|
|
686
|
+
* @param config { min: timestamp, max: timestamp }
|
|
687
|
+
* @param element DOM Element
|
|
688
|
+
*/
|
|
689
|
+
zoomedEvent(chartContext, config) {
|
|
690
|
+
this.callEvent('chartZoomed', {
|
|
691
|
+
component: this, chartContext, config,
|
|
692
|
+
});
|
|
693
|
+
}
|
|
694
|
+
/**
|
|
695
|
+
* Fires when user scrolls using the pan tool.
|
|
696
|
+
* The 2nd argument includes information of the new xaxis generated after scrolling.
|
|
697
|
+
* @param chartContext
|
|
698
|
+
* @param config { xaxis: any }
|
|
699
|
+
* @param element DOM Element
|
|
700
|
+
*/
|
|
701
|
+
scrolledEvent(chartContext, config) {
|
|
702
|
+
this.callEvent('chartScrolled', {
|
|
703
|
+
component: this, chartContext, config,
|
|
704
|
+
});
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Fires when user drags the brush in a brush chart.
|
|
708
|
+
* The 2nd argument includes information of the new axes generated after
|
|
709
|
+
* scrolling the brush.
|
|
710
|
+
* @param chartContext
|
|
711
|
+
* @param config { xaxis: any, yaxis: any }
|
|
712
|
+
* @param element DOM Element
|
|
713
|
+
*/
|
|
714
|
+
brushScrolledEvent(chartContext, config) {
|
|
715
|
+
this.callEvent('chartBrushScrolled', {
|
|
716
|
+
component: this, chartContext, config,
|
|
717
|
+
});
|
|
718
|
+
}
|
|
482
719
|
updateToolbarIcons() {
|
|
483
720
|
var _a, _b, _c;
|
|
484
721
|
if (!this.viewGetIconHTML)
|
|
@@ -863,6 +1100,16 @@ class Carousel extends ComponentRender {
|
|
|
863
1100
|
* '30em', '400', 400. Values without measurement unit will be notated in pixels by default
|
|
864
1101
|
*/
|
|
865
1102
|
this.height = 'auto';
|
|
1103
|
+
/**
|
|
1104
|
+
* Sets the carousel max height. Example values: 'auto', '100%', '400px',
|
|
1105
|
+
* '30em', '400', 400. Values without measurement unit will be notated in pixels by default
|
|
1106
|
+
*/
|
|
1107
|
+
this.maxHeight = 'none';
|
|
1108
|
+
/**
|
|
1109
|
+
* Sets the carousel min height. Example values: 'auto', '100%', '400px',
|
|
1110
|
+
* '30em', '400', 400. Values without measurement unit will be notated in pixels by default
|
|
1111
|
+
*/
|
|
1112
|
+
this.minHeight = 'none';
|
|
866
1113
|
/**
|
|
867
1114
|
* Configures the carousel as infinite (the slide after the last one is the first slide, and vice-versa)
|
|
868
1115
|
*/
|
|
@@ -954,6 +1201,8 @@ class Carousel extends ComponentRender {
|
|
|
954
1201
|
this.buttonsOutside = this.getInitValue('buttonsOutside', props.buttonsOutside, this.buttonsOutside);
|
|
955
1202
|
this.center = this.getInitValue('center', props.center, this.center);
|
|
956
1203
|
this.height = this.getInitValue('height', props.height, this.height);
|
|
1204
|
+
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
1205
|
+
this.minHeight = this.getInitValue('minHeight', props.minHeight, this.minHeight);
|
|
957
1206
|
this.infiniteScroll = this.getInitValue('infiniteScroll', props.infiniteScroll, this.infiniteScroll);
|
|
958
1207
|
this.initialSlide = this.getInitValue('initialSlide', props.initialSlide, this.initialSlide);
|
|
959
1208
|
this.currentSlide = this.getInitValue('currentSlide', props.currentSlide, this.initialSlide);
|
|
@@ -1189,6 +1438,7 @@ class Form extends ComponentRender {
|
|
|
1189
1438
|
this.internalValue = {};
|
|
1190
1439
|
this.align = this.getInitValue('align', props.align, this.align);
|
|
1191
1440
|
this.justify = this.getInitValue('justify', props.justify, this.justify);
|
|
1441
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
1192
1442
|
this.internalValue = this.getInitValue('value', props.value, this.value);
|
|
1193
1443
|
this.createAccessors();
|
|
1194
1444
|
}
|
|
@@ -1778,6 +2028,10 @@ class CodeEditor extends ComponentRender {
|
|
|
1778
2028
|
* Max height in pixels. 'none' means no limit.
|
|
1779
2029
|
*/
|
|
1780
2030
|
this.maxHeight = 'none';
|
|
2031
|
+
/**
|
|
2032
|
+
* Max height in pixels. 'none' means no limit.
|
|
2033
|
+
*/
|
|
2034
|
+
this.height = 'auto';
|
|
1781
2035
|
/**
|
|
1782
2036
|
* Language code to be used for highlight (js|javascript, css, html, json, ts|typescript, bash|shell)
|
|
1783
2037
|
* Other languages must be imported above
|
|
@@ -1797,6 +2051,7 @@ class CodeEditor extends ComponentRender {
|
|
|
1797
2051
|
this.staticCode = this.getInitValue('staticCode', props.staticCode, this.staticCodeValue);
|
|
1798
2052
|
this.copyIcon = this.getInitValue('copyIcon', props.copyIcon, this.copyIcon);
|
|
1799
2053
|
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
2054
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
1800
2055
|
this.language = this.getInitValue('language', props.language, this.language);
|
|
1801
2056
|
this.showLineNumbers = this.getInitValue('showLineNumbers', props.showLineNumbers, this.showLineNumbers);
|
|
1802
2057
|
this.createAccessors();
|
|
@@ -2003,12 +2258,27 @@ class Container extends ComponentRender {
|
|
|
2003
2258
|
* Adds height 100% to container.
|
|
2004
2259
|
*/
|
|
2005
2260
|
this.fillHeight = false;
|
|
2261
|
+
/**
|
|
2262
|
+
* Sets the height for the component.
|
|
2263
|
+
*/
|
|
2264
|
+
this.height = 'auto';
|
|
2265
|
+
/**
|
|
2266
|
+
* Sets the maximum height for the component.
|
|
2267
|
+
*/
|
|
2268
|
+
this.maxHeight = 'none';
|
|
2269
|
+
/**
|
|
2270
|
+
* Sets the minimum height for the component.
|
|
2271
|
+
*/
|
|
2272
|
+
this.minHeight = 'none';
|
|
2006
2273
|
/**
|
|
2007
2274
|
* Removes viewport maximum-width size breakpoints.
|
|
2008
2275
|
*/
|
|
2009
2276
|
this.fluid = true;
|
|
2010
2277
|
this.fluid = this.getInitValue('fluid', props.fluid, this.fluid);
|
|
2011
2278
|
this.fillHeight = this.getInitValue('fillHeight', props.fillHeight, this.fillHeight);
|
|
2279
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
2280
|
+
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
2281
|
+
this.minHeight = this.getInitValue('minHeight', props.minHeight, this.minHeight);
|
|
2012
2282
|
this.createAccessors();
|
|
2013
2283
|
}
|
|
2014
2284
|
}
|
|
@@ -2346,6 +2616,14 @@ class Dialog extends Component {
|
|
|
2346
2616
|
* Dialog type (normal, success, error, warning, info)
|
|
2347
2617
|
*/
|
|
2348
2618
|
this.type = 'normal';
|
|
2619
|
+
/**
|
|
2620
|
+
* Confirm button component name
|
|
2621
|
+
*/
|
|
2622
|
+
this.confirmButton = 'dialogButton';
|
|
2623
|
+
/**
|
|
2624
|
+
* Deny button component name
|
|
2625
|
+
*/
|
|
2626
|
+
this.denyButton = undefined;
|
|
2349
2627
|
/**
|
|
2350
2628
|
* Default dialog buttons
|
|
2351
2629
|
* @private
|
|
@@ -2357,6 +2635,8 @@ class Dialog extends Component {
|
|
|
2357
2635
|
events: { click: () => this.hide() },
|
|
2358
2636
|
}];
|
|
2359
2637
|
this.defaultValues = {
|
|
2638
|
+
confirmButton: this.confirmButton,
|
|
2639
|
+
denyButton: this.denyButton,
|
|
2360
2640
|
name: this.name,
|
|
2361
2641
|
maxWidth: this.maxWidth,
|
|
2362
2642
|
persistent: this.persistent,
|
|
@@ -2364,6 +2644,38 @@ class Dialog extends Component {
|
|
|
2364
2644
|
title: this.title,
|
|
2365
2645
|
text: this.text,
|
|
2366
2646
|
};
|
|
2647
|
+
this.clickDefaultButtonKeyMapping = {
|
|
2648
|
+
enter: {
|
|
2649
|
+
event: () => {
|
|
2650
|
+
if (this.confirmButton) {
|
|
2651
|
+
const confirmButton = Metadata.getInstance(this.confirmButton);
|
|
2652
|
+
if (confirmButton
|
|
2653
|
+
&& confirmButton.events
|
|
2654
|
+
&& confirmButton.events.click
|
|
2655
|
+
&& typeof confirmButton.events.click === 'function') {
|
|
2656
|
+
confirmButton.events.click({ component: new Button(confirmButton) });
|
|
2657
|
+
}
|
|
2658
|
+
}
|
|
2659
|
+
},
|
|
2660
|
+
stop: true,
|
|
2661
|
+
},
|
|
2662
|
+
esc: {
|
|
2663
|
+
event: () => {
|
|
2664
|
+
if (this.denyButton) {
|
|
2665
|
+
const denyButton = Metadata.getInstance(this.denyButton);
|
|
2666
|
+
if (denyButton
|
|
2667
|
+
&& denyButton.events
|
|
2668
|
+
&& denyButton.events.click
|
|
2669
|
+
&& typeof denyButton.events.click === 'function')
|
|
2670
|
+
denyButton.events.click({ component: new Button(denyButton) });
|
|
2671
|
+
}
|
|
2672
|
+
else {
|
|
2673
|
+
this.hide();
|
|
2674
|
+
}
|
|
2675
|
+
},
|
|
2676
|
+
stop: true,
|
|
2677
|
+
},
|
|
2678
|
+
};
|
|
2367
2679
|
this.assignDialogProperties(props);
|
|
2368
2680
|
this.createAccessors();
|
|
2369
2681
|
}
|
|
@@ -2373,6 +2685,8 @@ class Dialog extends Component {
|
|
|
2373
2685
|
*/
|
|
2374
2686
|
assignDialogProperties(dialog) {
|
|
2375
2687
|
this.buttons = dialog.buttons && dialog.buttons.length ? dialog.buttons : this.defaultButtons;
|
|
2688
|
+
this.confirmButton = this.getInitValue('confirmButton', dialog.confirmButton, this.defaultValues.confirmButton);
|
|
2689
|
+
this.denyButton = this.getInitValue('denyButton', dialog.denyButton, this.defaultValues.denyButton);
|
|
2376
2690
|
this.name = this.getInitValue('name', dialog.name, this.defaultValues.name);
|
|
2377
2691
|
this.maxWidth = this.getInitValue('maxWidth', dialog.maxWidth, this.defaultValues.maxWidth);
|
|
2378
2692
|
this.persistent = this.getInitValue('persistent', dialog.persistent, this.defaultValues.persistent);
|
|
@@ -2385,6 +2699,7 @@ class Dialog extends Component {
|
|
|
2385
2699
|
* Displays dialog
|
|
2386
2700
|
*/
|
|
2387
2701
|
show() {
|
|
2702
|
+
KeyMap.bind(this.clickDefaultButtonKeyMapping, this);
|
|
2388
2703
|
this.isVisible = true;
|
|
2389
2704
|
}
|
|
2390
2705
|
/**
|
|
@@ -2392,6 +2707,7 @@ class Dialog extends Component {
|
|
|
2392
2707
|
*/
|
|
2393
2708
|
hide() {
|
|
2394
2709
|
this.isVisible = false;
|
|
2710
|
+
KeyMap.unbind(this.clickDefaultButtonKeyMapping, this);
|
|
2395
2711
|
}
|
|
2396
2712
|
}
|
|
2397
2713
|
|
|
@@ -3463,7 +3779,7 @@ class DateRange extends TextInput {
|
|
|
3463
3779
|
const lastValue = this.value;
|
|
3464
3780
|
this.dateError = false;
|
|
3465
3781
|
this.value = this.parseISODateRangeValue(newValue);
|
|
3466
|
-
if (!isEqual(lastValue, this.value))
|
|
3782
|
+
if (!Utils.isEqual(lastValue, this.value))
|
|
3467
3783
|
this.change(this.value);
|
|
3468
3784
|
}
|
|
3469
3785
|
formatISODateRangeValue(dates) {
|
|
@@ -3721,6 +4037,10 @@ class Dropdown extends ComponentRender {
|
|
|
3721
4037
|
* Applies position fixed to the dropdown.
|
|
3722
4038
|
*/
|
|
3723
4039
|
this.fixed = false;
|
|
4040
|
+
/**
|
|
4041
|
+
* Sets the height for the dropdown.
|
|
4042
|
+
*/
|
|
4043
|
+
this.height = 'auto';
|
|
3724
4044
|
/**
|
|
3725
4045
|
* Offset the menu on the x-axis.
|
|
3726
4046
|
*/
|
|
@@ -3746,6 +4066,7 @@ class Dropdown extends ComponentRender {
|
|
|
3746
4066
|
this.disabled = this.getInitValue('disabled', props.disabled, this.disabled);
|
|
3747
4067
|
this.fixed = this.getInitValue('fixed', props.fixed, this.fixed);
|
|
3748
4068
|
this.hover = this.getInitValue('hover', props.hover, this.hover);
|
|
4069
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
3749
4070
|
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
3750
4071
|
this.minHeight = this.getInitValue('minHeight', props.minHeight, this.minHeight);
|
|
3751
4072
|
this.maxWidth = this.getInitValue('maxWidth', props.maxWidth, this.maxWidth);
|
|
@@ -4007,12 +4328,18 @@ class Frame extends ComponentRender {
|
|
|
4007
4328
|
this.override = {};
|
|
4008
4329
|
this.cache = false;
|
|
4009
4330
|
this.cacheDuration = 2 * 60 * 60 * 1000;
|
|
4331
|
+
this.height = 'auto';
|
|
4332
|
+
this.maxHeight = 'none';
|
|
4333
|
+
this.minHeight = 'none';
|
|
4010
4334
|
this.headerName = 'sw-fetched-on';
|
|
4011
4335
|
this.path = props.path;
|
|
4012
4336
|
this.local = props.local === true;
|
|
4013
4337
|
this.override = props.override || this.override;
|
|
4014
4338
|
this.cache = props.cache || this.cache;
|
|
4015
4339
|
this.cacheDuration = this.getInitValue('cacheDuration', props.cacheDuration, this.cacheDuration);
|
|
4340
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
4341
|
+
this.minHeight = this.getInitValue('minHeight', props.minHeight, this.minHeight);
|
|
4342
|
+
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
4016
4343
|
this.createAccessors();
|
|
4017
4344
|
this.getMetadata();
|
|
4018
4345
|
}
|
|
@@ -4149,6 +4476,8 @@ class Column extends Component {
|
|
|
4149
4476
|
this.componentProps = {};
|
|
4150
4477
|
/** column style property */
|
|
4151
4478
|
this.style = {};
|
|
4479
|
+
/** Type of XLS */
|
|
4480
|
+
this.xlsType = '';
|
|
4152
4481
|
/* Stores lookup data to prevent unnecessary requests */
|
|
4153
4482
|
this.lookupData = {};
|
|
4154
4483
|
/* Stores lookup data count (only to be reactive and force column update) */
|
|
@@ -4191,6 +4520,7 @@ class Column extends Component {
|
|
|
4191
4520
|
this.loading = this.getInitValue('loading', props.loading, this.loading);
|
|
4192
4521
|
this.style = this.getInitValue('style', props.style, this.style);
|
|
4193
4522
|
this.componentProps = this.getInitValue('componentProps', props.componentProps, this.componentProps);
|
|
4523
|
+
this.xlsType = this.getInitValue('xlsType', props.xlsType, this.xlsType);
|
|
4194
4524
|
this.conditions = this.getInitValue('conditions', props.conditions, this.conditions);
|
|
4195
4525
|
this.createConditions();
|
|
4196
4526
|
this.createActionConditions();
|
|
@@ -4529,7 +4859,7 @@ class GridColumn extends Column {
|
|
|
4529
4859
|
if (this.componentProps.dataValueOut && ((_a = component.datasource) === null || _a === void 0 ? void 0 : _a.currentRow)) {
|
|
4530
4860
|
this.componentProps.dataValueOut.forEach((columns) => {
|
|
4531
4861
|
const { column, columnOnGrid } = columns;
|
|
4532
|
-
if (!isEqual(newRow.originalRow[columnOnGrid], component.datasource.currentRow[column])) {
|
|
4862
|
+
if (!Utils.isEqual(newRow.originalRow[columnOnGrid], component.datasource.currentRow[column])) {
|
|
4533
4863
|
newRow[`${columnOnGrid}_original`] = newRow.originalRow[columnOnGrid];
|
|
4534
4864
|
newRow[columnOnGrid] = component.datasource.currentRow[column];
|
|
4535
4865
|
}
|
|
@@ -4543,7 +4873,7 @@ class GridColumn extends Column {
|
|
|
4543
4873
|
}
|
|
4544
4874
|
}
|
|
4545
4875
|
FormatterParserProvider.registerFormatter('column_ZdSelect', ({ column, value, row, componentProps, }) => {
|
|
4546
|
-
if (
|
|
4876
|
+
if (value === null || value === undefined)
|
|
4547
4877
|
return '';
|
|
4548
4878
|
const { dataText, formatterDataText, dataTextSeparator, dataValue, } = componentProps;
|
|
4549
4879
|
let currentRow = row;
|
|
@@ -4591,7 +4921,7 @@ FormatterParserProvider.registerFormatter('column_ZdSelect', ({ column, value, r
|
|
|
4591
4921
|
});
|
|
4592
4922
|
return dataTextNames.reduce((result, columnName, index) => {
|
|
4593
4923
|
const rowCell = currentRow[columnName];
|
|
4594
|
-
if (rowCell) {
|
|
4924
|
+
if (rowCell !== undefined && rowCell !== null) {
|
|
4595
4925
|
const separator = index > 0 ? (dataTextSeparator || ' | ') : '';
|
|
4596
4926
|
const mask = masks[index];
|
|
4597
4927
|
const maskValue = typeof mask === 'function' ? mask(rowCell) : mask;
|
|
@@ -5010,15 +5340,36 @@ class GridEditable extends Grid {
|
|
|
5010
5340
|
* @private
|
|
5011
5341
|
*/
|
|
5012
5342
|
this.editedRows = {};
|
|
5343
|
+
/**
|
|
5344
|
+
* Rows with newRowIdentifier
|
|
5345
|
+
* @private
|
|
5346
|
+
*/
|
|
5347
|
+
this.addedRows = {};
|
|
5013
5348
|
/**
|
|
5014
5349
|
* Invalid inline components
|
|
5015
5350
|
* @private
|
|
5016
5351
|
*/
|
|
5017
5352
|
this.invalidComponents = {};
|
|
5353
|
+
this.cancelEditedRowsKeyMapping = {
|
|
5354
|
+
esc: {
|
|
5355
|
+
event: this.cancelEditedRows.bind(this),
|
|
5356
|
+
stop: true,
|
|
5357
|
+
input: true,
|
|
5358
|
+
active: true,
|
|
5359
|
+
},
|
|
5360
|
+
};
|
|
5018
5361
|
this.newRowIdentifier = '__added_row';
|
|
5019
5362
|
this.doubleClickEdit = this.getInitValue('doubleClickEdit', props.doubleClickEdit, this.doubleClickEdit);
|
|
5020
5363
|
this.createAccessors();
|
|
5021
5364
|
}
|
|
5365
|
+
onMounted(element) {
|
|
5366
|
+
super.onMounted(element);
|
|
5367
|
+
KeyMap.bind(this.cancelEditedRowsKeyMapping, this, element);
|
|
5368
|
+
}
|
|
5369
|
+
onBeforeDestroy() {
|
|
5370
|
+
super.onBeforeDestroy();
|
|
5371
|
+
KeyMap.unbind(this.cancelEditedRowsKeyMapping, this);
|
|
5372
|
+
}
|
|
5022
5373
|
/**
|
|
5023
5374
|
* Get Grid columns objects
|
|
5024
5375
|
* @param columns Grid columns parameter
|
|
@@ -5188,7 +5539,7 @@ class GridEditable extends Grid {
|
|
|
5188
5539
|
changeEditableComponent(column, row, value, component) {
|
|
5189
5540
|
const key = row[this.datasource.uniqueKey];
|
|
5190
5541
|
const columnName = column.name;
|
|
5191
|
-
if (!isEqual(value, row[columnName])) {
|
|
5542
|
+
if (!Utils.isEqual(value, row[columnName])) {
|
|
5192
5543
|
const newRow = {};
|
|
5193
5544
|
newRow[key] = Object.assign({}, this.editedRows[key]);
|
|
5194
5545
|
newRow[key].originalRow = Object.assign({}, row);
|
|
@@ -5234,6 +5585,14 @@ class GridEditable extends Grid {
|
|
|
5234
5585
|
* Cancels all edited rows and enable grid components
|
|
5235
5586
|
*/
|
|
5236
5587
|
cancelEditedRows() {
|
|
5588
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
5589
|
+
yield this.removeAddedRows();
|
|
5590
|
+
this.editing = false;
|
|
5591
|
+
this.editedRows = {};
|
|
5592
|
+
this.invalidComponents = {};
|
|
5593
|
+
});
|
|
5594
|
+
}
|
|
5595
|
+
removeAddedRows() {
|
|
5237
5596
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5238
5597
|
const { data } = this.datasource;
|
|
5239
5598
|
data.forEach((row, index) => {
|
|
@@ -5242,21 +5601,26 @@ class GridEditable extends Grid {
|
|
|
5242
5601
|
}
|
|
5243
5602
|
});
|
|
5244
5603
|
yield this.datasource.updateData(data);
|
|
5245
|
-
this.editing = false;
|
|
5246
|
-
this.editedRows = {};
|
|
5247
|
-
this.invalidComponents = {};
|
|
5248
5604
|
});
|
|
5249
5605
|
}
|
|
5606
|
+
addDataRow(row) {
|
|
5607
|
+
if (this.addedRows[row[this.datasource.uniqueKey]])
|
|
5608
|
+
this.datasource.post(row);
|
|
5609
|
+
else
|
|
5610
|
+
this.datasource.put(row);
|
|
5611
|
+
}
|
|
5250
5612
|
/**
|
|
5251
5613
|
* Saves all edited rows if they are valid
|
|
5252
5614
|
* @throws Will throw when it finds an invalid row
|
|
5253
5615
|
*/
|
|
5254
5616
|
saveEditedRows() {
|
|
5255
5617
|
return __awaiter(this, void 0, void 0, function* () {
|
|
5256
|
-
|
|
5618
|
+
yield this.removeAddedRows();
|
|
5619
|
+
const response = yield Promise.all(this.getEditedRows().map((row) => this.addDataRow(row)));
|
|
5257
5620
|
this.editing = false;
|
|
5258
5621
|
this.editedRows = {};
|
|
5259
5622
|
this.invalidComponents = {};
|
|
5623
|
+
this.addedRows = {};
|
|
5260
5624
|
yield this.datasource.get();
|
|
5261
5625
|
return response;
|
|
5262
5626
|
});
|
|
@@ -5268,8 +5632,11 @@ class GridEditable extends Grid {
|
|
|
5268
5632
|
getEditedRows() {
|
|
5269
5633
|
const editedRows = [];
|
|
5270
5634
|
Object.keys(this.editedRows).forEach((key) => {
|
|
5635
|
+
this.addedRows = {};
|
|
5271
5636
|
const row = Object.assign(Object.assign({}, this.editedRows[key].originalRow), this.editedRows[key]);
|
|
5272
5637
|
delete row.originalRow;
|
|
5638
|
+
if (row[this.newRowIdentifier])
|
|
5639
|
+
this.addedRows[key] = row;
|
|
5273
5640
|
delete row[this.newRowIdentifier];
|
|
5274
5641
|
Object.keys(row).forEach((attr) => {
|
|
5275
5642
|
if (Object.prototype.hasOwnProperty.call(row, `${attr}_original`)) {
|
|
@@ -5963,11 +6330,12 @@ class Select extends TextInput {
|
|
|
5963
6330
|
overrideGet() {
|
|
5964
6331
|
const oldGet = this.datasource.get;
|
|
5965
6332
|
this.datasource.get = () => __awaiter(this, void 0, void 0, function* () {
|
|
5966
|
-
yield oldGet.call(this.datasource);
|
|
5967
|
-
if (this.indexOf(this.value)
|
|
5968
|
-
|
|
5969
|
-
|
|
5970
|
-
|
|
6333
|
+
const response = yield oldGet.call(this.datasource);
|
|
6334
|
+
if (this.indexOf(this.value) === -1 && !this.datasource.search && !this.isFocused) {
|
|
6335
|
+
yield this.setValue(this.value, false);
|
|
6336
|
+
this.removePushedValue();
|
|
6337
|
+
}
|
|
6338
|
+
return response;
|
|
5971
6339
|
});
|
|
5972
6340
|
}
|
|
5973
6341
|
get search() {
|
|
@@ -6307,10 +6675,10 @@ class Select extends TextInput {
|
|
|
6307
6675
|
}
|
|
6308
6676
|
}
|
|
6309
6677
|
FormatterParserProvider.registerFormatter('ZdSelect', (value, { dataText, dataTextSeparator = ' | ', }) => {
|
|
6310
|
-
if (
|
|
6678
|
+
if (value === null || value === undefined) {
|
|
6311
6679
|
return null;
|
|
6312
6680
|
}
|
|
6313
|
-
if (typeof value === 'string' || typeof value === 'number') {
|
|
6681
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
6314
6682
|
return value;
|
|
6315
6683
|
}
|
|
6316
6684
|
const dataTextArr = Array.isArray(dataText) ? dataText : [dataText];
|
|
@@ -6333,7 +6701,7 @@ FormatterParserProvider.registerFormatter('ZdSelect', (value, { dataText, dataTe
|
|
|
6333
6701
|
}
|
|
6334
6702
|
});
|
|
6335
6703
|
return dataTextNames.reduce((result, column, index) => {
|
|
6336
|
-
if (value[column]) {
|
|
6704
|
+
if (value[column] !== null && value[column] !== undefined) {
|
|
6337
6705
|
const separator = index > 0 ? dataTextSeparator : '';
|
|
6338
6706
|
let masked = value[column];
|
|
6339
6707
|
if (masks[index]) {
|
|
@@ -6552,6 +6920,18 @@ class List extends ComponentRender {
|
|
|
6552
6920
|
* Will only collapse when explicitly closed.
|
|
6553
6921
|
*/
|
|
6554
6922
|
this.expand = false;
|
|
6923
|
+
/**
|
|
6924
|
+
* Sets the height for the component.
|
|
6925
|
+
*/
|
|
6926
|
+
this.height = 'auto';
|
|
6927
|
+
/**
|
|
6928
|
+
* Sets the maxHeight for the component.
|
|
6929
|
+
*/
|
|
6930
|
+
this.maxHeight = 'none';
|
|
6931
|
+
/**
|
|
6932
|
+
* Sets the minHeight for the component.
|
|
6933
|
+
*/
|
|
6934
|
+
this.minHeight = 'none';
|
|
6555
6935
|
this.dark = this.getInitValue('dark', props.dark, this.dark);
|
|
6556
6936
|
this.dense = this.getInitValue('dense', props.dense, this.dense);
|
|
6557
6937
|
this.disabled = this.getInitValue('disabled', props.disabled, this.disabled);
|
|
@@ -6563,6 +6943,9 @@ class List extends ComponentRender {
|
|
|
6563
6943
|
this.color = this.getInitValue('color', props.color, this.color);
|
|
6564
6944
|
this.elevation = this.getInitValue('elevation', props.elevation, this.elevation);
|
|
6565
6945
|
this.expand = this.getInitValue('expand', props.expand, this.expand);
|
|
6946
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
6947
|
+
this.maxHeight = this.getInitValue('maxHeight', props.maxHeight, this.maxHeight);
|
|
6948
|
+
this.minHeight = this.getInitValue('minHeight', props.minHeight, this.minHeight);
|
|
6566
6949
|
this.createAccessors();
|
|
6567
6950
|
}
|
|
6568
6951
|
/**
|
|
@@ -7012,6 +7395,8 @@ class Menu extends ComponentRender {
|
|
|
7012
7395
|
this.filteredMenuItems = [];
|
|
7013
7396
|
/** Search value */
|
|
7014
7397
|
this.searchValue = '';
|
|
7398
|
+
/** Store the current item focused */
|
|
7399
|
+
this.currentItem = null;
|
|
7015
7400
|
this.app = this.getInitValue('app', props.app, this.app);
|
|
7016
7401
|
this.clipped = this.getInitValue('clipped', props.clipped, this.clipped);
|
|
7017
7402
|
this.fixed = this.getInitValue('fixed', props.fixed, this.fixed);
|
|
@@ -7244,7 +7629,7 @@ class Menu extends ComponentRender {
|
|
|
7244
7629
|
if (item.component === 'ZdMenuGroup') {
|
|
7245
7630
|
this.searchItems(item.items);
|
|
7246
7631
|
}
|
|
7247
|
-
else if (normalize(I18n.translate(item.label)).indexOf(normalize(this.searchValue)) !== -1) {
|
|
7632
|
+
else if (Utils.normalize(I18n.translate(item.label)).indexOf(Utils.normalize(this.searchValue)) !== -1) {
|
|
7248
7633
|
this.filteredMenuItems.push(item);
|
|
7249
7634
|
}
|
|
7250
7635
|
}
|
|
@@ -7291,6 +7676,15 @@ class MenuLink extends ComponentRender {
|
|
|
7291
7676
|
if (preventDefault) {
|
|
7292
7677
|
event.preventDefault();
|
|
7293
7678
|
}
|
|
7679
|
+
this.setFocus();
|
|
7680
|
+
}
|
|
7681
|
+
/**
|
|
7682
|
+
* Event triggered when this item is focus
|
|
7683
|
+
*/
|
|
7684
|
+
focus() {
|
|
7685
|
+
if (this.parentMenu) {
|
|
7686
|
+
this.parentMenu.currentItem = this;
|
|
7687
|
+
}
|
|
7294
7688
|
}
|
|
7295
7689
|
/**
|
|
7296
7690
|
* @returns item is selected or not
|
|
@@ -7358,6 +7752,26 @@ class MenuGroup extends ComponentRender {
|
|
|
7358
7752
|
close() {
|
|
7359
7753
|
this.opened = false;
|
|
7360
7754
|
}
|
|
7755
|
+
/**
|
|
7756
|
+
* Event triggered when this item is clicked
|
|
7757
|
+
*/
|
|
7758
|
+
click(event) {
|
|
7759
|
+
let preventDefault = false;
|
|
7760
|
+
preventDefault = this.callEvent('click', { event, component: this });
|
|
7761
|
+
if (preventDefault) {
|
|
7762
|
+
event.preventDefault();
|
|
7763
|
+
}
|
|
7764
|
+
this.setFocus();
|
|
7765
|
+
}
|
|
7766
|
+
/**
|
|
7767
|
+
* Event triggered when this item is focus
|
|
7768
|
+
*/
|
|
7769
|
+
focus(event) {
|
|
7770
|
+
this.callEvent('focus', { event, component: this });
|
|
7771
|
+
if (this.parentMenu) {
|
|
7772
|
+
this.parentMenu.currentItem = this;
|
|
7773
|
+
}
|
|
7774
|
+
}
|
|
7361
7775
|
}
|
|
7362
7776
|
|
|
7363
7777
|
/**
|
|
@@ -7435,10 +7849,20 @@ class Modal extends Component {
|
|
|
7435
7849
|
* If true the modal won't close when overlay is clicked
|
|
7436
7850
|
*/
|
|
7437
7851
|
this.persistent = false;
|
|
7852
|
+
/**
|
|
7853
|
+
* Allows modal to be dragged around in the screen
|
|
7854
|
+
*/
|
|
7855
|
+
this.draggable = false;
|
|
7856
|
+
/**
|
|
7857
|
+
* Css selector of the drag handle
|
|
7858
|
+
*/
|
|
7859
|
+
this.dragHandle = '';
|
|
7438
7860
|
this.title = this.getInitValue('title', props.title, this.title);
|
|
7439
7861
|
this.fullscreen = this.getInitValue('fullscreen', props.fullscreen, this.fullscreen);
|
|
7440
7862
|
this.grid = this.getInitValue('grid', props.grid, this.grid);
|
|
7441
7863
|
this.persistent = this.getInitValue('persistent', props.persistent, this.persistent);
|
|
7864
|
+
this.draggable = this.getInitValue('draggable', props.draggable, this.draggable);
|
|
7865
|
+
this.dragHandle = this.getInitValue('dragHandle', props.dragHandle, this.dragHandle);
|
|
7442
7866
|
this.isVisible = false;
|
|
7443
7867
|
this.createAccessors();
|
|
7444
7868
|
}
|
|
@@ -8880,8 +9304,13 @@ class SelectTreeMultiple extends SelectTree {
|
|
|
8880
9304
|
*/
|
|
8881
9305
|
this.selectedNodes = [];
|
|
8882
9306
|
this.selectValue = [];
|
|
9307
|
+
/**
|
|
9308
|
+
* Changes the behavior of checked nodes that will be displayed in the array of values
|
|
9309
|
+
*/
|
|
9310
|
+
this.valueConsistsOf = 'LEAF_PRIORITY';
|
|
8883
9311
|
this.flat = this.getInitValue('flat', props.flat, this.flat);
|
|
8884
9312
|
this.limit = this.getInitValue('limit', props.limit, this.limit);
|
|
9313
|
+
this.valueConsistsOf = this.getInitValue('valueConsistsOf', props.valueConsistsOf, this.valueConsistsOf);
|
|
8885
9314
|
this.createAccessors();
|
|
8886
9315
|
}
|
|
8887
9316
|
/**
|
|
@@ -8926,6 +9355,40 @@ class SelectTreeMultiple extends SelectTree {
|
|
|
8926
9355
|
}
|
|
8927
9356
|
}
|
|
8928
9357
|
|
|
9358
|
+
/**
|
|
9359
|
+
* Base class for SelectableList component.
|
|
9360
|
+
*/
|
|
9361
|
+
class SelectableList extends List {
|
|
9362
|
+
constructor(props) {
|
|
9363
|
+
super(props);
|
|
9364
|
+
/**
|
|
9365
|
+
* Specifies whether at least one element must be selected
|
|
9366
|
+
*/
|
|
9367
|
+
this.mandatory = false;
|
|
9368
|
+
/**
|
|
9369
|
+
* Defines the maximum number of elements the list has
|
|
9370
|
+
*/
|
|
9371
|
+
this.max = undefined;
|
|
9372
|
+
/**
|
|
9373
|
+
* Defines how many elements of the list can be selected at the same time
|
|
9374
|
+
*/
|
|
9375
|
+
this.multiple = undefined;
|
|
9376
|
+
/**
|
|
9377
|
+
* Sets the active list-item inside the list-group
|
|
9378
|
+
*/
|
|
9379
|
+
this.value = undefined;
|
|
9380
|
+
this.activeClass = this.getInitValue('activeClass', props.activeClass, this.activeClass);
|
|
9381
|
+
this.mandatory = this.getInitValue('mandatory', props.mandatory, this.mandatory);
|
|
9382
|
+
this.max = this.getInitValue('max', props.max, this.max);
|
|
9383
|
+
this.multiple = this.getInitValue('multiple', props.multiple, this.multiple);
|
|
9384
|
+
this.value = this.getInitValue('value', props.value, this.value);
|
|
9385
|
+
this.createAccessors();
|
|
9386
|
+
}
|
|
9387
|
+
change(event, element) {
|
|
9388
|
+
this.callEvent('change', { event, element, component: this });
|
|
9389
|
+
}
|
|
9390
|
+
}
|
|
9391
|
+
|
|
8929
9392
|
/**
|
|
8930
9393
|
* Base class for SpeedDial component.
|
|
8931
9394
|
*/
|
|
@@ -9271,6 +9734,7 @@ class Tabs extends ComponentRender {
|
|
|
9271
9734
|
this.tabs = [];
|
|
9272
9735
|
this.tabs = this.getTabs(props.tabs || []);
|
|
9273
9736
|
this.activeTab = this.getInitValue('activeTab', props.activeTab, this.activeTab);
|
|
9737
|
+
this.height = this.getInitValue('height', props.height, this.height);
|
|
9274
9738
|
this.createAccessors();
|
|
9275
9739
|
}
|
|
9276
9740
|
getTabs(tabs) {
|
|
@@ -9283,6 +9747,31 @@ class Tabs extends ComponentRender {
|
|
|
9283
9747
|
}
|
|
9284
9748
|
return tab;
|
|
9285
9749
|
}
|
|
9750
|
+
/**
|
|
9751
|
+
* Method for navigating to the next tab
|
|
9752
|
+
* @param loop Defines if want a loop navigation
|
|
9753
|
+
*/
|
|
9754
|
+
nextTab(loop = false) {
|
|
9755
|
+
if (loop) {
|
|
9756
|
+
this.activeTab = (this.activeTab + 1) % this.tabs.length;
|
|
9757
|
+
}
|
|
9758
|
+
else if (this.activeTab < this.tabs.length - 1) {
|
|
9759
|
+
this.activeTab += 1;
|
|
9760
|
+
}
|
|
9761
|
+
}
|
|
9762
|
+
/**
|
|
9763
|
+
* Method for navigating to the previous tab
|
|
9764
|
+
* @param loop Defines if want a loop navigation
|
|
9765
|
+
*/
|
|
9766
|
+
previousTab(loop = false) {
|
|
9767
|
+
if (loop) {
|
|
9768
|
+
const newTabIndex = (this.activeTab - 1) % this.tabs.length;
|
|
9769
|
+
this.activeTab = newTabIndex >= 0 ? newTabIndex : newTabIndex + this.tabs.length;
|
|
9770
|
+
}
|
|
9771
|
+
else if (this.activeTab > 0) {
|
|
9772
|
+
this.activeTab -= 1;
|
|
9773
|
+
}
|
|
9774
|
+
}
|
|
9286
9775
|
/**
|
|
9287
9776
|
* Triggered before tab is change.
|
|
9288
9777
|
* @param event DOM event
|
|
@@ -10134,9 +10623,25 @@ class TreeGridEditable extends TreeGrid {
|
|
|
10134
10623
|
* Enter edit mode on double click
|
|
10135
10624
|
*/
|
|
10136
10625
|
this.doubleClickEdit = false;
|
|
10626
|
+
this.cancelEditedRowsKeyMapping = {
|
|
10627
|
+
esc: {
|
|
10628
|
+
event: this.cancelEditedRows.bind(this),
|
|
10629
|
+
stop: true,
|
|
10630
|
+
input: true,
|
|
10631
|
+
active: true,
|
|
10632
|
+
},
|
|
10633
|
+
};
|
|
10137
10634
|
this.doubleClickEdit = this.getInitValue('doubleClickEdit', props.doubleClickEdit, this.doubleClickEdit);
|
|
10138
10635
|
this.createAccessors();
|
|
10139
10636
|
}
|
|
10637
|
+
onMounted(element) {
|
|
10638
|
+
super.onMounted(element);
|
|
10639
|
+
KeyMap.bind(this.cancelEditedRowsKeyMapping, this, element);
|
|
10640
|
+
}
|
|
10641
|
+
onBeforeDestroy() {
|
|
10642
|
+
super.onBeforeDestroy();
|
|
10643
|
+
KeyMap.unbind(this.cancelEditedRowsKeyMapping, this);
|
|
10644
|
+
}
|
|
10140
10645
|
/**
|
|
10141
10646
|
* Get Grid columns objects
|
|
10142
10647
|
* @param columns Grid columns parameter
|
|
@@ -10305,7 +10810,7 @@ class TreeGridEditable extends TreeGrid {
|
|
|
10305
10810
|
changeEditableComponent(column, row, value, component) {
|
|
10306
10811
|
const key = row[this.datasource.uniqueKey];
|
|
10307
10812
|
const columnName = column.name;
|
|
10308
|
-
if (!isEqual(value, row[columnName])) {
|
|
10813
|
+
if (!Utils.isEqual(value, row[columnName])) {
|
|
10309
10814
|
const newRow = {};
|
|
10310
10815
|
newRow[key] = Object.assign({}, this.editedRows[key]);
|
|
10311
10816
|
newRow[key].originalRow = Object.assign({}, row);
|
|
@@ -10579,7 +11084,7 @@ Icons.mdiIcons = {
|
|
|
10579
11084
|
tableColumns: 'mdi-table-headers-eye',
|
|
10580
11085
|
unfold: 'mdi-unfold-more-horizontal',
|
|
10581
11086
|
warning: 'mdi-exclamation',
|
|
10582
|
-
zoom: 'mdi-magnify
|
|
11087
|
+
zoom: 'mdi-magnify',
|
|
10583
11088
|
zoomIn: 'mdi-plus-circle-outline',
|
|
10584
11089
|
zoomPanning: 'mdi-hand-back-right-outline',
|
|
10585
11090
|
zoomOut: 'mdi-minus-circle-outline',
|
|
@@ -10678,10 +11183,14 @@ const defaultTheme = {
|
|
|
10678
11183
|
light: {
|
|
10679
11184
|
'font-color': 'var(--v-grey-darken2)',
|
|
10680
11185
|
'background-base': '#F6F6F6',
|
|
11186
|
+
'scrollbar-track': 'var(--v-grey-lighten5)',
|
|
11187
|
+
'scrollbar-thumb': 'var(--v-grey-lighten4)',
|
|
10681
11188
|
},
|
|
10682
11189
|
dark: {
|
|
10683
11190
|
'font-color': 'var(--v-grey-lighten3)',
|
|
10684
11191
|
'background-base': '#121212',
|
|
11192
|
+
'scrollbar-track': 'var(--v-grey-darken3)',
|
|
11193
|
+
'scrollbar-thumb': 'var(--v-grey-base)',
|
|
10685
11194
|
},
|
|
10686
11195
|
variables: {
|
|
10687
11196
|
'default-padding': '16px',
|
|
@@ -10955,6 +11464,7 @@ class BaseReport {
|
|
|
10955
11464
|
sequence: index,
|
|
10956
11465
|
format: this.getFormatOfColumn(col),
|
|
10957
11466
|
size: `${size}%`,
|
|
11467
|
+
xlsType: col.xlsType,
|
|
10958
11468
|
};
|
|
10959
11469
|
return Object.assign(Object.assign({}, result), { [col.name]: row });
|
|
10960
11470
|
}, {});
|
|
@@ -11691,4 +12201,4 @@ class Report {
|
|
|
11691
12201
|
|
|
11692
12202
|
const AutoNumeric = require('@zeedhi/autonumeric/dist/autoNumeric');
|
|
11693
12203
|
|
|
11694
|
-
export { Alert, AlertService, ApexChart, AutoNumeric, Badge, Breadcrumbs, Button, ButtonGroup, CSVReport, Card, Carousel, Checkbox, CheckboxMultiple, ChildNotFoundError, Chip, CodeEditor, Col, CollapseCard, Column, Component, ComponentRender, Container, Currency, Dashboard, Date$1 as Date, DateRange, Dialog, DialogService, Divider, Dropdown, FileInput, Footer, Form, Frame, FramePage, Grid, GridColumn, GridColumnEditable, GridEditable, Header, Icon, Icons, Image, Increment, Input, Iterable, IterableColumnsButton, IterableColumnsButtonController, IterablePageComponent, IterablePageInfo, IterablePageSize, IterablePagination, List, ListGroup, ListItem, Loading, LoadingService, Login, LoginButton, MasterDetail, Menu, MenuButton, MenuGroup, MenuLink, MenuSeparator, Modal, ModalCloseButton, ModalService, Month, Number$1 as Number, PDFReport, Password, Progress, Radio, RangeSlider, Report, Row, Search, Select, SelectMultiple, SelectTree, SelectTreeMultiple, SpeedDial, Steppers, SvgMap, Switch, Tab, Table, Tabs, Tag, Text, TextInput, Textarea, Time, Toggleable, Tooltip, Tree, TreeDataStructure, TreeGrid, TreeGridEditable, WatchURL, XLS2Report, XLS3Report, XLSReport, initTheme };
|
|
12204
|
+
export { Alert, AlertService, ApexChart, AutoNumeric, Badge, Breadcrumbs, Button, ButtonGroup, CSVReport, Card, Carousel, Checkbox, CheckboxMultiple, ChildNotFoundError, Chip, CodeEditor, Col, CollapseCard, Column, Component, ComponentRender, Container, Currency, Dashboard, Date$1 as Date, DateRange, Dialog, DialogService, Divider, Dropdown, FileInput, Footer, Form, Frame, FramePage, Grid, GridColumn, GridColumnEditable, GridEditable, Header, Icon, Icons, Image, Increment, Input, Iterable, IterableColumnsButton, IterableColumnsButtonController, IterablePageComponent, IterablePageInfo, IterablePageSize, IterablePagination, List, ListGroup, ListItem, Loading, LoadingService, Login, LoginButton, MasterDetail, Menu, MenuButton, MenuGroup, MenuLink, MenuSeparator, Modal, ModalCloseButton, ModalService, Month, Number$1 as Number, PDFReport, Password, Progress, Radio, RangeSlider, Report, Row, Search, Select, SelectMultiple, SelectTree, SelectTreeMultiple, SelectableList, SpeedDial, Steppers, SvgMap, Switch, Tab, Table, Tabs, Tag, Text, TextInput, Textarea, Time, Toggleable, Tooltip, Tree, TreeDataStructure, TreeGrid, TreeGridEditable, WatchURL, XLS2Report, XLS3Report, XLSReport, initTheme };
|