zet-lib 3.1.4 → 3.1.5

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.
Files changed (2) hide show
  1. package/lib/zRoute.js +54 -2
  2. package/package.json +1 -1
package/lib/zRoute.js CHANGED
@@ -4167,6 +4167,8 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = "", data = {}) => {
4167
4167
  let hasLocation = false;
4168
4168
  let hasDragdrop = false;
4169
4169
  let hasDropbox = false;
4170
+ let hasDropdownMulti = false;
4171
+ let hasSelectize = false;
4170
4172
  let lexicals = [];
4171
4173
  let mapKey = "";
4172
4174
  let hasAttributes = [];
@@ -4182,6 +4184,8 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = "", data = {}) => {
4182
4184
  hasDatePicker = true;
4183
4185
  } else if (widgets[key].name == "number") {
4184
4186
  hasNumber = true;
4187
+ } else if (widgets[key].name == "dropdown_multi") {
4188
+ hasDropdownMulti = true;
4185
4189
  } else if (widgets[key].name == "money") {
4186
4190
  hasNumber = true;
4187
4191
  moneys.push(key);
@@ -4261,6 +4265,7 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = "", data = {}) => {
4261
4265
  //add search on select
4262
4266
  if (widgets[key].isSearch) {
4263
4267
  selectize.push(key);
4268
+ hasSelectize = true;
4264
4269
  }
4265
4270
  }
4266
4271
  }
@@ -4363,12 +4368,15 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = "", data = {}) => {
4363
4368
  headObj.datetimepicker = datetimepickerObj.head;
4364
4369
  endObj.datetimepicker = datetimepickerObj.end;
4365
4370
  }
4371
+ if(hasSelectize || hasDropdownMulti) {
4372
+ let selectizeObject = moduleLib.selectize(req, res);
4373
+ headObj.selectize = selectizeObject.head;
4374
+ endObj.selectize = selectizeObject.end;
4375
+ }
4366
4376
  if (selectize.length > 0) {
4367
4377
  selectize.map((item) => {
4368
4378
  let selectizeObj = moduleLib.selectize(req, res, `#${item}`);
4369
4379
  scriptForm += selectizeObj.script;
4370
- headObj.selectize = selectizeObj.head;
4371
- endObj.selectize = selectizeObj.end;
4372
4380
  });
4373
4381
  }
4374
4382
  if (hasIde) {
@@ -4643,6 +4651,50 @@ zRoute.generateJS = (req, res, MYMODEL, relations, zForms = "", data = {}) => {
4643
4651
  break;
4644
4652
 
4645
4653
  case "dropdown_multi":
4654
+ scriptForm += `$(document).ready(function () {
4655
+ var $${keys}Select = $('#${keys}');
4656
+ if ($${keys}Select.length && typeof $.fn.selectize !== 'undefined') {
4657
+ if (!$${keys}Select[0].selectize) {
4658
+ var isMultiple = $${keys}Select.hasClass('dropdown-multi');
4659
+ if (isMultiple && !$${keys}Select.attr('multiple')) {
4660
+ $${keys}Select.attr('multiple', 'multiple');
4661
+ }
4662
+ var selectizeOptions = {
4663
+ plugins: isMultiple ? ['remove_button'] : [],
4664
+ delimiter: ',',
4665
+ persist: false,
4666
+ create: false,
4667
+ search: true,
4668
+ openOnFocus: true,
4669
+ closeAfterSelect: true,
4670
+ maxItems: 1,
4671
+ placeholder: 'Please select ${keys}',
4672
+ onType: function (str) {
4673
+ var results = this.search(str);
4674
+ if (results.length === 1) {
4675
+ var self = this;
4676
+ setTimeout(function () {
4677
+ self.setValue(results[0].value);
4678
+ self.close();
4679
+ }, 100);
4680
+ }
4681
+ }
4682
+ };
4683
+ $${keys}Select.selectize(selectizeOptions);
4684
+ }
4685
+ }
4686
+ $(document).on('click', '#dropdownadd${keys}', function () {
4687
+ var $select = $('#${keys}');
4688
+ if ($select.length) {
4689
+ var selectize = $select[0].selectize;
4690
+ if (selectize) {
4691
+ selectize.clear();
4692
+ } else {
4693
+ $select.val('').trigger('change');
4694
+ }
4695
+ }
4696
+ });
4697
+ });`
4646
4698
  scriptForm += ` $("#dropdownadd${keys}").on("click", function () {
4647
4699
  var val = $("#${keys}").val();
4648
4700
  if(val == ""){
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zet-lib",
3
- "version": "3.1.4",
3
+ "version": "3.1.5",
4
4
  "description": "zet is a library that part of zet generator.",
5
5
  "engines": {
6
6
  "node": ">=18"