pixl-xyapp 2.1.16 → 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 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;
@@ -1596,8 +1607,8 @@ fieldset.info_fieldset > legend {
1596
1607
  cursor: default;
1597
1608
  }
1598
1609
  fieldset.info_fieldset > .tool_desc {
1599
- margin-top: 4px;
1600
- font-size: 11px;
1610
+ margin-bottom: 10px;
1611
+ font-size: 12px;
1601
1612
  color: var(--label-color);
1602
1613
  }
1603
1614
 
package/js/base.js CHANGED
@@ -163,7 +163,7 @@ var app = {
163
163
 
164
164
  handleKeyDown: function(event) {
165
165
  // send keydown event to page if text element isn't current focused
166
- if (document.activeElement && document.activeElement.tagName.match(/^(INPUT|TEXTAREA)$/)) return;
166
+ if (document.activeElement && (document.activeElement.tagName.match(/^(INPUT|TEXTAREA)$/) || (document.activeElement.className == 'CodeMirror-code'))) return;
167
167
 
168
168
  if (this.page_manager && this.page_manager.current_page_id) {
169
169
  var id = this.page_manager.current_page_id;
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-start: span ' + cols.length + ';">';
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-start: span ' + cols.length + ';">';
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-start: span ' + cols.length + ';">';
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
- html += '<div class="sel_dialog_search_container" role="search">';
441
- html += '<input type="text" id="fe_sel_dialog_search" class="sel_dialog_search" autocomplete="off" value=""/>';
442
- html += '<div class="sel_dialog_search_icon"><i class="mdi mdi-magnify"></i></div>';
443
- html += '</div>';
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
- // setup input field
575
- var $input = $('#fe_sel_dialog_search');
576
- $input.focus();
577
-
578
- // setup keyboard handlers
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
- $('#d_sel_dialog_scrollarea > div.sel_dialog_item').each( function() {
587
- var $item = $(this);
588
- if ($item.hasClass('inherited')) {
589
- if (value.length) $item.hide();
590
- else $item.show();
591
- return;
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
- var text = $item.find('> span').html().toLowerCase();
595
- if (!value.length || (text.indexOf(value) > -1)) {
596
- $item.addClass('match').show();
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
- $item.removeClass('match').hide();
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
- Popover.reposition();
603
- });
604
- $input.on('keydown', function(event) {
605
- // capture enter key
606
- var value = $input.val().toLowerCase();
607
- if ((event.keyCode == 13) && value.length) {
608
- // enter key with a value typed into the search box
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pixl-xyapp",
3
- "version": "2.1.16",
3
+ "version": "2.1.18",
4
4
  "description": "Front-end web application and theme for xyOps.",
5
5
  "author": "Joseph Huckaby <jhuckaby@pixlcore.com>",
6
6
  "homepage": "https://github.com/pixlcore/pixl-xyapp",