iNotes宛先選択の表示順選択肢のCustomize (続)
「iNotes宛先選択の表示順選択肢のCustomize」の記事で、Address Pickerの表示順のView選択のCustomizeを行いましたが、Forms9_x.nsfでのCustomizeを前提にしていたため、表示順の選択肢の先頭に「DJX組織別階層」が表示できていませんでした。
これも、少し不便かも知れないと思い、Forms9.nsf自体をCustomizeして対応する方法を考えてみたいと思います。
DJXのName Pickerの選択用のViewについては、s_NamePickerDJXViewList、s_NamePickerDJXViewListExtに定義されているのですが、両方とも同じCodeが記載されています。
Codeの内容を見る限り、Forms9_x.nsfの x_NamePickerViewList と同じFormatで参照Viewの定義が行われ、NamePick.BTM.pushというFunctionでName PickerのListに追加しているように見えます。
if(haiku.bEnableDJX){NamePick.BTM.push({sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE"/>, DcS : '($DJXPeopleiNotesHier)', sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$64;JobTitle', nViewType : 1, aDefaultColumnWidths : [10], aDBPaths : ['*'], fnDisplayName : function (sTmp, Yc, CXb, Cwx){if(!Cwx.sViewInfo) return sTmp;var GoU=Cwx.sViewInfo.split(';')[5];if(Yc && Yc.getAttribute('name') == GoU && !CXb.jN()){var nPos=sTmp.indexOf('|');if(nPos != -1) sTmp=sTmp.substring(sTmp.indexOf('|')+1);} return sTmp;}} );NamePick.BTM.push({sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE_JOBTITLE"/>, DcS : '($DJXPeopleiNotesTitle)', sViewInfo : '$60;MAMailAddress;NPName;Type;AltFullName;$64;JobTitle', nViewType : 1, aDefaultColumnWidths : [10], aDBPaths : ['*'], fnDisplayName : function (sTmp, Yc, CXb, Cwx){if(!Cwx.sViewInfo) return sTmp;var GoU=Cwx.sViewInfo.split(';')[5];if(Yc && Yc.getAttribute('name') == GoU && !CXb.jN()){var nPos=sTmp.indexOf('|');if(nPos != -1) sTmp=sTmp.substring(sTmp.indexOf('|')+1);} return sTmp;}} );NamePick.BTM.push({sViewTitle : <dwa:string id="L_DJX_DIRECTORY_TITLE_PHONETIC"/>, DcS : '($DJXPeopleiNotesFlat)', sViewInfo : '$39;MAMailAddress;NPName;Type;AltFullName;', nViewType : 1, aDefaultColumnWidths : [10], aDBPaths : ['*']} );}
L_DJX_DIRECTORY_TITLE_JOBTITLE=DJX\u5f79\u8077\u9806
L_DJX_DIRECTORY_TITLE_PHONETIC=DJX\u3088\u307f\u304c\u306a\u9806
NamePick.Br = <dwa:string id="D_NAMEPICK_WINDOW_HEIGHT" quotes="none"/>;
NamePick.nViewListWidth = 300;
NamePick.BTM = [
// for Contacts
{
sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>,
DcS : '($PeopleGroupsFlat)',
// SPR# YJSI8FJ9DR: due to a change in the $PeopleGroupsFlat view in mail85.ntf, "Form" column is now "Type" column to stay in-sync with pubnames.ntf
// keep "Form", just in case "Type" fails
sViewInfo : '$39;MAMailAddress;NPName;Type|Form;AltFullName',
nViewType : 2,
aDBPaths : []
},
// for Catalog
{
sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>,
DcS : '($PeopleGroupsFlat)',
sViewInfo : '$39;MAMailAddress;NPName;$40;AltFullName',
nViewType : 3,
aDBPaths : ['*']
},
// for LDAP
{
sViewTitle : <dwa:string id="L_NPW_TITLE_FLATVIEW"/>,
DcS : '',
sViewInfo : 'SummaryName;MailAddress;FullName;Type;AltFullName;AltFullNameLanguage;PreferredMailFormat',
nViewType : 4
},
// for normal directory
];
Serverを再起動すると以下のように表示されます。
2022/08/16 07:48:17AM Uncaught TypeError: Cannot read properties of undefined (reading 'oInfo')
2022/08/16 07:48:17AM http://domsrv4.acme.com/iNotes/Forms9.nsf/iNotes/Proxy/?OpenDocument&Form=l_CommonNamePickerCode&l=ja&gz&CR&MX&TS=20220815T093427,55Z&TSX=20220815T094909,72Z&EFF=%2FiNotes%2FForms9_x&charset=UTF-8: 4