UNPKG

26.3 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../src/js/row.js"],"names":["debounce","Awesomplete","awesomplete_style","bindTemplate","perspective","get_type_config","template","style","html","render","nothing","SPAN","document","createElement","visibility","fontFamily","fontSize","position","get_text_width","text","max","innerHTML","body","appendChild","width","Math","offsetWidth","removeChild","Row","toString","name","n","elem","shadowRoot","querySelector","getAttribute","_option_template","agg","_select_template","category","type","items","weighted_options","_weights","map","x","JSON","stringify","set_weights","xs","t","type_config","classList","add","agg_dropdown","filter_dropdown","hasAttribute","aggregate","filter","filter_operand","_callback","event","_update_filter","addEventListener","bind","choices","filter_operator","selector","label","list","minChars","autoFirst","input","FILTER_CONTAINS","match","item","ITEM","replace","before","value","evaluate","focus","_filter_operand","trim","length","f","parse","operator","filter_input","operand","_initialized","FILTER_OPERATORS","isNull","isNotNull","display","a","_blur_agg_dropdown","computed_column","c","_get_computed_data","data","column_name","input_columns","input_type","computation","val","parseFloat","parseInt","toLowerCase","indexOf","isIn","isNotIn","split","setAttribute","dispatchEvent","CustomEvent","detail","_set_data_transfer","dataTransfer","setData","undefined","_register_ids","_li","_visible","_row_close","_agg_dropdown","_sort_order","_filter_operator","_edit_computed_column_button","_column_aggregate_category","blur","option","querySelectorAll","_focus_agg_dropdown","_register_callbacks","debounced_filter","bubbles","connectedCallback"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;AASA,OAAOA,QAAP,MAAqB,iBAArB;AAEA,OAAOC,WAAP,MAAwB,aAAxB;AACA,OAAOC,iBAAP,MAA8B,0CAA9B;AAEA,SAAQC,YAAR,QAA2B,YAA3B;AAEA,OAAOC,WAAP,MAAwB,oBAAxB;AACA,SAAQC,eAAR,QAA8B,oCAA9B;AACA,OAAOC,QAAP,MAAqB,kBAArB;AAEA,OAAOC,KAAP,MAAkB,kBAAlB;AACA,SAAQC,IAAR,EAAcC,MAAd,EAAsBC,OAAtB,QAAoC,UAApC;AAEA,MAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAb;AACAF,IAAI,CAACJ,KAAL,CAAWO,UAAX,GAAwB,QAAxB;AACAH,IAAI,CAACJ,KAAL,CAAWQ,UAAX,GAAwB,WAAxB;AACAJ,IAAI,CAACJ,KAAL,CAAWS,QAAX,GAAsB,MAAtB;AACAL,IAAI,CAACJ,KAAL,CAAWU,QAAX,GAAsB,UAAtB;;AAEA,SAASC,cAAT,CAAwBC,IAAxB,EAA8BC,GAAG,GAAG,CAApC,EAAuC;AACnC;AACAT,EAAAA,IAAI,CAACU,SAAL,GAAiBF,IAAjB;AACAP,EAAAA,QAAQ,CAACU,IAAT,CAAcC,WAAd,CAA0BZ,IAA1B;AACA,QAAMa,KAAK,aAAMC,IAAI,CAACL,GAAL,CAASA,GAAT,EAAcT,IAAI,CAACe,WAAnB,IAAkC,EAAxC,OAAX;AACAd,EAAAA,QAAQ,CAACU,IAAT,CAAcK,WAAd,CAA0BhB,IAA1B;AACA,SAAOa,KAAP;AACH,C,CAED;AACA;;;IAC4E;AACtEI,G,WADLzB,YAAY,CAACG,QAAD,EAAW;AAACuB,EAAAA,QAAQ,EAAE,MAAMtB,KAAK,GAAG,IAAR,GAAeL;AAAhC,CAAX,C,gBAAb,MACM0B,GADN,wBAC8B;AAC1B,MAAIE,IAAJ,CAASC,CAAT,EAAY;AACR,UAAMC,IAAI,GAAG,KAAKC,UAAL,CAAgBC,aAAhB,CAA8B,OAA9B,CAAb;AACAF,IAAAA,IAAI,CAACX,SAAL,GAAiB,KAAKc,YAAL,CAAkB,MAAlB,CAAjB;AACH;;AAEDC,EAAAA,gBAAgB,CAACC,GAAD,EAAMP,IAAN,EAAY;AACxB,WAAOtB,IAAP,oBACqB6B,GADrB,EACwCP,IADxC,EACiDA,IAAI,IAAIO,GADzD;AAGH;;AAEDC,EAAAA,gBAAgB,CAACC,QAAD,EAAWC,IAAX,EAAiB;AAC7B,UAAMC,KAAK,GAAGrC,WAAW,CAACmC,QAAD,CAAX,CAAsBC,IAAtB,KAA+B,EAA7C;AACA,UAAME,gBAAgB,GAAGlC,IAAH,qBAEZ,KAAKmC,QAAL,CAAcC,GAAd,CAAkBC,CAAC,IAAI,KAAKT,gBAAL,CAAsBU,IAAI,CAACC,SAAL,CAAe,CAAC,eAAD,EAAkBF,CAAlB,CAAf,CAAtB,EAA4DA,CAA5D,CAAvB,CAFY,CAAtB;AAKA,WAAOrC,IAAP,qBACMiC,KAAK,CAACG,GAAN,CAAUC,CAAC,IAAI,KAAKT,gBAAL,CAAsBS,CAAtB,CAAf,CADN,EACkDL,IAAI,KAAK,SAAT,IAAsBA,IAAI,KAAK,OAA/B,GAAyCE,gBAAzC,GAA4DhC,OAD9G;AAGH;;AAEDsC,EAAAA,WAAW,CAACC,EAAD,EAAK;AACZ,SAAKN,QAAL,GAAgBM,EAAhB;AACH;;AAED,MAAIT,IAAJ,CAASU,CAAT,EAAY;AACR,UAAMlB,IAAI,GAAG,KAAKC,UAAL,CAAgBC,aAAhB,CAA8B,OAA9B,CAAb;AACA,UAAMM,IAAI,GAAG,KAAKL,YAAL,CAAkB,MAAlB,CAAb;AACA,QAAI,CAACK,IAAL,EAAW;AACX,UAAMW,WAAW,GAAG9C,eAAe,CAACmC,IAAD,CAAnC;;AACA,QAAIW,WAAW,CAACX,IAAhB,EAAsB;AAClBR,MAAAA,IAAI,CAACoB,SAAL,CAAeC,GAAf,CAAmBF,WAAW,CAACX,IAA/B;AACH;;AACDR,IAAAA,IAAI,CAACoB,SAAL,CAAeC,GAAf,CAAmBb,IAAnB;AACA,UAAMc,YAAY,GAAG,KAAKrB,UAAL,CAAgBC,aAAhB,CAA8B,mBAA9B,CAArB;AACA,UAAMqB,eAAe,GAAG,KAAKtB,UAAL,CAAgBC,aAAhB,CAA8B,kBAA9B,CAAxB;AAEAzB,IAAAA,MAAM,CAAC,KAAK6B,gBAAL,CAAsB,iBAAtB,EAAyCa,WAAW,CAACX,IAAZ,IAAoBA,IAA7D,CAAD,EAAqEc,YAArE,CAAN;AACA7C,IAAAA,MAAM,CAAC,KAAK6B,gBAAL,CAAsB,cAAtB,EAAsCa,WAAW,CAACX,IAAZ,IAAoBA,IAA1D,CAAD,EAAkEe,eAAlE,CAAN;;AAEA,QAAI,CAAC,KAAKC,YAAL,CAAkB,WAAlB,CAAL,EAAqC;AACjC,WAAKC,SAAL,GAAiBN,WAAW,CAACM,SAA7B;AACH,KAFD,MAEO;AACH,WAAKA,SAAL,GAAiB,KAAKtB,YAAL,CAAkB,WAAlB,CAAjB;AACH;;AACD,QAAI,KAAKqB,YAAL,CAAkB,QAAlB,CAAJ,EAAiC;AAC7B,WAAKE,MAAL,GAAc,KAAKvB,YAAL,CAAkB,QAAlB,CAAd;AACH;;AAED,UAAMwB,cAAc,GAAG,KAAK1B,UAAL,CAAgBC,aAAhB,CAA8B,iBAA9B,CAAvB;;AACA,SAAK0B,SAAL,GAAiBC,KAAK,IAAI,KAAKC,cAAL,CAAoBD,KAApB,CAA1B;;AACAF,IAAAA,cAAc,CAACI,gBAAf,CAAgC,OAAhC,EAAyC,KAAKH,SAAL,CAAeI,IAAf,CAAoB,IAApB,CAAzC;AACH;;AAEDC,EAAAA,OAAO,CAACA,OAAD,EAAU;AACb,UAAMN,cAAc,GAAG,KAAK1B,UAAL,CAAgBC,aAAhB,CAA8B,iBAA9B,CAAvB;AACA,UAAMgC,eAAe,GAAG,KAAKjC,UAAL,CAAgBC,aAAhB,CAA8B,kBAA9B,CAAxB;AACA,UAAMiC,QAAQ,GAAG,IAAIlE,WAAJ,CAAgB0D,cAAhB,EAAgC;AAC7CS,MAAAA,KAAK,EAAE,KAAKjC,YAAL,CAAkB,MAAlB,CADsC;AAE7CkC,MAAAA,IAAI,EAAEJ,OAFuC;AAG7CK,MAAAA,QAAQ,EAAE,CAHmC;AAI7CC,MAAAA,SAAS,EAAE,IAJkC;AAK7Cb,MAAAA,MAAM,EAAE,gBAASvC,IAAT,EAAeqD,KAAf,EAAsB;AAC1B,eAAOvE,WAAW,CAACwE,eAAZ,CAA4BtD,IAA5B,EAAkCqD,KAAK,CAACE,KAAN,CAAY,QAAZ,EAAsB,CAAtB,CAAlC,CAAP;AACH,OAP4C;AAQ7CC,MAAAA,IAAI,EAAE,cAASxD,IAAT,EAAeqD,KAAf,EAAsB;AACxB,eAAOvE,WAAW,CAAC2E,IAAZ,CAAiBzD,IAAjB,EAAuBqD,KAAK,CAACE,KAAN,CAAY,QAAZ,EAAsB,CAAtB,CAAvB,CAAP;AACH,OAV4C;AAW7CG,MAAAA,OAAO,EAAE,iBAAS1D,IAAT,EAAe;AACpB,cAAM2D,MAAM,GAAG,KAAKN,KAAL,CAAWO,KAAX,CAAiBL,KAAjB,CAAuB,UAAvB,EAAmC,CAAnC,CAAf;;AACA,YAAIR,eAAe,CAACa,KAAhB,KAA0B,IAA1B,IAAkCb,eAAe,CAACa,KAAhB,KAA0B,QAAhE,EAA0E;AACtE,eAAKP,KAAL,CAAWO,KAAX,GAAmBD,MAAM,GAAG3D,IAAT,GAAgB,IAAnC;AACH,SAFD,MAEO;AACH,eAAKqD,KAAL,CAAWO,KAAX,GAAmBD,MAAM,GAAG3D,IAA5B;AACH;AACJ;AAlB4C,KAAhC,CAAjB;;AAoBA,QAAIwC,cAAc,CAACoB,KAAf,KAAyB,EAA7B,EAAiC;AAC7BZ,MAAAA,QAAQ,CAACa,QAAT;AACH;;AACDrB,IAAAA,cAAc,CAACsB,KAAf;;AACA,SAAKC,eAAL,CAAqBnB,gBAArB,CAAsC,OAAtC,EAA+C,MAAM;AACjD,UAAIJ,cAAc,CAACoB,KAAf,CAAqBI,IAArB,GAA4BC,MAA5B,KAAuC,CAA3C,EAA8C;AAC1CjB,QAAAA,QAAQ,CAACa,QAAT;AACH;AACJ,KAJD;;AAKArB,IAAAA,cAAc,CAACI,gBAAf,CAAgC,4BAAhC,EAA8D,KAAKH,SAAnE;AACH;;AAED,MAAIF,MAAJ,CAAW2B,CAAX,EAAc;AACV,UAAM9B,eAAe,GAAG,KAAKtB,UAAL,CAAgBC,aAAhB,CAA8B,kBAA9B,CAAxB;AACA,UAAMwB,MAAM,GAAGZ,IAAI,CAACwC,KAAL,CAAW,KAAKnD,YAAL,CAAkB,QAAlB,CAAX,CAAf;;AACA,QAAIoB,eAAe,CAACwB,KAAhB,KAA0BrB,MAAM,CAAC6B,QAArC,EAA+C;AAC3ChC,MAAAA,eAAe,CAACwB,KAAhB,GAAwBrB,MAAM,CAAC6B,QAAP,IAAmBlF,eAAe,CAAC,KAAK8B,YAAL,CAAkB,MAAlB,CAAD,CAAf,CAA2C+B,eAAtF;AACH;;AACDX,IAAAA,eAAe,CAAChD,KAAhB,CAAsBiB,KAAtB,GAA8BN,cAAc,CAACqC,eAAe,CAACwB,KAAjB,CAA5C;AACA,UAAMS,YAAY,GAAG,KAAKvD,UAAL,CAAgBC,aAAhB,CAA8B,iBAA9B,CAArB;AACA,UAAMuD,OAAO,GAAG/B,MAAM,CAAC+B,OAAP,GAAiB/B,MAAM,CAAC+B,OAAP,CAAe5D,QAAf,EAAjB,GAA6C,EAA7D;;AACA,QAAI,CAAC,KAAK6D,YAAV,EAAwB;AACpBF,MAAAA,YAAY,CAACT,KAAb,GAAqBU,OAArB;AACH;;AACD,QAAIlC,eAAe,CAACwB,KAAhB,KAA0B3E,WAAW,CAACuF,gBAAZ,CAA6BC,MAAvD,IAAiErC,eAAe,CAACwB,KAAhB,KAA0B3E,WAAW,CAACuF,gBAAZ,CAA6BE,SAA5H,EAAuI;AACnIL,MAAAA,YAAY,CAACjF,KAAb,CAAmBuF,OAAnB,GAA6B,MAA7B;AACH,KAFD,MAEO;AACHN,MAAAA,YAAY,CAACjF,KAAb,CAAmBuF,OAAnB,GAA6B,cAA7B;AACAN,MAAAA,YAAY,CAACjF,KAAb,CAAmBiB,KAAnB,GAA2BN,cAAc,CAACuE,OAAD,EAAU,EAAV,CAAzC;AACH;AACJ;;AAED,MAAIhC,SAAJ,CAAcsC,CAAd,EAAiB;AACb,UAAMzC,YAAY,GAAG,KAAKrB,UAAL,CAAgBC,aAAhB,CAA8B,mBAA9B,CAArB;AACA,UAAMuB,SAAS,GAAG,KAAKtB,YAAL,CAAkB,WAAlB,CAAlB;;AACA,QAAImB,YAAY,CAACyB,KAAb,KAAuBtB,SAAvB,IAAoC,KAAKD,YAAL,CAAkB,MAAlB,CAAxC,EAAmE;AAC/D,YAAMhB,IAAI,GAAG,KAAKL,YAAL,CAAkB,MAAlB,CAAb;AACAmB,MAAAA,YAAY,CAACyB,KAAb,GAAqBtB,SAAS,IAAIpD,eAAe,CAACmC,IAAD,CAAf,CAAsBiB,SAAxD;AACH;;AACD,SAAKuC,kBAAL;AACH;;AAED,MAAIC,eAAJ,CAAoBC,CAApB,EAAuB,CACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACH;;AAEDC,EAAAA,kBAAkB,GAAG;AACjB,UAAMC,IAAI,GAAGtD,IAAI,CAACwC,KAAL,CAAW,KAAKnD,YAAL,CAAkB,iBAAlB,CAAX,CAAb;AACA,WAAO;AACHkE,MAAAA,WAAW,EAAED,IAAI,CAACC,WADf;AAEHC,MAAAA,aAAa,EAAEF,IAAI,CAACE,aAFjB;AAGHC,MAAAA,UAAU,EAAEH,IAAI,CAACG,UAHd;AAIHC,MAAAA,WAAW,EAAEJ,IAAI,CAACI,WAJf;AAKHhE,MAAAA,IAAI,EAAE4D,IAAI,CAAC5D;AALR,KAAP;AAOH;;AAEDsB,EAAAA,cAAc,CAACD,KAAD,EAAQ;AAClB,UAAMF,cAAc,GAAG,KAAK1B,UAAL,CAAgBC,aAAhB,CAA8B,iBAA9B,CAAvB;AACA,UAAMgC,eAAe,GAAG,KAAKjC,UAAL,CAAgBC,aAAhB,CAA8B,kBAA9B,CAAxB;AACA,QAAIuE,GAAG,GAAG9C,cAAc,CAACoB,KAAzB;AACA,UAAMvC,IAAI,GAAG,KAAKL,YAAL,CAAkB,MAAlB,CAAb;;AACA,YAAQK,IAAR;AACI,WAAK,OAAL;AACIiE,QAAAA,GAAG,GAAGC,UAAU,CAACD,GAAD,CAAhB;AACA;;AACJ,WAAK,SAAL;AACIA,QAAAA,GAAG,GAAGE,QAAQ,CAACF,GAAD,CAAd;AACA;;AACJ,WAAK,SAAL;AACIA,QAAAA,GAAG,GAAGA,GAAG,CAACG,WAAJ,GAAkBC,OAAlB,CAA0B,MAA1B,IAAoC,CAAC,CAA3C;AACA;;AACJ,WAAK,QAAL;AACA;AAXJ;;AAaA,QAAI3C,eAAe,CAACa,KAAhB,KAA0B3E,WAAW,CAACuF,gBAAZ,CAA6BmB,IAAvD,IAA+D5C,eAAe,CAACa,KAAhB,KAA0B3E,WAAW,CAACuF,gBAAZ,CAA6BoB,OAA1H,EAAmI;AAC/HN,MAAAA,GAAG,GAAGA,GAAG,CAACO,KAAJ,CAAU,GAAV,EAAepE,GAAf,CAAmBC,CAAC,IAAIA,CAAC,CAACsC,IAAF,EAAxB,CAAN;AACH;;AACD,SAAK8B,YAAL,CAAkB,QAAlB,EAA4BnE,IAAI,CAACC,SAAL,CAAe;AAACwC,MAAAA,QAAQ,EAAErB,eAAe,CAACa,KAA3B;AAAkCU,MAAAA,OAAO,EAAEgB;AAA3C,KAAf,CAA5B;AACA,SAAKS,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,iBAAhB,EAAmC;AAACC,MAAAA,MAAM,EAAEvD;AAAT,KAAnC,CAAnB;AACH;;AAEDwD,EAAAA,kBAAkB,CAACxD,KAAD,EAAQ;AACtB,QAAI,KAAKL,YAAL,CAAkB,QAAlB,CAAJ,EAAiC;AAC7B,YAAM;AAAC+B,QAAAA,QAAD;AAAWE,QAAAA;AAAX,UAAsB3C,IAAI,CAACwC,KAAL,CAAW,KAAKnD,YAAL,CAAkB,QAAlB,CAAX,CAA5B;AACA0B,MAAAA,KAAK,CAACyD,YAAN,CAAmBC,OAAnB,CAA2B,MAA3B,EAAmCzE,IAAI,CAACC,SAAL,CAAe,CAAC,KAAKZ,YAAL,CAAkB,MAAlB,CAAD,EAA4BoD,QAA5B,EAAsCE,OAAtC,EAA+C,KAAKtD,YAAL,CAAkB,MAAlB,CAA/C,EAA0E,KAAKA,YAAL,CAAkB,WAAlB,CAA1E,CAAf,CAAnC;AACH,KAHD,MAGO;AACH0B,MAAAA,KAAK,CAACyD,YAAN,CAAmBC,OAAnB,CACI,MADJ,EAEIzE,IAAI,CAACC,SAAL,CAAe,CAAC,KAAKZ,YAAL,CAAkB,MAAlB,CAAD,EAA4B9B,eAAe,CAAC,KAAK8B,YAAL,CAAkB,MAAlB,CAAD,CAAf,CAA2C+B,eAAvE,EAAwFsD,SAAxF,EAAmG,KAAKrF,YAAL,CAAkB,MAAlB,CAAnG,EAA8H,KAAKA,YAAL,CAAkB,WAAlB,CAA9H,CAAf,CAFJ;AAIH;;AACD,SAAK+E,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,UAAhB,CAAnB;AACH;;AAEDM,EAAAA,aAAa,GAAG;AACZ,SAAKC,GAAL,GAAW,KAAKzF,UAAL,CAAgBC,aAAhB,CAA8B,gBAA9B,CAAX;AACA,SAAKyF,QAAL,GAAgB,KAAK1F,UAAL,CAAgBC,aAAhB,CAA8B,aAA9B,CAAhB;AACA,SAAK0F,UAAL,GAAkB,KAAK3F,UAAL,CAAgBC,aAAhB,CAA8B,YAA9B,CAAlB;AACA,SAAK2F,aAAL,GAAqB,KAAK5F,UAAL,CAAgBC,aAAhB,CAA8B,mBAA9B,CAArB;AACA,SAAK4F,WAAL,GAAmB,KAAK7F,UAAL,CAAgBC,aAAhB,CAA8B,aAA9B,CAAnB;AACA,SAAKgD,eAAL,GAAuB,KAAKjD,UAAL,CAAgBC,aAAhB,CAA8B,iBAA9B,CAAvB;AACA,SAAK6F,gBAAL,GAAwB,KAAK9F,UAAL,CAAgBC,aAAhB,CAA8B,kBAA9B,CAAxB;AACA,SAAK8F,4BAAL,GAAoC,KAAK/F,UAAL,CAAgBC,aAAhB,CAA8B,WAA9B,CAApC;AACA,SAAK+F,0BAAL,GAAkC,KAAKhG,UAAL,CAAgBC,aAAhB,CAA8B,4BAA9B,CAAlC;AACH;;AAED8D,EAAAA,kBAAkB,GAAG;AACjB,SAAK6B,aAAL,CAAmBK,IAAnB;;AACA,QAAI,KAAKL,aAAL,CAAmB9C,KAAnB,CAAyB,CAAzB,MAAgC,GAApC,EAAyC;AACrC,WAAK,MAAMoD,MAAX,IAAqB,KAAKN,aAAL,CAAmBO,gBAAnB,CAAoC,iBAApC,CAArB,EAA6E;AACzE,cAAMtG,IAAI,GAAGqG,MAAM,CAAChG,YAAP,CAAoB,WAApB,CAAb;AACAgG,QAAAA,MAAM,CAAC9G,SAAP,qBAA8BS,IAA9B;AACH;AACJ;AACJ;;AAEDuG,EAAAA,mBAAmB,GAAG;AAClB,SAAK,MAAMF,MAAX,IAAqB,KAAKN,aAAL,CAAmBO,gBAAnB,CAAoC,iBAApC,CAArB,EAA6E;AACzE,YAAMtG,IAAI,GAAGqG,MAAM,CAAChG,YAAP,CAAoB,WAApB,CAAb;AACAgG,MAAAA,MAAM,CAAC9G,SAAP,gBAAyBS,IAAzB;AACH;AACJ;;AAEDwG,EAAAA,mBAAmB,GAAG;AAClB,SAAKZ,GAAL,CAAS3D,gBAAT,CAA0B,WAA1B,EAAuC,KAAKsD,kBAAL,CAAwBrD,IAAxB,CAA6B,IAA7B,CAAvC;;AACA,SAAK0D,GAAL,CAAS3D,gBAAT,CAA0B,SAA1B,EAAqC,MAAM;AACvC,WAAKmD,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,aAAhB,CAAnB;AACH,KAFD;;AAGA,SAAKQ,QAAL,CAAc5D,gBAAd,CAA+B,WAA/B,EAA4CF,KAAK,IAAI,KAAKqD,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,oBAAhB,EAAsC;AAACC,MAAAA,MAAM,EAAEvD;AAAT,KAAtC,CAAnB,CAArD;;AACA,SAAK+D,UAAL,CAAgB7D,gBAAhB,CAAiC,WAAjC,EAA8CF,KAAK,IAAI,KAAKqD,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,eAAhB,EAAiC;AAACC,MAAAA,MAAM,EAAEvD;AAAT,KAAjC,CAAnB,CAAvD;;AACA,SAAKgE,aAAL,CAAmB9D,gBAAnB,CAAoC,OAApC,EAA6C,KAAKsE,mBAAL,CAAyBrE,IAAzB,CAA8B,IAA9B,CAA7C;;AAEA,SAAK6D,aAAL,CAAmB9D,gBAAnB,CAAoC,QAApC,EAA8CF,KAAK,IAAI;AACnD,WAAKmC,kBAAL;;AACA,YAAMjB,KAAK,GAAG,KAAK8C,aAAL,CAAmB9C,KAAjC;AACA,WAAKkC,YAAL,CAAkB,WAAlB,EAA+BlC,KAA/B;AACA,WAAKmC,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,oBAAhB,EAAsC;AAACC,QAAAA,MAAM,EAAEvD;AAAT,OAAtC,CAAnB;AACH,KALD;;AAMA,SAAKiE,WAAL,CAAiB/D,gBAAjB,CAAkC,OAAlC,EAA2CF,KAAK,IAAI;AAChD,WAAKqD,aAAL,CAAmB,IAAIC,WAAJ,CAAgB,YAAhB,EAA8B;AAACC,QAAAA,MAAM,EAAEvD;AAAT,OAA9B,CAAnB;AACH,KAFD;;AAIA,UAAM0E,gBAAgB,GAAGvI,QAAQ,CAAC6D,KAAK,IAAI,KAAKC,cAAL,CAAoBD,KAApB,CAAV,EAAsC,EAAtC,CAAjC;;AACA,SAAKkE,gBAAL,CAAsBhE,gBAAtB,CAAuC,QAAvC,EAAiD,MAAM;AACnD,WAAKmB,eAAL,CAAqBD,KAArB;;AACA,WAAK8C,gBAAL,CAAsBxH,KAAtB,CAA4BiB,KAA5B,GAAoCN,cAAc,CAAC,KAAK6G,gBAAL,CAAsBhD,KAAvB,CAAlD;AACA,YAAMS,YAAY,GAAG,KAAKvD,UAAL,CAAgBC,aAAhB,CAA8B,iBAA9B,CAArB;AACAsD,MAAAA,YAAY,CAACjF,KAAb,CAAmBiB,KAAnB,GAA2BN,cAAc,CAAC,KAAK,KAAKgE,eAAL,CAAqBH,KAA3B,EAAkC,EAAlC,CAAzC;AACAwD,MAAAA,gBAAgB;AACnB,KAND;;AAOA,SAAKP,4BAAL,CAAkCjE,gBAAlC,CAAmD,OAAnD,EAA4D,MAAM;AAC9D,WAAKmD,aAAL,CACI,IAAIC,WAAJ,CAAgB,kCAAhB,EAAoD;AAChDqB,QAAAA,OAAO,EAAE,IADuC;AAEhDpB,QAAAA,MAAM,EAAE,KAAKjB,kBAAL;AAFwC,OAApD,CADJ;AAMH,KAPD;AAQH;;AAEDsC,EAAAA,iBAAiB,GAAG;AAChB,SAAKhB,aAAL;;AACA,SAAKa,mBAAL;AACH;;AA1PyB,C","sourcesContent":["/******************************************************************************\r\n *\r\n * Copyright (c) 2017, the Perspective Authors.\r\n *\r\n * This file is part of the Perspective library, distributed under the terms of\r\n * the Apache License 2.0. The full license can be found in the LICENSE file.\r\n *\r\n */\r\n\r\nimport debounce from \"lodash/debounce\";\r\n\r\nimport Awesomplete from \"awesomplete\";\r\nimport awesomplete_style from \"!!css-loader!awesomplete/awesomplete.css\";\r\n\r\nimport {bindTemplate} from \"./utils.js\";\r\n\r\nimport perspective from \"@finos/perspective\";\r\nimport {get_type_config} from \"@finos/perspective/dist/esm/config\";\r\nimport template from \"../html/row.html\";\r\n\r\nimport style from \"../less/row.less\";\r\nimport {html, render, nothing} from \"lit-html\";\r\n\r\nconst SPAN = document.createElement(\"span\");\r\nSPAN.style.visibility = \"hidden\";\r\nSPAN.style.fontFamily = \"monospace\";\r\nSPAN.style.fontSize = \"12px\";\r\nSPAN.style.position = \"absolute\";\r\n\r\nfunction get_text_width(text, max = 0) {\r\n // FIXME get these values form the stylesheet\r\n SPAN.innerHTML = text;\r\n document.body.appendChild(SPAN);\r\n const width = `${Math.max(max, SPAN.offsetWidth) + 20}px`;\r\n document.body.removeChild(SPAN);\r\n return width;\r\n}\r\n\r\n// Eslint complains here because we don't do anything, but actually we globally\r\n// register this class as a CustomElement\r\n@bindTemplate(template, {toString: () => style + \"\\n\" + awesomplete_style}) // eslint-disable-next-line no-unused-vars\r\nclass Row extends HTMLElement {\r\n set name(n) {\r\n const elem = this.shadowRoot.querySelector(\"#name\");\r\n elem.innerHTML = this.getAttribute(\"name\");\r\n }\r\n\r\n _option_template(agg, name) {\r\n return html`\r\n <option value=\"${agg}\" data-desc=\"${name}\">${name || agg}</option>\r\n `;\r\n }\r\n\r\n _select_template(category, type) {\r\n const items = perspective[category][type] || [];\r\n const weighted_options = html`\r\n <optgroup label=\"weighted mean\">\r\n ${this._weights.map(x => this._option_template(JSON.stringify([\"weighted mean\", x]), x))}\r\n </optgroup>\r\n `;\r\n return html`\r\n ${items.map(x => this._option_template(x))} ${type === \"integer\" || type === \"float\" ? weighted_options : nothing}\r\n `;\r\n }\r\n\r\n set_weights(xs) {\r\n this._weights = xs;\r\n }\r\n\r\n set type(t) {\r\n const elem = this.shadowRoot.querySelector(\"#name\");\r\n const type = this.getAttribute(\"type\");\r\n if (!type) return;\r\n const type_config = get_type_config(type);\r\n if (type_config.type) {\r\n elem.classList.add(type_config.type);\r\n }\r\n elem.classList.add(type);\r\n const agg_dropdown = this.shadowRoot.querySelector(\"#column_aggregate\");\r\n const filter_dropdown = this.shadowRoot.querySelector(\"#filter_operator\");\r\n\r\n render(this._select_template(\"TYPE_AGGREGATES\", type_config.type || type), agg_dropdown);\r\n render(this._select_template(\"TYPE_FILTERS\", type_config.type || type), filter_dropdown);\r\n\r\n if (!this.hasAttribute(\"aggregate\")) {\r\n this.aggregate = type_config.aggregate;\r\n } else {\r\n this.aggregate = this.getAttribute(\"aggregate\");\r\n }\r\n if (this.hasAttribute(\"filter\")) {\r\n this.filter = this.getAttribute(\"filter\");\r\n }\r\n\r\n const filter_operand = this.shadowRoot.querySelector(\"#filter_operand\");\r\n this._callback = event => this._update_filter(event);\r\n filter_operand.addEventListener(\"keyup\", this._callback.bind(this));\r\n }\r\n\r\n choices(choices) {\r\n const filter_operand = this.shadowRoot.querySelector(\"#filter_operand\");\r\n const filter_operator = this.shadowRoot.querySelector(\"#filter_operator\");\r\n const selector = new Awesomplete(filter_operand, {\r\n label: this.getAttribute(\"name\"),\r\n list: choices,\r\n minChars: 0,\r\n autoFirst: true,\r\n filter: function(text, input) {\r\n return Awesomplete.FILTER_CONTAINS(text, input.match(/[^,]*$/)[0]);\r\n },\r\n item: function(text, input) {\r\n return Awesomplete.ITEM(text, input.match(/[^,]*$/)[0]);\r\n },\r\n replace: function(text) {\r\n const before = this.input.value.match(/^.+,\\s*|/)[0];\r\n if (filter_operator.value === \"in\" || filter_operator.value === \"not in\") {\r\n this.input.value = before + text + \", \";\r\n } else {\r\n this.input.value = before + text;\r\n }\r\n }\r\n });\r\n if (filter_operand.value === \"\") {\r\n selector.evaluate();\r\n }\r\n filter_operand.focus();\r\n this._filter_operand.addEventListener(\"focus\", () => {\r\n if (filter_operand.value.trim().length === 0) {\r\n selector.evaluate();\r\n }\r\n });\r\n filter_operand.addEventListener(\"awesomplete-selectcomplete\", this._callback);\r\n }\r\n\r\n set filter(f) {\r\n const filter_dropdown = this.shadowRoot.querySelector(\"#filter_operator\");\r\n const filter = JSON.parse(this.getAttribute(\"filter\"));\r\n if (filter_dropdown.value !== filter.operator) {\r\n filter_dropdown.value = filter.operator || get_type_config(this.getAttribute(\"type\")).filter_operator;\r\n }\r\n filter_dropdown.style.width = get_text_width(filter_dropdown.value);\r\n const filter_input = this.shadowRoot.querySelector(\"#filter_operand\");\r\n const operand = filter.operand ? filter.operand.toString() : \"\";\r\n if (!this._initialized) {\r\n filter_input.value = operand;\r\n }\r\n if (filter_dropdown.value === perspective.FILTER_OPERATORS.isNull || filter_dropdown.value === perspective.FILTER_OPERATORS.isNotNull) {\r\n filter_input.style.display = \"none\";\r\n } else {\r\n filter_input.style.display = \"inline-block\";\r\n filter_input.style.width = get_text_width(operand, 30);\r\n }\r\n }\r\n\r\n set aggregate(a) {\r\n const agg_dropdown = this.shadowRoot.querySelector(\"#column_aggregate\");\r\n const aggregate = this.getAttribute(\"aggregate\");\r\n if (agg_dropdown.value !== aggregate && this.hasAttribute(\"type\")) {\r\n const type = this.getAttribute(\"type\");\r\n agg_dropdown.value = aggregate || get_type_config(type).aggregate;\r\n }\r\n this._blur_agg_dropdown();\r\n }\r\n\r\n set computed_column(c) {\r\n // const data = this._get_computed_data();\r\n // const computed_input_column =\r\n // this.shadowRoot.querySelector('#computed_input_column');\r\n // const computation_name =\r\n // this.shadowRoot.querySelector('#computation_name');\r\n // computation_name.textContent = data.computation.name;\r\n // computed_input_column.textContent = data.input_column;\r\n }\r\n\r\n _get_computed_data() {\r\n const data = JSON.parse(this.getAttribute(\"computed_column\"));\r\n return {\r\n column_name: data.column_name,\r\n input_columns: data.input_columns,\r\n input_type: data.input_type,\r\n computation: data.computation,\r\n type: data.type\r\n };\r\n }\r\n\r\n _update_filter(event) {\r\n const filter_operand = this.shadowRoot.querySelector(\"#filter_operand\");\r\n const filter_operator = this.shadowRoot.querySelector(\"#filter_operator\");\r\n let val = filter_operand.value;\r\n const type = this.getAttribute(\"type\");\r\n switch (type) {\r\n case \"float\":\r\n val = parseFloat(val);\r\n break;\r\n case \"integer\":\r\n val = parseInt(val);\r\n break;\r\n case \"boolean\":\r\n val = val.toLowerCase().indexOf(\"true\") > -1;\r\n break;\r\n case \"string\":\r\n default:\r\n }\r\n if (filter_operator.value === perspective.FILTER_OPERATORS.isIn || filter_operator.value === perspective.FILTER_OPERATORS.isNotIn) {\r\n val = val.split(\",\").map(x => x.trim());\r\n }\r\n this.setAttribute(\"filter\", JSON.stringify({operator: filter_operator.value, operand: val}));\r\n this.dispatchEvent(new CustomEvent(\"filter-selected\", {detail: event}));\r\n }\r\n\r\n _set_data_transfer(event) {\r\n if (this.hasAttribute(\"filter\")) {\r\n const {operator, operand} = JSON.parse(this.getAttribute(\"filter\"));\r\n event.dataTransfer.setData(\"text\", JSON.stringify([this.getAttribute(\"name\"), operator, operand, this.getAttribute(\"type\"), this.getAttribute(\"aggregate\")]));\r\n } else {\r\n event.dataTransfer.setData(\r\n \"text\",\r\n JSON.stringify([this.getAttribute(\"name\"), get_type_config(this.getAttribute(\"type\")).filter_operator, undefined, this.getAttribute(\"type\"), this.getAttribute(\"aggregate\")])\r\n );\r\n }\r\n this.dispatchEvent(new CustomEvent(\"row-drag\"));\r\n }\r\n\r\n _register_ids() {\r\n this._li = this.shadowRoot.querySelector(\".row_draggable\");\r\n this._visible = this.shadowRoot.querySelector(\".is_visible\");\r\n this._row_close = this.shadowRoot.querySelector(\"#row_close\");\r\n this._agg_dropdown = this.shadowRoot.querySelector(\"#column_aggregate\");\r\n this._sort_order = this.shadowRoot.querySelector(\"#sort_order\");\r\n this._filter_operand = this.shadowRoot.querySelector(\"#filter_operand\");\r\n this._filter_operator = this.shadowRoot.querySelector(\"#filter_operator\");\r\n this._edit_computed_column_button = this.shadowRoot.querySelector(\"#row_edit\");\r\n this._column_aggregate_category = this.shadowRoot.querySelector(\"#column_aggregate_category\");\r\n }\r\n\r\n _blur_agg_dropdown() {\r\n this._agg_dropdown.blur();\r\n if (this._agg_dropdown.value[0] === \"[\") {\r\n for (const option of this._agg_dropdown.querySelectorAll(\"optgroup option\")) {\r\n const name = option.getAttribute(\"data-desc\");\r\n option.innerHTML = `mean by ${name}`;\r\n }\r\n }\r\n }\r\n\r\n _focus_agg_dropdown() {\r\n for (const option of this._agg_dropdown.querySelectorAll(\"optgroup option\")) {\r\n const name = option.getAttribute(\"data-desc\");\r\n option.innerHTML = `by ${name}`;\r\n }\r\n }\r\n\r\n _register_callbacks() {\r\n this._li.addEventListener(\"dragstart\", this._set_data_transfer.bind(this));\r\n this._li.addEventListener(\"dragend\", () => {\r\n this.dispatchEvent(new CustomEvent(\"row-dragend\"));\r\n });\r\n this._visible.addEventListener(\"mousedown\", event => this.dispatchEvent(new CustomEvent(\"visibility-clicked\", {detail: event})));\r\n this._row_close.addEventListener(\"mousedown\", event => this.dispatchEvent(new CustomEvent(\"close-clicked\", {detail: event})));\r\n this._agg_dropdown.addEventListener(\"focus\", this._focus_agg_dropdown.bind(this));\r\n\r\n this._agg_dropdown.addEventListener(\"change\", event => {\r\n this._blur_agg_dropdown();\r\n const value = this._agg_dropdown.value;\r\n this.setAttribute(\"aggregate\", value);\r\n this.dispatchEvent(new CustomEvent(\"aggregate-selected\", {detail: event}));\r\n });\r\n this._sort_order.addEventListener(\"click\", event => {\r\n this.dispatchEvent(new CustomEvent(\"sort-order\", {detail: event}));\r\n });\r\n\r\n const debounced_filter = debounce(event => this._update_filter(event), 50);\r\n this._filter_operator.addEventListener(\"change\", () => {\r\n this._filter_operand.focus();\r\n this._filter_operator.style.width = get_text_width(this._filter_operator.value);\r\n const filter_input = this.shadowRoot.querySelector(\"#filter_operand\");\r\n filter_input.style.width = get_text_width(\"\" + this._filter_operand.value, 30);\r\n debounced_filter();\r\n });\r\n this._edit_computed_column_button.addEventListener(\"click\", () => {\r\n this.dispatchEvent(\r\n new CustomEvent(\"perspective-computed-column-edit\", {\r\n bubbles: true,\r\n detail: this._get_computed_data()\r\n })\r\n );\r\n });\r\n }\r\n\r\n connectedCallback() {\r\n this._register_ids();\r\n this._register_callbacks();\r\n }\r\n}\r\n"],"file":"row.js"}
\No newline at end of file