{{item.name}}: {
    name: "{{item.name}}",
    type: "{{panelType}}",
    caption: "{{item.caption}}",
    titleBarCloseMode: {{#if item.titleBarCloseMode}}{{item.titleBarCloseMode}}{{else}}0{{/if}},
    isShowCaption: {{#if item.showCaption}}true{{else}}false{{/if}},
    sysCss: "{{#if item.psSysCss}}{{item.psSysCss.cssName}}{{/if}}",
    itemType: "{{item.itemType}}",    
    codeName: "{{item.codeName}}",
    itemStyle: "{{item.itemStyle}}",
    dynaClass: "{{#if item.psRawItem}}{{item.psRawItem.dynaClass}}{{else}}{{item.dynaClass}}{{/if}}",
    labelDynaClass: "{{item.labelDynaClass}}",
    labelCssStyle: "{{item.labelCssStyle}}",
    visible: true,
    disabled: {{#if (eq item.fieldStates 2)}}true{{else}}false{{/if}},
    {{#if item.valueFormat}}
    valueFormat: "{{item.valueFormat}}",
    {{else}}
    {{#if item.psAppDEField}}
    valueFormat: "{{item.psAppDEField.valueFormat}}",
    {{/if}}
    {{/if}}
    {{#if item.psSysImage}}
    sysImage: {
        iconcls: "{{item.psSysImage.cssClass}}",
        imagePath: "{{item.psSysImage.imagePath}}",
        rawContent: "{{item.psSysImage.rawContent}}",
    },
    {{/if}}
    layout: "{{#if item.psLayout}}{{item.psLayout.layout}}{{/if}}",
    layoutPos: "{{#if item.psLayoutPos}}{{item.psLayoutPos.layoutPos}}{{/if}}",
    layoutHeight: {{#if item.psLayoutPos}}{{#if item.psLayoutPos.height}}{{item.psLayoutPos.height}}{{else}}0{{/if}}{{else}}0{{/if}},
    layoutWidth: {{#if item.psLayoutPos}}{{#if item.psLayoutPos.width}}{{item.psLayoutPos.width}}{{else}}0{{/if}}{{else}}0{{/if}},
    heightMode: "{{#if item.psLayoutPos}}{{item.psLayoutPos.heightMode}}{{/if}}",
    widthMode: "{{#if item.psLayoutPos}}{{item.psLayoutPos.widthMode}}{{/if}}",
    spacingBottom: "{{#if item.psLayoutPos}}{{item.psLayoutPos.spacingBottom}}{{/if}}",
    spacingLeft: "{{#if item.psLayoutPos}}{{item.psLayoutPos.spacingLeft}}{{/if}}",
    spacingRight: "{{#if item.psLayoutPos}}{{item.psLayoutPos.spacingRight}}{{/if}}",
    spacingTop: "{{#if item.psLayoutPos}}{{item.psLayoutPos.spacingTop}}{{/if}}",
    hAlignSelf: "{{#if item.psLayoutPos}}{{item.psLayoutPos.hAlignSelf}}{{/if}}",
    vAlignSelf: "{{#if item.psLayoutPos}}{{item.psLayoutPos.vAlignSelf}}{{/if}}",
    userTag:'{{#if item.userTag}}{{item.userTag}}{{/if}}',
    userTag2:'{{#if item.userTag2}}{{item.userTag2}}{{/if}}',
    flexGrow: {{#if item.psLayoutPos}}{{#if item.psLayoutPos.grow}}{{item.psLayoutPos.grow}}{{else}}0{{/if}}{{else}}0{{/if}},
    flexParams: {
        align: "{{item.psLayout.align}}",
        dir: "{{item.psLayout.dir}}",
        vAlign: "{{item.psLayout.vAlign}}",
    },
    {{#if parentItem}}
    parentName: "{{parentItem.name}}",
    {{/if}}
    {{#if (eq item.itemType "CONTAINER")}}
    details: [
    {{~#if item.psPanelItems~}}
        {{~#each item.psPanelItems as | panelItem | ~}}
        "{{panelItem.name}}"{{#unless @last}},{{/unless}}
        {{~/each~}}
    {{~/if~}}
    ],
    dataRegionType: "{{item.dataRegionType}}",
    dataSourceType: "{{item.dataSourceType}}",
    {{#if item.psAppDataEntity}}
    appDataEntityCodeName: "{{item.psAppDataEntity.codeName}}",
    {{/if}}
    {{#if item.psAppDEMethod}}
    appDEMethodCodeName: "{{item.psAppDEMethod.codeName}}",
    {{/if}}
    {{#if item.psAppDELogic}}
    appDELogicTag: "{{item.psAppDELogic.codeName}}",
    {{/if}}
    {{#if item.dataName}}
    dataName: "{{item.dataName}}",
    {{/if}}
    {{/if}}
    {{#if (eq item.itemType "RAWITEM")}}
    predefinedType: "{{#if item.psRawItem}}{{item.psRawItem.predefinedType}}{{/if}}",
    contentType: "{{#if item.psRawItem}}{{item.psRawItem.contentType}}{{else if item.paRawItem.cssStyle}}{{item.paRawItem.cssStyle}}{{/if}}",
    contentStyle: `{{~#if item.psRawItem~}}{{item.psRawItem.cssStyle}}{{~/if~}}`,
    rawContent: `{{item.rawContent}}`,
    htmlContent: `{{item.htmlContent}}`,
    renderMode: "{{#if item.psRawItem}}{{item.psRawItem.renderMode}}{{/if}}",
    wrapMode: "{{#if item.psRawItem}}{{item.psRawItem.wrapMode}}{{/if}}",
    vAlign: "{{#if item.psRawItem}}{{item.psRawItem.vAlign}}{{/if}}",
    hAlign: "{{#if item.psRawItem}}{{item.psRawItem.hAlign}}{{/if}}",
    {{/if}}
    {{#if (eq item.itemType "FIELD")}}
    required: {{#if item.allowEmpty}}false{{else}}true{{/if}},
    {{#if item.fieldStates}}
    fieldState: "{{item.fieldStates}}",
    {{/if}}
    dataItemName: "{{lowerCase item.viewFieldName}}",
    {{#if item.psEditor}}
    predefinedType: "{{item.psEditor.predefinedType}}",
    editorDynaClass: "{{item.psEditor.dynaClass}}",
    {{#eq item.psEditor.editorType 'SPAN'}}
    renderMode: "{{item.psEditor.renderMode}}",
    wrapMode: "{{item.psEditor.wrapMode}}",
    vAlign: "{{item.psEditor.vAlign}}",
    hAlign: "{{item.psEditor.hAlign}}",
    {{/eq}}
    {{/if}}
    {{/if}}
    {{#if (eq item.itemType "BUTTON")}}
    xDataCtrlName: "{{xDataCtrlName}}",
    buttonStyle: "{{item.buttonStyle}}",
    borderStyle: "{{item.borderStyle}}",
    contentStyle: `{{item.buttonCssStyle}}`,
    iconAlign: "{{item.iconAlign}}",
    renderMode: "{{item.renderMode}}",
    captionItemName:"{{item.captionItemName}}",
    {{#if item.psUIAction}}
    uiAction: {
        actionTag: "{{item.psUIAction.uIActionTag}}",
        actionTarget: "{{item.psUIAction.actionTarget}}",
        dataAccessAction: "{{item.psUIAction.dataAccessAction}}",
        {{#if item.psUIAction.noPrivDisplayMode}}
        noPrivDisplayMode: {{item.psUIAction.noPrivDisplayMode}},
        {{/if}}
        visible: true, 
        disabled: false,
        predefinedType: "{{item.psUIAction.predefinedType}}",
        actionDECodeName: "{{#if item.psUIAction.psAppDataEntity}}{{item.psUIAction.psAppDataEntity.codeName}}{{/if}}",
    },
    {{/if}}
    {{/if}}
    {{#if (eq item.itemType "TABPANEL")}}
    details: [
    {{~#each item.psPanelTabPages as | panelItem | ~}}
        "{{panelItem.name}}"{{#unless @last}},{{/unless}}
    {{~/each~}}
    ],
    tabPages: [
    {{#each item.psPanelTabPages as | panelItem | }}
        {
            name: "{{panelItem.name}}",
            caption: "{{panelItem.caption}}",
        }{{#unless @last}},{{/unless}}
    {{/each}}    
    ],
    {{/if}}
    {{#if (eq item.itemType "TABPAGE")}}
    details: [
    {{~#each item.psPanelItems as | panelItem | ~}}
        "{{panelItem.name}}"{{#unless @last}},{{/unless}}
    {{~/each~}}
    ],
    {{/if}}
    {{#if item.psPanelItemGroupLogics}}
    groupLogics: [
        {{#each item.psPanelItemGroupLogics as | groupLogic |}}
        {{> @macro/common/panel-logic.hbs logic=groupLogic}}
        {{/each}}
    ],
    {{/if}}
},
{{#if item.psPanelItems}}
{{#each item.psPanelItems as | panelItem |}}
{{> @macro/widgets/panel-detail/include-panel.hbs type="PANELDETAILSMODEL" item=panelItem parentItem=item type=type xDataCtrlName=xDataCtrlName page=page}}
{{/each}}
{{/if}}        
{{#if item.psPanelTabPages}}
{{#each item.psPanelTabPages as | panelItem |}}
{{> @macro/widgets/panel-detail/include-panel.hbs type="PANELDETAILSMODEL" item=panelItem parentItem=item type=type xDataCtrlName=xDataCtrlName page=page}}
{{/each}}
{{/if}}        