@processmaker/screen-builder 3.8.2 → 3.8.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@processmaker/screen-builder",
3
- "version": "3.8.2",
3
+ "version": "3.8.4",
4
4
  "scripts": {
5
5
  "dev": "VITE_COVERAGE=true vite",
6
6
  "build": "vite build",
@@ -57,7 +57,7 @@
57
57
  "@fortawesome/fontawesome-free": "^5.6.1",
58
58
  "@originjs/vite-plugin-commonjs": "^1.0.3",
59
59
  "@panter/vue-i18next": "^0.15.2",
60
- "@processmaker/vue-form-elements": "0.65.1",
60
+ "@processmaker/vue-form-elements": "0.65.2",
61
61
  "@processmaker/vue-multiselect": "2.3.0",
62
62
  "@storybook/addon-essentials": "^7.6.13",
63
63
  "@storybook/addon-interactions": "^7.6.13",
@@ -116,7 +116,7 @@
116
116
  },
117
117
  "peerDependencies": {
118
118
  "@panter/vue-i18next": "^0.15.0",
119
- "@processmaker/vue-form-elements": "0.65.1",
119
+ "@processmaker/vue-form-elements": "0.65.2",
120
120
  "i18next": "^15.0.8",
121
121
  "vue": "^2.6.12",
122
122
  "vuex": "^3.1.1"
@@ -469,9 +469,9 @@ export default {
469
469
  this.currentPage = this.currentPage == 0 ? 1 : this.currentPage;
470
470
  }
471
471
  },
472
- // Watch for changes in the option input field
473
- "validationData.option": {
474
- handler(newValue) {
472
+ // Watch for changes in validationData to handle any Mustache variable changes
473
+ validationData: {
474
+ handler(newValue, oldValue) {
475
475
  if (this.source?.sourceOptions === "Collection" && this.source?.collectionFields?.pmql) {
476
476
  this.onCollectionChange(
477
477
  this.source?.collectionFields?.collectionId,
@@ -479,6 +479,7 @@ export default {
479
479
  );
480
480
  }
481
481
  },
482
+ deep: true,
482
483
  immediate: false
483
484
  }
484
485
  },
@@ -614,12 +615,9 @@ export default {
614
615
  // Get data from validationData
615
616
  const data = this.validationData || {};
616
617
 
617
- // Clean up the PMQL by removing unnecessary quotes around Mustache variables
618
- let processedPmql = pmql.replace(/"{{([^}]+)}}"/g, "{{$1}}");
619
-
620
- // Process Mustache variables
621
- processedPmql = Mustache.render(processedPmql, data);
622
-
618
+ // First, process all Mustache variables (both quoted and unquoted)
619
+ let processedPmql = Mustache.render(pmql, data);
620
+
623
621
  // Check if the processed PMQL has empty values
624
622
  if (this.hasEmptyValues(processedPmql)) {
625
623
  this.collectionData = [];
@@ -627,7 +625,11 @@ export default {
627
625
  }
628
626
 
629
627
  // Add quotes around string values in PMQL if they don't have them
630
- processedPmql = processedPmql.replace(/= ([^"'\s]+)/g, '= "$1"');
628
+ // This regex now properly handles values with spaces by looking for the end of the comparison
629
+ processedPmql = processedPmql.replace(
630
+ /= ([^"'\s][^"']*[^"'\s]|[^"'\s]+)(?=\s|$)/g,
631
+ '= "$1"'
632
+ );
631
633
 
632
634
  return processedPmql;
633
635
  } catch (error) {