Files
nocobase/packages/plugins/@nocobase/plugin-ui-layout/server.js
T
Zeke Zhang ae80783c30 feat(plugin-ui-layout): add ui layout plugin (#9641)
* fix(plugin-ui-layout): compact mobile page tabs

* fix(plugin-ui-layout): label mobile tab add menu

* fix(plugin-ui-layout): align mobile page tabs

* fix(plugin-ui-layout): offset mobile page tabs

* fix(client): fit mobile table settings column

* fix(plugin-ui-layout): show mobile child titles

* fix(plugin-ui-layout): host mobile settings panel

* fix(plugin-ui-layout): persist mobile menu linkage

* fix(plugin-ui-layout): remove hidden tab space

* fix(plugin-ui-layout): sync mobile menu linkage

* feat(plugin-ui-layout): relate routes to layouts

* fix(plugin-ui-layout): refresh menu linkage

* fix(plugin-ui-layout): default route layout

* fix(plugin-ui-layout): refresh mobile menu linkage

* fix(plugin-ui-layout): clean layout route roots

* test(plugin-ui-layout): cover layout route acl

* fix(plugin-ui-layout): sync mobile editor linkage

* feat(plugin-ui-layout): add layout titles

* fix(plugin-ui-layout): reject disabled layouts

* fix(plugin-ui-layout): scope mobile routes

* fix(plugin-ui-layout): backfill layout titles

* fix(plugin-ui-layout): filter get route by layout

* fix(plugin-ui-layout): build mobile compat

* fix(plugin-ui-layout): show layout route states

* fix(plugin-ui-layout): label route permissions

* fix(plugin-ui-layout): localize permission labels

* fix(plugin-ui-layout): scope mobile route creation

* test(plugin-ui-layout): cover stale permissions

* test(plugin-ui-layout): cover permission request counts

* fix(plugin-ui-layout): scope mobile page tabs

* fix(plugin-ui-layout): scope mobile page tabs

* fix(plugin-ui-layout): load mobile routes once

* fix(plugin-ui-layout): raise mobile icon picker layer

* fix(plugin-ui-layout): sync mobile tabs setting

* fix(client): scope routes by layout

* fix(plugin-ui-layout): use layout param for mobile routes

* fix(plugin-ui-layout): rename permission labels

* fix(client): scope admin menu paths by layout

* style(plugin-ui-layout): refine mobile back button

* test(client): update route layout expectations

* fix(plugin-ui-layout): fix declaration build

* feat(plugin-ui-layout): add runtime layout API

* test(plugin-ui-layout): strengthen ACL coverage

* fix(plugin-ui-layout): rename layout tab

* fix(plugin-ui-layout): protect menu hidden snapshot

* fix(plugin-ui-layout): make layout seed atomic

* fix(plugin-ui-layout): include route ancestors

* fix(plugin-ui-layout): require runtime layout

* fix(plugin-ui-layout): handle empty mobile menu

* fix(client): handle basename for new-window links

* fix(client): block inaccessible flow routes

* fix(plugin-ui-layout): keep mobile pages alive

* fix(plugin-ui-layout): keep mobile context ready

* feat(plugin-ui-layout): scope runtime permissions

* feat(plugin-ui-layout): add layout default access

* feat(plugin-ui-layout): show layout permission table

* feat(plugin-ui-layout): grant new layout access

* feat(plugin-ui-layout): grant route menu access

* feat(plugin-ui-layout): sync legacy route access

* fix(plugin-ui-layout): guard role layout access

* fix(plugin-ui-layout): sync legacy route access

* fix(plugin-ui-layout): require scoped route access

* fix(plugin-ui-layout): add role access migration

* revert(plugin-ui-layout): remove role migration

* fix(plugin-ui-layout): keep mobile context stable

* fix(plugin-ui-layout): refresh menu stats

* fix(plugin-ui-layout): scope route permissions

* fix(plugin-ui-layout): disable inactive menu access

* fix(plugin-ui-layout): improve settings a11y

* fix(plugin-ui-layout): scope default menu access

* fix(client): show table row action text

* fix(plugin-ui-layout): mark inactive menu stats

* fix(client-v2): keep mobile grid keys stable

* fix(plugin-ui-layout): improve route permission drawer

* fix(plugin-ui-layout): keep mobile child routes

* fix(client-v2): keep popover above parent popup

* feat(preset): add ui layout plugin

* fix(plugin-ui-layout): fix route filter typing

* fix(plugin-ui-layout): preserve role filter

* fix(plugin-ui-layout): scope mobile tabs

* fix(plugin-ui-layout): remove menu stats

* fix(plugin-ui-layout): add mobile menu locale

* fix(plugin-ui-layout): fallback admin routes

* fix(plugin-ui-layout): sync legacy layout access

* fix(plugin-ui-layout): handle hidden route permissions

* fix(plugin-ui-layout): prevent layout uid edits

* fix(plugin-ui-layout): protect default admin layout

* fix(plugin-ui-layout): ignore stale mobile routes

* fix(plugin-ui-layout): navigate mobile child menus

* fix(plugin-ui-layout): add role permission readers

* fix(client-v2): scope route cache by layout

* fix(plugin-ui-layout): hide mobile child routes

* fix(plugin-ui-layout): make qr action accessible

* fix(plugin-ui-layout): grant default admin menus

* fix(plugin-ui-layout): declare runtime peers

* fix(plugin-ui-layout): reject invalid access paths

* fix(plugin-ui-layout): handle layout pagination

* fix(plugin-ui-layout): make create menu clickable

* fix(plugin-ui-layout): make icon choices accessible

* fix(client-v2): scope route layout activation

* fix(client-v2): refresh owning layout menu

* fix(plugin-ui-layout): declare external deps

* fix(plugin-ui-layout): keep mobile link basename

* fix(client-v2): honor route layout auth

* fix(client-v2): keep custom layout pages alive

* fix(client-v2): activate guarded layout routes

* fix(client-v2): scope route cache by layout

* fix(plugin-ui-layout): validate layout paths

* fix(plugin-ui-layout): batch layout route grants

* fix(plugin-ui-layout): hide route path column

* chore(plugin-ui-layout): update version to 2.1.0-beta.47

* fix(plugin-ui-layout): hide auth check control

* fix(plugin-ui-layout): rename layout permission labels

* fix(plugin-ui-layout): avoid duplicate mobile basename

* fix(plugin-ui-layout): fix declaration build

* fix(plugin-ui-layout): default layout access

* fix(plugin-ui-layout): use small layout switches

* feat(plugin-ui-layout): add public manifest

* fix(plugin-ui-layout): use uid for layouts

* fix(client-v2): stabilize flow route layout deps

* fix(plugin-ui-layout): enforce explicit route grants

* fix(plugin-ui-layout): keep failed menu saves stable

* refactor(plugin-ui-layout): split settings tabs

* refactor(plugin-ui-layout): split route perms

* feat(plugin-multi-portal): add scaffold

* fix(plugin-ui-layout): seed mobile layout

* feat(plugin-multi-portal): add portal layout schema

* feat(plugin-multi-portal): register portal layouts

* feat(plugin-multi-portal): add settings page

* feat(plugin-ui-layout): add route management

* feat(plugin-ui-layout): align route actions

* chore(plugin-ui-layout): align package version

* feat(plugin-multi-portal): add portal permissions

* feat(plugin-multi-portal): scope route permissions

* test(plugin-multi-portal): cover route chain access

* test(plugin-multi-portal): cover permission isolation

* docs(plugin-ui-layout): document layout boundaries

* feat(plugin-multi-portal): add menu permissions

* fix(plugin-multi-portal): guard settings actions

* fix(client-v2): gate datasource bootstrap

* fix(plugin-ui-layout): update imports for NocoBaseDesktopRoute

* fix(plugin-multi-portal): align portal table

* fix(plugin-multi-portal): hide route name column

* fix(plugin-multi-portal): validate portal form

* fix(plugin-multi-portal): populate layout field

* fix(plugin-multi-portal): align action buttons

* fix(plugin-multi-portal): tighten action spacing

* fix(plugin-multi-portal): remove action padding

* fix(plugin-multi-portal): derive route name

* fix(plugin-multi-portal): update display name

* fix(plugin-multi-portal): update uid prefix

* fix(plugin-multi-portal): show menu permissions in drawer

* fix(plugin-multi-portal): add default access switch

* fix(plugin-ui-layout): load mobile route permissions

* fix(plugin-multi-portal): use default delete button

* feat(plugin-multi-portal): relate routes to portals

* fix(plugin-multi-portal): support portal route scope

* fix(plugin-multi-portal): scope route ownership

* fix(plugin-multi-portal): scope route requests

* fix(plugin-multi-portal): scope menu permissions

* test(plugin-multi-portal): cover empty menu drawer

* fix(plugin-ui-layout): decouple layout access

* feat(plugin-multi-portal): add route policy model

* feat(plugin-multi-portal): initialize route policy

* feat(plugin-multi-portal): add route policy switch

* feat(plugin-multi-portal): grant portal route access

* fix(plugin-multi-portal): isolate route grants

* test(plugin-multi-portal): cover portal route bounds

* fix(plugin-ui-layout): move routes settings

* fix(plugin-ui-layout): move mobile settings

* fix(plugin-ui-layout): open mobile settings

* fix(plugin-ui-layout): open mobile in new tab

* test(preset): align multi-portal naming

* fix(preset): enable portal plugins

* fix(plugin-ui-layout): use tab route links

* fix(plugin-ui-layout): add route locale keys

* fix(plugin-multi-portal): declare package deps

* fix(plugin-ui-layout): create initial page tabs

* fix(plugin-ui-layout): refresh mobile routes by layout

* fix(plugin-multi-portal): guard portal refresh

* fix(plugin-multi-portal): filter disabled layouts

* fix(plugin-multi-portal): isolate portal routes

* fix(plugin-multi-portal): grant hidden routes

* fix(plugin-multi-portal): preserve route ownership

* fix(plugin-multi-portal): reject route collisions

* fix(plugin-multi-portal): use ui-layout entry

* fix(plugin-multi-portal): scope registered portals

* fix(plugin-ui-layout): reject invalid route layout

* fix(plugin-multi-portal): use enabled layouts

* fix(plugin-ui-layout): align routes manager

* fix(plugin-ui-layout): render routes drawer globally

* fix(plugin-ui-layout): hide disabled page tabs in routes

* fix(plugin-ui-layout): hide empty route expanders

* fix(plugin-ui-layout): move route tabs to page header

* style(plugin-ui-layout): tighten route actions

* chore(plugins): bump layout plugin versions

* fix(plugin-multi-portal): create portal-scoped routes

* fix(client-v2): stabilize layout routing

* fix(plugin-ui-layout): load managed route list

* fix(plugin-multi-portal): require explicit portal scope

* fix(plugin-ui-layout): require explicit admin routes

* fix(plugin-ui-layout): split settings permissions

* refactor(plugin-multi-portal): move to pro plugins

* fix(client-v2): type admin layout guard

* fix(plugin-ui-layout): resolve route type errors

* test(plugin-ui-layout): align route ownership tests

* fix(plugin-ui-layout): require mobile route icons

* fix(client-v2): allow settings sidebar scroll

* fix(plugin-ui-layout): refresh menu after route changes

* fix(plugin-ui-layout): avoid mobile empty flash

* fix(plugin-ui-layout): delay mobile root fallback

* fix(plugin-client): scope v1 routes list

* fix(plugin-ui-layout): hide v1 pages in routes

* fix(plugin-ui-layout): align mobile tab add button

* fix(plugin-ui-layout): compact mobile tab bar

* fix(plugin-ui-layout): refine mobile tab bar

* fix(plugin-ui-layout): show untitled tab routes

* fix(plugin-ui-layout): isolate mobile compact theme

* fix(plugin-ui-layout): isolate mobile page density

* fix(plugin-ui-layout): apply mobile page theme

* fix(plugin-ui-layout): tighten mobile page tabs

* fix(plugin-ui-layout): adjust mobile page tabs

* fix(plugin-ui-layout): use route delete modal

* fix(client-v2): prevent mobile grid columns

* fix(client-v2): preserve mobile grid sorting

* fix(plugin-ui-layout): preserve layout auth check

* fix(client-v2): open settings outside admin in new tab

* fix(client-v2): export icon picker

* fix(plugin-ui-layout): update version to 2.2.0-beta.5

* fix(client-v2): satisfy app type constraint

* chore(plugin-ui-layout): update plugin description

* fix(plugin-acl): filter route permissions

* fix(plugin-ui-layout): filter legacy routes

* chore(plugin-ui-layout): remove title migrations

* chore(plugin-ui-layout): drop legacy perms

* fix(plugin-ui-layout): import mobile theme token

* docs: update docs

* chore(plugin-ui-layout): add license
2026-06-18 16:09:20 +08:00

2 lines
52 B
JavaScript

module.exports = require('./dist/server/index.js');