@processmaker/screen-builder 2.88.0 → 2.90.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@processmaker/screen-builder",
3
- "version": "2.88.0",
3
+ "version": "2.90.0",
4
4
  "scripts": {
5
5
  "dev": "VITE_COVERAGE=true vite",
6
6
  "build": "vite build",
@@ -56,7 +56,7 @@
56
56
  "@fortawesome/fontawesome-free": "^5.6.1",
57
57
  "@originjs/vite-plugin-commonjs": "^1.0.3",
58
58
  "@panter/vue-i18next": "^0.15.2",
59
- "@processmaker/vue-form-elements": "0.54.0",
59
+ "@processmaker/vue-form-elements": "0.56.0",
60
60
  "@processmaker/vue-multiselect": "2.3.0",
61
61
  "@storybook/addon-essentials": "^7.6.13",
62
62
  "@storybook/addon-interactions": "^7.6.13",
@@ -115,7 +115,7 @@
115
115
  },
116
116
  "peerDependencies": {
117
117
  "@panter/vue-i18next": "^0.15.0",
118
- "@processmaker/vue-form-elements": "0.54.0",
118
+ "@processmaker/vue-form-elements": "0.56.0",
119
119
  "i18next": "^15.0.8",
120
120
  "vue": "^2.6.12",
121
121
  "vuex": "^3.1.1"
@@ -328,6 +328,12 @@ export default {
328
328
  fixed_width: 314,
329
329
  resizable: false,
330
330
  filter_subject: { type: "Status" }
331
+ },
332
+ {
333
+ label: "",
334
+ field: "options",
335
+ sortable: false,
336
+ width: 10
331
337
  }
332
338
  ];
333
339
  }
@@ -8,14 +8,8 @@
8
8
  @table-row-mouseover="handleRowMouseover"
9
9
  @table-row-mouseleave="handleRowMouseleave"
10
10
  >
11
- <template
12
- v-for="(column, index) in tableHeaders"
13
- v-slot:[column.field]
14
- >
15
- <div
16
- :key="index"
17
- style="display: inline-block"
18
- >
11
+ <template v-for="(column, index) in tableHeaders" #[column.field]>
12
+ <div :key="index" style="display: inline-block">
19
13
  <img
20
14
  v-if="column.field === 'is_priority'"
21
15
  src="../../assets/priority-header.svg"
@@ -26,11 +20,9 @@
26
20
  <span v-else>{{ $t(column.label) }}</span>
27
21
  </div>
28
22
  </template>
29
- <template
30
- v-for="(row, rowIndex) in tableData.data"
31
- v-slot:[`row-${rowIndex}`]
32
- >
33
- <td v-for="(header, colIndex) in tableHeaders"
23
+ <template v-for="(row, rowIndex) in tableData.data" #[`row-${rowIndex}`]>
24
+ <td
25
+ v-for="(header, colIndex) in tableHeaders"
34
26
  :key="`${rowIndex}-${colIndex}`"
35
27
  >
36
28
  <template v-if="containsHTML(getNestedPropertyValue(row, header))">
@@ -39,7 +31,9 @@
39
31
  :class="{ 'pm-table-truncate': header.truncate }"
40
32
  :style="{ maxWidth: header.width + 'px' }"
41
33
  >
42
- <span v-html="sanitize(getNestedPropertyValue(row, header))"></span>
34
+ <span
35
+ v-html="sanitize(getNestedPropertyValue(row, header))"
36
+ ></span>
43
37
  </div>
44
38
  <b-tooltip
45
39
  v-if="header.truncate"
@@ -109,7 +103,7 @@
109
103
  v-show="isTooltipVisible"
110
104
  :position="rowPosition"
111
105
  >
112
- <template v-slot:task-tooltip-body>
106
+ <template #task-tooltip-body>
113
107
  <div @mouseover="clearHideTimer" @mouseleave="hideTooltip">
114
108
  <slot
115
109
  name="tooltip"
@@ -185,7 +179,7 @@ export default {
185
179
  },
186
180
  mounted() {
187
181
  this.setupColumns();
188
- this.pmql = `(user_id = ${ProcessMaker.user.id})`;
182
+ this.pmql = `(user_id = ${ProcessMaker.user.id}) AND (status = "In Progress")`;
189
183
  this.fetch();
190
184
  this.$root.$on("dropdownSelectionTask", this.fetchData);
191
185
  this.$root.$on("searchTask", this.fetchSearch);
@@ -208,7 +202,7 @@ export default {
208
202
  }
209
203
 
210
204
  if (this.pmqlSearch) {
211
- pmql = pmql + "AND" + this.pmqlSearch;
205
+ pmql = `${pmql} AND ${this.pmqlSearch}`;
212
206
  }
213
207
 
214
208
  if (this.filterDropdowns !== undefined) {
@@ -336,6 +330,7 @@ export default {
336
330
  default: true,
337
331
  width: 153,
338
332
  fixed_width: 153,
333
+ truncate: true,
339
334
  resizable: false
340
335
  },
341
336
  {
@@ -381,6 +376,12 @@ export default {
381
376
  resizable: false
382
377
  });
383
378
  }
379
+ columns.push({
380
+ label: "",
381
+ field: "options",
382
+ sortable: false,
383
+ width: 10
384
+ });
384
385
  return columns;
385
386
  },
386
387
  setupColumns() {
@@ -476,16 +477,19 @@ export default {
476
477
  },
477
478
  fetchData(selectedOption) {
478
479
  this.filterDropdowns = "";
479
- this.pmql = `(user_id = ${ProcessMaker.user.id})`
480
+ this.pmql = `(user_id = ${ProcessMaker.user.id})`;
480
481
  this.advancedFilter = "";
481
482
  if (selectedOption === "Self-service") {
482
483
  this.pmql = "";
483
- this.advancedFilter = `&advanced_filter=[${encodeURIComponent('{"subject":{"type":"Status","value":"status"},"operator":"=","value":"Self Service"}')}]`;
484
+ this.advancedFilter = `&advanced_filter=[${encodeURIComponent(
485
+ '{"subject":{"type":"Status","value":"status"},"operator":"=","value":"Self Service"}'
486
+ )}]`;
484
487
  }
485
- if (selectedOption === "In Progress") {
486
- this.pmql = this.pmql + `AND (status = "In Progress")`;
488
+ if (selectedOption === "In Progress" || selectedOption === "View All") {
489
+ this.pmql += ` AND (status = "In Progress")`;
487
490
  }
488
491
  if (selectedOption === "Overdue") {
492
+ this.pmql += ` AND (status = "In Progress")`;
489
493
  this.filterDropdowns = "overdue=true";
490
494
  }
491
495
  this.fetch();
@@ -535,7 +539,6 @@ export default {
535
539
  });
536
540
  },
537
541
  handleRowMouseover(row) {
538
- debugger;
539
542
  if (this.ellipsisShow) {
540
543
  this.isTooltipVisible = !this.disableRuleTooltip;
541
544
  this.clearHideTimer();
@@ -328,6 +328,7 @@ export default {
328
328
  debouncedValuesQueue.forEach((args) => {
329
329
  this.setValue(...args);
330
330
  });
331
+ debouncedValuesQueue.length = 0;
331
332
  }, 210);
332
333
  this.setValueDebounced = (...args) => {
333
334
  debouncedValuesQueue.push(args);
@@ -1,6 +1,6 @@
1
1
  import { helpers } from 'vuelidate/lib/validators';
2
2
  import moment from 'moment';
3
- import { get } from 'lodash';
3
+ import { get, isNil } from 'lodash';
4
4
 
5
5
  import {
6
6
  minLength,
@@ -161,7 +161,7 @@ export const regex = (expression) => helpers.withParams({expression}, (value) =>
161
161
  });
162
162
 
163
163
  export const required = (value) => {
164
- return value instanceof Array ? value.length > 0 : !!value;
164
+ return value instanceof Array ? value.length > 0 : !isNil(value) && value !== '' && value !== false;
165
165
  };
166
166
 
167
167
  export const requiredIf = (variable, expected, fieldName) => helpers.withParams({variable, expected}, function(value, data) {