From ee0f49b96e2033a1bbc3452fe87134dc930ed477 Mon Sep 17 00:00:00 2001 From: Matthias Stein Date: Fri, 29 Nov 2024 11:53:14 +0100 Subject: [PATCH 01/13] Improve ui --- .../PortalContentWidgetFactory.ts | 2 +- .../dn_portalitemloader/css/styles.css | 59 ++--- .../bundles/dn_portalitemloader/manifest.json | 4 - .../templates/FilterWidget.vue | 2 +- .../templates/PortalContentWidget.vue | 85 +++--- .../templates/PortalItem.vue | 242 +++++++++--------- 6 files changed, 188 insertions(+), 206 deletions(-) diff --git a/src/main/js/bundles/dn_portalitemloader/PortalContentWidgetFactory.ts b/src/main/js/bundles/dn_portalitemloader/PortalContentWidgetFactory.ts index 116da7f..3106b24 100644 --- a/src/main/js/bundles/dn_portalitemloader/PortalContentWidgetFactory.ts +++ b/src/main/js/bundles/dn_portalitemloader/PortalContentWidgetFactory.ts @@ -45,7 +45,7 @@ export default class PortalContentWidgetFactory { createInstance(): any { const controller = this.controller; - const widget = VueDijit(this.vm, { class: "portal-content-widget" }); + const widget = VueDijit(this.vm, { class: "ct-portal-content-widget" }); widget.activateTool = async () => { this.binding.enable().syncToLeftNow(); diff --git a/src/main/js/bundles/dn_portalitemloader/css/styles.css b/src/main/js/bundles/dn_portalitemloader/css/styles.css index 334bf03..386a6fc 100644 --- a/src/main/js/bundles/dn_portalitemloader/css/styles.css +++ b/src/main/js/bundles/dn_portalitemloader/css/styles.css @@ -13,89 +13,80 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -.ctAppRoot .portal-content-widget { - overflow: hidden; -} - -.ctAppRoot .portal-content-widget .portal-content--container { +.ctAppRoot .ct-portal-content-widget__main { height: 100%; + display: flex; + flex-direction: row; } -.ctAppRoot .portal-content-widget .left { +.ctAppRoot .ct-portal-content-widget__portal-item-filter { width: 300px; + flex: 0 0 auto; } -.ctAppRoot .portal-content-widget .center { - overflow: auto;; -} - -.ctAppRoot .portal-content-widget .v-data-iterator { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery { + flex: 1 1 auto; display: flex; flex-direction: column; + overflow: auto; } -.ctAppRoot .portal-content-widget .v-data-iterator .loading-indicator { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery .loading-indicator { height: 8px; } -.ctAppRoot .portal-content-widget .v-data-iterator>div:first-child { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery>div:first-child { flex: 0 0 auto; } -.ctAppRoot .portal-content-widget .v-data-iterator>div:nth-child(2) { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery>div:nth-child(2) { flex: 1 1 auto; overflow: auto; } -.ctAppRoot .portal-content-widget .v-data-iterator>div:nth-child(3) { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery>div:nth-child(3) { flex: 0 0 auto; } -.ctAppRoot .portal-content-widget .v-toolbar__content { - padding-left: 4px; - padding-right: 4px; -} - -/* .ctAppRoot .portal-content-widget .portal-flex-item { - height: 480px; -} */ - -.ctAppRoot .portal-content-widget .portal-flex-item .portal-item-node { - height: 100%; +.ctAppRoot .ct-portal-content-widget__portal-item-gallery-content { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 12px; padding: 4px; } -.ctAppRoot .portal-content-widget .portal-item-card { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery-content .portal-item-card { display: flex; } -.ctAppRoot .portal-content-widget .portal-item-card .v-image { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery-content .portal-item-card .v-image { height: 200px; max-height: 200px; } -.ctAppRoot .portal-content-widget .portal-item-card .backup-icon { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery-content .portal-item-card .backup-icon { height: 200px; max-height: 200px; } -.ctAppRoot .portal-content-widget .portal-item-card .v-list { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery-content .portal-item-card .v-list { padding: 0 0 4px; } -.ctAppRoot .portal-content-widget .portal-item-card .v-list--dense .v-list__tile--avatar { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery-content .portal-item-card .v-list--dense .v-list__tile--avatar { height: 30px; padding: 0; } -.ctAppRoot .portal-content-widget .portal-item-card .v-icon--left { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery-content .portal-item-card .v-icon--left { margin-right: 4px; } -.ctAppRoot .portal-content-widget .portal-item-card .item-text { +.ctAppRoot .ct-portal-content-widget__portal-item-gallery-content .portal-item-card .item-text { display: block; display: -webkit-box; -webkit-line-clamp: 4; + line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; @@ -104,6 +95,6 @@ padding-right: 8px; } -.ctAppRoot .portal-content-widget .filter-widget .sort-ascending-button .v-icon { +.ctAppRoot .ct-portal-content-widget__portal-item-filter .sort-ascending-button .v-icon { margin-right: 0; } diff --git a/src/main/js/bundles/dn_portalitemloader/manifest.json b/src/main/js/bundles/dn_portalitemloader/manifest.json index bca0e60..c8e6bdd 100644 --- a/src/main/js/bundles/dn_portalitemloader/manifest.json +++ b/src/main/js/bundles/dn_portalitemloader/manifest.json @@ -45,10 +45,6 @@ "marginBox": { "h": "50%", "w": "50%" - }, - "minSize": { - "h": 600, - "w": 1000 } } }, diff --git a/src/main/js/bundles/dn_portalitemloader/templates/FilterWidget.vue b/src/main/js/bundles/dn_portalitemloader/templates/FilterWidget.vue index 1ec2c8f..455a811 100644 --- a/src/main/js/bundles/dn_portalitemloader/templates/FilterWidget.vue +++ b/src/main/js/bundles/dn_portalitemloader/templates/FilterWidget.vue @@ -20,7 +20,7 @@ fluid grid-list-md pa-1 - class="filter-widget" + class="ct-portal-content-widget__portal-item-filter" >