pui9-datatables 1.16.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.
Files changed (86) hide show
  1. package/README.md +24 -0
  2. package/dist/demo.html +10 -0
  3. package/dist/pui9-datatables.common.js +89206 -0
  4. package/dist/pui9-datatables.common.js.map +1 -0
  5. package/dist/pui9-datatables.css +5 -0
  6. package/dist/pui9-datatables.umd.js +89216 -0
  7. package/dist/pui9-datatables.umd.js.map +1 -0
  8. package/dist/pui9-datatables.umd.min.js +55 -0
  9. package/dist/pui9-datatables.umd.min.js.map +1 -0
  10. package/package-lock.json +15982 -0
  11. package/package.json +89 -0
  12. package/src/App.vue +37 -0
  13. package/src/components/desktop/PuiDatatable.vue +709 -0
  14. package/src/components/desktop/PuiQuickEditionDatatable.vue +548 -0
  15. package/src/components/desktop/PuiSimpleDatatable.vue +1498 -0
  16. package/src/components/desktop/datatables.net-plugins/pagination/input.js +213 -0
  17. package/src/components/desktop/footer/PuiDatatableFooter.vue +65 -0
  18. package/src/components/desktop/footer/PuiGridActionFooter.vue +132 -0
  19. package/src/components/desktop/quickedition/PuiQuickEditionExportBtn.vue +138 -0
  20. package/src/components/desktop/quickedition/PuiQuickEditionForm.vue +60 -0
  21. package/src/components/desktop/quickedition/PuiQuickEditionToolbar.vue +144 -0
  22. package/src/components/desktop/row/PuiGridRowActions.vue +112 -0
  23. package/src/components/desktop/subdialogs/PuiDatatableColumnMenu.vue +186 -0
  24. package/src/components/desktop/toolbar/PuiGridToolbar.vue +310 -0
  25. package/src/components/desktop/toolbar/actions/PuiGridActionListItem.vue +34 -0
  26. package/src/components/desktop/toolbar/actions/PuiGridActionsBtn.vue +56 -0
  27. package/src/components/desktop/toolbar/actions/PuiGridActionsDialog.vue +66 -0
  28. package/src/components/desktop/toolbar/actions/audit/PuiAuditDialog.vue +92 -0
  29. package/src/components/desktop/toolbar/actions/docgen/PuiDocgenTemplateMatchingsDialog.vue +139 -0
  30. package/src/components/desktop/toolbar/actions/docgen/PuiDocgenTemplateParametersDialog.vue +317 -0
  31. package/src/components/desktop/toolbar/actions/importexport/PuiGridExportDialog.vue +187 -0
  32. package/src/components/desktop/toolbar/actions/importexport/PuiGridImportDialog.vue +421 -0
  33. package/src/components/desktop/toolbar/export/PuiGridExportBtn.vue +175 -0
  34. package/src/components/desktop/toolbar/filtercombo/PuiGridFilterCombo.vue +237 -0
  35. package/src/components/desktop/toolbar/filtering/PuiGridFilterBtns.vue +163 -0
  36. package/src/components/desktop/toolbar/filtering/PuiGridFilterDialog.vue +434 -0
  37. package/src/components/desktop/toolbar/filtering/PuiGridFilterGroup.vue +313 -0
  38. package/src/components/desktop/toolbar/filtering/PuiGridFilterListBtn.vue +85 -0
  39. package/src/components/desktop/toolbar/filtering/PuiGridFilterListDialog.vue +254 -0
  40. package/src/components/desktop/toolbar/filtering/PuiGridFilterListItem.vue +192 -0
  41. package/src/components/desktop/toolbar/filtering/PuiGridFilterRule.vue +517 -0
  42. package/src/components/desktop/toolbar/grid-configuration/PuiGridConfBtns.vue +99 -0
  43. package/src/components/desktop/toolbar/grid-configuration/PuiGridConfDialog.vue +640 -0
  44. package/src/components/desktop/toolbar/grid-configuration/PuiSaveConfigDialog.vue +154 -0
  45. package/src/components/desktop/toolbar/row/PuiGridCreateBtn.vue +39 -0
  46. package/src/components/desktop/toolbar/row/PuiGridDeleteBtn.vue +86 -0
  47. package/src/components/desktop/toolbar/row/PuiGridRefreshBtn.vue +39 -0
  48. package/src/components/desktop/toolbar/row/PuiGridUpdateBtn.vue +56 -0
  49. package/src/components/desktop/toolbar/searching/PuiGridSearcher.vue +67 -0
  50. package/src/components/desktop/toolbar/searching/PuiGridSearcherColumnsList.vue +43 -0
  51. package/src/components/desktop/toolbar/sorting/PuiGridSortBtn.vue +44 -0
  52. package/src/components/desktop/toolbar/sorting/PuiGridSortDialog.vue +113 -0
  53. package/src/components/mobile/PuiDatalist.vue +477 -0
  54. package/src/components/mobile/PuiSimpleDatalist.vue +313 -0
  55. package/src/components/mobile/actions/PuiListActionListItem.vue +34 -0
  56. package/src/components/mobile/actions/PuiListActionsBtn.vue +38 -0
  57. package/src/components/mobile/actions/PuiListActionsDialog.vue +66 -0
  58. package/src/components/mobile/footer/PuiListActionFooter.vue +56 -0
  59. package/src/components/mobile/toolbar/PuiListToolbar.vue +60 -0
  60. package/src/components/mobile/toolbar/searching/PuiListSearcher.vue +53 -0
  61. package/src/components/mobile/toolbar/searching/PuiListSearcherColumnsList.vue +43 -0
  62. package/src/components/mobile/toolbar/sorting/PuiListSortBtn.vue +46 -0
  63. package/src/components/mobile/toolbar/sorting/PuiListSortDialog.vue +140 -0
  64. package/src/components/puiaudit/PuiAuditForm.vue +107 -0
  65. package/src/generalActions.js +135 -0
  66. package/src/index.js +31 -0
  67. package/src/main.js +67 -0
  68. package/src/mixins/PuiActionsBtnMixin.js +287 -0
  69. package/src/mixins/PuiActionsDialogMixin.js +161 -0
  70. package/src/mixins/PuiActionsListItemMixin.js +62 -0
  71. package/src/mixins/PuiDatatablesKeepPage.js +15 -0
  72. package/src/mixins/PuiGridFormMethodsMixin.js +133 -0
  73. package/src/mixins/PuiModelConfigurationMixin.js +15 -0
  74. package/src/mixins/PuiSearcherColumnsListMixin.js +108 -0
  75. package/src/mixins/PuiSearcherMixin.js +192 -0
  76. package/src/mixins/PuiSortBtnMixin.js +54 -0
  77. package/src/mixins/PuiSortDialogMixin.js +256 -0
  78. package/src/mixins/PuiToolbarBtnMixin.js +66 -0
  79. package/src/mixins/PuiToolbarDialogMixin.js +12 -0
  80. package/src/router.js +18 -0
  81. package/src/tests/PuiContainer.vue +139 -0
  82. package/src/tests/PuiProfileTestSimpleDatatable.vue +66 -0
  83. package/src/tests/PuiUserTestCompleteDatatable.vue +126 -0
  84. package/src/tests/PuiVariableTestQuickEditionDatatable.vue +39 -0
  85. package/src/tests/PuiVariableTestQuickEditionForm.vue +18 -0
  86. package/src/tests/modelConfigurations.json +3516 -0
@@ -0,0 +1,139 @@
1
+ <template>
2
+ <v-main v-show="showContainer" :class="puiContainerClass">
3
+ <router-view class="pui-container__body"></router-view>
4
+ </v-main>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ data() {
10
+ return {
11
+ isMobile: this.$store.state.global.isMobile,
12
+ showContainer: true,
13
+ desktopMenuOpened: false,
14
+ secondMenuOpened: false,
15
+ showLeftBar: true
16
+ };
17
+ },
18
+ computed: {
19
+ puiContainerClass() {
20
+ return {
21
+ 'pui-container': true,
22
+ 'pui-container--scroll': true,
23
+ 'pui-container--desktop': !this.isMobile,
24
+ 'pui-container--mobile': this.isMobile,
25
+ 'pui-container--menu-closed': !this.desktopMenuOpened && !this.secondMenuOpened,
26
+ 'pui-container--menu-keepExpanded': this.secondMenuOpened,
27
+ 'pui-container--menu-opened': this.desktopMenuOpened && !this.secondMenuOpened,
28
+ 'pui-container--menu-hidden': !this.showLeftBar
29
+ };
30
+ },
31
+ onPuiExpandMenu() {
32
+ return this.$store.state.menu.expandMenuForce;
33
+ },
34
+ onPuiHideMenu() {
35
+ return this.$store.state.menu.hideMenuForce;
36
+ },
37
+ onPuiSecondMenuShowed() {
38
+ return this.$store.state.menu.secondMenuShowedForce;
39
+ },
40
+ onPuiMenuMustColapseMenu() {
41
+ return this.$store.state.menu.mustColapseMenu;
42
+ },
43
+ onPuiMenuIconBarSelected() {
44
+ return this.$store.state.menu.iconBarSelected;
45
+ }
46
+ },
47
+ watch: {
48
+ onPuiExpandMenu() {
49
+ this.onExpandMenu(this.$store.state.menu.expandMenu);
50
+ },
51
+ onPuiHideMenu() {
52
+ this.showLeftBar = !this.$store.state.menu.hideMenu;
53
+ },
54
+ onPuiSecondMenuShowed() {
55
+ this.secondMenuOpened = this.$store.state.menu.secondMenuShowed;
56
+ },
57
+ onPuiMenuMustColapseMenu() {
58
+ this.desktopMenuOpened = false;
59
+ },
60
+ onPuiMenuIconBarSelected(obj) {
61
+ if (this.isMobile) {
62
+ this.showContainer = true;
63
+ } else {
64
+ if (obj.withMenu === undefined || obj.withMenu === null || obj.withMenu === true) {
65
+ this.desktopMenuOpened = false;
66
+ }
67
+ }
68
+ }
69
+ },
70
+ methods: {
71
+ onExpandMenu(expanded) {
72
+ if (this.isMobile) {
73
+ this.showContainer = !expanded;
74
+ } else {
75
+ this.desktopMenuOpened = expanded;
76
+ this.secondMenuOpened = false;
77
+ }
78
+ }
79
+ },
80
+ created() {
81
+ const menuConf = this.$store.getters.getMenuConf;
82
+ this.desktopMenuOpened = menuConf.expanded;
83
+ this.showLeftBar = menuConf.showLeftBar;
84
+ }
85
+ };
86
+ </script>
87
+
88
+ <style lang="postcss" scoped>
89
+ body {
90
+ --pui-container-header__heigh: 0;
91
+ --pui-container-footer__heigh: 0;
92
+ --pui-menu-bar__width: 64px;
93
+ }
94
+ .pui-container {
95
+ &--scroll {
96
+ overflow-y: auto;
97
+ }
98
+ &--desktop {
99
+ margin-left: var(--pui-menu-bar__width) !important;
100
+ }
101
+ &--menu-hidden {
102
+ margin-left: 0px !important;
103
+ width: 100% !important;
104
+ }
105
+ &--menu-opened {
106
+ margin-left: 304px !important;
107
+ width: calc(100% - 304px);
108
+ }
109
+ &--menu-closed {
110
+ width: calc(100% - var(--pui-menu-bar__width));
111
+ padding-left: 0px !important;
112
+ }
113
+ &--menu-keepExpanded {
114
+ margin-left: 0px !important;
115
+ width: calc(100% - var(--pui-menu-bar__width));
116
+ }
117
+ &--mobile {
118
+ padding-top: 0px !important;
119
+ margin-left: 0px !important;
120
+ width: calc(100vh - 50px) !important;
121
+ }
122
+ &__body {
123
+ height: calc(100vh - var(--pui-container-header__heigh) - var(--pui-container-footer__heigh));
124
+
125
+ &--withheader {
126
+ --pui-container-header__heigh: 7.5em;
127
+ }
128
+ &--withfooter {
129
+ --pui-container-footer__heigh: 1.875em;
130
+ }
131
+ }
132
+ &__header {
133
+ height: 4em;
134
+ }
135
+ &__children {
136
+ overflow-y: inherit;
137
+ }
138
+ }
139
+ </style>
@@ -0,0 +1,66 @@
1
+ <template>
2
+ <v-layout v-if="onModelsLoadedAndSaved">
3
+ <v-flex xs12>
4
+ <h2>{{ modelName }}</h2>
5
+ <pui-simple-datatable v-if="!isMobile" :modelName="modelName" :columns="columns"></pui-simple-datatable>
6
+ <pui-simple-datalist v-else :modelName="modelName">
7
+ <template slot="itemContent" slot-scope="{ item }">
8
+ <v-list-item-title>{{ item.profile }}</v-list-item-title>
9
+ <v-list-item-subtitle>{{ item.name }}</v-list-item-subtitle>
10
+ </template>
11
+ </pui-simple-datalist>
12
+ </v-flex>
13
+ </v-layout>
14
+ </template>
15
+
16
+ <script>
17
+ import PuiSimpleDatatable from '@/components/desktop/PuiSimpleDatatable';
18
+ import PuiSimpleDatalist from '@/components/mobile/PuiSimpleDatalist';
19
+
20
+ export default {
21
+ components: { PuiSimpleDatatable, PuiSimpleDatalist },
22
+ data() {
23
+ return {
24
+ isMobile: this.$store.getters.isMobile,
25
+ modelName: 'puiprofile',
26
+ columns: [
27
+ {
28
+ name: 'profile',
29
+ title: 'vpuiprofile.profile',
30
+ type: 'text',
31
+ isPk: true,
32
+ visible: true,
33
+ order: 1,
34
+ orderable: true,
35
+ data: 'profile'
36
+ },
37
+ {
38
+ name: 'name',
39
+ title: 'vpuiprofile.name',
40
+ type: 'text',
41
+ isPk: false,
42
+ visible: true,
43
+ order: 2,
44
+ orderable: true,
45
+ data: 'name'
46
+ },
47
+ {
48
+ name: 'lang',
49
+ title: 'vpuiprofile.lang',
50
+ type: 'text',
51
+ isPk: false,
52
+ visible: true,
53
+ order: 3,
54
+ orderable: true,
55
+ data: 'lang'
56
+ }
57
+ ]
58
+ };
59
+ },
60
+ computed: {
61
+ onModelsLoadedAndSaved() {
62
+ return this.$store.state.modelsLoadedAndSaved;
63
+ }
64
+ }
65
+ };
66
+ </script>
@@ -0,0 +1,126 @@
1
+ <template>
2
+ <v-layout v-if="onModelsLoadedAndSaved">
3
+ <v-flex xs12>
4
+ <h2>{{ modelName }}</h2>
5
+ <pui-datatable v-if="!isMobile" :modelName="modelName" :columns="columns"></pui-datatable>
6
+ <pui-datalist v-else :modelName="modelName">
7
+ <template slot="itemContent" slot-scope="{ item }">
8
+ <v-list-item-title>{{ item.usr }}</v-list-item-title>
9
+ <v-list-item-subtitle>{{ item.name }}</v-list-item-subtitle>
10
+ </template>
11
+ </pui-datalist>
12
+ </v-flex>
13
+ </v-layout>
14
+ </template>
15
+
16
+ <script>
17
+ import PuiDatatable from '@/components/desktop/PuiDatatable';
18
+ import PuiDatalist from '@/components/mobile/PuiDatalist';
19
+
20
+ export default {
21
+ components: { PuiDatatable, PuiDatalist },
22
+ data() {
23
+ return {
24
+ isMobile: this.$store.getters.isMobile,
25
+ modelName: 'puiuser',
26
+ columns: [
27
+ {
28
+ name: 'usr',
29
+ title: 'vpuiuser.usr',
30
+ type: 'text',
31
+ isPk: true,
32
+ visible: true,
33
+ order: 1,
34
+ orderable: true,
35
+ data: 'usr'
36
+ },
37
+ {
38
+ name: 'name',
39
+ title: 'vpuiuser.name',
40
+ type: 'text',
41
+ isPk: false,
42
+ visible: true,
43
+ order: 1,
44
+ orderable: true,
45
+ data: 'name'
46
+ },
47
+ {
48
+ name: 'email',
49
+ title: 'vpuiuser.email',
50
+ type: 'text',
51
+ isPk: false,
52
+ visible: true,
53
+ order: 1,
54
+ orderable: true,
55
+ data: 'email'
56
+ },
57
+ {
58
+ name: 'language',
59
+ title: 'vpuiuser.language',
60
+ type: 'text',
61
+ isPk: false,
62
+ visible: true,
63
+ order: 1,
64
+ orderable: true,
65
+ data: 'language'
66
+ },
67
+ {
68
+ name: 'dateformat',
69
+ title: 'vpuiuser.dateformat',
70
+ type: 'text',
71
+ isPk: false,
72
+ visible: true,
73
+ order: 1,
74
+ orderable: true,
75
+ data: 'dateformat'
76
+ },
77
+ {
78
+ name: 'disabled',
79
+ title: 'vpuiuser.disabled',
80
+ type: 'numeric',
81
+ isPk: false,
82
+ visible: true,
83
+ order: 1,
84
+ orderable: true,
85
+ data: 'disabled'
86
+ },
87
+ {
88
+ name: 'disableddate',
89
+ title: 'vpuiuser.disableddate',
90
+ type: 'datetime',
91
+ isPk: false,
92
+ visible: true,
93
+ order: 1,
94
+ orderable: true,
95
+ data: 'disableddate'
96
+ },
97
+ {
98
+ name: 'lastaccesstime',
99
+ title: 'vpuiuser.lastaccesstime',
100
+ type: 'datetime',
101
+ isPk: false,
102
+ visible: true,
103
+ order: 1,
104
+ orderable: true,
105
+ data: 'lastaccesstime'
106
+ },
107
+ {
108
+ name: 'lastaccessip',
109
+ title: 'vpuiuser.lastaccessip',
110
+ type: 'text',
111
+ isPk: false,
112
+ visible: true,
113
+ order: 1,
114
+ orderable: true,
115
+ data: 'lastaccessip'
116
+ }
117
+ ]
118
+ };
119
+ },
120
+ computed: {
121
+ onModelsLoadedAndSaved() {
122
+ return this.$store.state.modelsLoadedAndSaved;
123
+ }
124
+ }
125
+ };
126
+ </script>
@@ -0,0 +1,39 @@
1
+ <template>
2
+ <v-layout>
3
+ <v-flex xs12>
4
+ <h2>{{ modelName }}</h2>
5
+ <pui-quick-edition-datatable
6
+ v-if="onModelsLoadedAndSaved"
7
+ :modelName="modelName"
8
+ formPosition="right"
9
+ :formComponentName="formComponentName"
10
+ :formModelTemplate="formModelTemplate"
11
+ :disabled="false"
12
+ ></pui-quick-edition-datatable>
13
+ </v-flex>
14
+ </v-layout>
15
+ </template>
16
+
17
+ <script>
18
+ import PuiQuickEditionDatatable from '@/components/desktop/PuiQuickEditionDatatable';
19
+ import PuiVariableTestQuickEditionForm from './PuiVariableTestQuickEditionForm';
20
+
21
+ export default {
22
+ components: { PuiQuickEditionDatatable },
23
+ data() {
24
+ return {
25
+ modelName: 'puivariable',
26
+ formComponentName: '',
27
+ formModelTemplate: {}
28
+ };
29
+ },
30
+ computed: {
31
+ onModelsLoadedAndSaved() {
32
+ return this.$store.state.modelsLoadedAndSaved;
33
+ }
34
+ },
35
+ created() {
36
+ this.$store.state.components[PuiVariableTestQuickEditionForm.name] = PuiVariableTestQuickEditionForm;
37
+ }
38
+ };
39
+ </script>
@@ -0,0 +1,18 @@
1
+ <template>
2
+ <v-layout>
3
+ <v-flex xs12>
4
+ <h2>{{ modelName }}</h2>
5
+ </v-flex>
6
+ </v-layout>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ name: 'PuiVariableTestQuickEditionForm',
12
+ data() {
13
+ return {
14
+ modelName: 'puivariable'
15
+ };
16
+ }
17
+ };
18
+ </script>