@nixweb/nixloc-ui 1.19.0 → 1.21.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.
Files changed (110) hide show
  1. package/package.json +1 -1
  2. package/src/component/forms/ButtonFilter.vue +104 -104
  3. package/src/component/forms/ButtonGroup.vue +66 -66
  4. package/src/component/forms/ButtonGroupInline.vue +210 -210
  5. package/src/component/forms/ButtonSub.vue +97 -97
  6. package/src/component/forms/ButtonToggle.vue +76 -76
  7. package/src/component/forms/DateYearMonth.vue +192 -192
  8. package/src/component/forms/ImageUpload.vue +214 -214
  9. package/src/component/forms/IncrementDecrement.vue +151 -151
  10. package/src/component/forms/InputAddressGoogle.vue +171 -171
  11. package/src/component/forms/InputCallToAction.vue +135 -135
  12. package/src/component/forms/InputDecimalDiscount.vue +146 -146
  13. package/src/component/forms/InputTag.vue +124 -124
  14. package/src/component/forms/InputTextEdit.vue +69 -69
  15. package/src/component/forms/InputWhatsApp.vue +47 -47
  16. package/src/component/forms/SideBar.vue +99 -99
  17. package/src/component/forms/Toggle.vue +72 -72
  18. package/src/component/layout/Account.vue +131 -131
  19. package/src/component/layout/AnimatedPhrase.vue +68 -68
  20. package/src/component/layout/BarFloating.vue +67 -67
  21. package/src/component/layout/BottomActionsBar.vue +205 -205
  22. package/src/component/layout/ColorPicker.vue +175 -175
  23. package/src/component/layout/Gantt.vue +128 -128
  24. package/src/component/layout/HideShow.vue +61 -61
  25. package/src/component/layout/IconMolded.vue +58 -58
  26. package/src/component/layout/IconPicker.vue +161 -161
  27. package/src/component/layout/NewAccount.vue +136 -136
  28. package/src/component/layout/NewHeader.vue +59 -59
  29. package/src/component/layout/NewIconMolded.vue +70 -70
  30. package/src/component/layout/NewMenu.vue +472 -472
  31. package/src/component/layout/Tab.vue +259 -259
  32. package/src/component/layout/Tag.vue +97 -97
  33. package/src/component/layout/Tooltip.vue +155 -155
  34. package/src/component/layout/Zoom.vue +111 -111
  35. package/src/component/rental/DisplayCalculatePeriod.vue +48 -48
  36. package/src/component/rental/DisplayPeriodRent.vue +55 -55
  37. package/src/component/rental/DisplayTotalization.vue +86 -86
  38. package/src/component/report/Fields.vue +108 -108
  39. package/src/component/report/Report.vue +377 -377
  40. package/src/component/report/ReportTable.vue +111 -111
  41. package/src/component/report/Totalization.vue +33 -33
  42. package/src/component/shared/CodeEditor.vue +128 -128
  43. package/src/component/shared/Confirmation.vue +74 -74
  44. package/src/component/shared/DocumentEditor.vue +99 -99
  45. package/src/component/shared/DocumentPreview.vue +117 -105
  46. package/src/component/shared/DocumentPublic.vue +33 -33
  47. package/src/component/shared/ExportExcel.vue +56 -56
  48. package/src/component/shared/FullCalendar.vue +175 -175
  49. package/src/component/shared/HeaderReport.vue +47 -47
  50. package/src/component/shared/ListNotifications.vue +70 -70
  51. package/src/component/shared/Loading.vue +1 -4
  52. package/src/component/shared/LoadingCard.vue +64 -64
  53. package/src/component/shared/ParameterLegend.vue +169 -169
  54. package/src/component/shared/Report.vue +250 -250
  55. package/src/component/shared/SaveCancel.vue +99 -117
  56. package/src/component/shared/SelectOption.vue +162 -162
  57. package/src/component/shared/TableDraggable.vue +117 -117
  58. package/src/component/shared/TableImport.vue +93 -93
  59. package/src/component/shared/TableItem.vue +228 -228
  60. package/src/component/shared/TableTotalPerPage.vue +114 -114
  61. package/src/component/shared/TableTotalRecords.vue +44 -44
  62. package/src/component/shared/TimeLine.vue +41 -41
  63. package/src/component/shared/Timer.vue +77 -77
  64. package/src/component/shared/ToggleTheme.vue +127 -127
  65. package/src/component/shared/TotalizationReport.vue +86 -86
  66. package/src/component/shared/actions/ActionButtons.vue +53 -53
  67. package/src/component/shared/actions/ActionErrorContent.vue +103 -103
  68. package/src/component/shared/actions/ActionFooter.vue +93 -99
  69. package/src/component/shared/actions/ActionHeader.vue +110 -110
  70. package/src/component/shared/actions/ActionItemList.vue +143 -143
  71. package/src/component/shared/actions/ActionsOptions.vue +209 -209
  72. package/src/component/shared/actions/ActionsSelected.vue +262 -262
  73. package/src/component/shared/automation/ActivitiesList.vue +43 -43
  74. package/src/component/shared/automation/AddRule.vue +60 -60
  75. package/src/component/shared/automation/AutomationBuilder.vue +26 -26
  76. package/src/component/shared/automation/DynamicComponentList.vue +85 -85
  77. package/src/component/shared/automation/SelectRule.vue +97 -97
  78. package/src/component/shared/automation/components/BillingByRent.vue +97 -97
  79. package/src/component/shared/automation/components/SendEmail.vue +93 -93
  80. package/src/component/shared/file-manager/FileManager.vue +390 -390
  81. package/src/component/shared/filter-builder/FilterBuilder.vue +220 -220
  82. package/src/component/shared/filter-builder/FilterQuery.vue +95 -95
  83. package/src/component/shared/query-builder/ConvertToOdata.js +86 -86
  84. package/src/component/shared/query-builder/DynamicComponent.vue +161 -161
  85. package/src/component/shared/query-builder/Fields.vue +93 -93
  86. package/src/component/shared/query-builder/Rules.vue +68 -68
  87. package/src/component/shared/query-builder/SelectRule.vue +97 -97
  88. package/src/component/shared/query-builder/Tags.vue +59 -59
  89. package/src/component/signature/Payment.vue +160 -160
  90. package/src/component/signature/Warning.vue +75 -75
  91. package/src/component/template/ReportCreateUpdate.vue +110 -110
  92. package/src/component/template/ViewTemplateDocumentView.vue +213 -213
  93. package/src/component/template/ViewTemplateImportFile.vue +347 -347
  94. package/src/component/template/ViewTemplateReportList.vue +240 -240
  95. package/src/component/template/ViewTemplateReportPreview.vue +521 -521
  96. package/src/component/template/ViewTemplateSelectOption.vue +46 -46
  97. package/src/component/template/model/Report.js +5 -5
  98. package/src/component/training/Course.vue +343 -343
  99. package/src/component/training/CourseView.vue +198 -198
  100. package/src/component/value-objects/Address.js +10 -10
  101. package/src/component/value-objects/Address.vue +173 -173
  102. package/src/component/value-objects/Contact.js +6 -6
  103. package/src/component/value-objects/Contact.vue +106 -106
  104. package/src/component/value-objects/Person.js +10 -10
  105. package/src/component/value-objects/Person.vue +130 -130
  106. package/src/store/modules/automation.js +30 -30
  107. package/src/store/modules/generic.js +16 -6
  108. package/src/store/modules/report.js +277 -277
  109. package/src/store/modules/user.js +69 -69
  110. package/src/store/modules/util.js +25 -25
@@ -1,93 +1,93 @@
1
- <template>
2
- <div>
3
- <b-row>
4
- <b-col sm="6">
5
- <ScrollBar :minHeight="200" :maxHeight="250">
6
- <div class="div-options">
7
- <CheckboxGroup
8
- :stacked="true"
9
- :initialValue="fieldsLocal.selected"
10
- :options="fieldsLocal.options"
11
- v-model="fieldsLocal.selected"
12
- />
13
- </div>
14
- </ScrollBar>
15
- </b-col>
16
- <b-col sm="6">
17
- <RadioGroup
18
- :options="[
19
- { text: 'Crescente', value: 'asc' },
20
- { text: 'Decrescente', value: 'desc' },
21
- ]"
22
- v-model="fieldsLocal.orderBy"
23
- />
24
- <SelectStatic
25
- title="Ordenar"
26
- fieldTarget="order"
27
- :initialValue="{ content: fieldsLocal.sort.content, id: fieldsLocal.sort.id }"
28
- :data="options"
29
- v-model="fieldsLocal.sort"
30
- />
31
- </b-col>
32
- </b-row>
33
- </div>
34
- </template>
35
- <script>
36
- import SelectStatic from "@nixweb/nixloc-ui/src/component/forms/SelectStatic";
37
- import RadioGroup from "@nixweb/nixloc-ui/src/component/forms/RadioGroup";
38
- import CheckboxGroup from "@nixweb/nixloc-ui/src/component/forms/CheckboxGroup";
39
- import ScrollBar from "@nixweb/nixloc-ui/src/component/layout/ScrollBar.vue";
40
-
41
- import { mapMutations, mapGetters } from "vuex";
42
-
43
- export default {
44
- name: "Fields",
45
- components: {
46
- CheckboxGroup,
47
- SelectStatic,
48
- ScrollBar,
49
- RadioGroup,
50
- },
51
- data() {
52
- return {
53
- fieldsLocal: {
54
- selected: [],
55
- options: [],
56
- sort: { content: "", id: "asc" },
57
- orderBy: "",
58
- },
59
- };
60
- },
61
- created() {
62
- // converte getters para data local para que possa ser manipulado com o v-model
63
- this.fieldsLocal = this.fields;
64
- },
65
- computed: {
66
- ...mapGetters("report", ["fields"]),
67
- options() {
68
- let options = [];
69
- this.fields.options.forEach((option) => {
70
- let obj = { content: option.text, id: option.value };
71
- options.push(obj);
72
- });
73
- return options;
74
- },
75
- },
76
- methods: {
77
- ...mapMutations("report", ["updateSelectedFields"]),
78
- },
79
- watch: {
80
- fieldsLocal: {
81
- handler(fieldsLocal) {
82
- this.updateSelectedFields(fieldsLocal);
83
- },
84
- deep: true,
85
- },
86
- },
87
- };
88
- </script>
89
- <style scoped>
90
- .div-options {
91
- padding-left: 0px;
92
- }
93
- </style>
1
+ <template>
2
+ <div>
3
+ <b-row>
4
+ <b-col sm="6">
5
+ <ScrollBar :minHeight="200" :maxHeight="250">
6
+ <div class="div-options">
7
+ <CheckboxGroup
8
+ :stacked="true"
9
+ :initialValue="fieldsLocal.selected"
10
+ :options="fieldsLocal.options"
11
+ v-model="fieldsLocal.selected"
12
+ />
13
+ </div>
14
+ </ScrollBar>
15
+ </b-col>
16
+ <b-col sm="6">
17
+ <RadioGroup
18
+ :options="[
19
+ { text: 'Crescente', value: 'asc' },
20
+ { text: 'Decrescente', value: 'desc' },
21
+ ]"
22
+ v-model="fieldsLocal.orderBy"
23
+ />
24
+ <SelectStatic
25
+ title="Ordenar"
26
+ fieldTarget="order"
27
+ :initialValue="{ content: fieldsLocal.sort.content, id: fieldsLocal.sort.id }"
28
+ :data="options"
29
+ v-model="fieldsLocal.sort"
30
+ />
31
+ </b-col>
32
+ </b-row>
33
+ </div>
34
+ </template>
35
+ <script>
36
+ import SelectStatic from "@nixweb/nixloc-ui/src/component/forms/SelectStatic";
37
+ import RadioGroup from "@nixweb/nixloc-ui/src/component/forms/RadioGroup";
38
+ import CheckboxGroup from "@nixweb/nixloc-ui/src/component/forms/CheckboxGroup";
39
+ import ScrollBar from "@nixweb/nixloc-ui/src/component/layout/ScrollBar.vue";
40
+
41
+ import { mapMutations, mapGetters } from "vuex";
42
+
43
+ export default {
44
+ name: "Fields",
45
+ components: {
46
+ CheckboxGroup,
47
+ SelectStatic,
48
+ ScrollBar,
49
+ RadioGroup,
50
+ },
51
+ data() {
52
+ return {
53
+ fieldsLocal: {
54
+ selected: [],
55
+ options: [],
56
+ sort: { content: "", id: "asc" },
57
+ orderBy: "",
58
+ },
59
+ };
60
+ },
61
+ created() {
62
+ // converte getters para data local para que possa ser manipulado com o v-model
63
+ this.fieldsLocal = this.fields;
64
+ },
65
+ computed: {
66
+ ...mapGetters("report", ["fields"]),
67
+ options() {
68
+ let options = [];
69
+ this.fields.options.forEach((option) => {
70
+ let obj = { content: option.text, id: option.value };
71
+ options.push(obj);
72
+ });
73
+ return options;
74
+ },
75
+ },
76
+ methods: {
77
+ ...mapMutations("report", ["updateSelectedFields"]),
78
+ },
79
+ watch: {
80
+ fieldsLocal: {
81
+ handler(fieldsLocal) {
82
+ this.updateSelectedFields(fieldsLocal);
83
+ },
84
+ deep: true,
85
+ },
86
+ },
87
+ };
88
+ </script>
89
+ <style scoped>
90
+ .div-options {
91
+ padding-left: 0px;
92
+ }
93
+ </style>
@@ -1,68 +1,68 @@
1
- <template>
2
- <div>
3
- <QueryBuilder />
4
- </div>
5
- </template>
6
-
7
- <script>
8
- import QueryBuilder from "./QueryBuilder.vue";
9
-
10
- import { mapMutations } from "vuex";
11
-
12
- export default {
13
- name: "Rules",
14
- components: { QueryBuilder },
15
- };
16
- </script>
17
-
18
- <style>
19
- .btn-secondary {
20
- background-color: #4ab4e2 !important;
21
- border: 0px !important;
22
- font-size: 14px !important;
23
- border-radius: 20px !important;
24
- }
25
-
26
- .vue-query-builder .vqb-group.depth-1 .vqb-rule,
27
- .vue-query-builder .vqb-group.depth-2 {
28
- border-left: 2px solid #577696 !important;
29
- }
30
-
31
- .vue-query-builder .vqb-rule {
32
- background-color: #fafafc !important;
33
- }
34
-
35
- .form-i nline label {
36
- font-size: 14px !important;
37
- }
38
-
39
- .card-header {
40
- padding: 5px !important;
41
- }
42
-
43
- .card {
44
- padding: 10px !important;
45
- }
46
-
47
- .vqb-rule {
48
- margin-bottom: 10px !important;
49
- }
50
-
51
- .rule-actions {
52
- margin-bottom: 10px !important;
53
- }
54
-
55
- .mr-2 {
56
- font-size: 14px !important;
57
- margin-left: 10px !important;
58
- }
59
-
60
- .form-inline .form-control {
61
- min-width: 200px !important;
62
- }
63
-
64
- option {
65
- font-size: 14px !important;
66
- padding: 5px !important;
67
- }
68
- </style>
1
+ <template>
2
+ <div>
3
+ <QueryBuilder />
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import QueryBuilder from "./QueryBuilder.vue";
9
+
10
+ import { mapMutations } from "vuex";
11
+
12
+ export default {
13
+ name: "Rules",
14
+ components: { QueryBuilder },
15
+ };
16
+ </script>
17
+
18
+ <style>
19
+ .btn-secondary {
20
+ background-color: #4ab4e2 !important;
21
+ border: 0px !important;
22
+ font-size: 14px !important;
23
+ border-radius: 20px !important;
24
+ }
25
+
26
+ .vue-query-builder .vqb-group.depth-1 .vqb-rule,
27
+ .vue-query-builder .vqb-group.depth-2 {
28
+ border-left: 2px solid #577696 !important;
29
+ }
30
+
31
+ .vue-query-builder .vqb-rule {
32
+ background-color: #fafafc !important;
33
+ }
34
+
35
+ .form-i nline label {
36
+ font-size: 14px !important;
37
+ }
38
+
39
+ .card-header {
40
+ padding: 5px !important;
41
+ }
42
+
43
+ .card {
44
+ padding: 10px !important;
45
+ }
46
+
47
+ .vqb-rule {
48
+ margin-bottom: 10px !important;
49
+ }
50
+
51
+ .rule-actions {
52
+ margin-bottom: 10px !important;
53
+ }
54
+
55
+ .mr-2 {
56
+ font-size: 14px !important;
57
+ margin-left: 10px !important;
58
+ }
59
+
60
+ .form-inline .form-control {
61
+ min-width: 200px !important;
62
+ }
63
+
64
+ option {
65
+ font-size: 14px !important;
66
+ padding: 5px !important;
67
+ }
68
+ </style>
@@ -1,97 +1,97 @@
1
- <template>
2
- <div class="selected-filter" @blur="open = false">
3
- <div class="selected" :class="{ open: open }" @click="open = !open">
4
- <span class="title">{{ selected }}</span>
5
- </div>
6
- <div class="items" :class="{ hide: !open }">
7
- <div v-for="(options, i) of options" :key="i">
8
- <div @click="select(options)">
9
- <span :class="options.classCss">
10
- <i class="icon-query-builder" :class="options.icon"></i>
11
- <span class="title"> {{ options.title }}</span>
12
- </span>
13
- </div>
14
- </div>
15
- </div>
16
- </div>
17
- </template>
18
-
19
- <script>
20
- export default {
21
- props: ["options", "value"],
22
- data() {
23
- return {
24
- selected: "Selecione os filtros",
25
- open: false,
26
- };
27
- },
28
- mounted() {
29
- this.$emit("input", this.selected);
30
- },
31
- methods: {
32
- select(options) {
33
- this.$emit("input", options);
34
- this.selected = options.title;
35
- this.open = false;
36
- },
37
- },
38
- };
39
- </script>
40
-
41
- <style scoped>
42
- .selected-filter {
43
- position: relative;
44
- width: 100%;
45
- text-align: left;
46
- outline: none;
47
- height: 40px;
48
- line-height: 40px;
49
- z-index: 500;
50
- }
51
-
52
- .selected-filter .selected {
53
- background-color: white;
54
- border: 1px solid #DBDEE0;
55
- border-radius: 6px;
56
- color: #495057;
57
- padding-left: 1em;
58
- cursor: pointer;
59
- user-select: none;
60
- }
61
-
62
- .selected-filter .selected:after {
63
- position: absolute;
64
- content: "";
65
- top: 19px;
66
- right: 1em;
67
- width: 0;
68
- height: 0;
69
- border: 5px solid transparent;
70
- border-color: black transparent transparent transparent;
71
- }
72
-
73
- .selected-filter .items {
74
- color: black;
75
- border-radius: 0px 0px 6px 6px;
76
- overflow: hidden;
77
- position: absolute;
78
- background-color: #fafafc;
79
- left: 0;
80
- right: 0;
81
- z-index: 1;
82
- height: 200px;
83
- overflow-y: visible;
84
- overflow-x: hidden;
85
- }
86
-
87
- .selected-filter .items div {
88
- color: black;
89
- padding-left: 1em;
90
- cursor: pointer;
91
- user-select: none;
92
- }
93
-
94
- .hide {
95
- display: none;
96
- }
97
- </style>
1
+ <template>
2
+ <div class="selected-filter" @blur="open = false">
3
+ <div class="selected" :class="{ open: open }" @click="open = !open">
4
+ <span class="title">{{ selected }}</span>
5
+ </div>
6
+ <div class="items" :class="{ hide: !open }">
7
+ <div v-for="(options, i) of options" :key="i">
8
+ <div @click="select(options)">
9
+ <span :class="options.classCss">
10
+ <i class="icon-query-builder" :class="options.icon"></i>
11
+ <span class="title"> {{ options.title }}</span>
12
+ </span>
13
+ </div>
14
+ </div>
15
+ </div>
16
+ </div>
17
+ </template>
18
+
19
+ <script>
20
+ export default {
21
+ props: ["options", "value"],
22
+ data() {
23
+ return {
24
+ selected: "Selecione os filtros",
25
+ open: false,
26
+ };
27
+ },
28
+ mounted() {
29
+ this.$emit("input", this.selected);
30
+ },
31
+ methods: {
32
+ select(options) {
33
+ this.$emit("input", options);
34
+ this.selected = options.title;
35
+ this.open = false;
36
+ },
37
+ },
38
+ };
39
+ </script>
40
+
41
+ <style scoped>
42
+ .selected-filter {
43
+ position: relative;
44
+ width: 100%;
45
+ text-align: left;
46
+ outline: none;
47
+ height: 40px;
48
+ line-height: 40px;
49
+ z-index: 500;
50
+ }
51
+
52
+ .selected-filter .selected {
53
+ background-color: white;
54
+ border: 1px solid #DBDEE0;
55
+ border-radius: 6px;
56
+ color: #495057;
57
+ padding-left: 1em;
58
+ cursor: pointer;
59
+ user-select: none;
60
+ }
61
+
62
+ .selected-filter .selected:after {
63
+ position: absolute;
64
+ content: "";
65
+ top: 19px;
66
+ right: 1em;
67
+ width: 0;
68
+ height: 0;
69
+ border: 5px solid transparent;
70
+ border-color: black transparent transparent transparent;
71
+ }
72
+
73
+ .selected-filter .items {
74
+ color: black;
75
+ border-radius: 0px 0px 6px 6px;
76
+ overflow: hidden;
77
+ position: absolute;
78
+ background-color: #fafafc;
79
+ left: 0;
80
+ right: 0;
81
+ z-index: 1;
82
+ height: 200px;
83
+ overflow-y: visible;
84
+ overflow-x: hidden;
85
+ }
86
+
87
+ .selected-filter .items div {
88
+ color: black;
89
+ padding-left: 1em;
90
+ cursor: pointer;
91
+ user-select: none;
92
+ }
93
+
94
+ .hide {
95
+ display: none;
96
+ }
97
+ </style>
@@ -1,59 +1,59 @@
1
- <template>
2
- <div>
3
- <div class="side-by-side div-tag" v-for="tag in tagsLocal" :key="tag.id">
4
- <Tag :eventName="eventName" :eventData="tag" :title="tag.title" :value="tag.value" />
5
- </div>
6
- </div>
7
- </template>
8
-
9
- <script>
10
- import Tag from "@nixweb/nixloc-ui/src/component/layout/Tag";
11
-
12
- import { mapGetters, mapMutations } from "vuex";
13
-
14
- export default {
15
- name: "Tags",
16
- components: { Tag },
17
- props: {
18
- eventName: String,
19
- },
20
- data() {
21
- return {
22
- tagsLocal: [],
23
- };
24
- },
25
- created() {
26
- let self = this;
27
- setTimeout(function () {
28
- self.tagsLocal = self.tags;
29
- }, 100);
30
- },
31
- computed: {
32
- ...mapGetters("report", ["tags"]),
33
- ...mapGetters("generic", ["showModal", "event"]),
34
- },
35
- methods: {
36
- ...mapMutations("report", ["removeSelectedRule"]),
37
- },
38
- watch: {
39
- event: {
40
- handler(event) {
41
- if (event.name == "tagRemoved") {
42
- var tags = this.tagsLocal.filter((item) => {
43
- return item.id != event.data.id;
44
- });
45
- this.tagsLocal = tags;
46
- this.removeSelectedRule(event.data.id);
47
- }
48
- },
49
- deep: true,
50
- },
51
- tags: {
52
- handler(value) {
53
- this.tagsLocal = value;
54
- },
55
- deep: true,
56
- },
57
- },
58
- };
59
- </script>
1
+ <template>
2
+ <div>
3
+ <div class="side-by-side div-tag" v-for="tag in tagsLocal" :key="tag.id">
4
+ <Tag :eventName="eventName" :eventData="tag" :title="tag.title" :value="tag.value" />
5
+ </div>
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ import Tag from "@nixweb/nixloc-ui/src/component/layout/Tag";
11
+
12
+ import { mapGetters, mapMutations } from "vuex";
13
+
14
+ export default {
15
+ name: "Tags",
16
+ components: { Tag },
17
+ props: {
18
+ eventName: String,
19
+ },
20
+ data() {
21
+ return {
22
+ tagsLocal: [],
23
+ };
24
+ },
25
+ created() {
26
+ let self = this;
27
+ setTimeout(function () {
28
+ self.tagsLocal = self.tags;
29
+ }, 100);
30
+ },
31
+ computed: {
32
+ ...mapGetters("report", ["tags"]),
33
+ ...mapGetters("generic", ["showModal", "event"]),
34
+ },
35
+ methods: {
36
+ ...mapMutations("report", ["removeSelectedRule"]),
37
+ },
38
+ watch: {
39
+ event: {
40
+ handler(event) {
41
+ if (event.name == "tagRemoved") {
42
+ var tags = this.tagsLocal.filter((item) => {
43
+ return item.id != event.data.id;
44
+ });
45
+ this.tagsLocal = tags;
46
+ this.removeSelectedRule(event.data.id);
47
+ }
48
+ },
49
+ deep: true,
50
+ },
51
+ tags: {
52
+ handler(value) {
53
+ this.tagsLocal = value;
54
+ },
55
+ deep: true,
56
+ },
57
+ },
58
+ };
59
+ </script>