@next-libs/cmdb-instances 6.26.2 → 6.26.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"names":["ModelAttributeValueType","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","Component","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","objectId","constructor","isClusterType","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","error","jsonValidateCollection","showError","restProps","errorMessage","state","jsonSchema","regex","JSON","parse","TEXT","placeholder","e","className","style","URL","NUMBER","CODE_EDITOR","validateJson","display","color","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","TEXTAREA","MARKDOWN","LEGACY_STRUCT","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","map","item","String","TAGS","width","DATE","DATETIME","dateConfig","showTime","formater","format","handleDateChange","SELECT","newValue","multiSelect","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","clusterMap","STRING","mode","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"mappings":";;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;IAMYA,uB;;;WAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;AAAAA,EAAAA,uB;GAAAA,uB,uCAAAA,uB;;IAkBAC,2B;;;WAAAA,2B;AAAAA,EAAAA,2B;AAAAA,EAAAA,2B;AAAAA,EAAAA,2B;AAAAA,EAAAA,2B;GAAAA,2B,2CAAAA,2B;;IAOAC,mB;;;WAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;AAAAA,EAAAA,mB;GAAAA,mB,mCAAAA,mB;;AA2DL,MAAMC,WAAoC,GAAG,CAClD;AACEC,EAAAA,EAAE,EAAE,IADN;AAEEC,EAAAA,IAAI,EAAE;AAFR,CADkD,EAKlD;AACED,EAAAA,EAAE,EAAE,KADN;AAEEC,EAAAA,IAAI,EAAE;AAFR,CALkD,CAA7C;;;AAWA,MAAMC,yBAAN,SAAwCC,gBAAxC,CAGL;AACAC,EAAAA,kBAAkB,CAChBC,SADgB,EAEhBC,SAFgB,EAGhBC,QAHgB,EAIV;AACN,QACE,KAAKC,KAAL,CAAWC,KAAX,KAAqBJ,SAAS,CAACI,KAA/B,IACA,KAAKD,KAAL,CAAWE,IAAX,KAAoBL,SAAS,CAACK,IAD9B,IAEA,KAAKF,KAAL,CAAWG,SAAX,CAAqBX,EAArB,KAA4BK,SAAS,CAACM,SAAV,CAAoBX,EAFhD,IAGA,KAAKQ,KAAL,CAAWG,SAAX,CAAqBC,IAArB,KAA8BP,SAAS,CAACM,SAAV,CAAoBC,IAHlD,IAIA,KAAKJ,KAAL,CAAWG,SAAX,CAAqBF,KAArB,CAA2BC,IAA3B,KAAoCL,SAAS,CAACM,SAAV,CAAoBF,KAApB,CAA0BC,IALhE,EAME;AACA,WAAKG,QAAL,CAAc;AACZJ,QAAAA,KAAK,EAAE,KAAKD,KAAL,CAAWC,KADN;AAEZK,QAAAA,WAAW,EAAE,KAAKC,kBAAL,CACX,KAAKP,KAAL,CAAWG,SADA,EAEX,KAAKH,KAAL,CAAWR,EAFA,EAGX,KAAKQ,KAAL,CAAWE,IAHA,EAIX,KAAKF,KAAL,CAAWQ,QAAX,KAAwB,SAAxB,IACE,KAAKR,KAAL,CAAWG,SAAX,CAAqBX,EAArB,KAA4B,MALnB;AAFD,OAAd;AAUD;AACF;;AAEDiB,EAAAA,WAAW,CAACT,MAAD,EAAwC;AACjD,UAAMA,MAAN;AADiD,8DAyJ9B,CACnBG,SADmB,EAEnBX,EAFmB,EAGnBU,IAHmB,EAInBQ,aAJmB,KAKH;AAChB,YAAMC,eAAe,GAAGjB,yBAAyB,CAACkB,sBAA1B,CACtBT,SADsB,EAEtBD,IAFsB,EAGtB,KAAKF,KAAL,CAAWa,yBAHW,CAAxB;AAKA,UAAIC,KAAK,GAAG,KAAKC,uBAAL,CAA6BZ,SAA7B,EAAwCO,aAAxC,CAAZ;;AAEA,UAAIP,SAAS,CAACF,KAAV,CAAgBC,IAAhB,KAAyBd,uBAAuB,CAAC4B,OAArD,EAA8D;AAC5DF,QAAAA,KAAK,GAAGvB,WAAR;AACD;;AAED,YAAM0B,MAAmB,GAAG;AAC1Bf,QAAAA,IAAI,EAAES,eADoB;AAE1BG,QAAAA,KAF0B;AAG1BtB,QAAAA,EAAE,EAAEA,EAAE,IAAIW,SAAS,CAACX,EAHM;AAI1BY,QAAAA,IAAI,EAAED,SAAS,CAACX,EAJU;AAK1B0B,QAAAA,KAAK,EAAEf,SAAS,CAACC,IALS;AAM1Be,QAAAA,QAAQ,EAAEhB,SAAS,CAACgB,QAAV,KAAuB,MANP;AAO1BC,QAAAA,QAAQ,EAAE,CAAC,KAAKpB,KAAL,CAAWqB,QAAZ,IAAwBlB,SAAS,CAACmB,QAAV,KAAuB,MAP/B;AAQ1BC,QAAAA,MAAM,EAAEpB,SAAS,CAACoB,MAAV,KAAqB,MARH;AAS1BC,QAAAA,OAAO,EAAE9B,yBAAyB,CAAC+B,cAA1B,CAAyCtB,SAAzC;AATiB,OAA5B;;AAYA,UAAIc,MAAM,CAACf,IAAP,KAAgBZ,mBAAmB,CAACoC,MAAxC,EAAgD;AAC9CT,QAAAA,MAAM,CAAC,WAAD,CAAN,GAAsB,CAAtB;AACD;;AACDA,MAAAA,MAAM,CAAC,aAAD,CAAN,GACEvB,yBAAyB,CAACiC,kBAA1B,CAA6CV,MAA7C,CADF;AAEA,aAAOA,MAAP;AACD,KA5LkD;AAAA,oDAoQvCW,KAAD,IAAgB;AACzB,UAAI3B,KAAJ;;AACA,UAAI2B,KAAK,IAAIA,KAAK,CAACC,MAAnB,EAA2B;AACzB5B,QAAAA,KAAK,GAAG2B,KAAK,CAACC,MAAN,CAAa5B,KAArB;AACD,OAFD,MAEO;AACLA,QAAAA,KAAK,GAAG2B,KAAR;AACD;;AAED,YAAM;AAAEE,QAAAA;AAAF,UAAe,KAAK9B,KAA1B;AACA,WAAKK,QAAL,CAAc;AAAEJ,QAAAA;AAAF,OAAd;AACA6B,MAAAA,QAAQ,IAAIA,QAAQ,CAAC7B,KAAD,CAApB;AACD,KA/QkD;AAAA,4DAiRhC,CAAC8B,IAAD,EAAeC,UAAf,KAAsC;AACvD,WAAKF,QAAL,CAAcE,UAAU,IAAIC,SAA5B;AACD,KAnRkD;AAAA,wDAoRnCC,GAAD,IAAc;AAAA;;AAC3B,YAAMC,KAAK,GAAG,kBAAKD,GAAL,EAAU,CAAC,MAAD,EAAS,OAAT,CAAV,CAAd;AACA,mDAAKlC,KAAL,EAAWoC,sBAAX,kGAAoCD,KAApC;AACA,WAAK9B,QAAL,CAAc;AAAEgC,QAAAA,SAAS,EAAEF;AAAb,OAAd;AACD,KAxRkD;AAAA,8DA0R9B,MAAiB;AAAA;;AACpC,YAAM;AAAEhC,QAAAA;AAAF,UAAgB,KAAKH,KAA3B;AACA,YAAM;AACJC,QAAAA,KADI;AAEJK,QAAAA,WAAW,EAAE;AAAEJ,UAAAA,IAAF;AAAQ,aAAGoC;AAAX,SAFT;AAGJC,QAAAA;AAHI,UAIF,KAAKC,KAJT,CAFoC,CAOpC;AACA;AACA;AACA;AACA;;AACA,UAAIC,UAAJ;;AACA,UAAI,CAAAtC,SAAS,SAAT,IAAAA,SAAS,WAAT,gCAAAA,SAAS,CAAEF,KAAX,sEAAkBC,IAAlB,MAA2B,MAA3B,IAAqCC,SAArC,aAAqCA,SAArC,oCAAqCA,SAAS,CAAEF,KAAhD,8CAAqC,kBAAkByC,KAA3D,EAAkE;AAAA;;AAChED,QAAAA,UAAU,GAAGE,IAAI,CAACC,KAAL,CAAWzC,SAAX,aAAWA,SAAX,4CAAWA,SAAS,CAAEF,KAAtB,sDAAW,kBAAkByC,KAA7B,CAAb;AACD;;AAED,cAAQxC,IAAR;AACE,aAAKZ,mBAAmB,CAACuD,IAAzB;AAA+B;AAC7B,kBAAM;AAAErB,cAAAA,OAAF;AAAWsB,cAAAA,WAAX;AAAwB,iBAAG9C;AAA3B,gBAAqCsC,SAA3C;AACA,gCACE,6BAAC,WAAD;AACE,cAAA,KAAK,EAAErC,KADT;AAEE,cAAA,IAAI,EAAC;AAFP,eAGMD,KAHN;AAIE,cAAA,WAAW,EAAE8C,WAJf;AAKE,cAAA,QAAQ,EAAGC,CAAD,IAAO,KAAKjB,QAAL,CAAciB,CAAd,CALnB;AAME,cAAA,SAAS,EAAE,KAAK/C,KAAL,CAAWgD,SANxB;AAOE,cAAA,KAAK,EAAE,KAAKhD,KAAL,CAAWiD;AAPpB,eADF;AAWD;;AAED,aAAK3D,mBAAmB,CAAC4D,GAAzB;AAA8B;AAC5B,kBAAM;AAAE9B,cAAAA,QAAF;AAAYD,cAAAA,QAAZ;AAAsB2B,cAAAA;AAAtB,gBAAsCR,SAA5C;AAEA,gCACE,6BAAC,gDAAD;AACE,cAAA,QAAQ,EAAElB,QADZ;AAEE,cAAA,QAAQ,EAAED,QAFZ;AAGE,cAAA,WAAW,EAAE2B,WAHf;AAIE,cAAA,KAAK,EAAE7C,KAJT;AAKE,cAAA,QAAQ,EAAG8C,CAAD,IAAO,KAAKjB,QAAL,CAAciB,CAAd;AALnB,cADF;AASD;;AAED,aAAKzD,mBAAmB,CAAC6D,MAAzB;AAAiC;AAC/B,kBAAM;AAAE3B,cAAAA,OAAF;AAAW,iBAAGxB;AAAd,gBAAwBsC,SAA9B;AACA,gCACE,6BAAC,iBAAD;AACE,cAAA,KAAK,EAAErC;AADT,eAEMD,KAFN;AAGE,cAAA,QAAQ,EAAG+C,CAAD,IAAY,KAAKjB,QAAL,CAAciB,CAAd,CAHxB;AAIE,cAAA,SAAS,EAAE,KAAK/C,KAAL,CAAWgD,SAJxB;AAKE,cAAA,KAAK,EAAE,KAAKhD,KAAL,CAAWiD;AALpB,eADF;AASD;;AACD,aAAK3D,mBAAmB,CAAC8D,WAAzB;AACE,8BACE,yEACE,6BAAC,gCAAD;AACE,YAAA,KAAK,EAAEnD,KADT;AAEE,YAAA,IAAI,EAAE,MAFR;AAGE,YAAA,QAAQ,EAAE,UAHZ;AAIE,YAAA,mBAAmB,EAAE,IAJvB;AAKE,YAAA,QAAQ,EAAG8C,CAAD,IAAY,KAAKjB,QAAL,CAAciB,CAAd,CALxB;AAME,YAAA,QAAQ,EAAE,CANZ;AAOE,YAAA,eAAe,EAAE,IAPnB;AAQE,YAAA,eAAe,EAAE,KARnB;AASE,YAAA,sBAAsB,EAAE;AAT1B,aAUON,UAAU,GAAG;AAAEA,YAAAA,UAAU,EAAEA;AAAd,WAAH,GAAgC,EAVjD;AAWE,YAAA,KAAK,EAAC,UAXR;AAYE,YAAA,UAAU,EAAGP,GAAD,IAAc,KAAKmB,YAAL,CAAkBnB,GAAlB;AAZ5B,aADF,eAeE;AACE,YAAA,KAAK,EAAE;AACLoB,cAAAA,OAAO,EAAE,KAAKd,KAAL,CAAWH,SAAX,GAAuB,OAAvB,GAAiC,MADrC;AAELkB,cAAAA,KAAK,EAAE;AAFF;AADT,aAMGC,iBAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAEC,aAAc,EAApD,CANH,CAfF,CADF;;AA0BF,aAAKtE,mBAAmB,CAACuE,QAAzB;AACA,aAAKvE,mBAAmB,CAACwE,QAAzB;AAAmC;AACjC,gCACE,6BAAC,WAAD,CAAO,QAAP;AACE,cAAA,KAAK,EAAE7D;AADT,eAEMqC,SAFN;AAGE,cAAA,QAAQ,EAAGS,CAAD,IAAY,KAAKjB,QAAL,CAAciB,CAAd,CAHxB;AAIE,cAAA,SAAS,EAAE,KAAK/C,KAAL,CAAWgD,SAJxB;AAKE,cAAA,KAAK,EAAE,KAAKhD,KAAL,CAAWiD,KALpB;AAME,cAAA,IAAI,EAAE;AANR,eADF;AAUD;;AAED,aAAK3D,mBAAmB,CAACoC,MAAzB;AACA,aAAKpC,mBAAmB,CAACyE,aAAzB;AACE,8BACE,6BAAC,2BAAD;AACE,YAAA,QAAQ,EAAE7D,IAAI,KAAKZ,mBAAmB,CAACyE,aADzC;AAEE,YAAA,SAAS,EAAE5D,SAFb;AAGE,YAAA,UAAU,EAAEF,KAHd;AAIE,YAAA,mBAAmB,EAAG+D,QAAD,IAAmB,KAAKlC,QAAL,CAAckC,QAAd,CAJ1C;AAKE,YAAA,SAAS,EAAE,KAAKhE,KAAL,CAAWgD,SALxB;AAME,YAAA,KAAK,EAAE,KAAKhD,KAAL,CAAWiD,KANpB;AAOE,YAAA,QAAQ,EAAE,KAAKjD,KAAL,CAAWqB;AAPvB,YADF;;AAYF,aAAK/B,mBAAmB,CAAC2E,KAAzB;AAAgC;AAC9B,gBAAI;AAAEnD,cAAAA,KAAF;AAASK,cAAAA,QAAT;AAAmBC,cAAAA;AAAnB,gBAAgCkB,SAApC,CAD8B,CAG9B;;AACA,kBAAM4B,UAAU,GAAG;AACjB1E,cAAAA,EAAE,EAAE,IADa;AAEjB;AACAC,cAAAA,IAAI,EAAE+D,iBAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAEQ,sBAAuB,EAA7D;AAHW,aAAnB;;AAMA,gBAAI,CAAChD,QAAL,EAAe;AACbL,cAAAA,KAAK,GAAG,CAAC,GAAGA,KAAJ,EAAWoD,UAAX,CAAR;AACD;;AAED,gCACE,6BAAC,WAAD,CAAO,KAAP;AACE,cAAA,QAAQ,EAAGnB,CAAD,IAAY,KAAKjB,QAAL,CAAciB,CAAd,CADxB;AAEE,cAAA,KAAK,EAAE9C,KAAK,KAAKgC,SAAV,GAAsBhC,KAAtB,GAA8BiE,UAAU,CAAC1E,EAFlD;AAGE,cAAA,SAAS,EAAE,KAAKQ,KAAL,CAAWgD,SAHxB;AAIE,cAAA,KAAK,EAAE,KAAKhD,KAAL,CAAWiD,KAJpB;AAKE,cAAA,QAAQ,EAAE7B;AALZ,eAOGN,KAAK,CAACsD,GAAN,CAAWC,IAAD,iBACT,6BAAC,WAAD;AAAO,cAAA,KAAK,EAAEA,IAAI,CAAC7E,EAAnB;AAAuB,cAAA,GAAG,EAAE8E,MAAM,CAACD,IAAI,CAAC7E,EAAN;AAAlC,eACG6E,IAAI,CAAC5E,IADR,CADD,CAPH,CADF;AAeD;;AAED,aAAKH,mBAAmB,CAACiF,IAAzB;AAA+B;AAC7B,kBAAM;AAAEzB,cAAAA,WAAF;AAAe1B,cAAAA;AAAf,gBAA4BkB,SAAlC;AACA,gCACE,6BAAC,YAAD;AACE,cAAA,UAAU,EAAE,IADd;AAEE,cAAA,IAAI,EAAC,MAFP;AAGE,cAAA,KAAK,EAAE,EAAE,GAAG,KAAKtC,KAAL,CAAWiD,KAAhB;AAAuBuB,gBAAAA,KAAK,EAAE;AAA9B,eAHT;AAIE,cAAA,QAAQ,EAAEpD,QAJZ;AAKE,cAAA,WAAW,EAAE0B,WALf;AAME,cAAA,KAAK,EAAE7C,KAAK,IAAI,EANlB;AAOE,cAAA,QAAQ,EAAG8C,CAAD,IAAY,KAAKjB,QAAL,CAAciB,CAAd,CAPxB;AAQE,cAAA,SAAS,EAAE,KAAK/C,KAAL,CAAWgD;AARxB,cADF;AAYD;;AAED,aAAK1D,mBAAmB,CAACmF,IAAzB;AACA,aAAKnF,mBAAmB,CAACoF,QAAzB;AAAmC;AACjC,gBAAIC,UAAU,GAAG,EAAjB;;AACA,gBAAIzE,IAAI,KAAKZ,mBAAmB,CAACoF,QAAjC,EAA2C;AACzCC,cAAAA,UAAU,GAAG;AACXC,gBAAAA,QAAQ,EAAE;AADC,eAAb;AAGD;;AACD,kBAAM;AAAExD,cAAAA,QAAF;AAAY0B,cAAAA;AAAZ,gBAA4BR,SAAlC;AACA,kBAAMuC,QAAQ,GAAG,mCAAkB3E,IAAlB,EAAwBD,KAAxB,CAAjB;AACA,gCACE,6BAAC,gBAAD;AACE,cAAA,KAAK,EAAE4E,QAAQ,CAAC5E,KADlB;AAEE,cAAA,WAAW,EAAE6C,WAFf;AAGE,cAAA,QAAQ,EAAE1B,QAHZ;AAIE,cAAA,MAAM,EAAEyD,QAAQ,CAACC;AAJnB,eAKMH,UALN;AAME,cAAA,QAAQ,EAAE,CAAC5C,IAAD,EAAOC,UAAP,KACR,KAAK+C,gBAAL,CAAsBhD,IAAtB,EAA4BC,UAA5B,CAPJ;AASE,cAAA,SAAS,EAAE,KAAKhC,KAAL,CAAWgD,SATxB;AAUE,cAAA,KAAK,EAAE,KAAKhD,KAAL,CAAWiD;AAVpB,eADF;AAcD;;AAED,aAAK3D,mBAAmB,CAAC0F,MAAzB;AAAiC;AAC/B,kBAAM;AAAE5D,cAAAA,QAAF;AAAY0B,cAAAA;AAAZ,gBAA4BR,SAAlC;AACA,kBAAM2C,QAAQ,GACZ,OAAOhF,KAAP,KAAiB,SAAjB,GAA6BA,KAA7B,GAAqCA,KAAK,GAAGA,KAAH,GAAW,EADvD;AAEA,gCACE,6BAAC,YAAD;AACE,cAAA,WAAW,EAAE6C,WADf;AAEE,cAAA,IAAI,EAAE,KAAK9C,KAAL,CAAWkF,WAAX,GAAyB,UAAzB,GAAsCjD,SAF9C;AAGE,cAAA,YAAY,EAAEgD,QAHhB;AAIE,cAAA,QAAQ,EAAGlC,CAAD,IAAY,KAAKjB,QAAL,CAAciB,CAAd,CAJxB;AAKE,cAAA,QAAQ,EAAE3B,QALZ;AAME,cAAA,SAAS,EAAE,KAAKpB,KAAL,CAAWgD,SANxB;AAOE,cAAA,KAAK,EAAE,KAAKhD,KAAL,CAAWiD;AAPpB,eASGX,SAAS,CAACxB,KAAV,IACCwB,SAAS,CAACxB,KAAV,CAAgBsD,GAAhB,CAAoB,CAAC;AAAE5E,cAAAA,EAAF;AAAMC,cAAAA;AAAN,aAAD,kBAClB,6BAAC,YAAD,CAAQ,MAAR;AAAe,cAAA,KAAK,EAAED,EAAtB;AAA0B,cAAA,GAAG,EAAEA;AAA/B,eACGC,IADH,CADF,CAVJ,CADF;AAkBD;;AAED;AACE;AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE,cAAA,KAAK,EAAE;AACL8D,gBAAAA,KAAK,EAAE,wBADF;AAEL,mBAAG,KAAKvD,KAAL,CAAWiD;AAFT;AADT,eAMGV,YANH;AARF;AAnMJ;AAqND,KAhgBkD;AAEjD,UAAM;AAAEpC,MAAAA,SAAS,EAATA,UAAF;AAAaX,MAAAA,EAAE,EAAFA,GAAb;AAAiBS,MAAAA,KAAK,EAALA,MAAjB;AAAwBC,MAAAA,IAAI,EAAJA,KAAxB;AAA8BM,MAAAA;AAA9B,QAA2CR,MAAjD;AACA,UAAMmF,EAAE,GAAG3E,QAAX;;AACA,QAAI;AACF,WAAKgC,KAAL,GAAa;AACXvC,QAAAA,KAAK,EAALA,MADW;AAEXsC,QAAAA,YAAY,EAAE,IAFH;AAGXjC,QAAAA,WAAW,EAAE,KAAKC,kBAAL,CACXJ,UADW,EAEXX,GAFW,EAGXU,KAHW,EAIX,KAAKF,KAAL,CAAWQ,QAAX,KAAwB,SAAxB,IACE,KAAKR,KAAL,CAAWG,SAAX,CAAqBX,EAArB,KAA4B,MALnB;AAHF,OAAb;AAWD,KAZD,CAYE,OAAO2C,KAAP,EAAc;AACd,WAAKK,KAAL,GAAa;AACXD,QAAAA,YAAY,EAAEJ,KAAK,CAACiD,OADT;AAEX9E,QAAAA,WAAW,EAAE;AACXJ,UAAAA,IAAI,EAAEZ,mBAAmB,CAAC+F,WADf;AAEXjF,UAAAA,IAAI,EAAED,UAAS,CAACC,IAFL;AAGXZ,UAAAA,EAAE,EAAE;AAHO;AAFF,OAAb;AAQD;AACF;;AAEoB,SAAdiC,cAAc,CACnBtB,SADmB,EAEC;AACpB,QAAI;AACF,UACEA,SAAS,CAACF,KAAV,CAAgBC,IAAhB,KAAyBd,uBAAuB,CAACkG,IAAjD,IACAnF,SAAS,CAACF,KAAV,CAAgBC,IAAhB,KAAyBd,uBAAuB,CAACmG,KADjD,IAEApF,SAAS,CAACF,KAAV,CAAgByC,KAAhB,KAA0BT,SAF1B,IAGA9B,SAAS,CAACF,KAAV,CAAgByC,KAAhB,KAA0B,IAJ5B,EAKE;AACA;AACA,eAAO,IAAI8C,MAAJ,CAAWrF,SAAS,CAACF,KAAV,CAAgByC,KAA3B,EAA4C,GAA5C,CAAP;AACD;;AACD,aAAOT,SAAP;AACD,KAXD,CAWE,OAAOE,KAAP,EAAc;AACd,aAAOF,SAAP;AACD;AACF;;AAEDlB,EAAAA,uBAAuB,CACrBZ,SADqB,EAErBO,aAFqB,EAGI;AACzB,QACEP,SAAS,CAACF,KAAV,CAAgBC,IAAhB,KAAyBd,uBAAuB,CAACkG,IAAjD,IACAnF,SAAS,CAACF,KAAV,CAAgBC,IAAhB,KAAyBd,uBAAuB,CAACmG,KAFnD,EAGE;AAAA;;AACA;AACA,sCAAQpF,SAAS,CAACF,KAAV,CAAgByC,KAAxB,0DAAO,sBAAqC0B,GAArC,CAA0CqB,SAAD,KAAgB;AAC9DjG,QAAAA,EAAE,EAAEiG,SAD0D;AAE9DhG,QAAAA,IAAI,EAAEiB,aAAa,GAAGgF,uBAAWD,SAAX,CAAH,GAA2BA;AAFgB,OAAhB,CAAzC,CAAP;AAID;AACF;;AAE4B,SAAtB7E,sBAAsB,CAC3BT,SAD2B,EAE3BD,IAF2B,EAG3BW,yBAH2B,EAIN;AACrB,YAAQV,SAAS,CAACF,KAAV,CAAgBC,IAAxB;AACE,WAAKd,uBAAuB,CAACuG,MAA7B;AAAqC;AACnC,cACExF,SAAS,CAACF,KAAV,CAAgB2F,IAAhB,KAAyBvG,2BAA2B,CAACwG,cADvD,EAEE;AACA,mBAAOvG,mBAAmB,CAACuE,QAA3B;AACD;;AACD,cAAI1D,SAAS,CAACF,KAAV,CAAgB2F,IAAhB,KAAyBvG,2BAA2B,CAACyE,QAAzD,EAAmE;AACjE,mBAAOxE,mBAAmB,CAACwE,QAA3B;AACD;;AACD,cAAI3D,SAAS,CAACF,KAAV,CAAgB2F,IAAhB,KAAyBvG,2BAA2B,CAAC6D,GAAzD,EAA8D;AAC5D,mBAAO5D,mBAAmB,CAAC4D,GAA3B;AACD;;AACD,cAAIrC,yBAAJ,EAA+B;AAC7B,mBAAOvB,mBAAmB,CAACiF,IAA3B;AACD;AACF;;AACD;;AACA,WAAKnF,uBAAuB,CAAC0G,EAA7B;AACE,eAAOxG,mBAAmB,CAACuD,IAA3B;;AACF,WAAKzD,uBAAuB,CAACuD,IAA7B;AACE;AACA,eAAOrD,mBAAmB,CAAC8D,WAA3B;;AACF,WAAKhE,uBAAuB,CAACkG,IAA7B;AACE,YACE,CAACnF,SAAS,CAACF,KAAV,CAAgByC,KAAjB,IACCvC,SAAS,CAACF,KAAV,CAAgByC,KAAjB,CAAoCqD,MAApC,KAA+C,CAFjD,EAGE;AACA,gBAAM,IAAIC,KAAJ,EACJ;AACAxC,2BAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAEsC,cAAe,EAArD,EAAwD;AACtD9F,YAAAA,SAAS,EAAEA,SAAS,CAACC;AADiC,WAAxD,CAFI,CAAN;AAMD;;AACD,YACED,SAAS,CAACF,KAAV,CAAgByC,KAAhB,IACCvC,SAAS,CAACF,KAAV,CAAgByC,KAAjB,CAAoCqD,MAApC,IAA8C,CAD9C,KAEC,CAAC7F,IAAD,IAASA,IAAI,KAAKZ,mBAAmB,CAAC2E,KAFvC,CADF,EAIE;AACA,iBAAO3E,mBAAmB,CAAC2E,KAA3B;AACD;;AACD,eAAO3E,mBAAmB,CAAC0F,MAA3B;;AACF,WAAK5F,uBAAuB,CAAC8G,OAA7B;AACA,WAAK9G,uBAAuB,CAAC+G,KAA7B;AACE,eAAO7G,mBAAmB,CAAC6D,MAA3B;;AACF,WAAK/D,uBAAuB,CAACqF,IAA7B;AACE,eAAOnF,mBAAmB,CAACmF,IAA3B;;AACF,WAAKrF,uBAAuB,CAACsF,QAA7B;AACE,eAAOpF,mBAAmB,CAACoF,QAA3B;;AACF,WAAKtF,uBAAuB,CAACgH,GAA7B;AACE,eAAO9G,mBAAmB,CAACiF,IAA3B;;AACF,WAAKnF,uBAAuB,CAACsC,MAA7B;AACE,YAAIvB,SAAS,CAACF,KAAV,CAAgBoG,aAAhB,CAA8BN,MAA9B,KAAyC,CAA7C,EAAgD;AAC9C,gBAAM,IAAIC,KAAJ,EACJ;AACAxC,2BAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAE2C,gBAAiB,EAAvD,EAA0D;AACxDnG,YAAAA,SAAS,EAAEA,SAAS,CAACC;AADmC,WAA1D,CAFI,CAAN;AAMD;;AACD,eAAOd,mBAAmB,CAACyE,aAA3B;;AACF,WAAK3E,uBAAuB,CAACmH,WAA7B;AACE,YAAIpG,SAAS,CAACF,KAAV,CAAgBoG,aAAhB,CAA8BN,MAA9B,KAAyC,CAA7C,EAAgD;AAC9C,gBAAM,IAAIC,KAAJ,EACJ;AACAxC,2BAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAE2C,gBAAiB,EAAvD,EAA0D;AACxDnG,YAAAA,SAAS,EAAEA,SAAS,CAACC;AADmC,WAA1D,CAFI,CAAN;AAMD;;AACD,eAAOd,mBAAmB,CAACoC,MAA3B;;AACF,WAAKtC,uBAAuB,CAAC4B,OAA7B;AACE,eAAO1B,mBAAmB,CAAC0F,MAA3B;;AACF,WAAK5F,uBAAuB,CAACmG,KAA7B;AACE,eAAOjG,mBAAmB,CAAC0F,MAA3B;;AACF;AACE,cAAM,IAAIgB,KAAJ,CACJxC,iBAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAE6C,oBAAqB,EAA3D,EAA8D;AAC5DtG,UAAAA,IAAI,EAAEC,SAAS,CAACF,KAAV,CAAgBC;AADsC,SAA9D,CADI,CAAN;AA7EJ;AAmFD;;AAuCwB,SAAlByB,kBAAkB,CAACrB,WAAD,EAAmC;AAC1D,QAAIA,WAAW,CAACd,EAAZ,KAAmB,IAAnB,IAA2Bc,WAAW,CAACF,IAAZ,KAAqB,IAApD,EAA0D;AACxD,aAAOoD,iBAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAE8C,cAAe,EAArD,CAAP;AACD;;AAED,UAAMC,YAAY,GAAG,EAArB;;AACA,YAAQpG,WAAW,CAACJ,IAApB;AACE,WAAKZ,mBAAmB,CAAC0F,MAAzB;AACE0B,QAAAA,YAAY,CAACC,IAAb,CACEnD,iBAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAEiD,eAAgB,EAAtD,CADF;AAGA;;AACF,WAAKtH,mBAAmB,CAACoF,QAAzB;AACA,WAAKpF,mBAAmB,CAACmF,IAAzB;AACEiC,QAAAA,YAAY,CAACC,IAAb,CACEnD,iBAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAEiD,eAAgB,EAAtD,CADF;AAGA;;AACF,WAAKtH,mBAAmB,CAACiF,IAAzB;AACEmC,QAAAA,YAAY,CAACC,IAAb,CACEnD,iBAAKC,CAAL,CACG,GAAEC,iCAAuB,IAAGC,aAAEkD,qDAAsD,EADvF,CADF;AAKA;;AACF;AACEH,QAAAA,YAAY,CAACC,IAAb,CACEnD,iBAAKC,CAAL,CACG,GAAEC,iCAAuB,IAAGC,aAAEmD,uCAAwC,EADzE,CADF;AApBJ;;AA2BA,QAAIxG,WAAW,CAACkB,OAAZ,KAAwBS,SAA5B,EAAuC;AACrC;AACAyE,MAAAA,YAAY,CAACC,IAAb,CACEnD,iBAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAEoD,gBAAiB,EAAvD,EAA0D;AACxDC,QAAAA,MAAM,EAAE1G,WAAW,CAACkB;AADoC,OAA1D,CADF;AAKD;;AACD,QAAIlB,WAAW,CAACiB,MAAhB,EAAwB;AACtB;AACAmF,MAAAA,YAAY,CAACC,IAAb,CACEnD,iBAAKC,CAAL,CAAQ,GAAEC,iCAAuB,IAAGC,aAAEsD,gBAAiB,EAAvD,EAA0D;AACxD/F,QAAAA,KAAK,EAAEZ,WAAW,CAACY;AADqC,OAA1D,CADF;AAKD;;AACD,WAAOwF,YAAY,CAACQ,IAAb,CAAkB,GAAlB,CAAP;AACD;AAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAgQEC,EAAAA,MAAM,GAAc;AAClB,wBAAO,4DAAG,KAAKC,kBAAL,EAAH,CAAP;AACD;;AA9hBD","sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n}\n\nexport enum FormControlTypeEnum {\n TEXT = \"text\",\n NUMBER = \"number\",\n SELECT = \"select\",\n RADIO = \"radio\",\n TEXTAREA = \"textarea\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n TAGS = \"tags\",\n STRUCT = \"struct\",\n /**\n * @deprecated supported for compatibility only\n * @type {string}\n */\n LEGACY_STRUCT = \"legacy-struct\",\n // fallback to show a plain text span\n _PLAIN_TEXT = \"_plain_text\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n CODE_EDITOR = \"code_editor\",\n}\n\nexport interface FormControl {\n id: string;\n type: FormControlTypeEnum;\n items?: FormControlSelectItem[];\n name: string;\n label?: string;\n required?: boolean;\n readOnly?: boolean;\n unique?: boolean;\n pattern?: RegExp;\n placeholder?: string;\n maxlength?: number; // 结构体数组的最大长度,如果是结构体,就是1,\n}\n\nexport interface ModelAttributeFormControlProps {\n // ant-design initialValue\n id?: string;\n value?: any;\n isCreate?: boolean;\n onChange?: (value: any) => void;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n type?: string;\n multiSelect?: boolean;\n className?: string;\n style?: React.CSSProperties;\n objectId?: string;\n jsonValidateCollection?: (err: boolean) => void;\n isSupportMultiStringValue?: boolean;\n}\n\nexport interface ModelAttributeFormControlState {\n value?: any;\n formControl: FormControl;\n errorMessage: string;\n showError?: boolean;\n}\n\nexport const boolOptions: FormControlSelectItem[] = [\n {\n id: true,\n text: \"true\",\n },\n {\n id: false,\n text: \"false\",\n },\n];\n\nexport class ModelAttributeFormControl extends Component<\n ModelAttributeFormControlProps,\n ModelAttributeFormControlState\n> {\n componentDidUpdate(\n prevProps: Readonly<ModelAttributeFormControlProps>,\n prevState: Readonly<ModelAttributeFormControlState>,\n snapshot?: any\n ): void {\n if (\n this.props.value !== prevProps.value ||\n this.props.type !== prevProps.type ||\n this.props.attribute.id !== prevProps.attribute.id ||\n this.props.attribute.name !== prevProps.attribute.name ||\n this.props.attribute.value.type !== prevProps.attribute.value.type\n ) {\n this.setState({\n value: this.props.value,\n formControl: this.computeFormControl(\n this.props.attribute,\n this.props.id,\n this.props.type,\n this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\n ),\n });\n }\n }\n\n constructor(props: ModelAttributeFormControlProps) {\n super(props);\n const { attribute, id, value, type, objectId } = props;\n const is = objectId;\n try {\n this.state = {\n value,\n errorMessage: null,\n formControl: this.computeFormControl(\n attribute,\n id,\n type,\n this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\n ),\n };\n } catch (error) {\n this.state = {\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\",\n },\n };\n }\n }\n\n static computePattern(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): RegExp | undefined {\n try {\n if (\n attribute.value.type !== ModelAttributeValueType.ENUM &&\n attribute.value.type !== ModelAttributeValueType.ENUMS &&\n attribute.value.regex !== undefined &&\n attribute.value.regex !== null\n ) {\n // todo(jhuang): use `u` flag for compliance until https://github.com/angular/angular/pull/20819 is resolved\n return new RegExp(attribute.value.regex as string, \"u\");\n }\n return undefined;\n } catch (error) {\n return undefined;\n }\n }\n\n computeFormControlItems(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n isClusterType?: boolean\n ): FormControlSelectItem[] {\n if (\n attribute.value.type === ModelAttributeValueType.ENUM ||\n attribute.value.type === ModelAttributeValueType.ENUMS\n ) {\n // The backend guys are notorious to use `regex` as enum candidates. 😢\n return (attribute.value.regex as string[])?.map((enumValue) => ({\n id: enumValue,\n text: isClusterType ? clusterMap[enumValue] : enumValue,\n }));\n }\n }\n\n static computeFormControlType(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n type?: string,\n isSupportMultiStringValue?: boolean\n ): FormControlTypeEnum {\n switch (attribute.value.type) {\n case ModelAttributeValueType.STRING: {\n if (\n attribute.value.mode === ModelAttributeValueModeType.MULTIPLE_LINES\n ) {\n return FormControlTypeEnum.TEXTAREA;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.MARKDOWN) {\n return FormControlTypeEnum.MARKDOWN;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.URL) {\n return FormControlTypeEnum.URL;\n }\n if (isSupportMultiStringValue) {\n return FormControlTypeEnum.TAGS;\n }\n }\n /* falls through */\n case ModelAttributeValueType.IP:\n return FormControlTypeEnum.TEXT;\n case ModelAttributeValueType.JSON:\n // return FormControlTypeEnum.TEXTAREA;\n return FormControlTypeEnum.CODE_EDITOR;\n case ModelAttributeValueType.ENUM:\n if (\n !attribute.value.regex ||\n (attribute.value.regex as string[]).length === 0\n ) {\n throw new Error(\n // \"请在资源模型管理中添加枚举值, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ENUM_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n if (\n attribute.value.regex &&\n (attribute.value.regex as string[]).length <= 5 &&\n (!type || type === FormControlTypeEnum.RADIO)\n ) {\n return FormControlTypeEnum.RADIO;\n }\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n return FormControlTypeEnum.NUMBER;\n case ModelAttributeValueType.DATE:\n return FormControlTypeEnum.DATE;\n case ModelAttributeValueType.DATETIME:\n return FormControlTypeEnum.DATETIME;\n case ModelAttributeValueType.ARR:\n return FormControlTypeEnum.TAGS;\n case ModelAttributeValueType.STRUCT:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.LEGACY_STRUCT;\n case ModelAttributeValueType.STRUCT_LIST:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n\n FormControlTypeMap = (): ReactNode => {\n const { attribute } = this.props;\n const {\n value,\n formControl: { type, ...restProps },\n errorMessage,\n } = this.state;\n // const unsupportText = `\"${type}\"类型暂时不支持编辑`;\n // const unsupportText = i18n.t(\n // `${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`,\n // { type }\n // );\n let jsonSchema: any;\n if (attribute?.value?.type === \"json\" && attribute?.value?.regex) {\n jsonSchema = JSON.parse(attribute?.value?.regex);\n }\n\n switch (type) {\n case FormControlTypeEnum.TEXT: {\n const { pattern, placeholder, ...props } = restProps;\n return (\n <Input\n value={value}\n type=\"text\"\n {...props}\n placeholder={placeholder}\n onChange={(e) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.URL: {\n const { readOnly, required, placeholder } = restProps;\n\n return (\n <AttributeFormControlUrl\n readOnly={readOnly}\n required={required}\n placeholder={placeholder}\n value={value}\n onChange={(e) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.NUMBER: {\n const { pattern, ...props } = restProps;\n return (\n <InputNumber\n value={value}\n {...props}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n case FormControlTypeEnum.CODE_EDITOR:\n return (\n <>\n <CodeEditor\n value={value}\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n onChange={(e: any) => this.onChange(e)}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n {...(jsonSchema ? { jsonSchema: jsonSchema } : {})}\n theme=\"tomorrow\"\n onValidate={(err: any) => this.validateJson(err)}\n />\n <label\n style={{\n display: this.state.showError ? \"block\" : \"none\",\n color: \"#fc5043\",\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`)}\n </label>\n </>\n );\n case FormControlTypeEnum.TEXTAREA:\n case FormControlTypeEnum.MARKDOWN: {\n return (\n <Input.TextArea\n value={value}\n {...restProps}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n rows={5}\n />\n );\n }\n\n case FormControlTypeEnum.STRUCT:\n case FormControlTypeEnum.LEGACY_STRUCT:\n return (\n <AddStruct\n isLegacy={type === FormControlTypeEnum.LEGACY_STRUCT}\n attribute={attribute}\n structData={value}\n handleStoreFunction={(formData: any) => this.onChange(formData)}\n className={this.props.className}\n style={this.props.style}\n isCreate={this.props.isCreate}\n />\n );\n\n case FormControlTypeEnum.RADIO: {\n let { items, required, readOnly } = restProps;\n\n // NODE: 对非必填单选为空的特殊处理 BY @robertman\n const unselected = {\n id: null as string,\n // text: \"暂不选择\",\n text: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TEMPORARILY_NOT_CHOOSE}`),\n };\n\n if (!required) {\n items = [...items, unselected];\n }\n\n return (\n <Radio.Group\n onChange={(e: any) => this.onChange(e)}\n value={value !== undefined ? value : unselected.id}\n className={this.props.className}\n style={this.props.style}\n disabled={readOnly}\n >\n {items.map((item) => (\n <Radio value={item.id} key={String(item.id)}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n\n case FormControlTypeEnum.TAGS: {\n const { placeholder, readOnly } = restProps;\n return (\n <Select\n allowClear={true}\n mode=\"tags\"\n style={{ ...this.props.style, width: \"100%\" }}\n disabled={readOnly}\n placeholder={placeholder}\n value={value || []}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n />\n );\n }\n\n case FormControlTypeEnum.DATE:\n case FormControlTypeEnum.DATETIME: {\n let dateConfig = {};\n if (type === FormControlTypeEnum.DATETIME) {\n dateConfig = {\n showTime: true,\n };\n }\n const { readOnly, placeholder } = restProps;\n const formater = computeDateFormat(type, value);\n return (\n <DatePicker\n value={formater.value}\n placeholder={placeholder}\n disabled={readOnly}\n format={formater.format}\n {...dateConfig}\n onChange={(date, dateString) =>\n this.handleDateChange(date, dateString)\n }\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.SELECT: {\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n return (\n <Select\n placeholder={placeholder}\n mode={this.props.multiSelect ? \"multiple\" : undefined}\n defaultValue={newValue}\n onChange={(e: any) => this.onChange(e)}\n disabled={readOnly}\n className={this.props.className}\n style={this.props.style}\n >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"file":"ModelAttributeFormControl.js"}
1
+ {"version":3,"sources":["../../../src/model-attribute-form-control/ModelAttributeFormControl.tsx"],"names":["ModelAttributeValueType","ModelAttributeValueModeType","FormControlTypeEnum","boolOptions","id","text","ModelAttributeFormControl","Component","componentDidUpdate","prevProps","prevState","snapshot","props","value","type","attribute","name","setState","formControl","computeFormControl","objectId","constructor","isClusterType","formControlType","computeFormControlType","isSupportMultiStringValue","items","computeFormControlItems","BOOLEAN","result","label","required","readOnly","isCreate","readonly","unique","pattern","computePattern","STRUCT","computePlaceholder","event","target","onChange","date","dateString","undefined","err","error","jsonValidateCollection","showError","restProps","errorMessage","state","jsonSchema","regex","JSON","parse","TEXT","placeholder","e","className","style","URL","NUMBER","CODE_EDITOR","validateJson","display","color","i18n","t","NS_LIBS_CMDB_INSTANCES","K","NOT_MEET_JSON","TEXTAREA","MARKDOWN","LEGACY_STRUCT","formData","RADIO","unselected","TEMPORARILY_NOT_CHOOSE","map","item","String","TAGS","width","DATE","DATETIME","dateConfig","showTime","formater","format","handleDateChange","SELECT","newValue","multiSelect","is","message","_PLAIN_TEXT","ENUM","ENUMS","RegExp","enumValue","clusterMap","STRING","mode","MULTIPLE_LINES","IP","length","Error","ENUM_ERROR_TIP","INTEGER","FLOAT","ARR","struct_define","STRUCT_ERROR_TIP","STRUCT_LIST","TYPE_NO_SUPPORT_EDIT","IP_PLACEHOLDER","placeholders","push","CLICK_TO_SELECT","ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR","ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER","MATCHING_REGULAR","regexp","UNIQUE_NO_REPEAT","join","render","FormControlTypeMap"],"mappings":"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","sourcesContent":["import React, { Component, ReactNode } from \"react\";\nimport { CmdbModels } from \"@next-sdk/cmdb-sdk\";\nimport i18n from \"i18next\";\nimport { NS_LIBS_CMDB_INSTANCES, K } from \"../i18n/constants\";\nimport { DatePicker, Input, InputNumber, Radio, Select } from \"antd\";\nimport { AddStruct } from \"../struct-components\";\nimport moment, { Moment } from \"moment\";\nimport { AttributeFormControlUrl } from \"../attribute-form-control-url/AttributeFormControlUrl\";\nimport { computeDateFormat } from \"../processors\";\nimport { clusterMap } from \"../instance-list-table/constants\";\nimport { CodeEditor } from \"@next-libs/code-editor-components\";\nimport { some } from \"lodash\";\nexport interface FormControlSelectItem {\n id: any;\n text: string;\n}\n\nexport enum ModelAttributeValueType {\n STRING = \"str\",\n INTEGER = \"int\",\n ENUM = \"enum\",\n ENUMS = \"enums\",\n ARR = \"arr\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n STRUCT = \"struct\",\n STRUCT_LIST = \"structs\",\n FOREIGN_KEY = \"FK\",\n FOREIGN_KEYS = \"FKs\",\n IP = \"ip\",\n FLOAT = \"float\",\n BOOLEAN = \"bool\",\n JSON = \"json\",\n}\n\nexport enum ModelAttributeValueModeType {\n MULTIPLE_LINES = \"multiple-lines\",\n DEFAULT = \"default\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n}\n\nexport enum FormControlTypeEnum {\n TEXT = \"text\",\n NUMBER = \"number\",\n SELECT = \"select\",\n RADIO = \"radio\",\n TEXTAREA = \"textarea\",\n DATE = \"date\",\n DATETIME = \"datetime\",\n TAGS = \"tags\",\n STRUCT = \"struct\",\n /**\n * @deprecated supported for compatibility only\n * @type {string}\n */\n LEGACY_STRUCT = \"legacy-struct\",\n // fallback to show a plain text span\n _PLAIN_TEXT = \"_plain_text\",\n MARKDOWN = \"markdown\",\n URL = \"url\",\n CODE_EDITOR = \"code_editor\",\n}\n\nexport interface FormControl {\n id: string;\n type: FormControlTypeEnum;\n items?: FormControlSelectItem[];\n name: string;\n label?: string;\n required?: boolean;\n readOnly?: boolean;\n unique?: boolean;\n pattern?: RegExp;\n placeholder?: string;\n maxlength?: number; // 结构体数组的最大长度,如果是结构体,就是1,\n}\n\nexport interface ModelAttributeFormControlProps {\n // ant-design initialValue\n id?: string;\n value?: any;\n isCreate?: boolean;\n onChange?: (value: any) => void;\n attribute: Partial<CmdbModels.ModelObjectAttr>;\n type?: string;\n multiSelect?: boolean;\n className?: string;\n style?: React.CSSProperties;\n objectId?: string;\n jsonValidateCollection?: (err: boolean) => void;\n isSupportMultiStringValue?: boolean;\n}\n\nexport interface ModelAttributeFormControlState {\n value?: any;\n formControl: FormControl;\n errorMessage: string;\n showError?: boolean;\n}\n\nexport const boolOptions: FormControlSelectItem[] = [\n {\n id: true,\n text: \"true\",\n },\n {\n id: false,\n text: \"false\",\n },\n];\n\nexport class ModelAttributeFormControl extends Component<\n ModelAttributeFormControlProps,\n ModelAttributeFormControlState\n> {\n componentDidUpdate(\n prevProps: Readonly<ModelAttributeFormControlProps>,\n prevState: Readonly<ModelAttributeFormControlState>,\n snapshot?: any\n ): void {\n if (\n this.props.value !== prevProps.value ||\n this.props.type !== prevProps.type ||\n this.props.attribute.id !== prevProps.attribute.id ||\n this.props.attribute.name !== prevProps.attribute.name ||\n this.props.attribute.value.type !== prevProps.attribute.value.type\n ) {\n this.setState({\n value: this.props.value,\n formControl: this.computeFormControl(\n this.props.attribute,\n this.props.id,\n this.props.type,\n this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\n ),\n });\n }\n }\n\n constructor(props: ModelAttributeFormControlProps) {\n super(props);\n const { attribute, id, value, type, objectId } = props;\n const is = objectId;\n try {\n this.state = {\n value,\n errorMessage: null,\n formControl: this.computeFormControl(\n attribute,\n id,\n type,\n this.props.objectId === \"CLUSTER\" &&\n this.props.attribute.id === \"type\"\n ),\n };\n } catch (error) {\n this.state = {\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\",\n },\n };\n }\n }\n\n static computePattern(\n attribute: Partial<CmdbModels.ModelObjectAttr>\n ): RegExp | undefined {\n try {\n if (\n attribute.value.type !== ModelAttributeValueType.ENUM &&\n attribute.value.type !== ModelAttributeValueType.ENUMS &&\n attribute.value.regex !== undefined &&\n attribute.value.regex !== null\n ) {\n // todo(jhuang): use `u` flag for compliance until https://github.com/angular/angular/pull/20819 is resolved\n return new RegExp(attribute.value.regex as string, \"u\");\n }\n return undefined;\n } catch (error) {\n return undefined;\n }\n }\n\n computeFormControlItems(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n isClusterType?: boolean\n ): FormControlSelectItem[] {\n if (\n attribute.value.type === ModelAttributeValueType.ENUM ||\n attribute.value.type === ModelAttributeValueType.ENUMS\n ) {\n // The backend guys are notorious to use `regex` as enum candidates. 😢\n return (attribute.value.regex as string[])?.map((enumValue) => ({\n id: enumValue,\n text: isClusterType ? clusterMap[enumValue] : enumValue,\n }));\n }\n }\n\n static computeFormControlType(\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n type?: string,\n isSupportMultiStringValue?: boolean\n ): FormControlTypeEnum {\n switch (attribute.value.type) {\n case ModelAttributeValueType.STRING: {\n if (\n attribute.value.mode === ModelAttributeValueModeType.MULTIPLE_LINES\n ) {\n return FormControlTypeEnum.TEXTAREA;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.MARKDOWN) {\n return FormControlTypeEnum.MARKDOWN;\n }\n if (attribute.value.mode === ModelAttributeValueModeType.URL) {\n return FormControlTypeEnum.URL;\n }\n }\n /* falls through */\n case ModelAttributeValueType.IP:\n if (isSupportMultiStringValue) {\n return FormControlTypeEnum.TAGS;\n }\n return FormControlTypeEnum.TEXT;\n case ModelAttributeValueType.JSON:\n // return FormControlTypeEnum.TEXTAREA;\n return FormControlTypeEnum.CODE_EDITOR;\n case ModelAttributeValueType.ENUM:\n if (\n !attribute.value.regex ||\n (attribute.value.regex as string[]).length === 0\n ) {\n throw new Error(\n // \"请在资源模型管理中添加枚举值, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.ENUM_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n if (\n attribute.value.regex &&\n (attribute.value.regex as string[]).length <= 5 &&\n (!type || type === FormControlTypeEnum.RADIO)\n ) {\n return FormControlTypeEnum.RADIO;\n }\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.INTEGER:\n case ModelAttributeValueType.FLOAT:\n return FormControlTypeEnum.NUMBER;\n case ModelAttributeValueType.DATE:\n return FormControlTypeEnum.DATE;\n case ModelAttributeValueType.DATETIME:\n return FormControlTypeEnum.DATETIME;\n case ModelAttributeValueType.ARR:\n return FormControlTypeEnum.TAGS;\n case ModelAttributeValueType.STRUCT:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.LEGACY_STRUCT;\n case ModelAttributeValueType.STRUCT_LIST:\n if (attribute.value.struct_define.length === 0) {\n throw new Error(\n // \"请在资源模型中添加结构体属性, 属性: \" + attribute.name\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.STRUCT_ERROR_TIP}`, {\n attribute: attribute.name,\n })\n );\n }\n return FormControlTypeEnum.STRUCT;\n case ModelAttributeValueType.BOOLEAN:\n return FormControlTypeEnum.SELECT;\n case ModelAttributeValueType.ENUMS:\n return FormControlTypeEnum.SELECT;\n default:\n throw new Error(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`, {\n type: attribute.value.type,\n })\n );\n }\n }\n\n computeFormControl = (\n attribute: Partial<CmdbModels.ModelObjectAttr>,\n id?: string,\n type?: string,\n isClusterType?: boolean\n ): FormControl => {\n const formControlType = ModelAttributeFormControl.computeFormControlType(\n attribute,\n type,\n this.props.isSupportMultiStringValue\n );\n let items = this.computeFormControlItems(attribute, isClusterType);\n\n if (attribute.value.type === ModelAttributeValueType.BOOLEAN) {\n items = boolOptions;\n }\n\n const result: FormControl = {\n type: formControlType,\n items,\n id: id || attribute.id,\n name: attribute.id,\n label: attribute.name,\n required: attribute.required === \"true\",\n readOnly: !this.props.isCreate && attribute.readonly === \"true\",\n unique: attribute.unique === \"true\",\n pattern: ModelAttributeFormControl.computePattern(attribute),\n };\n\n if (result.type === FormControlTypeEnum.STRUCT) {\n result[\"maxlength\"] = 1;\n }\n result[\"placeholder\"] =\n ModelAttributeFormControl.computePlaceholder(result);\n return result;\n };\n\n static computePlaceholder(formControl: FormControl): string {\n if (formControl.id === \"ip\" && formControl.name === \"ip\") {\n return i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.IP_PLACEHOLDER}`);\n }\n\n const placeholders = [];\n switch (formControl.type) {\n case FormControlTypeEnum.SELECT:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.DATETIME:\n case FormControlTypeEnum.DATE:\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CLICK_TO_SELECT}`)\n );\n break;\n case FormControlTypeEnum.TAGS:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ENTER_MULTIPLE_STRING_WITH_ENTER_KEY_AS_THE_SEPARATOR}`\n )\n );\n break;\n default:\n placeholders.push(\n i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.ADVANCE_SEARCH_SINGLE_INPUT_PLACEHOLDER}`\n )\n );\n }\n\n if (formControl.pattern !== undefined) {\n // placeholders.push(`匹配正则 ${formControl.pattern}`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.MATCHING_REGULAR}`, {\n regexp: formControl.pattern,\n })\n );\n }\n if (formControl.unique) {\n // placeholders.push(`${formControl.label}唯一不能重复`);\n placeholders.push(\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.UNIQUE_NO_REPEAT}`, {\n label: formControl.label,\n })\n );\n }\n return placeholders.join(\",\");\n }\n\n /*computeFormControlAndCatchError = () => {\n const { attribute, objectId } = this.props;\n try {\n this.setState({\n formControl: this.computeFormControl(attribute, objectId)\n });\n } catch (error) {\n this.setState({\n errorMessage: error.message,\n formControl: {\n type: FormControlTypeEnum._PLAIN_TEXT,\n name: attribute.name,\n id: \"\"\n }\n });\n }\n };*/\n\n onChange = (event: any) => {\n let value;\n if (event && event.target) {\n value = event.target.value;\n } else {\n value = event;\n }\n\n const { onChange } = this.props;\n this.setState({ value });\n onChange && onChange(value);\n };\n\n handleDateChange = (date: Moment, dateString: string) => {\n this.onChange(dateString || undefined);\n };\n validateJson = (err: any) => {\n const error = some(err, [\"type\", \"error\"]);\n this.props.jsonValidateCollection?.(error);\n this.setState({ showError: error });\n };\n\n FormControlTypeMap = (): ReactNode => {\n const { attribute } = this.props;\n const {\n value,\n formControl: { type, ...restProps },\n errorMessage,\n } = this.state;\n // const unsupportText = `\"${type}\"类型暂时不支持编辑`;\n // const unsupportText = i18n.t(\n // `${NS_LIBS_CMDB_INSTANCES}:${K.TYPE_NO_SUPPORT_EDIT}`,\n // { type }\n // );\n let jsonSchema: any;\n if (attribute?.value?.type === \"json\" && attribute?.value?.regex) {\n jsonSchema = JSON.parse(attribute?.value?.regex);\n }\n\n switch (type) {\n case FormControlTypeEnum.TEXT: {\n const { pattern, placeholder, ...props } = restProps;\n return (\n <Input\n value={value}\n type=\"text\"\n {...props}\n placeholder={placeholder}\n onChange={(e) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.URL: {\n const { readOnly, required, placeholder } = restProps;\n\n return (\n <AttributeFormControlUrl\n readOnly={readOnly}\n required={required}\n placeholder={placeholder}\n value={value}\n onChange={(e) => this.onChange(e)}\n />\n );\n }\n\n case FormControlTypeEnum.NUMBER: {\n const { pattern, ...props } = restProps;\n return (\n <InputNumber\n value={value}\n {...props}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n case FormControlTypeEnum.CODE_EDITOR:\n return (\n <>\n <CodeEditor\n value={value}\n mode={\"json\"}\n maxLines={\"Infinity\"}\n highlightActiveLine={true}\n onChange={(e: any) => this.onChange(e)}\n minLines={3}\n showLineNumbers={true}\n showPrintMargin={false}\n validateJsonSchemaMode={\"error\"}\n {...(jsonSchema ? { jsonSchema: jsonSchema } : {})}\n theme=\"tomorrow\"\n onValidate={(err: any) => this.validateJson(err)}\n />\n <label\n style={{\n display: this.state.showError ? \"block\" : \"none\",\n color: \"#fc5043\",\n }}\n >\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.NOT_MEET_JSON}`)}\n </label>\n </>\n );\n case FormControlTypeEnum.TEXTAREA:\n case FormControlTypeEnum.MARKDOWN: {\n return (\n <Input.TextArea\n value={value}\n {...restProps}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n style={this.props.style}\n rows={5}\n />\n );\n }\n\n case FormControlTypeEnum.STRUCT:\n case FormControlTypeEnum.LEGACY_STRUCT:\n return (\n <AddStruct\n isLegacy={type === FormControlTypeEnum.LEGACY_STRUCT}\n attribute={attribute}\n structData={value}\n handleStoreFunction={(formData: any) => this.onChange(formData)}\n className={this.props.className}\n style={this.props.style}\n isCreate={this.props.isCreate}\n />\n );\n\n case FormControlTypeEnum.RADIO: {\n let { items, required, readOnly } = restProps;\n\n // NODE: 对非必填单选为空的特殊处理 BY @robertman\n const unselected = {\n id: null as string,\n // text: \"暂不选择\",\n text: i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.TEMPORARILY_NOT_CHOOSE}`),\n };\n\n if (!required) {\n items = [...items, unselected];\n }\n\n return (\n <Radio.Group\n onChange={(e: any) => this.onChange(e)}\n value={value !== undefined ? value : unselected.id}\n className={this.props.className}\n style={this.props.style}\n disabled={readOnly}\n >\n {items.map((item) => (\n <Radio value={item.id} key={String(item.id)}>\n {item.text}\n </Radio>\n ))}\n </Radio.Group>\n );\n }\n\n case FormControlTypeEnum.TAGS: {\n const { placeholder, readOnly } = restProps;\n return (\n <Select\n allowClear={true}\n mode=\"tags\"\n style={{ ...this.props.style, width: \"100%\" }}\n disabled={readOnly}\n placeholder={placeholder}\n value={value || []}\n onChange={(e: any) => this.onChange(e)}\n className={this.props.className}\n />\n );\n }\n\n case FormControlTypeEnum.DATE:\n case FormControlTypeEnum.DATETIME: {\n let dateConfig = {};\n if (type === FormControlTypeEnum.DATETIME) {\n dateConfig = {\n showTime: true,\n };\n }\n const { readOnly, placeholder } = restProps;\n const formater = computeDateFormat(type, value);\n return (\n <DatePicker\n value={formater.value}\n placeholder={placeholder}\n disabled={readOnly}\n format={formater.format}\n {...dateConfig}\n onChange={(date, dateString) =>\n this.handleDateChange(date, dateString)\n }\n className={this.props.className}\n style={this.props.style}\n />\n );\n }\n\n case FormControlTypeEnum.SELECT: {\n const { readOnly, placeholder } = restProps;\n const newValue =\n typeof value === \"boolean\" ? value : value ? value : [];\n return (\n <Select\n placeholder={placeholder}\n mode={this.props.multiSelect ? \"multiple\" : undefined}\n value={newValue}\n onChange={(e: any) => this.onChange(e)}\n disabled={readOnly}\n className={this.props.className}\n style={this.props.style}\n >\n {restProps.items &&\n restProps.items.map(({ id, text }) => (\n <Select.Option value={id} key={id}>\n {text}\n </Select.Option>\n ))}\n </Select>\n );\n }\n\n default:\n return (\n // <Input\n // value={errorMessage}\n // readOnly\n // disabled\n // className={this.props.className}\n // style={this.props.style}\n // />\n <div\n style={{\n color: \"var(--theme-red-color)\",\n ...this.props.style,\n }}\n >\n {errorMessage}\n </div>\n );\n }\n };\n\n render(): ReactNode {\n return <>{this.FormControlTypeMap()}</>;\n }\n}\n"],"file":"ModelAttributeFormControl.js"}
@@ -76,7 +76,7 @@ export function CmdbInstancesSelectPanel(props, ref) {
76
76
  };
77
77
  }();
78
78
 
79
- var loadedInstanceIds = ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.map(i => isObject(i) ? i.instanceId : i)) || [];
79
+ var toLoadInstanceIds = ((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.map(i => isObject(i) ? i.instanceId : i)) || [];
80
80
  useEffect(() => {
81
81
  var getModelMap = /*#__PURE__*/function () {
82
82
  var _ref2 = _asyncToGenerator(function* () {
@@ -110,7 +110,7 @@ export function CmdbInstancesSelectPanel(props, ref) {
110
110
  var _ref3 = _asyncToGenerator(function* () {
111
111
  var _props$onFetchedInsta;
112
112
 
113
- instances = yield fetchInstances(loadedInstanceIds);
113
+ instances = yield fetchInstances(toLoadInstanceIds);
114
114
  setSelectedInstanceList(instances);
115
115
  setPartialSelectedInstances(props !== null && props !== void 0 && props.isOperate ? instances : instances.slice(0, displayedSelectedInstancesMaxNumber));
116
116
  (_props$onFetchedInsta = props.onFetchedInstances) === null || _props$onFetchedInsta === void 0 ? void 0 : _props$onFetchedInsta.call(props, instances);
@@ -121,13 +121,13 @@ export function CmdbInstancesSelectPanel(props, ref) {
121
121
  };
122
122
  }();
123
123
 
124
- if (!isEmpty(loadedInstanceIds)) {
124
+ if (!isEmpty(toLoadInstanceIds)) {
125
125
  initInstances();
126
126
  } else {
127
127
  setSelectedInstanceList([]);
128
128
  setPartialSelectedInstances([]);
129
129
  }
130
- }, [loadedInstanceIds.join()]);
130
+ }, [toLoadInstanceIds.sort().join()]);
131
131
 
132
132
  var openAddInstancesModal = () => {
133
133
  setAddInstancesModal({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"names":["React","useState","useEffect","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","list","loadedInstanceIds","value","map","i","getModelMap","data","ref_object","initInstances","isOperate","slice","onFetchedInstances","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","t","FILTER_FROM_CMDB","name","instance","singleSelect","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n addTitle?: React.ReactNode | string;\n modalTitle?: React.ReactNode | string;\n previewMaxNumber?: number;\n addInstancesModalPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n isOperate?: boolean; //cmdb实例列表支持删除实例\n showDetailUrl?: boolean;\n isFilterView?: boolean; //是否过滤视图属性\n onFetchedInstances?: (instanceList: any[]) => void; // objectId改变后触发\n relation?: Partial<ModifiedModelObjectRelation>;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const loadedInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(loadedInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(loadedInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [loadedInstanceIds.join()]);\n\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n pageSize={props.addInstancesModalPageSize}\n searchDisabled={props.searchDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_SELECTED_INSTANCES}`\n )}\n presetConfigs={{\n query: {\n instanceId: {\n $in: selectedInstanceList.map((instance) => instance.instanceId),\n },\n },\n }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{\n list: partialSelectedInstances,\n }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={{\n pagination: false,\n }}\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"file":"CmdbInstancesSelectPanel.js"}
1
+ {"version":3,"sources":["../../../src/cmdb-instances-select-panel/CmdbInstancesSelectPanel.tsx"],"names":["React","useState","useEffect","classnames","InstanceApi_postSearch","CmdbObjectApi_getObjectRef","InstanceListTable","InstanceListModal","modifyModelData","style","i18n","K","NS_LIBS_CMDB_INSTANCES","keyBy","isEqual","isNil","isObject","isEmpty","Spin","isCmdbInstancesSelectPanelPropsWithObjectMap","props","objectMap","CmdbInstancesSelectPanel","ref","modelData","objectId","isFilterView","hideModelData","view","hide_columns","attrList","filter","item","includes","id","relation_list","left_id","left_object_id","right_id","right_object_id","displayedSelectedInstancesMaxNumber","previewMaxNumber","selectedInstanceList","setSelectedInstanceList","partialSelectedInstances","setPartialSelectedInstances","addInstancesModal","setAddInstancesModal","visible","allSelectedInstancesModal","setAllSelectedInstancesModal","modelMap","setModelMap","fetchInstances","instanceIdList","instances","length","query","instanceId","$in","page","page_size","fields","list","toLoadInstanceIds","value","map","i","getModelMap","data","ref_object","initInstances","isOperate","slice","onFetchedInstances","sort","join","openAddInstancesModal","closeAddInstancesModal","openAllSelectedInstancesModal","closeAllSelectedInstancesModal","handleInstancesSelected","selectedKeys","onChange","fieldIds","attr","showPreview","cs","selectedInstancesTableWrapper","withPreview","relation","relationLimit","right_max","$size","$lt","instanceQuery","wrapper","modalTitle","t","FILTER_FROM_CMDB","name","instance","singleSelect","addInstancesModalPageSize","searchDisabled","advancedSearchDisabled","ipCopy","showCloseBtn","showSizeChanger","pageSizeOptions","VIEW_ALL_SELECTED_INSTANCES","textAlign","marginBottom","addButton","addTitle","CHOOSE_INSTANCE","showDetailUrl","detailUrlTemplates","pagination","v","showAllSelectedInstancesButton","VIEW_ALL_DATA","count"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\n\nimport {\n CmdbModels,\n InstanceApi_postSearch,\n CmdbObjectApi_getObjectRef,\n} from \"@next-sdk/cmdb-sdk\";\nimport { InstanceListTable } from \"../instance-list-table\";\nimport { InstanceListModal } from \"../instance-list-modal/InstanceListModal\";\nimport {\n modifyModelData,\n ModifiedModelObjectRelation,\n} from \"@next-libs/cmdb-utils\";\nimport style from \"./style.module.css\";\nimport i18n from \"i18next\";\nimport { K, NS_LIBS_CMDB_INSTANCES } from \"../i18n/constants\";\nimport { keyBy, isEqual, isNil, isObject, isEmpty } from \"lodash\";\nimport { Spin } from \"antd\";\n\nexport interface BaseCmdbInstancesSelectPanelProps {\n objectId: string;\n value?: any[];\n onChange?: (instanceList: any[]) => void;\n instanceQuery?: any;\n fields?: string[];\n singleSelect?: boolean;\n addTitle?: React.ReactNode | string;\n modalTitle?: React.ReactNode | string;\n previewMaxNumber?: number;\n addInstancesModalPageSize?: number;\n showSizeChanger?: boolean;\n pageSizeOptions?: string[];\n isOperate?: boolean; //cmdb实例列表支持删除实例\n showDetailUrl?: boolean;\n isFilterView?: boolean; //是否过滤视图属性\n onFetchedInstances?: (instanceList: any[]) => void; // objectId改变后触发\n relation?: Partial<ModifiedModelObjectRelation>;\n searchDisabled?: boolean;\n advancedSearchDisabled?: boolean;\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithObjectMap\n extends BaseCmdbInstancesSelectPanelProps {\n objectMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport interface CmdbInstancesSelectPanelPropsWithModelData\n extends BaseCmdbInstancesSelectPanelProps {\n modelData: Partial<CmdbModels.ModelCmdbObject>;\n ipCopy?: boolean;\n showSizeChanger?: boolean;\n showCloseBtn?: boolean;\n pageSizeOptions?: string[];\n}\n\nexport type CmdbInstancesSelectPanelProps =\n | CmdbInstancesSelectPanelPropsWithObjectMap\n | CmdbInstancesSelectPanelPropsWithModelData;\n\nexport function isCmdbInstancesSelectPanelPropsWithObjectMap(\n props: CmdbInstancesSelectPanelProps\n): props is CmdbInstancesSelectPanelPropsWithObjectMap {\n return !isNil(\n (props as CmdbInstancesSelectPanelPropsWithObjectMap).objectMap\n );\n}\n\nexport function CmdbInstancesSelectPanel(\n props: CmdbInstancesSelectPanelProps,\n ref: any\n): React.ReactElement {\n let modelData: Partial<CmdbModels.ModelCmdbObject>;\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelData = props.objectMap[props.objectId];\n } else {\n modelData = props.modelData;\n }\n\n if (props.isFilterView) {\n //过滤掉视图不可见字段\n const hideModelData = modelData?.view?.hide_columns || [];\n modelData = {\n ...modelData,\n attrList: modelData.attrList.filter(\n (item: any) => !hideModelData.includes(item.id)\n ),\n relation_list: modelData.relation_list.filter(\n (item: any) =>\n !(\n (hideModelData.includes(item.left_id) &&\n item.left_object_id === props.objectId) ||\n (hideModelData.includes(item.right_id) &&\n item.right_object_id === props.objectId)\n )\n ),\n };\n }\n\n const displayedSelectedInstancesMaxNumber = props.previewMaxNumber ?? 5;\n\n const [selectedInstanceList, setSelectedInstanceList] = useState([]);\n const [partialSelectedInstances, setPartialSelectedInstances] = useState([]);\n const [addInstancesModal, setAddInstancesModal] = useState({\n visible: false,\n });\n const [allSelectedInstancesModal, setAllSelectedInstancesModal] = useState({\n visible: false,\n });\n const [modelMap, setModelMap] = useState({});\n\n const fetchInstances = async (instanceIdList: string[]): Promise<any[]> => {\n let instances: any[] = [];\n if (instanceIdList?.length) {\n instances = (\n await InstanceApi_postSearch(props.objectId, {\n query: {\n instanceId: {\n $in: instanceIdList,\n },\n },\n page: 1,\n page_size: instanceIdList.length,\n // todo(ice): selected confirm with instances\n fields: { \"*\": true },\n })\n ).list;\n }\n\n return instances;\n };\n const toLoadInstanceIds =\n props.value?.map((i) => (isObject(i) ? (i as any).instanceId : i)) || [];\n\n useEffect(() => {\n const getModelMap = async (): Promise<void> => {\n let modelMap: Record<string, Partial<CmdbModels.ModelCmdbObject>>;\n\n if (isCmdbInstancesSelectPanelPropsWithObjectMap(props)) {\n modelMap = props.objectMap;\n } else {\n const { data } = await CmdbObjectApi_getObjectRef({\n ref_object: props.objectId,\n });\n modelMap = keyBy(data, \"objectId\");\n }\n setModelMap(modelMap);\n };\n getModelMap();\n }, [props.objectId]);\n\n useEffect(() => {\n let instances = [];\n\n const initInstances = async (): Promise<void> => {\n instances = await fetchInstances(toLoadInstanceIds);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n props.onFetchedInstances?.(instances);\n };\n if (!isEmpty(toLoadInstanceIds)) {\n initInstances();\n } else {\n setSelectedInstanceList([]);\n setPartialSelectedInstances([]);\n }\n }, [toLoadInstanceIds.sort().join()]);\n\n const openAddInstancesModal = () => {\n setAddInstancesModal({ visible: true });\n };\n\n const closeAddInstancesModal = () => {\n setAddInstancesModal({ visible: false });\n };\n\n const openAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: true });\n };\n\n const closeAllSelectedInstancesModal = () => {\n setAllSelectedInstancesModal({ visible: false });\n };\n\n const handleInstancesSelected = async (selectedKeys: string[]) => {\n closeAddInstancesModal();\n\n const instances = await fetchInstances(selectedKeys);\n setSelectedInstanceList(instances);\n setPartialSelectedInstances(\n props?.isOperate\n ? instances\n : instances.slice(0, displayedSelectedInstancesMaxNumber)\n );\n\n props.onChange?.(instances);\n };\n\n const fieldIds = modifyModelData(modelData).attrList.map(\n (attr: any) => attr.id\n );\n const showPreview =\n selectedInstanceList.length > displayedSelectedInstancesMaxNumber;\n const cs = classnames({\n [style.selectedInstancesTableWrapper]: true,\n [style.withPreview]: showPreview,\n });\n const { relation } = props;\n let relationLimit;\n if (relation?.right_max === 1) {\n relationLimit = { [relation.right_id]: { $size: { $lt: 1 } } };\n }\n const query = props.instanceQuery ?? relationLimit;\n return (\n <div className={style.wrapper} ref={ref}>\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={addInstancesModal.visible}\n title={\n props.modalTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.FILTER_FROM_CMDB}`, {\n name: modelData.name,\n })\n }\n selectedRowKeys={selectedInstanceList.map(\n (instance) => instance.instanceId\n )}\n onSelected={handleInstancesSelected}\n onCancel={closeAddInstancesModal}\n singleSelect={props.singleSelect}\n presetConfigs={{\n query,\n fieldIds: props.fields,\n }}\n pageSize={props.addInstancesModalPageSize}\n searchDisabled={props.searchDisabled}\n advancedSearchDisabled={props.advancedSearchDisabled}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n />\n <InstanceListModal\n objectMap={modelMap}\n objectId={props.objectId}\n visible={allSelectedInstancesModal.visible}\n title={i18n.t(\n `${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_SELECTED_INSTANCES}`\n )}\n presetConfigs={{\n query: {\n instanceId: {\n $in: selectedInstanceList.map((instance) => instance.instanceId),\n },\n },\n }}\n selectDisabled={!props.ipCopy}\n ipCopy={props.ipCopy}\n showCloseBtn={props.showCloseBtn}\n showSizeChanger={props.showSizeChanger}\n pageSizeOptions={props.pageSizeOptions}\n onCancel={closeAllSelectedInstancesModal}\n />\n <Spin\n style={{ textAlign: \"left\", marginBottom: \"12px\" }}\n spinning={isEqual(modelMap, {})}\n >\n <a\n className={style.addButton}\n style={{\n marginBottom: \"12px\",\n }}\n onClick={openAddInstancesModal}\n >\n {props.addTitle ??\n i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.CHOOSE_INSTANCE}`)}\n </a>\n </Spin>\n <div className={cs}>\n <InstanceListTable\n {...(props.showDetailUrl\n ? {\n detailUrlTemplates: {\n [props.objectId]:\n \"/next-cmdb-instance-management/next/#{objectId}/instance/#{instanceId}\",\n },\n }\n : {})}\n idObjectMap={modelMap}\n modelData={modelData}\n instanceListData={{\n list: partialSelectedInstances,\n }}\n fieldIds={props.fields || fieldIds}\n selectDisabled={true}\n sortDisabled={true}\n configProps={{\n pagination: false,\n }}\n isOperate={props.isOperate}\n handleDeleteFunction={(v) => {\n setSelectedInstanceList(v);\n setPartialSelectedInstances(v);\n props.onChange?.(v);\n }}\n target={\"_blank\"}\n ></InstanceListTable>\n {!props?.isOperate && showPreview && (\n <div\n className={style.showAllSelectedInstancesButton}\n onClick={openAllSelectedInstancesModal}\n >\n <a>\n {i18n.t(`${NS_LIBS_CMDB_INSTANCES}:${K.VIEW_ALL_DATA}`, {\n count: selectedInstanceList.length,\n })}\n </a>\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"file":"CmdbInstancesSelectPanel.js"}
@@ -120,9 +120,11 @@ export class LegacyInstanceListTable extends React.Component {
120
120
  });
121
121
 
122
122
  _defineProperty(this, "handelIpCopyText", (ev, dataIndex) => {
123
+ var _this$props$selectedR;
124
+
123
125
  ev.stopPropagation();
124
126
 
125
- if (this.selectedRows.length < 1) {
127
+ if (((_this$props$selectedR = this.props.selectedRowKeys) === null || _this$props$selectedR === void 0 ? void 0 : _this$props$selectedR.length) < 1 || this.selectedRows.length < 1) {
126
128
  message.warning(i18n.t("".concat(NS_LIBS_CMDB_INSTANCES, ":").concat(K.SELECT_COPY_DATA)));
127
129
  return false;
128
130
  }