fix(admin): unify settings save controls

This commit is contained in:
kate522 committed 2026-11-10 21:34:00 +08:00
1 parent 7fe26d3fff
commit f3dd1ec3b1
8 files changed
+113 -68

No files matched your search

@@ -0,0 +1,31 @@
const test = require('node:test')
const assert = require('node:assert/strict')
const fs = require('node:fs')
const path = require('node:path')
const root = path.resolve(__dirname, '../..')
const read = file => fs.readFileSync(path.join(root, file), 'utf8')
const pages = [
'assets/admin/src/pages/users/UsersWechatTemplate.vue',
'assets/admin/src/pages/users/UsersLevel.vue',
'assets/admin/src/pages/users/UsersVerify.vue',
'assets/admin/src/pages/CmsCredits.vue',
'assets/admin/src/pages/permissions/PermissionsCapabilities.vue',
'assets/admin/src/pages/content/FooterTabbarSettings.vue',
]
test('custom settings pages use the shared dirty save bar without page-level save buttons', () => {
for (const page of pages) {
const source = read(page)
assert.equal((source.match(/<JioSaveBar\b/g) || []).length, 1, page)
assert.match(source, /<JioSaveBar\b[^>]*:dirty="dirty"[^>]*@save="[^"]+"[^>]*@reload="[^"]+"/, page)
assert.doesNotMatch(source, /class="jio-form-(?:actions|footer)"/, page)
assert.doesNotMatch(source, /@click="(?:handleSave|save|saveCfg)"/, page)
}
})
test('footer tabbar single-post mode is persisted by the save endpoint', () => {
const controller = read('src/Admin/GlobalController.php')
assert.match(controller, /'footer_tabbar_single'\s*=>\s*in_array\(\$params\['footer_tabbar_single'\]/)
})