@conduction/nextcloud-vue 0.1.0-beta.3 → 0.1.0-beta.5

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 (142) hide show
  1. package/README.md +226 -226
  2. package/dist/nextcloud-vue.cjs +67614 -0
  3. package/dist/nextcloud-vue.cjs.js +58386 -6112
  4. package/dist/nextcloud-vue.cjs.js.map +1 -1
  5. package/dist/nextcloud-vue.cjs.map +1 -0
  6. package/dist/nextcloud-vue.css +1819 -285
  7. package/dist/nextcloud-vue.esm.js +58342 -6088
  8. package/dist/nextcloud-vue.esm.js.map +1 -1
  9. package/package.json +82 -62
  10. package/src/components/CnActionsBar/CnActionsBar.vue +17 -7
  11. package/src/components/CnActionsBar/index.js +1 -1
  12. package/src/components/CnAdvancedFormDialog/CnAdvancedFormDialog.vue +579 -0
  13. package/src/components/CnAdvancedFormDialog/CnDataTab.vue +217 -0
  14. package/src/components/CnAdvancedFormDialog/CnMetadataTab.vue +121 -0
  15. package/src/components/CnAdvancedFormDialog/CnPropertiesTab.vue +418 -0
  16. package/src/components/CnAdvancedFormDialog/CnPropertyValueCell.vue +247 -0
  17. package/src/components/CnAdvancedFormDialog/index.js +1 -0
  18. package/src/components/CnCardGrid/CnCardGrid.vue +1 -1
  19. package/src/components/CnCardGrid/index.js +1 -1
  20. package/src/components/CnCellRenderer/index.js +1 -1
  21. package/src/components/CnChartWidget/CnChartWidget.vue +320 -0
  22. package/src/components/CnChartWidget/index.js +1 -0
  23. package/src/components/CnConfigurationCard/index.js +1 -1
  24. package/src/components/CnCopyDialog/CnCopyDialog.vue +250 -250
  25. package/src/components/CnDashboardGrid/CnDashboardGrid.vue +225 -0
  26. package/src/components/CnDashboardGrid/index.js +1 -0
  27. package/src/components/CnDashboardPage/CnDashboardPage.vue +390 -0
  28. package/src/components/CnDashboardPage/index.js +1 -0
  29. package/src/components/CnDataTable/CnDataTable.vue +1 -1
  30. package/src/components/CnDataTable/index.js +1 -1
  31. package/src/components/CnDeleteDialog/CnDeleteDialog.vue +170 -170
  32. package/src/components/CnDetailCard/CnDetailCard.vue +214 -0
  33. package/src/components/CnDetailCard/index.js +1 -0
  34. package/src/components/CnDetailPage/CnDetailPage.vue +285 -0
  35. package/src/components/CnDetailPage/index.js +1 -0
  36. package/src/components/CnFacetSidebar/CnFacetSidebar.vue +9 -1
  37. package/src/components/CnFacetSidebar/index.js +1 -1
  38. package/src/components/CnFilterBar/index.js +1 -1
  39. package/src/components/CnFormDialog/CnFormDialog.vue +302 -11
  40. package/src/components/CnIcon/index.js +1 -1
  41. package/src/components/CnIndexPage/CnIndexPage.vue +71 -3
  42. package/src/components/CnIndexPage/index.js +1 -1
  43. package/src/components/CnIndexSidebar/CnIndexSidebar.vue +121 -102
  44. package/src/components/CnIndexSidebar/index.js +1 -1
  45. package/src/components/CnItemCard/CnItemCard.vue +132 -0
  46. package/src/components/CnItemCard/index.js +1 -0
  47. package/src/components/CnKpiGrid/index.js +1 -1
  48. package/src/components/CnMassActionBar/index.js +1 -1
  49. package/src/components/CnMassCopyDialog/index.js +1 -1
  50. package/src/components/CnMassDeleteDialog/index.js +1 -1
  51. package/src/components/CnMassExportDialog/index.js +1 -1
  52. package/src/components/CnMassImportDialog/index.js +1 -1
  53. package/src/components/CnNoteCard/CnNoteCard.vue +149 -0
  54. package/src/components/CnNoteCard/index.js +1 -0
  55. package/src/components/CnNotesCard/CnNotesCard.vue +413 -0
  56. package/src/components/CnNotesCard/index.js +1 -0
  57. package/src/components/CnObjectCard/CnObjectCard.vue +1 -1
  58. package/src/components/CnObjectCard/index.js +1 -1
  59. package/src/components/CnObjectSidebar/CnObjectSidebar.vue +876 -0
  60. package/src/components/CnObjectSidebar/index.js +1 -0
  61. package/src/components/CnPageHeader/index.js +1 -1
  62. package/src/components/CnPagination/index.js +1 -1
  63. package/src/components/CnRegisterMapping/CnRegisterMapping.vue +792 -792
  64. package/src/components/CnRowActions/CnRowActions.vue +25 -3
  65. package/src/components/CnRowActions/index.js +1 -1
  66. package/src/components/CnSchemaFormDialog/CnSchemaConfigurationTab.vue +226 -0
  67. package/src/components/CnSchemaFormDialog/CnSchemaFormDialog.vue +787 -0
  68. package/src/components/CnSchemaFormDialog/CnSchemaPropertiesTab.vue +305 -0
  69. package/src/components/CnSchemaFormDialog/CnSchemaPropertyActions.vue +1398 -0
  70. package/src/components/CnSchemaFormDialog/CnSchemaSecurityTab.vue +236 -0
  71. package/src/components/CnSchemaFormDialog/index.js +1 -0
  72. package/src/components/CnSettingsCard/index.js +1 -1
  73. package/src/components/CnSettingsSection/index.js +1 -1
  74. package/src/components/CnStatsBlock/CnStatsBlock.vue +62 -8
  75. package/src/components/CnStatsBlock/index.js +1 -1
  76. package/src/components/CnStatusBadge/index.js +1 -1
  77. package/src/components/CnTabbedFormDialog/CnTabbedFormDialog.vue +540 -0
  78. package/src/components/CnTabbedFormDialog/index.js +1 -0
  79. package/src/components/CnTasksCard/CnTasksCard.vue +373 -0
  80. package/src/components/CnTasksCard/index.js +1 -0
  81. package/src/components/CnTileWidget/CnTileWidget.vue +159 -0
  82. package/src/components/CnTileWidget/index.js +1 -0
  83. package/src/components/CnTimelineStages/CnTimelineStages.vue +292 -0
  84. package/src/components/CnTimelineStages/index.js +1 -0
  85. package/src/components/CnUserActionMenu/CnUserActionMenu.vue +435 -0
  86. package/src/components/CnUserActionMenu/index.js +1 -0
  87. package/src/components/CnVersionInfoCard/index.js +1 -1
  88. package/src/components/CnWidgetRenderer/CnWidgetRenderer.vue +180 -0
  89. package/src/components/CnWidgetRenderer/index.js +1 -0
  90. package/src/components/CnWidgetWrapper/CnWidgetWrapper.vue +211 -0
  91. package/src/components/CnWidgetWrapper/index.js +1 -0
  92. package/src/components/index.js +43 -29
  93. package/src/composables/index.js +4 -3
  94. package/src/composables/useDashboardView.js +240 -0
  95. package/src/composables/useDetailView.js +289 -132
  96. package/src/composables/useListView.js +363 -362
  97. package/src/composables/useSubResource.js +142 -142
  98. package/src/constants/metadata.js +30 -30
  99. package/src/css/CnSchemaFormDialog.css +546 -0
  100. package/src/css/__sample_nextcloud_tokens.css +110 -0
  101. package/src/css/actions-bar.css +48 -48
  102. package/src/css/badge.css +51 -51
  103. package/src/css/card.css +128 -128
  104. package/src/css/dashboard.css +70 -0
  105. package/src/css/detail-page.css +168 -0
  106. package/src/css/detail.css +68 -68
  107. package/src/css/index-page.css +44 -32
  108. package/src/css/index-sidebar.css +193 -187
  109. package/src/css/index.css +16 -12
  110. package/src/css/layout.css +90 -90
  111. package/src/css/page-header.css +33 -33
  112. package/src/css/pagination.css +72 -72
  113. package/src/css/table.css +142 -142
  114. package/src/css/timeline-stages.css +218 -0
  115. package/src/css/utilities.css +46 -46
  116. package/src/index.js +72 -53
  117. package/src/store/createSubResourcePlugin.js +135 -135
  118. package/src/store/index.js +3 -3
  119. package/src/store/plugins/auditTrails.js +17 -17
  120. package/src/store/plugins/files.js +250 -186
  121. package/src/store/plugins/index.js +7 -5
  122. package/src/store/plugins/lifecycle.js +180 -180
  123. package/src/store/plugins/relations.js +68 -68
  124. package/src/store/plugins/search.js +372 -0
  125. package/src/store/plugins/selection.js +104 -0
  126. package/src/store/useObjectStore.js +829 -686
  127. package/src/types/auditTrail.d.ts +32 -32
  128. package/src/types/file.d.ts +23 -23
  129. package/src/types/index.d.ts +35 -35
  130. package/src/types/notification.d.ts +36 -36
  131. package/src/types/object.d.ts +40 -40
  132. package/src/types/organisation.d.ts +41 -41
  133. package/src/types/register.d.ts +25 -25
  134. package/src/types/schema.d.ts +39 -39
  135. package/src/types/shared.d.ts +79 -79
  136. package/src/types/source.d.ts +14 -14
  137. package/src/types/task.d.ts +31 -31
  138. package/src/utils/errors.js +96 -96
  139. package/src/utils/headers.js +68 -50
  140. package/src/utils/id.js +13 -0
  141. package/src/utils/index.js +3 -3
  142. package/src/utils/schema.js +422 -419
package/package.json CHANGED
@@ -1,62 +1,82 @@
1
- {
2
- "name": "@conduction/nextcloud-vue",
3
- "version": "0.1.0-beta.3",
4
- "description": "Shared Vue component library for Conduction Nextcloud apps — complements @nextcloud/vue with higher-level components, OpenRegister integration, and NL Design System support",
5
- "license": "EUPL-1.2",
6
- "author": "Conduction B.V. <info@conduction.nl>",
7
- "main": "dist/nextcloud-vue.cjs.js",
8
- "module": "dist/nextcloud-vue.esm.js",
9
- "style": "dist/nextcloud-vue.css",
10
- "types": "src/types/index.d.ts",
11
- "files": [
12
- "dist/",
13
- "src/",
14
- "css/"
15
- ],
16
- "sideEffects": true,
17
- "scripts": {
18
- "build": "rollup -c",
19
- "dev": "rollup -c -w",
20
- "test": "jest",
21
- "lint": "eslint src/",
22
- "stylelint": "stylelint 'src/**/*.vue' 'src/**/*.css'",
23
- "prepare": "npm run build",
24
- "prepublishOnly": "npm run build"
25
- },
26
- "peerDependencies": {
27
- "@nextcloud/l10n": "^2.0.0 || ^3.0.0",
28
- "@nextcloud/vue": "^8.0.0",
29
- "pinia": "^2.0.0",
30
- "vue": "^2.7.0",
31
- "vue-material-design-icons": "^5.0.0"
32
- },
33
- "devDependencies": {
34
- "@babel/core": "^7.29.0",
35
- "@babel/preset-env": "^7.29.0",
36
- "@eslint/config-helpers": "^0.4.2",
37
- "@eslint/eslintrc": "^3.3.4",
38
- "@eslint/js": "^9.39.3",
39
- "@nextcloud/browserslist-config": "^3.1.2",
40
- "@nextcloud/eslint-config": "^8.4.2",
41
- "@nextcloud/vue": "^8.12.0",
42
- "@rollup/plugin-commonjs": "^25.0.0",
43
- "@rollup/plugin-node-resolve": "^15.0.0",
44
- "@vue/test-utils": "^1.3.6",
45
- "@vue/vue2-jest": "^29.2.6",
46
- "babel-jest": "^29.7.0",
47
- "eslint": "^8.56.0",
48
- "eslint-import-resolver-alias": "^1.1.2",
49
- "jest": "^29.7.0",
50
- "jest-environment-jsdom": "^29.7.0",
51
- "jest-transform-stub": "^2.0.0",
52
- "pinia": "^2.1.7",
53
- "rollup": "^3.29.0",
54
- "rollup-plugin-postcss": "^4.0.0",
55
- "rollup-plugin-vue": "^5.1.9",
56
- "stylelint": "^14.16.1",
57
- "stylelint-config-recommended": "^9.0.0",
58
- "stylelint-config-recommended-vue": "^1.5.0",
59
- "vue": "^2.7.16",
60
- "vue-material-design-icons": "^5.2.0"
61
- }
62
- }
1
+ {
2
+ "name": "@conduction/nextcloud-vue",
3
+ "version": "0.1.0-beta.5",
4
+ "description": "Shared Vue component library for Conduction Nextcloud apps — complements @nextcloud/vue with higher-level components, OpenRegister integration, and NL Design System support",
5
+ "license": "EUPL-1.2",
6
+ "author": "Conduction B.V. <info@conduction.nl>",
7
+ "main": "dist/nextcloud-vue.cjs",
8
+ "module": "dist/nextcloud-vue.esm.js",
9
+ "style": "dist/nextcloud-vue.css",
10
+ "types": "src/types/index.d.ts",
11
+ "files": [
12
+ "dist/",
13
+ "src/",
14
+ "css/"
15
+ ],
16
+ "type": "module",
17
+ "sideEffects": true,
18
+ "scripts": {
19
+ "build": "rollup -c",
20
+ "dev": "rollup -c -w",
21
+ "test": "jest",
22
+ "lint": "eslint src/",
23
+ "lint-fix": "npm run lint -- --fix",
24
+ "stylelint": "stylelint 'src/**/*.vue' 'src/**/*.css'",
25
+ "prepublishOnly": "npm run build"
26
+ },
27
+ "dependencies": {
28
+ "@codemirror/lang-json": "^6.0.2",
29
+ "@nextcloud/capabilities": "^1.2.1",
30
+ "@nextcloud/dialogs": "^7.3.0",
31
+ "gridstack": "^10.3.1",
32
+ "vue-apexcharts": "^1.7.0",
33
+ "vue-codemirror6": "^1.4.3"
34
+ },
35
+ "peerDependencies": {
36
+ "@nextcloud/axios": "^2.0.0",
37
+ "@nextcloud/l10n": "^2.0.0 || ^3.0.0",
38
+ "@nextcloud/router": "^2.0.0 || ^3.0.0",
39
+ "@nextcloud/vue": "^8.0.0",
40
+ "bootstrap-vue": "^2.23.1",
41
+ "pinia": "^2.0.0",
42
+ "vue": "^2.7.0",
43
+ "vue-material-design-icons": "^5.0.0",
44
+ "vue-frag": "^1.4.3"
45
+ },
46
+ "devDependencies": {
47
+ "@babel/core": "^7.29.0",
48
+ "@babel/preset-env": "^7.29.0",
49
+ "@eslint/config-helpers": "^0.4.2",
50
+ "@eslint/eslintrc": "^3.3.4",
51
+ "@eslint/js": "^9.39.3",
52
+ "@nextcloud/browserslist-config": "^3.1.2",
53
+ "@nextcloud/eslint-config": "^8.4.2",
54
+ "@nextcloud/vue": "^8.12.0",
55
+ "@rollup/plugin-commonjs": "^25.0.0",
56
+ "@rollup/plugin-node-resolve": "^15.0.0",
57
+ "@vue/test-utils": "^1.3.6",
58
+ "@vue/vue2-jest": "^29.2.6",
59
+ "babel-jest": "^29.7.0",
60
+ "bootstrap-vue": "^2.23.1",
61
+ "eslint": "^8.56.0",
62
+ "eslint-import-resolver-alias": "^1.1.2",
63
+ "eslint-plugin-import": "^2.29.1",
64
+ "eslint-plugin-n": "^16.6.2",
65
+ "eslint-plugin-promise": "^6.1.1",
66
+ "eslint-plugin-vue": "^9.21.1",
67
+ "eslint-webpack-plugin": "^4.0.1",
68
+ "jest": "^29.7.0",
69
+ "jest-environment-jsdom": "^29.7.0",
70
+ "jest-transform-stub": "^2.0.0",
71
+ "pinia": "^2.1.7",
72
+ "rollup": "^3.29.0",
73
+ "rollup-plugin-postcss": "^4.0.0",
74
+ "rollup-plugin-vue": "^5.1.9",
75
+ "stylelint": "^14.16.1",
76
+ "stylelint-config-recommended": "^9.0.0",
77
+ "@semantic-release/git": "^10.0.1",
78
+ "stylelint-config-recommended-vue": "^1.5.0",
79
+ "vue": "^2.7.16",
80
+ "vue-material-design-icons": "^5.2.0"
81
+ }
82
+ }
@@ -39,23 +39,26 @@
39
39
  {{ addLabel }}
40
40
  </NcButton>
41
41
 
42
+ <slot name="header-actions" />
43
+
42
44
  <!-- Actions menu (Refresh, Import, Export, mass actions) -->
43
45
  <NcActions
44
46
  :force-name="true"
45
47
  :inline="0"
46
48
  menu-name="Actions">
47
- <NcActionButton @click="$emit('refresh')">
49
+ <NcActionButton :disabled="refreshing" @click="$emit('refresh')">
48
50
  <template #icon>
49
- <Refresh :size="20" />
51
+ <NcLoadingIcon v-if="refreshing" :size="20" />
52
+ <Refresh v-else :size="20" />
50
53
  </template>
51
- Refresh
54
+ {{ refreshing ? 'Refreshing...' : 'Refresh' }}
52
55
  </NcActionButton>
53
56
 
54
57
  <!-- Custom primary action items (overflow) -->
55
58
  <slot name="action-items" />
56
59
 
57
60
  <!-- Separator between primary and mass actions -->
58
- <NcActionSeparator v-if="selectable" />
61
+ <NcActionSeparator v-if="hasMassActions" />
59
62
 
60
63
  <!-- Mass actions (overflow) -->
61
64
  <NcActionButton
@@ -98,14 +101,12 @@
98
101
  <!-- Custom mass actions (overflow) -->
99
102
  <slot name="mass-actions" :count="selectedIds.length" :selected-ids="selectedIds" />
100
103
  </NcActions>
101
-
102
- <slot name="header-actions" />
103
104
  </div>
104
105
  </div>
105
106
  </template>
106
107
 
107
108
  <script>
108
- import { NcActions, NcActionButton, NcActionSeparator, NcButton, NcCheckboxRadioSwitch } from '@nextcloud/vue'
109
+ import { NcActions, NcActionButton, NcActionSeparator, NcButton, NcCheckboxRadioSwitch, NcLoadingIcon } from '@nextcloud/vue'
109
110
  import { CnIcon } from '../CnIcon/index.js'
110
111
  import Plus from 'vue-material-design-icons/Plus.vue'
111
112
  import Refresh from 'vue-material-design-icons/Refresh.vue'
@@ -135,6 +136,7 @@ export default {
135
136
  NcActionSeparator,
136
137
  NcButton,
137
138
  NcCheckboxRadioSwitch,
139
+ NcLoadingIcon,
138
140
  CnIcon,
139
141
  Plus,
140
142
  Refresh,
@@ -211,6 +213,11 @@ export default {
211
213
  type: Boolean,
212
214
  default: true,
213
215
  },
216
+ /** Whether the refresh action is currently in progress */
217
+ refreshing: {
218
+ type: Boolean,
219
+ default: false,
220
+ },
214
221
  },
215
222
 
216
223
  computed: {
@@ -218,6 +225,9 @@ export default {
218
225
  if (!this.pagination) return ''
219
226
  return `Showing ${this.objectCount} of ${this.pagination.total}`
220
227
  },
228
+ hasMassActions() {
229
+ return this.showMassImport || this.showMassExport || this.showMassCopy || this.showMassDelete
230
+ },
221
231
  },
222
232
  }
223
233
  </script>
@@ -1 +1 @@
1
- export { default as CnActionsBar } from './CnActionsBar.vue'
1
+ export { default as CnActionsBar } from './CnActionsBar.vue'