pui9-components 2.0.7 → 3.0.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 (67) hide show
  1. package/dist/pui9-components.common.js +5403 -22189
  2. package/dist/pui9-components.css +3 -6
  3. package/package-lock.json +635 -774
  4. package/package.json +1 -5
  5. package/src/App.vue +0 -117
  6. package/src/components/PuiAutocomplete.vue +0 -196
  7. package/src/components/PuiCauDialog.vue +0 -192
  8. package/src/components/PuiCheckbox.vue +0 -126
  9. package/src/components/PuiCodeEditor.vue +0 -124
  10. package/src/components/PuiDateField.vue +0 -1043
  11. package/src/components/PuiField.vue +0 -30
  12. package/src/components/PuiFieldSet.vue +0 -27
  13. package/src/components/PuiFileUpload.vue +0 -275
  14. package/src/components/PuiFileUploadGroup.vue +0 -241
  15. package/src/components/PuiFilter.vue +0 -104
  16. package/src/components/PuiFilterGroup.vue +0 -291
  17. package/src/components/PuiFilterRule.vue +0 -683
  18. package/src/components/PuiFormFooter.vue +0 -48
  19. package/src/components/PuiFormFooterBtns.vue +0 -118
  20. package/src/components/PuiFormHeader.vue +0 -25
  21. package/src/components/PuiFormLoading.vue +0 -14
  22. package/src/components/PuiFormMiniAudit.vue +0 -53
  23. package/src/components/PuiFormTooltip.vue +0 -50
  24. package/src/components/PuiMasterDetail.vue +0 -103
  25. package/src/components/PuiModalDialog.vue +0 -91
  26. package/src/components/PuiModalDialogForm.vue +0 -209
  27. package/src/components/PuiMultiSelect.vue +0 -636
  28. package/src/components/PuiNumberField.vue +0 -434
  29. package/src/components/PuiPasswordField.vue +0 -105
  30. package/src/components/PuiRadioGroup.vue +0 -105
  31. package/src/components/PuiRichTextEditor.vue +0 -116
  32. package/src/components/PuiSelect.vue +0 -1675
  33. package/src/components/PuiSelectDetailDialog.vue +0 -113
  34. package/src/components/PuiSelectTextService.vue +0 -61
  35. package/src/components/PuiSelectorList.vue +0 -169
  36. package/src/components/PuiSort.vue +0 -98
  37. package/src/components/PuiSpinnerField.vue +0 -464
  38. package/src/components/PuiSwitch.vue +0 -104
  39. package/src/components/PuiTextArea.vue +0 -204
  40. package/src/components/PuiTextField.vue +0 -389
  41. package/src/dateTimeUtils.js +0 -78
  42. package/src/index.js +0 -89
  43. package/src/main.js +0 -34
  44. package/src/mixins/PuiFormComponentMixin.js +0 -77
  45. package/src/mixins/PuiSortMixin.js +0 -136
  46. package/src/mixins/PuiUtilsNumberMixin.js +0 -29
  47. package/src/plugins/vuetify.js +0 -33
  48. package/src/tests/TestAutocomplete.vue +0 -138
  49. package/src/tests/TestCodeEditor.vue +0 -48
  50. package/src/tests/TestField.vue +0 -22
  51. package/src/tests/TestFieldSet.vue +0 -30
  52. package/src/tests/TestInputCheckbox.vue +0 -53
  53. package/src/tests/TestInputDate.vue +0 -146
  54. package/src/tests/TestInputNumber.vue +0 -77
  55. package/src/tests/TestInputRadioGroup.vue +0 -86
  56. package/src/tests/TestInputSpinner.vue +0 -77
  57. package/src/tests/TestInputSwitch.vue +0 -52
  58. package/src/tests/TestInputText.vue +0 -120
  59. package/src/tests/TestInputTextArea.vue +0 -73
  60. package/src/tests/TestMultiSelect.vue +0 -127
  61. package/src/tests/TestPuiForm.vue +0 -68
  62. package/src/tests/TestRichTextEditor.vue +0 -54
  63. package/src/tests/unit/PuiCheckbox.spec.js +0 -86
  64. package/src/tests/unit/PuiTextArea.spec.js +0 -62
  65. package/src/tests/unit/PuiTextField.spec.js +0 -119
  66. package/src/tests/unit/index.js +0 -5
  67. package/src/utils.js +0 -158
@@ -1,113 +0,0 @@
1
- <template>
2
- <pui-modal-dialog
3
- :titleText="titleText"
4
- :messageText="messageText"
5
- :okText="okText"
6
- :cancelText="cancelText"
7
- :widthDialog="widthDialog"
8
- :dialogName="dialogName"
9
- ref="modalForm"
10
- >
11
- <template slot="message">
12
- <component :is="componentName" :pk="componentPk" :method="componentMethod" isModalDialog></component>
13
- </template>
14
- </pui-modal-dialog>
15
- </template>
16
-
17
- <script>
18
- export default {
19
- name: 'PuiSelectDetailDialog',
20
- props: {
21
- parentId: {
22
- type: String,
23
- required: true
24
- },
25
- componentLabel: {
26
- type: String,
27
- required: true
28
- },
29
- componentName: {
30
- type: String,
31
- required: true
32
- },
33
- componentPk: {
34
- type: String,
35
- required: true
36
- },
37
- componentMethod: {
38
- type: String,
39
- required: true
40
- },
41
- modelName: {
42
- type: String,
43
- default: null,
44
- required: false
45
- }
46
- },
47
- data() {
48
- return {
49
- titleText: this.componentLabel,
50
- messageText: '',
51
- okText: this.componentMethod !== 'read' ? this.$t('form.save') : this.$t('form.ok'),
52
- cancelText: this.componentMethod !== 'read' ? this.$t('form.cancel') : null,
53
- widthDialog: window.innerWidth * 0.9,
54
- dialogName: this.componentName + '_' + this.parentId + '_popup'
55
- };
56
- },
57
- mounted() {
58
- var self = this;
59
- this.$puiEvents.$on(`pui-modalDialog-${this.dialogName}-ok`, () => {
60
- if (self.componentMethod === 'read') {
61
- this.$puiEvents.$emit(`pui-modalDialog-${self.dialogName}-hide`);
62
- } else {
63
- const form = self.getFormComponent(self.$refs.modalForm.$children[0]);
64
- if (form) {
65
- form.save(true);
66
- this.$puiEvents.$on(`onPui-insertRow-dataTable-${self.modelName}`, (data) => {
67
- this.$puiEvents.$emit(`pui-modalDialog-${self.dialogName}-hide`, data);
68
- });
69
- this.$puiEvents.$on(`onPui-editRow-dataTable-${self.modelName}`, (data) => {
70
- this.$puiEvents.$emit(`pui-modalDialog-${self.dialogName}-hide`, data);
71
- });
72
- } else {
73
- this.$puiEvents.$emit(`pui-modalDialog-${self.dialogName}-hide`);
74
- }
75
- }
76
- });
77
- this.$puiEvents.$on(`pui-modalDialog-${this.dialogName}-cancel`, () => {
78
- this.$puiEvents.$emit(`pui-modalDialog-${self.dialogName}-hide`);
79
- });
80
- },
81
- destroyed() {
82
- this.$puiEvents.$off(`pui-modalDialog-${this.dialogName}-ok`);
83
- this.$puiEvents.$off(`pui-modalDialog-${this.dialogName}-cancel`);
84
- if (this.modelName) {
85
- this.$puiEvents.$off(`onPui-insertRow-dataTable-${this.modelName}`);
86
- this.$puiEvents.$off(`onPui-editRow-dataTable-${this.modelName}`);
87
- }
88
- },
89
- methods: {
90
- getFormComponent(component) {
91
- if (!component) {
92
- return null;
93
- }
94
- if (
95
- component.$options &&
96
- (component.$options._componentTag === `${this.modelName}form` || component.$options._componentTag === `${this.modelName}-form`)
97
- ) {
98
- return component;
99
- }
100
- for (let i = 0, childrenLength = component.$children.length; i < childrenLength; i++) {
101
- const child = this.getFormComponent(component.$children[i]);
102
- if (
103
- child &&
104
- child.$options &&
105
- (child.$options._componentTag === `${this.modelName}form` || child.$options._componentTag === `${this.modelName}-form`)
106
- ) {
107
- return child;
108
- }
109
- }
110
- }
111
- }
112
- };
113
- </script>
@@ -1,61 +0,0 @@
1
- <template>
2
- <v-list-item-title v-if="type === 'item'" v-html="text" :title="text" :style="'white-space: unset !important;'"></v-list-item-title>
3
- <span v-else class="pr-2" :class="compClass">{{ text }}</span>
4
- </template>
5
-
6
- <script>
7
- export default {
8
- name: 'PuiSelectTextService',
9
- data: () => ({}),
10
- props: {
11
- item: {
12
- type: [Object, String, Number],
13
- required: true
14
- },
15
- type: {
16
- type: String,
17
- default: 'item',
18
- required: false
19
- },
20
- itemText: {
21
- type: [Function, String, Array],
22
- required: true
23
- },
24
- truncate: {
25
- type: Boolean,
26
- default: false,
27
- required: false
28
- },
29
- writing: {
30
- type: Boolean,
31
- default: false,
32
- required: false
33
- },
34
- disabled: {
35
- type: Boolean,
36
- default: false,
37
- required: false
38
- }
39
- },
40
- computed: {
41
- text() {
42
- let customText;
43
- if (this.itemText instanceof Function) {
44
- customText = this.itemText(this.item);
45
- } else if (Array.isArray(this.itemText)) {
46
- customText = this.itemText.slice(1).reduce((a, b) => {
47
- return `${a} - ${b}`;
48
- }, this.itemText[0]);
49
- }
50
-
51
- return customText || this.item[this.itemText];
52
- },
53
- compClass() {
54
- return {
55
- 'puiselect-text-truncate': this.truncate && !this.writing && !this.disabled,
56
- 'puiselect-text': !this.writing
57
- };
58
- }
59
- }
60
- };
61
- </script>
@@ -1,169 +0,0 @@
1
- <template>
2
- <div>
3
- <v-row>
4
- <v-col>
5
- <div :style="{ 'max-height': '336px', 'overflow-y': 'auto' }">
6
- <v-list v-if="hasCols">
7
- <v-list-item-group v-model="columnId" color="primary" mandatory>
8
- <!-- <v-list-item link v-for="(column, index) in confReactive.columns" :key="`gridColumn-${index}`" @click="columnId = index"> -->
9
- <v-list-item
10
- link
11
- v-for="(column, index) in columns"
12
- :key="`gridColumn-${index}`"
13
- @click="
14
- columnId = index;
15
- columnValue = column;
16
- handleClick();
17
- "
18
- >
19
- <v-list-item-content>
20
- <v-list-item-title v-if="dataType == 'Object'"> {{ column[nameProp] }} </v-list-item-title>
21
- <v-list-item-title v-else> {{ column }} </v-list-item-title>
22
- </v-list-item-content>
23
- </v-list-item>
24
- </v-list-item-group>
25
- </v-list>
26
- </div>
27
- </v-col>
28
- <v-col>
29
- <v-row>
30
- <v-col>
31
- <v-btn depressed @click="addColumn()"><v-icon small>far fa-plus</v-icon></v-btn>
32
- </v-col>
33
- </v-row>
34
- <v-row class="mb-2">
35
- <v-col>
36
- <v-btn depressed @click="removeColumn()"><v-icon small>far fa-minus</v-icon></v-btn>
37
- </v-col>
38
- </v-row>
39
- <v-select toplabel clearable :items="currentItemsToSelect" v-model="selected"></v-select>
40
- </v-col>
41
- </v-row>
42
- <slot name="below"></slot>
43
- </div>
44
- </template>
45
-
46
- <script>
47
- export default {
48
- name: 'PuiSelectorList',
49
- data() {
50
- return {
51
- columnId: this.value,
52
- columnValue: '',
53
- selected: '',
54
- currentItemsToSelect: []
55
- };
56
- },
57
- props: {
58
- confReactive: {
59
- required: true
60
- },
61
-
62
- objName: {
63
- type: String,
64
- required: true
65
- },
66
- dataType: {
67
- type: String,
68
- default: 'Object'
69
- },
70
- nameProp: {
71
- type: String,
72
- default: 'name'
73
- },
74
- dataTemplate: {},
75
- itemsToSelect: {
76
- type: Array
77
- },
78
- colsNames: {
79
- type: Array
80
- }
81
- },
82
- methods: {
83
- addColumn() {
84
- if (this.selected != '') {
85
- let data = '';
86
-
87
- if (this.dataType == 'Object') {
88
- data = { ...this.dataTemplate };
89
- this.$set(data, this.nameProp, this.selected);
90
- } else {
91
- data = this.selected;
92
- }
93
- if (!(this.objName in this.confReactive)) {
94
- //add = [add];
95
- this.$set(this.confReactive, this.objName, [data]);
96
- } else {
97
- this.confReactive[this.objName].push(data);
98
- }
99
- this.currentItemsToSelect = this.currentItemsToSelect.filter((v) => v != this.selected);
100
- this.selected = '';
101
- }
102
- },
103
- removeColumn() {
104
- if (this.confReactive[this.objName].length == 0) {
105
- return;
106
- }
107
- let v = this.columnValue;
108
- if (v == '') {
109
- v = this.confReactive[this.objName][this.columnId];
110
- }
111
- if (this.dataType == 'Object') {
112
- v = v[this.nameProp];
113
- }
114
- this.currentItemsToSelect.push(v);
115
- this.columnValue = '';
116
- let colDelete = this.columnId;
117
- if (this.columnId > 0) {
118
- this.columnId--;
119
- }
120
- this.handleClick(); // Update the value on the parent before removing the value from the array. It may give undefined errors without this line.
121
- this.confReactive[this.objName].splice(colDelete, 1);
122
- },
123
- handleClick() {
124
- this.$emit('input', this.columnId);
125
- }
126
- },
127
- computed: {
128
- hasCols() {
129
- if (typeof this.confReactive === 'undefined') {
130
- return false;
131
- }
132
-
133
- if (typeof this.confReactive != undefined) {
134
- return Object.prototype.hasOwnProperty.call(this.confReactive, this.objName);
135
- }
136
- return false;
137
- },
138
- columns() {
139
- if (typeof this.objName != undefined && Object.prototype.hasOwnProperty.call(this.confReactive, this.objName)) {
140
- return this.confReactive[this.objName];
141
- }
142
- return this.confReactive;
143
- }
144
- },
145
- created() {
146
- if (this.itemsToSelect != undefined) {
147
- if (this.itemsToSelect.length != 0) {
148
- this.currentItemsToSelect = [...this.itemsToSelect];
149
- }
150
- }
151
- if (this.hasCols && Array.isArray(this.confReactive[this.objName])) {
152
- this.confReactive[this.objName] = this.confReactive[this.objName].map((v) => {
153
- if (!(typeof v === 'object' && v !== null)) {
154
- return { name: v };
155
- }
156
- return v;
157
- });
158
- for (let item of this.confReactive[this.objName]) {
159
- if (this.dataType == 'Object') {
160
- const value = item[this.nameProp];
161
- this.currentItemsToSelect = this.currentItemsToSelect.filter((v) => v != value);
162
- } else {
163
- this.currentItemsToSelect = this.currentItemsToSelect.filter((v) => v != item);
164
- }
165
- }
166
- }
167
- }
168
- };
169
- </script>
@@ -1,98 +0,0 @@
1
- <template>
2
- <v-card-text class="pt-0 pr-2 pl-0 pb-0">
3
- <!-- slot1, TODO MAKE SLOTS IN FILTER AND SORTING DIALOGS-->
4
- <v-list-item>
5
- <v-list-item-action-text class="pui-dialog__title">{{ $t('puidatatables.sort') }}</v-list-item-action-text>
6
- </v-list-item>
7
- <v-flex xs12 class="pui-dialog__ruleContainer mb-1" :style="{ height: heightPanel }">
8
- <draggable :list="rules" v-bind="{ group: 'rules' }" @end="removeSelectsFocus">
9
- <div v-for="(rule, index) in rules" class="pui-dialog__rule pui-dialog__rule--small ml-1" :key="index">
10
- <v-layout wrap class="rule">
11
- <v-flex xs1>
12
- <v-list-item class="move draggable_point" v-show="(grouped === true && index === 0) === false">
13
- <v-icon small>far fa-ellipsis-v</v-icon>
14
- <v-icon small>far fa-ellipsis-v</v-icon>
15
- </v-list-item>
16
- </v-flex>
17
- <v-flex xs6 class="pr-2">
18
- <v-autocomplete
19
- class="font-size-12"
20
- label="column"
21
- append-icon="fa fa-angle-down"
22
- v-model="rule.column"
23
- :ref="`${index}-column`"
24
- :disabled="grouped === true && index === 0"
25
- solo
26
- flat
27
- @change="setIndex(index), onRuleNameChanged($event, index)"
28
- :items="getAvailableColumns(index)"
29
- item-text="name"
30
- item-value="name"
31
- hide-selected
32
- ></v-autocomplete>
33
- </v-flex>
34
- <v-flex xs4>
35
- <v-select
36
- append-icon="fa fa-angle-down"
37
- class="font-size-12"
38
- v-model="rule.direction"
39
- :ref="`${index}-sortType`"
40
- solo
41
- flat
42
- :items="sortingTypes"
43
- :label="$t('puidatatables.ascendent')"
44
- ></v-select>
45
- </v-flex>
46
- <v-flex xs1 class="pointer" @click="removeRule(index)" v-show="(grouped === true && index === 0) === false">
47
- <v-list-item>
48
- <v-icon small class="trashIcon" :title="getTitleRemove">fa fa-trash-alt</v-icon>
49
- </v-list-item>
50
- </v-flex>
51
- </v-layout>
52
- </div>
53
- </draggable>
54
- </v-flex>
55
- <v-flex xs12 v-show="showAddBtn">
56
- <v-btn class="btnAdd elevation-0 mt-0 mb-1" @click="addRule()">
57
- <v-icon small>far fa-plus</v-icon>
58
- <span>{{ $t('puidatatables.addRule') }}</span>
59
- </v-btn>
60
- </v-flex>
61
- </v-card-text>
62
- </template>
63
- <script>
64
- import PuiSortMixin from '../mixins/PuiSortMixin';
65
-
66
- export default {
67
- name: 'PuiSort',
68
- mixins: [PuiSortMixin]
69
- };
70
- </script>
71
-
72
- <style lang="postcss" scoped>
73
- .trashIcon {
74
- top: 10px;
75
- position: absolute;
76
- }
77
- .btnAdd {
78
- height: 28px !important;
79
- color: var(--N-500);
80
- &.v-btn {
81
- background-color: var(--N-0) !important;
82
- }
83
- & span {
84
- padding-left: 6px;
85
- }
86
- }
87
-
88
- .draggable_point .v-icon {
89
- margin-top: -12px;
90
- color: var(--N-50);
91
- }
92
- .draggable_btn {
93
- width: 20px !important;
94
- & .v-icon {
95
- margin-top: -12px;
96
- }
97
- }
98
- </style>