@@ -84,8 +226,6 @@
v-for="(column, index) in tableFields"
v-if="column.display"
:label="column.name"
- :aria-label="(column.field != 'row_thumbnail' && column.field != 'row_creation' && column.field != 'row_author')
- ? column.name + '' + (item.metadata ? item.metadata[column.slug].value_as_string : '') : ''"
class="column-default-width"
:class="{
'thumbnail-cell': column.field == 'row_thumbnail',
@@ -101,10 +241,10 @@
v-if="column.field !== 'row_thumbnail' &&
column.field !== 'row_actions' &&
column.field !== 'row_creation'"
- :data="renderMetadata( item.metadata[column.slug] )"/> -->
+ :data="renderMetadata(item.metadata, column)"/> -->
+ v-html="renderMetadata(item.metadata, column)"/>
+ :src="item['thumbnail'].thumb ? item['thumbnail'].thumb : thumbPlaceholderPath">
@import "../../scss/_variables.scss";
+ @import "../../scss/_view-mode-grid.scss";
+ @import "../../scss/_view-mode-cards.scss";
.selection-control {
diff --git a/src/admin/components/lists/terms-list.vue b/src/admin/components/lists/terms-list.vue
index 918ff369a..770dd48ea 100644
--- a/src/admin/components/lists/terms-list.vue
+++ b/src/admin/components/lists/terms-list.vue
@@ -85,7 +85,8 @@
diff --git a/src/admin/components/other/alert-icon.vue b/src/admin/components/other/alert-icon.vue
new file mode 100644
index 000000000..df4ac4d3b
--- /dev/null
+++ b/src/admin/components/other/alert-icon.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/admin/components/other/check-icon.vue b/src/admin/components/other/check-icon.vue
new file mode 100644
index 000000000..5e1054c8d
--- /dev/null
+++ b/src/admin/components/other/check-icon.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/admin/components/other/custom-dialog.vue b/src/admin/components/other/custom-dialog.vue
new file mode 100644
index 000000000..6b44849e2
--- /dev/null
+++ b/src/admin/components/other/custom-dialog.vue
@@ -0,0 +1,57 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/admin/components/other/question-icon.vue b/src/admin/components/other/question-icon.vue
new file mode 100644
index 000000000..eaac32147
--- /dev/null
+++ b/src/admin/components/other/question-icon.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/admin/js/main.js b/src/admin/js/main.js
index 6ade346be..4f0409f44 100644
--- a/src/admin/js/main.js
+++ b/src/admin/js/main.js
@@ -41,7 +41,7 @@ import draggable from 'vuedraggable'
import store from '../../js/store/store'
import router from './router'
import eventBusSearch from '../../js/event-bus-search';
-import { I18NPlugin, UserPrefsPlugin, RouterHelperPlugin, ConsolePlugin } from './utilities';
+import { I18NPlugin, UserPrefsPlugin, RouterHelperPlugin, ConsolePlugin, UserCapabilitiesPlugin } from './utilities';
import VueMask from 'v-mask';
// Configure and Register Plugins
@@ -50,6 +50,7 @@ Vue.use(VTooltip)
Vue.use(I18NPlugin);
Vue.use(UserPrefsPlugin);
Vue.use(RouterHelperPlugin);
+Vue.use(UserCapabilitiesPlugin);
Vue.use(ConsolePlugin, {visual: false});
Vue.use(VueMask);
diff --git a/src/admin/js/utilities.js b/src/admin/js/utilities.js
index 553cc3a61..40deae979 100644
--- a/src/admin/js/utilities.js
+++ b/src/admin/js/utilities.js
@@ -257,8 +257,20 @@ RouterHelperPlugin.install = function (Vue, options = {}) {
},
getEventEditPath(id) {
return '/events/' + id + '/edit';
- }
-
+ }
}
+}
+// USER CAPABILITIES PLUGIN - Allows easy checking of user capabilities.
+export const UserCapabilitiesPlugin = {};
+UserCapabilitiesPlugin.install = function (Vue, options = {}) {
+
+ Vue.prototype.$userCaps = {
+ hasCapability(key) {
+ for (let i = 0; i < tainacan_plugin.user_caps.length; i++)
+ if (tainacan_plugin.user_caps[i] == key)
+ return true;
+ return false;
+ }
+ }
}
\ No newline at end of file
diff --git a/src/admin/pages/lists/categories-page.vue b/src/admin/pages/lists/categories-page.vue
index e21085fca..49f1c2dba 100644
--- a/src/admin/pages/lists/categories-page.vue
+++ b/src/admin/pages/lists/categories-page.vue
@@ -4,7 +4,7 @@