pixl-xyapp 2.1.17 → 2.1.18
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/css/base.css +11 -0
- package/js/page.js +3 -3
- package/js/select.js +64 -62
- package/package.json +1 -1
package/css/base.css
CHANGED
|
@@ -1458,6 +1458,17 @@ body.dark .dialog .multiselect {
|
|
|
1458
1458
|
color: var(--theme-color-half);
|
|
1459
1459
|
}
|
|
1460
1460
|
|
|
1461
|
+
.form_suffix_symbol {
|
|
1462
|
+
position: relative;
|
|
1463
|
+
left: -15px;
|
|
1464
|
+
width: 20px;
|
|
1465
|
+
height: 20px;
|
|
1466
|
+
line-height: 20px;
|
|
1467
|
+
text-align: center;
|
|
1468
|
+
font-size: 14px;
|
|
1469
|
+
color: var(--label-color);
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1461
1472
|
.checkbox_container {
|
|
1462
1473
|
position: relative;
|
|
1463
1474
|
display: inline-block;
|
package/js/page.js
CHANGED
|
@@ -652,7 +652,7 @@ window.Page = class Page {
|
|
|
652
652
|
} // foreach row
|
|
653
653
|
|
|
654
654
|
if (!rows.length) {
|
|
655
|
-
html += '<ul class="grid_row_empty"><div style="grid-column
|
|
655
|
+
html += '<ul class="grid_row_empty"><div style="grid-column: 1 / -1;">';
|
|
656
656
|
if (args.empty_msg) html += args.empty_msg;
|
|
657
657
|
else html += 'No '+pluralize(data_type)+' found.';
|
|
658
658
|
html += '</div></ul>';
|
|
@@ -821,7 +821,7 @@ window.Page = class Page {
|
|
|
821
821
|
} // foreach row
|
|
822
822
|
|
|
823
823
|
if (!rows.length || (args.empty_msg && args.always_append_empty_msg)) {
|
|
824
|
-
html += '<ul class="grid_row_empty"><div style="grid-column
|
|
824
|
+
html += '<ul class="grid_row_empty"><div style="grid-column: 1 / -1;">';
|
|
825
825
|
if (args.empty_msg) html += args.empty_msg;
|
|
826
826
|
else html += 'No '+pluralize(data_type)+' found.';
|
|
827
827
|
html += '</div></ul>';
|
|
@@ -915,7 +915,7 @@ window.Page = class Page {
|
|
|
915
915
|
} // foreach row
|
|
916
916
|
|
|
917
917
|
if (!rows.length) {
|
|
918
|
-
html += '<ul class="grid_row_empty"><div style="grid-column
|
|
918
|
+
html += '<ul class="grid_row_empty"><div style="grid-column: 1 / -1;">';
|
|
919
919
|
if (args.empty_msg) html += args.empty_msg;
|
|
920
920
|
else html += 'No '+pluralize(data_type)+' found.';
|
|
921
921
|
html += '</div></ul>';
|
package/js/select.js
CHANGED
|
@@ -10,6 +10,7 @@ var SingleSelect = {
|
|
|
10
10
|
var self = this;
|
|
11
11
|
var $this = $(this);
|
|
12
12
|
$this.css('display', 'none').attr({ 'aria-hidden': true, tabindex: '-1' });
|
|
13
|
+
if (app.mobile) $this.data('compact', true);
|
|
13
14
|
|
|
14
15
|
var $ms = $('<div class="multiselect single" role="button" tabindex="0" aria-haspopup="listbox" aria-expanded="false"></div>');
|
|
15
16
|
if ($this.data('private')) $ms.attr('data-private', 1);
|
|
@@ -327,10 +328,10 @@ var MultiSelect = {
|
|
|
327
328
|
$(sel).each( function() {
|
|
328
329
|
var self = this;
|
|
329
330
|
var $this = $(this);
|
|
331
|
+
if (app.mobile) $this.data('compact', true);
|
|
330
332
|
$this.css('display', 'none').attr({ 'aria-hidden': true, 'tabindex': '-1' });
|
|
331
333
|
|
|
332
334
|
var $ms = $('<div class="multiselect multi" role="button" tabindex="0" aria-haspopup="listbox" aria-expanded="false"></div>');
|
|
333
|
-
if ($this.data('compact')) $ms.addClass('compact');
|
|
334
335
|
if ($this.data('private')) $ms.attr('data-private', 1);
|
|
335
336
|
$this.after( $ms );
|
|
336
337
|
|
|
@@ -392,10 +393,6 @@ var MultiSelect = {
|
|
|
392
393
|
return false;
|
|
393
394
|
});
|
|
394
395
|
|
|
395
|
-
if ($this.data('compact') && ($ms[0].offsetHeight < $ms[0].scrollHeight)) {
|
|
396
|
-
$ms.find('.select_chevron').removeClass().addClass('select_chevron mdi mdi-dots-horizontal');
|
|
397
|
-
}
|
|
398
|
-
|
|
399
396
|
if ($this.data('hold') && $this.data('volatile') && Popover.enabled && (Popover.$anchor.prop('id') == $this.prop('id'))) {
|
|
400
397
|
$('#d_sel_dialog_scrollarea > div.sel_dialog_item').each( function(idx) {
|
|
401
398
|
if (self.options[idx].selected) $(this).addClass('selected').attr('aria-selected', 'true');
|
|
@@ -437,10 +434,12 @@ var MultiSelect = {
|
|
|
437
434
|
}
|
|
438
435
|
html += '</div>';
|
|
439
436
|
|
|
440
|
-
|
|
441
|
-
html += '<
|
|
442
|
-
|
|
443
|
-
|
|
437
|
+
if (!$this.data('compact')) {
|
|
438
|
+
html += '<div class="sel_dialog_search_container" role="search">';
|
|
439
|
+
html += '<input type="text" id="fe_sel_dialog_search" class="sel_dialog_search" autocomplete="off" value=""/>';
|
|
440
|
+
html += '<div class="sel_dialog_search_icon"><i class="mdi mdi-magnify"></i></div>';
|
|
441
|
+
html += '</div>';
|
|
442
|
+
}
|
|
444
443
|
html += '<div id="d_sel_dialog_scrollarea" class="sel_dialog_scrollarea" role="listbox">';
|
|
445
444
|
|
|
446
445
|
for (var idx = 0, len = self.options.length; idx < len; idx++) {
|
|
@@ -571,71 +570,74 @@ var MultiSelect = {
|
|
|
571
570
|
$(this).html( is_all_sel ? 'Select All' : 'Select None' );
|
|
572
571
|
});
|
|
573
572
|
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
$input.on('keyup', function(event) {
|
|
580
|
-
// refresh list on every keypress
|
|
581
|
-
var value = $input.val().toLowerCase();
|
|
582
|
-
|
|
583
|
-
if (value.length) $('#d_sel_dialog_scrollarea > div.sel_dialog_group').hide();
|
|
584
|
-
else $('#d_sel_dialog_scrollarea > div.sel_dialog_group').show();
|
|
573
|
+
var $input = null;
|
|
574
|
+
if (!$this.data('compact')) {
|
|
575
|
+
// setup input field
|
|
576
|
+
$input = $('#fe_sel_dialog_search');
|
|
577
|
+
$input.focus();
|
|
585
578
|
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
579
|
+
// setup keyboard handlers
|
|
580
|
+
$input.on('keyup', function(event) {
|
|
581
|
+
// refresh list on every keypress
|
|
582
|
+
var value = $input.val().toLowerCase();
|
|
583
|
+
|
|
584
|
+
if (value.length) $('#d_sel_dialog_scrollarea > div.sel_dialog_group').hide();
|
|
585
|
+
else $('#d_sel_dialog_scrollarea > div.sel_dialog_group').show();
|
|
593
586
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
$item.
|
|
587
|
+
$('#d_sel_dialog_scrollarea > div.sel_dialog_item').each( function() {
|
|
588
|
+
var $item = $(this);
|
|
589
|
+
if ($item.hasClass('inherited')) {
|
|
590
|
+
if (value.length) $item.hide();
|
|
591
|
+
else $item.show();
|
|
592
|
+
return;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
var text = $item.find('> span').html().toLowerCase();
|
|
596
|
+
if (!value.length || (text.indexOf(value) > -1)) {
|
|
597
|
+
$item.addClass('match').show();
|
|
598
|
+
}
|
|
599
|
+
else {
|
|
600
|
+
$item.removeClass('match').hide();
|
|
601
|
+
}
|
|
602
|
+
} );
|
|
603
|
+
Popover.reposition();
|
|
604
|
+
});
|
|
605
|
+
$input.on('keydown', function(event) {
|
|
606
|
+
// capture enter key
|
|
607
|
+
var value = $input.val().toLowerCase();
|
|
608
|
+
if ((event.keyCode == 13) && value.length) {
|
|
609
|
+
// enter key with a value typed into the search box
|
|
610
|
+
event.preventDefault();
|
|
611
|
+
event.stopPropagation();
|
|
612
|
+
|
|
613
|
+
var mup = jQuery.Event( "click" );
|
|
614
|
+
mup.metaKey = true; // bypass `hold` feature
|
|
615
|
+
$('#d_sel_dialog_scrollarea > div.sel_dialog_item.match').slice(0, 1).trigger(mup);
|
|
597
616
|
}
|
|
598
|
-
else {
|
|
599
|
-
|
|
617
|
+
else if ((event.keyCode == 13) && $this.data('hold')) {
|
|
618
|
+
// enter key WITHOUT value typed into search box + hold mode
|
|
619
|
+
event.preventDefault();
|
|
620
|
+
event.stopPropagation();
|
|
621
|
+
$('#btn_sel_dialog_add').trigger( jQuery.Event("click") );
|
|
600
622
|
}
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
event.preventDefault();
|
|
610
|
-
event.stopPropagation();
|
|
611
|
-
|
|
612
|
-
var mup = jQuery.Event( "click" );
|
|
613
|
-
mup.metaKey = true; // bypass `hold` feature
|
|
614
|
-
$('#d_sel_dialog_scrollarea > div.sel_dialog_item.match').slice(0, 1).trigger(mup);
|
|
615
|
-
}
|
|
616
|
-
else if ((event.keyCode == 13) && $this.data('hold')) {
|
|
617
|
-
// enter key WITHOUT value typed into search box + hold mode
|
|
618
|
-
event.preventDefault();
|
|
619
|
-
event.stopPropagation();
|
|
620
|
-
$('#btn_sel_dialog_add').trigger( jQuery.Event("click") );
|
|
621
|
-
}
|
|
622
|
-
else if ((event.keyCode == 27) && $this.data('hold')) {
|
|
623
|
-
// esc key WITHOUT value typed into search box + hold mode
|
|
624
|
-
event.preventDefault();
|
|
625
|
-
event.stopPropagation();
|
|
626
|
-
$('#btn_sel_dialog_cancel').trigger( jQuery.Event("click") );
|
|
627
|
-
}
|
|
628
|
-
});
|
|
623
|
+
else if ((event.keyCode == 27) && $this.data('hold')) {
|
|
624
|
+
// esc key WITHOUT value typed into search box + hold mode
|
|
625
|
+
event.preventDefault();
|
|
626
|
+
event.stopPropagation();
|
|
627
|
+
$('#btn_sel_dialog_cancel').trigger( jQuery.Event("click") );
|
|
628
|
+
}
|
|
629
|
+
});
|
|
630
|
+
} // not compact
|
|
629
631
|
|
|
630
632
|
// handle enter/esc keys if search field is NOT focused
|
|
631
633
|
Popover.onKeyDown = function(event) {
|
|
632
|
-
if ((event.keyCode == 13) && !$input.is(':focus') && $this.data('hold')) {
|
|
634
|
+
if ((event.keyCode == 13) && (!$input || !$input.is(':focus')) && $this.data('hold')) {
|
|
633
635
|
// enter key
|
|
634
636
|
event.preventDefault();
|
|
635
637
|
event.stopPropagation();
|
|
636
638
|
$('#btn_sel_dialog_add').trigger( jQuery.Event("click") );
|
|
637
639
|
}
|
|
638
|
-
else if ((event.keyCode == 27) && !$input.is(':focus') && $this.data('hold')) {
|
|
640
|
+
else if ((event.keyCode == 27) && (!$input || !$input.is(':focus')) && $this.data('hold')) {
|
|
639
641
|
// esc key
|
|
640
642
|
event.preventDefault();
|
|
641
643
|
event.stopPropagation();
|
package/package.json
CHANGED