@@ -11,6 +11,8 @@ import {
1111 AllowedActions ,
1212 ShowIn ,
1313 ShowInInput ,
14+ ShowInLegacyInput ,
15+ ShowInModernInput ,
1416} from "../types/Back.js" ;
1517
1618import fs from 'fs' ;
@@ -299,31 +301,33 @@ export default class ConfigValidator implements IConfigValidator {
299301 return ;
300302 }
301303
302- let showIn = column . showIn || { all : true } ;
304+ let showIn : ShowInInput = column . showIn || { all : true } ;
303305
304306 if ( column . showIn && Array . isArray ( column . showIn ) ) {
305307 showIn = Object . values ( AdminForthResourcePages ) . reduce ( ( acc , key ) => {
306308 return {
307309 ...acc ,
308- [ key ] : column . showIn . includes ( key ) ,
310+ [ key ] : ( column . showIn as ShowInLegacyInput ) . includes ( key ) ,
309311 }
310312 } , { } as ShowInInput ) ;
311313 if ( warnings . filter ( ( w ) => w . includes ( 'showIn should be an object, array is deprecated' ) ) . length === 0 ) {
312314 warnings . push ( `Resource "${ resInput . resourceId || resInput . table } " column "${ column . name } " showIn should be an object, array is deprecated` ) ;
313315 }
314316 }
315317
318+ const showInTransformedToObject : ShowInModernInput = showIn as ShowInModernInput ;
319+
316320 // by default copy from 'all' key if present or show on all pages
317321 for ( const key of Object . keys ( AdminForthResourcePages ) ) {
318- if ( ! Object . keys ( showIn ) . includes ( key ) ) {
319- showIn [ key ] = showIn . all !== undefined ? showIn . all : true ;
322+ if ( ! Object . keys ( showInTransformedToObject ) . includes ( key ) ) {
323+ showInTransformedToObject [ key ] = showInTransformedToObject . all !== undefined ? showInTransformedToObject . all : true ;
320324 }
321325 }
322- if ( showIn . all !== undefined ) {
323- delete showIn . all ;
326+ if ( showInTransformedToObject . all !== undefined ) {
327+ delete showInTransformedToObject . all ;
324328 }
325329
326- return showIn as ShowIn ;
330+ return showInTransformedToObject as ShowIn ;
327331 }
328332
329333 validateAndNormalizeResources ( errors : string [ ] , warnings : string [ ] ) : AdminForthResource [ ] {
0 commit comments