From d32b5599ee41b8724fa57bcec6cb527db3a0e43e Mon Sep 17 00:00:00 2001 From: n2ref Date: Sun, 10 Dec 2023 13:24:23 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/coreui-table.min.css | 2 +- dist/coreui-table.min.css.map | 2 +- dist/coreui-table.min.js | 19 +------------------ dist/coreui-table.min.js.map | 2 +- 4 files changed, 4 insertions(+), 21 deletions(-) diff --git a/dist/coreui-table.min.css b/dist/coreui-table.min.css index 2caa69f..76d27e1 100644 --- a/dist/coreui-table.min.css +++ b/dist/coreui-table.min.css @@ -1,2 +1,2 @@ -:root{--coreui-table-bg-head:#FAFAFA}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table{min-height:55px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table.table-sm>tbody>tr>td{padding:.2rem .25rem}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td{font-weight:600}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td{font-size:14px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead{position:sticky;top:0;z-index:1}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot{position:sticky;bottom:0;z-index:1}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td::after,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td::before,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td::after,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td::before{content:'';position:absolute;left:0;width:100%;height:1px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td::before{top:0;box-shadow:0 -1px 0 var(--bs-secondary-border-subtle),0 0 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td::after{bottom:0;box-shadow:0 1px 0 var(--bs-secondary-border-subtle),0 0 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table.table-bordered>thead>tr>td{border:1px solid var(--bs-secondary-border-subtle);background-color:var(--coreui-table-bg-head)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr:first-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr:first-child>td{border-top:none;background-color:var(--coreui-table-bg-head)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td::before{top:0;box-shadow:0 0 0 var(--bs-secondary-border-subtle),0 -1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td::after{bottom:0;box-shadow:0 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table.table-bordered>tfoot>tr>td{border:1px solid var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot tr:last-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot tr:last-child>td{border-bottom:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td{position:relative}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td.coreui-table__fixed_left,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td.coreui-table__fixed_left{position:sticky;left:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td.coreui-table__fixed_right,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td.coreui-table__fixed_right{position:sticky;right:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr:last-child>td.coreui-table__fixed_left{z-index:2}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td.coreui-table__fixed_left{box-shadow:1px 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td.coreui-table__fixed_left::after{content:'';position:absolute;right:0;top:0;height:100%;width:1px;box-shadow:1px 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td.coreui-table__fixed_right::before{content:'';position:absolute;left:0;top:0;height:100%;width:1px;box-shadow:-1px 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table:not(.table-bordered)>tbody>tr>td.coreui-table__fixed_right::before{content:'';position:absolute;left:0;top:0;height:100%;width:1px;box-shadow:1px 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td:first-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td:first-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td:first-child{border-left:none}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td:last-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td:last-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td:last-child{border-right:none}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr.coreui-table__record:not(.table-primary)>td,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td{background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))}.coreui-table .coreui-table-lock{z-index:2}.coreui-table .coreui-table-lock .coreui-table-message{width:200px}.coreui-table .coreui-table-lock .spinner-border{--bs-spinner-width:1.5rem;--bs-spinner-height:1.5rem}.coreui-table .coreui-table_pointer{cursor:pointer}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td>.form-switch{padding-left:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td>.form-switch .form-check-input{margin-left:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td .coreui-table__page_go_container input{width:55px;min-height:24px;height:24px;font-size:12px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td .coreui-table__page_go_container button{--bs-btn-font-size:.75rem;line-height:1.25;padding:.2rem .25rem}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td .coreui-table__pages_container button{--bs-btn-font-size:.75rem;line-height:11px;padding:.25rem .25rem;height:24px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td .coreui-table__pages_list_container>select{background-size:12px 10px;line-height:14px;font-size:12px;width:75px} +.coreui-table>.coreui-table__container>.coreui-table__wrapper>table{min-height:55px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table.table-sm>tbody>tr>td{padding:.2rem .25rem}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td{font-weight:600}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td{font-size:14px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead{position:sticky;top:0;z-index:1}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot{position:sticky;bottom:0;z-index:1}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td::before,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td::after,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td::before,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td::after{content:"";position:absolute;left:0;width:100%;height:1px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td::before{top:0;box-shadow:0 -1px 0 var(--bs-secondary-border-subtle),0 0 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td::after{bottom:0;box-shadow:0 1px 0 var(--bs-secondary-border-subtle),0 0 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table.table-bordered>thead>tr>td{border:1px solid var(--bs-secondary-border-subtle);background-color:#fafafa}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr:first-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr:first-child>td{border-top:none;background-color:#fafafa}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td::before{top:0;box-shadow:0 0 0 var(--bs-secondary-border-subtle),0 -1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td::after{bottom:0;box-shadow:0 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table.table-bordered>tfoot>tr>td{border:1px solid var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot tr:last-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot tr:last-child>td{border-bottom:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td{position:relative}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td.coreui-table__fixed_left,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td.coreui-table__fixed_left{position:sticky;left:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td.coreui-table__fixed_right,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td.coreui-table__fixed_right{position:sticky;right:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr:last-child>td.coreui-table__fixed_left{z-index:2}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td.coreui-table__fixed_left{box-shadow:1px 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td.coreui-table__fixed_left::after{content:"";position:absolute;right:0;top:0;height:100%;width:1px;box-shadow:1px 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td.coreui-table__fixed_right::before{content:"";position:absolute;left:0;top:0;height:100%;width:1px;box-shadow:-1px 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table:not(.table-bordered)>tbody>tr>td.coreui-table__fixed_right::before{content:"";position:absolute;left:0;top:0;height:100%;width:1px;box-shadow:1px 0 0 var(--bs-secondary-border-subtle),0 1px 0 var(--bs-secondary-border-subtle)}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td:first-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td:first-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td:first-child{border-left:none}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td:last-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td:last-child,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td:last-child{border-right:none}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>thead>tr>td,.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr.coreui-table__record:not(.table-primary)>td{background-color:rgba(var(--bs-white-rgb), var(--bs-bg-opacity))}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td>.form-switch{padding-left:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tbody>tr>td>.form-switch .form-check-input{margin-left:0}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td .coreui-table__page_go_container input{width:55px;min-height:24px;height:24px;font-size:12px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td .coreui-table__page_go_container button{--bs-btn-font-size: .75rem;line-height:1.25;padding:.2rem .25rem}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td .coreui-table__pages_container button{--bs-btn-font-size: .75rem;line-height:11px;padding:.25rem .25rem;height:24px}.coreui-table>.coreui-table__container>.coreui-table__wrapper>table>tfoot>tr>td .coreui-table__pages_list_container>select{background-size:12px 10px;line-height:14px;font-size:12px;width:75px}.coreui-table .coreui-table-lock{z-index:2}.coreui-table .coreui-table-lock .coreui-table-message{width:200px}.coreui-table .coreui-table-lock .spinner-border{--bs-spinner-width: 1.5rem;--bs-spinner-height: 1.5rem}.coreui-table .coreui-table_pointer{cursor:pointer} /*# sourceMappingURL=coreui-table.min.css.map */ diff --git a/dist/coreui-table.min.css.map b/dist/coreui-table.min.css.map index 338ee52..0c5ea16 100644 --- a/dist/coreui-table.min.css.map +++ b/dist/coreui-table.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["coreui.table.css"],"names":[],"mappings":"AAAA,MACI,uBAAwB,QAG5B,oEACI,WAAY,KAEhB,yFACI,QAAS,MAAO,OAEpB,gFACI,YAAa,IAEjB,gFACA,gFACI,UAAW,KAGf,0EACI,SAAU,OACV,IAAK,EACL,QAAS,EAEb,0EACI,SAAU,OACV,OAAQ,EACR,QAAS,EAKb,uFADA,wFADA,uFADA,wFAII,QAAS,GACT,SAAU,SACV,KAAM,EACN,MAAO,KACP,OAAQ,IAIZ,wFACI,IAAK,EACL,WAAY,EAAE,KAAK,EAAE,iCAAiC,CAAE,EAAE,EAAE,EAAE,kCAElE,uFACI,OAAQ,EACR,WAAY,EAAE,IAAI,EAAE,iCAAiC,CAAE,EAAE,EAAE,EAAE,kCAEjE,+FACI,OAAQ,IAAI,MAAM,kCAClB,iBAAkB,4BAEtB,yFACA,4FACI,WAAY,KACZ,iBAAkB,4BAItB,wFACI,IAAK,EACL,WAAY,EAAE,EAAE,EAAE,iCAAiC,CAAE,EAAE,KAAK,EAAE,kCAElE,uFACI,OAAQ,EACR,WAAY,EAAE,EAAE,EAAE,iCAAiC,CAAE,EAAE,IAAI,EAAE,kCAEjE,+FACI,OAAQ,IAAI,MAAM,kCAEtB,wFACA,2FACI,cAAe,EAMnB,gFADA,gFAEI,SAAU,SAGd,yGADA,yGAEI,SAAU,OACV,KAAM,EAGV,0GADA,0GAEI,SAAU,OACV,MAAO,EAEX,oHACI,QAAS,EAEb,yGACI,WAAY,IAAI,EAAE,EAAE,iCAAiC,CAAE,EAAE,IAAI,EAAE,kCAEnE,gHACI,QAAS,GACT,SAAU,SACV,MAAO,EACP,IAAK,EACL,OAAQ,KACR,MAAO,IACP,WAAY,IAAI,EAAE,EAAE,iCAAiC,CAAE,EAAE,IAAI,EAAE,kCAEnE,kHACI,QAAS,GACT,SAAU,SACV,KAAM,EACN,IAAK,EACL,OAAQ,KACR,MAAO,IACP,WAAY,KAAK,EAAE,EAAE,iCAAiC,CAAE,EAAE,IAAI,EAAE,kCAEpE,uIACI,QAAS,GACT,SAAU,SACV,KAAM,EACN,IAAK,EACL,OAAQ,KACR,MAAO,IACP,WAAY,IAAI,EAAE,EAAE,iCAAiC,CAAE,EAAE,IAAI,EAAE,kCAMnE,4FACA,4FAFA,4FAGI,YAAa,KAGjB,2FACA,2FAFA,2FAGI,aAAc,KAKlB,yHADA,gFAEI,iBAAkB,+CAGtB,iCACI,QAAS,EAEb,uDACI,MAAO,MAEX,iDACI,mBAAoB,OACpB,oBAAqB,OAEzB,oCACI,OAAQ,QAEZ,6FACI,aAAc,EAElB,+GACI,YAAa,EAEjB,uHACI,MAAO,KACP,WAAY,KACZ,OAAQ,KACR,UAAW,KAEf,wHACI,mBAAoB,OACpB,YAAa,KACb,QAAS,MAAO,OAEpB,sHACI,mBAAoB,OACpB,YAAa,KACb,QAAS,OAAQ,OACjB,OAAQ,KAEZ,2HACI,gBAAiB,KAAK,KACtB,YAAa,KACb,UAAW,KACX,MAAO","file":"coreui-table.min.css","sourcesContent":[":root {\r\n --coreui-table-bg-head: #FAFAFA;\r\n}\r\n\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table {\r\n min-height: 55px;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table.table-sm > tbody > tr > td {\r\n padding: 0.2rem 0.25rem;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td {\r\n font-weight: 600;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td {\r\n font-size: 14px;\r\n}\r\n\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead {\r\n position: sticky;\r\n top: 0;\r\n z-index: 1;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot {\r\n position: sticky;\r\n bottom: 0;\r\n z-index: 1;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td::before,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td::after,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td::before,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td::after {\r\n content: '';\r\n position: absolute;\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n}\r\n\r\n\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td::before {\r\n top: 0;\r\n box-shadow: 0 -1px 0 var(--bs-secondary-border-subtle), 0 0 0 var(--bs-secondary-border-subtle);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td::after {\r\n bottom: 0;\r\n box-shadow: 0 1px 0 var(--bs-secondary-border-subtle), 0 0 0 var(--bs-secondary-border-subtle);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table.table-bordered > thead > tr > td {\r\n border: 1px solid var(--bs-secondary-border-subtle);\r\n background-color: var(--coreui-table-bg-head);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr:first-child,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr:first-child > td {\r\n border-top: none;\r\n background-color: var(--coreui-table-bg-head);\r\n}\r\n\r\n\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td::before {\r\n top: 0;\r\n box-shadow: 0 0 0 var(--bs-secondary-border-subtle), 0 -1px 0 var(--bs-secondary-border-subtle);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td::after {\r\n bottom: 0;\r\n box-shadow: 0 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table.table-bordered > tfoot > tr > td {\r\n border: 1px solid var(--bs-secondary-border-subtle);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot tr:last-child,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot tr:last-child > td {\r\n border-bottom: 0;\r\n}\r\n\r\n\r\n\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td {\r\n position: relative;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td.coreui-table__fixed_left,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td.coreui-table__fixed_left {\r\n position: sticky;\r\n left: 0;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td.coreui-table__fixed_right,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td.coreui-table__fixed_right {\r\n position: sticky;\r\n right: 0;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr:last-child > td.coreui-table__fixed_left {\r\n z-index: 2;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td.coreui-table__fixed_left {\r\n box-shadow: 1px 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td.coreui-table__fixed_left::after {\r\n content: '';\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n height: 100%;\r\n width: 1px;\r\n box-shadow: 1px 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td.coreui-table__fixed_right::before {\r\n content: '';\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n width: 1px;\r\n box-shadow: -1px 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table:not(.table-bordered) > tbody > tr > td.coreui-table__fixed_right::before {\r\n content: '';\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n width: 1px;\r\n box-shadow: 1px 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n}\r\n\r\n\r\n\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td:first-child,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td:first-child,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td:first-child {\r\n border-left: none;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td:last-child,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td:last-child,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td:last-child {\r\n border-right: none;\r\n}\r\n\r\n\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > thead > tr > td,\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record:not(.table-primary) > td {\r\n background-color: rgba(var(--bs-white-rgb),var(--bs-bg-opacity));\r\n}\r\n\r\n.coreui-table .coreui-table-lock {\r\n z-index: 2;\r\n}\r\n.coreui-table .coreui-table-lock .coreui-table-message {\r\n width: 200px;\r\n}\r\n.coreui-table .coreui-table-lock .spinner-border {\r\n --bs-spinner-width: 1.5rem;\r\n --bs-spinner-height: 1.5rem;\r\n}\r\n.coreui-table .coreui-table_pointer {\r\n cursor: pointer;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td > .form-switch {\r\n padding-left: 0;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr > td > .form-switch .form-check-input {\r\n margin-left: 0;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td .coreui-table__page_go_container input {\r\n width: 55px;\r\n min-height: 24px;\r\n height: 24px;\r\n font-size: 12px;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td .coreui-table__page_go_container button {\r\n --bs-btn-font-size: .75rem;\r\n line-height: 1.25;\r\n padding: 0.2rem 0.25rem;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td .coreui-table__pages_container button {\r\n --bs-btn-font-size: .75rem;\r\n line-height: 11px;\r\n padding: 0.25rem 0.25rem;\r\n height: 24px;\r\n}\r\n.coreui-table > .coreui-table__container > .coreui-table__wrapper > table > tfoot > tr > td .coreui-table__pages_list_container > select {\r\n background-size: 12px 10px;\r\n line-height: 14px;\r\n font-size: 12px;\r\n width: 75px;\r\n}"]} \ No newline at end of file +{"version":3,"sources":["coreui.table.scss","vars.scss"],"names":[],"mappings":"AAGQ,oEACI,gBAEJ,yFACI,qBAEJ,gFACI,gBAEJ,gKAEI,eAGJ,0EACI,gBACA,MACA,UAEJ,0EACI,gBACA,SACA,UAEJ,8VAII,WACA,kBACA,OACA,WACA,WAIJ,wFACI,MACA,8FAEJ,uFACI,SACA,6FAEJ,+FACI,mDACA,iBChDY,QDkDhB,qLAEI,gBACA,iBCrDY,QDyDhB,wFACI,MACA,8FAEJ,uFACI,SACA,6FAEJ,+FACI,mDAEJ,mLAEI,gBAGJ,gKAEI,kBAEJ,kNAEI,gBACA,OAEJ,oNAEI,gBACA,QAEJ,oHACI,UAEJ,yGACI,+FAEJ,gHACI,WACA,kBACA,QACA,MACA,YACA,UACA,+FAEJ,kHACI,WACA,kBACA,OACA,MACA,YACA,UACA,gGAEJ,uIACI,WACA,kBACA,OACA,MACA,YACA,UACA,+FAKJ,oRAGI,iBAEJ,iRAGI,kBAGJ,yMAEI,iEAEJ,6FACI,eAEJ,+GACI,cAEJ,uHACI,WACA,gBACA,YACA,eAEJ,wHACI,2BACA,iBACA,qBAEJ,sHACI,2BACA,iBACA,sBACA,YAEJ,2HACI,0BACA,iBACA,eACA,WAIR,iCACI,UAEA,uDACI,YAEJ,iDACI,2BACA,4BAIR,oCACI","file":"coreui-table.min.css","sourcesContent":["\r\n.coreui-table {\r\n > .coreui-table__container > .coreui-table__wrapper > {\r\n table {\r\n min-height: 55px;\r\n }\r\n table.table-sm > tbody > tr > td {\r\n padding: 0.2rem 0.25rem;\r\n }\r\n table > thead > tr > td {\r\n font-weight: 600;\r\n }\r\n table > tbody > tr > td,\r\n table > thead > tr > td {\r\n font-size: 14px;\r\n }\r\n\r\n table > thead {\r\n position: sticky;\r\n top: 0;\r\n z-index: 1;\r\n }\r\n table > tfoot {\r\n position: sticky;\r\n bottom: 0;\r\n z-index: 1;\r\n }\r\n table > thead > tr > td::before,\r\n table > thead > tr > td::after,\r\n table > tfoot > tr > td::before,\r\n table > tfoot > tr > td::after {\r\n content: '';\r\n position: absolute;\r\n left: 0;\r\n width: 100%;\r\n height: 1px;\r\n }\r\n\r\n\r\n table > thead > tr > td::before {\r\n top: 0;\r\n box-shadow: 0 -1px 0 var(--bs-secondary-border-subtle), 0 0 0 var(--bs-secondary-border-subtle);\r\n }\r\n table > thead > tr > td::after {\r\n bottom: 0;\r\n box-shadow: 0 1px 0 var(--bs-secondary-border-subtle), 0 0 0 var(--bs-secondary-border-subtle);\r\n }\r\n table.table-bordered > thead > tr > td {\r\n border: 1px solid var(--bs-secondary-border-subtle);\r\n background-color: $coreui-table-bg-head;\r\n }\r\n table > thead > tr:first-child,\r\n table > thead > tr:first-child > td {\r\n border-top: none;\r\n background-color: $coreui-table-bg-head;\r\n }\r\n\r\n\r\n table > tfoot > tr > td::before {\r\n top: 0;\r\n box-shadow: 0 0 0 var(--bs-secondary-border-subtle), 0 -1px 0 var(--bs-secondary-border-subtle);\r\n }\r\n table > tfoot > tr > td::after {\r\n bottom: 0;\r\n box-shadow: 0 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n }\r\n table.table-bordered > tfoot > tr > td {\r\n border: 1px solid var(--bs-secondary-border-subtle);\r\n }\r\n table > tfoot tr:last-child,\r\n table > tfoot tr:last-child > td {\r\n border-bottom: 0;\r\n }\r\n\r\n table > thead > tr > td,\r\n table > tfoot > tr > td {\r\n position: relative;\r\n }\r\n table > thead > tr > td.coreui-table__fixed_left,\r\n table > tbody > tr > td.coreui-table__fixed_left {\r\n position: sticky;\r\n left: 0;\r\n }\r\n table > thead > tr > td.coreui-table__fixed_right,\r\n table > tbody > tr > td.coreui-table__fixed_right {\r\n position: sticky;\r\n right: 0;\r\n }\r\n table > thead > tr:last-child > td.coreui-table__fixed_left {\r\n z-index: 2;\r\n }\r\n table > thead > tr > td.coreui-table__fixed_left {\r\n box-shadow: 1px 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n }\r\n table > tbody > tr > td.coreui-table__fixed_left::after {\r\n content: '';\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n height: 100%;\r\n width: 1px;\r\n box-shadow: 1px 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n }\r\n table > tbody > tr > td.coreui-table__fixed_right::before {\r\n content: '';\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n width: 1px;\r\n box-shadow: -1px 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n }\r\n table:not(.table-bordered) > tbody > tr > td.coreui-table__fixed_right::before {\r\n content: '';\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n height: 100%;\r\n width: 1px;\r\n box-shadow: 1px 0 0 var(--bs-secondary-border-subtle), 0 1px 0 var(--bs-secondary-border-subtle);\r\n }\r\n\r\n\r\n\r\n table > thead > tr > td:first-child,\r\n table > tbody > tr > td:first-child,\r\n table > tfoot > tr > td:first-child {\r\n border-left: none;\r\n }\r\n table > thead > tr > td:last-child,\r\n table > tbody > tr > td:last-child,\r\n table > tfoot > tr > td:last-child {\r\n border-right: none;\r\n }\r\n\r\n table > thead > tr > td,\r\n table > tbody > tr.coreui-table__record:not(.table-primary) > td {\r\n background-color: rgba(var(--bs-white-rgb),var(--bs-bg-opacity));\r\n }\r\n table > tbody > tr > td > .form-switch {\r\n padding-left: 0;\r\n }\r\n table > tbody > tr > td > .form-switch .form-check-input {\r\n margin-left: 0;\r\n }\r\n table > tfoot > tr > td .coreui-table__page_go_container input {\r\n width: 55px;\r\n min-height: 24px;\r\n height: 24px;\r\n font-size: 12px;\r\n }\r\n table > tfoot > tr > td .coreui-table__page_go_container button {\r\n --bs-btn-font-size: .75rem;\r\n line-height: 1.25;\r\n padding: 0.2rem 0.25rem;\r\n }\r\n table > tfoot > tr > td .coreui-table__pages_container button {\r\n --bs-btn-font-size: .75rem;\r\n line-height: 11px;\r\n padding: 0.25rem 0.25rem;\r\n height: 24px;\r\n }\r\n table > tfoot > tr > td .coreui-table__pages_list_container > select {\r\n background-size: 12px 10px;\r\n line-height: 14px;\r\n font-size: 12px;\r\n width: 75px;\r\n }\r\n }\r\n\r\n .coreui-table-lock {\r\n z-index: 2;\r\n\r\n .coreui-table-message {\r\n width: 200px;\r\n }\r\n .spinner-border {\r\n --bs-spinner-width: 1.5rem;\r\n --bs-spinner-height: 1.5rem;\r\n }\r\n }\r\n\r\n .coreui-table_pointer {\r\n cursor: pointer;\r\n }\r\n}\r\n\r\n\r\n\r\n","\r\n$coreui-table-bg-head : #FAFAFA;"]} \ No newline at end of file diff --git a/dist/coreui-table.min.js b/dist/coreui-table.min.js index 40f2f64..b956b10 100644 --- a/dist/coreui-table.min.js +++ b/dist/coreui-table.min.js @@ -1,19 +1,2 @@ -var CoreUI=void 0!==CoreUI?CoreUI:{};CoreUI.table={columns:{},controls:{},filters:{},search:{},lang:{},_instances:{},create:function(t){var e=$.extend(!0,{},this.instance),t=(e._init(t instanceof Object?t:{}),e.getId());return this._instances[t]=e},get:function(t){return this._instances.hasOwnProperty(t)?$("#coreui-table-"+t)[0]?this._instances[t]:(delete this._instances[t],null):null},_mergeAttr:function(t,e){let n=Object.assign({},t);return"object"==typeof e&&$.each(e,function(t,e){n.hasOwnProperty(t)?"class"===t?n[t]+=" "+e:"style"===t?n[t]+=";"+e:n[t]=e:n[t]=e}),n},_isNumeric:function(t){return("number"==typeof t||"string"==typeof t&&""!==t.trim())&&!isNaN(t)},_hashCode:function(){return this._crc32(((new Date).getTime()+Math.random()).toString()).toString(16)},_crc32:function(t){for(var e=[],n=0;n<256;n++){for(var r=n,i=0;i<8;i++)r=1&r?3988292384^r>>>1:r>>>1;e[n]=r}for(var s=-1,o=0;o>>8^e[255&(s^t.charCodeAt(o))];return(-1^s)>>>0}};; -!function(){"use strict";!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).ejs=e()}(function(){return function r(i,o,s){function c(t,e){if(!o[t]){if(!i[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(a)return a(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}n=o[t]={exports:{}},i[t][0].call(n.exports,function(e){return c(i[t][1][e]||e)},n,n.exports,r,i,o,s)}return o[t].exports}for(var a="function"==typeof require&&require,e=0;e> ":" ")+t+"| "+e}).join("\n");throw e.path=i,e.message=(i||"ejs")+":"+r+"\n"+n+"\n\n"+e.message,e}function y(e){return e.replace(/;(\s*$)/,"$1")}function w(e,t){t=t||p.createNullProtoObjWherePossible();var n=p.createNullProtoObjWherePossible();this.templateText=e,this.mode=null,this.truncate=!1,this.currentLine=1,this.source="",n.client=t.client||!1,n.escapeFunction=t.escape||t.escapeFunction||p.escapeXML,n.compileDebug=!1!==t.compileDebug,n.debug=!!t.debug,n.filename=t.filename,n.openDelimiter=t.openDelimiter||a.openDelimiter||"<",n.closeDelimiter=t.closeDelimiter||a.closeDelimiter||">",n.delimiter=t.delimiter||a.delimiter||"%",n.strict=t.strict||!1,n.context=t.context,n.cache=t.cache||!1,n.rmWhitespace=t.rmWhitespace,n.root=t.root,n.includer=t.includer,n.outputFunctionName=t.outputFunctionName,n.localsName=t.localsName||a.localsName||r,n.views=t.views,n.async=t.async,n.destructuredLocals=t.destructuredLocals,n.legacyInclude=void 0===t.legacyInclude||!!t.legacyInclude,n.strict?n._with=!1:n._with=void 0===t._with||t._with,this.opts=n,this.regex=this.createRegex()}a.cache=p.cache,a.fileLoader=o.readFileSync,a.localsName=r,a.promiseImpl=new Function("return this;")().Promise,a.resolveInclude=function(e,t,n){var r=u.dirname,i=u.extname,n=(0,u.resolve)(n?t:r(t),e);return i(e)||(n+=".ejs"),n},a.compile=function(e,t){return t&&t.scope&&(n||(console.warn("`scope` option is deprecated and will be removed in EJS 3"),n=!0),t.context||(t.context=t.scope),delete t.scope),new w(e,t).compile()},a.render=function(e,t,n){t=t||p.createNullProtoObjWherePossible(),n=n||p.createNullProtoObjWherePossible();return 2==arguments.length&&p.shallowCopyFromList(n,t,i),h(n,e)(t)},a.renderFile=function(){var e,t,n,r=Array.prototype.slice.call(arguments),i=r.shift(),o={filename:i},s=("function"==typeof arguments[arguments.length-1]&&(e=r.pop()),r.length?(t=r.shift(),r.length?p.shallowCopy(o,r.pop()):(t.settings&&(t.settings.views&&(o.views=t.settings.views),t.settings["view cache"]&&(o.cache=!0),r=t.settings["view options"])&&p.shallowCopy(o,r),p.shallowCopyFromList(o,t,l)),o.filename=i):t=p.createNullProtoObjWherePossible(),o),c=t,r=e;if(!r){if("function"==typeof a.promiseImpl)return new a.promiseImpl(function(e,t){try{e(n=h(s)(c))}catch(e){t(e)}});throw new Error("Please provide a callback function")}try{n=h(s)(c)}catch(e){return r(e)}r(null,n)},a.Template=w,a.clearCache=function(){a.cache.reset()},w.modes={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"},w.prototype={createRegex:function(){var e="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)",t=p.escapeRegExpChars(this.opts.delimiter),n=p.escapeRegExpChars(this.opts.openDelimiter),r=p.escapeRegExpChars(this.opts.closeDelimiter),e=e.replace(/%/g,t).replace(//g,r);return new RegExp(e)},compile:function(){var e,i=this.opts,t="",n="",o=i.escapeFunction,r=i.filename?JSON.stringify(i.filename):"undefined";if(!this.source){if(this.generateSource(),t+=' var __output = "";\n function __append(s) { if (s !== undefined && s !== null) __output += s }\n',i.outputFunctionName){if(!f.test(i.outputFunctionName))throw new Error("outputFunctionName is not a valid JS identifier.");t+=" var "+i.outputFunctionName+" = __append;\n"}if(i.localsName&&!f.test(i.localsName))throw new Error("localsName is not a valid JS identifier.");if(i.destructuredLocals&&i.destructuredLocals.length){for(var s=" var __locals = ("+i.localsName+" || {}),\n",c=0;c[ \t]*/gm,"_%>");var n=this,r=this.parseTemplateText(),i=this.opts.delimiter,o=this.opts.openDelimiter,s=this.opts.closeDelimiter;r&&r.length&&r.forEach(function(e,t){if(0===e.indexOf(o+i)&&0!==e.indexOf(o+i+i)&&(t=r[t+2])!=i+s&&t!="-"+i+s&&t!="_"+i+s)throw new Error('Could not find matching close tag for "'+e+'".');n.scanLine(e)})},parseTemplateText:function(){for(var e,t=this.templateText,n=this.regex,r=n.exec(t),i=[];r;)0!==(e=r.index)&&(i.push(t.substring(0,e)),t=t.slice(e)),i.push(r[0]),t=t.slice(r[0].length),r=n.exec(t);return t&&i.push(t),i},_addOutput:function(e){if(this.truncate&&(e=e.replace(/^(?:\r\n|\r|\n)/,""),this.truncate=!1),!e)return e;e=(e=(e=(e=e.replace(/\\/g,"\\\\")).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/"/g,'\\"'),this.source+=' ; __append("'+e+'")\n'},scanLine:function(e){var t=this.opts.delimiter,n=this.opts.openDelimiter,r=this.opts.closeDelimiter,i=e.split("\n").length-1;switch(e){case n+t:case n+t+"_":this.mode=w.modes.EVAL;break;case n+t+"=":this.mode=w.modes.ESCAPED;break;case n+t+"-":this.mode=w.modes.RAW;break;case n+t+"#":this.mode=w.modes.COMMENT;break;case n+t+t:this.mode=w.modes.LITERAL,this.source+=' ; __append("'+e.replace(n+t+t,n+t)+'")\n';break;case t+t+r:this.mode=w.modes.LITERAL,this.source+=' ; __append("'+e.replace(t+t+r,t+r)+'")\n';break;case t+r:case"-"+t+r:case"_"+t+r:this.mode==w.modes.LITERAL&&this._addOutput(e),this.mode=null,this.truncate=0===e.indexOf("-")||0===e.indexOf("_");break;default:if(this.mode){switch(this.mode){case w.modes.EVAL:case w.modes.ESCAPED:case w.modes.RAW:e.lastIndexOf("//")>e.lastIndexOf("\n")&&(e+="\n")}switch(this.mode){case w.modes.EVAL:this.source+=" ; "+e+"\n";break;case w.modes.ESCAPED:this.source+=" ; __append(escapeFn("+y(e)+"))\n";break;case w.modes.RAW:this.source+=" ; __append("+y(e)+")\n";break;case w.modes.COMMENT:break;case w.modes.LITERAL:this._addOutput(e)}}else this._addOutput(e)}this.opts.compileDebug&&i&&(this.currentLine+=i,this.source+=" ; __line = "+this.currentLine+"\n")}},a.escapeXML=p.escapeXML,a.__express=a.renderFile,a.VERSION=e,a.name="ejs","undefined"!=typeof window&&(window.ejs=a)},{"../package.json":6,"./utils":2,fs:3,path:4}],2:[function(e,t,n){function o(e,t){return i.apply(e,[t])}var r=/[|\\{}()[\]^$+*?.]/g,i=Object.prototype.hasOwnProperty,s=(n.escapeRegExpChars=function(e){return e?String(e).replace(r,"\\$&"):""},{"&":"&","<":"<",">":">",'"':""","'":"'"}),c=/[&<>'"]/g;function a(e){return s[e]||e}function l(){return Function.prototype.toString.call(this)+';\nvar _ENCODE_HTML_RULES = {\n "&": "&"\n , "<": "<"\n , ">": ">"\n , \'"\': """\n , "\'": "'"\n }\n , _MATCH_HTML = /[&<>\'"]/g;\nfunction encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n};\n'}n.escapeXML=function(e){return null==e?"":String(e).replace(c,a)};try{"function"==typeof Object.defineProperty?Object.defineProperty(n.escapeXML,"toString",{value:l}):n.escapeXML.toString=l}catch(e){console.warn("Unable to set escapeXML.toString (is the Function prototype frozen?)")}n.shallowCopy=function(e,t){if(t=t||{},null!=e)for(var n in t)o(t,n)&&"__proto__"!==n&&"constructor"!==n&&(e[n]=t[n]);return e},n.shallowCopyFromList=function(e,t,n){if(n=n||[],t=t||{},null!=e)for(var r=0;r (http://fleegix.org)",license:"Apache-2.0",bin:{ejs:"./bin/cli.js"},main:"./lib/ejs.js",jsdelivr:"ejs.min.js",unpkg:"ejs.min.js",repository:{type:"git",url:"git://github.com/mde/ejs.git"},bugs:"https://github.com/mde/ejs/issues",homepage:"https://github.com/mde/ejs",dependencies:{jake:"^10.8.5"},devDependencies:{browserify:"^16.5.1",eslint:"^6.8.0","git-directory-deploy":"^1.5.1",jsdoc:"^4.0.2","lru-cache":"^4.0.1",mocha:"^10.2.0","uglify-js":"^3.3.16"},engines:{node:">=0.10.0"},scripts:{test:"mocha -u tdd"}}},{}]},{},[1])(1)}),CoreUI.table.ejs=ejs}();; -CoreUI.table.instance={_options:{id:null,class:"",primaryKey:"id",lang:"ru",size:"sm",striped:!0,hover:!0,width:null,minWidth:null,maxWidth:null,height:null,minHeight:null,naxHeight:null,page:1,recordsPerPage:25,recordsPerPageList:[25,50,100,1e3],pageParam:"page",recordsPerPageParam:"count",method:"GET",url:null,show:{total:!1,columnHeaders:!0,pages:!1,pagesJump:!1,prePageList:!1},onClick:null,onClickUrl:null,controls:[],columnGroups:[],columns:[],footer:[],records:[]},_page:1,_recordsPerPage:25,_recordsTotal:0,_recordsNumber:1,_columns:[],_search:[],_filter:[],_events:{},_init:function(e){this._options=$.extend(!0,{},this._options,e),this._events={},this._options.id||(this._options.id=CoreUI.table._hashCode()),0 .coreui-table__container > .coreui-table__wrapper";this.on("show-records.coreui.table",function(){"string"==typeof r._options.onClickUrl&&r._options.onClickUrl&&$(o+" > table > tbody > tr.coreui-table__record").click(function(){var e=$(this).data("record-key"),e=r._getRecordByKey(e);if(e){let o=r._options.onClickUrl;$.each(e,function(e,t){e=e.replace(/([^\w\d])/g,"\\$1");o=o.replace(new RegExp("\\["+e+"\\]","g"),t)}),o&&"#"!==o&&(location.href=o)}}),"function"==typeof r._options.onClick&&$(o+" > table > tbody > tr.coreui-table__record").click(function(e){var t=$(this).data("record-key"),t=r._getRecordByKey(t);t&&r._options.onClick(e,t)});let t=0;$(o+" > table > thead > tr:last-child > td.coreui-table__fixed_left").each(function(){var e=$(this).index()+1;1!==e&&($(o+" > table > thead > tr:last-child > td:nth-child("+e+")").css("left",t+"px"),$(o+" > table > tbody > tr > td:nth-child("+e+")").css("left",t+"px")),t+=$(this).outerWidth()}),t=0,$($(o+" > table > thead > tr:last-child > td.coreui-table__fixed_right").get().reverse()).each(function(){var e=$(this).index()+1;1!==e&&($(o+" > table > thead > tr:last-child > td:nth-child("+e+")").css("right",t+"px"),$(o+" > table > tbody > tr > td:nth-child("+e+")").css("right",t+"px")),t+=$(this).outerWidth()})});var e=$(o+" > table > tfoot > tr > td .coreui-table__page_prev"),e=(e[0]&&e.click(function(){1 table > tfoot > tr > td .coreui-table__page_next"));e[0]&&e.click(function(){r.nextPage()});let t=$(o+" > table > tfoot > tr > td .coreui-table__page_go_container input");e=$(o+" > table > tfoot > tr > td .coreui-table__page_go");e[0]&&(e.click(function(){r.goPage(t.val())}),t.keyup(function(e){}));let i=$(o+" > table > tfoot > tr > td .coreui-table__pages_list_container select");i[0]&&i.change(function(){r._page=1,r._recordsPerPage=i.val(),r.reload()}),this._trigger("shown.coreui.table"),(!this._options.url||"#"===this._options.url)&&"object"==typeof this._options.records&&Array.isArray(this._options.records)&&0 .coreui-table__container");t[0]&&!t.find(".coreui-table-lock")[0]&&(e=CoreUI.table.ejs.render(CoreUI.table.tpl["table-loader.html"],{lang:this._getLang()}),t.prepend(e))},unlock:function(){$("#coreui-table-"+this._options.id+" > .coreui-table__container > .coreui-table-lock").hide(50,function(){$(this).remove()})},load:function(e,t){this.lock();let r=this;var o={};e.match(/\[page\]/)?e=e.replace(/\[page\]/,this._page):o[this._options.pageParam]=this._page,e.match(/\[per_page\]/)?e=e.replace(/\[per_page\]/,this._recordsPerPage):o[this._options.recordsPerPageParam]=this._recordsPerPage,0 .coreui-table__container > .coreui-table__wrapper > table";$(e+" > thead > tr > td > .coreui-table__select-all").prop("checked",!0),$(e+" > tbody > tr.coreui-table__record").addClass("table-primary"),$(e+" > tbody > tr.coreui-table__record > td > .coreui-table__select").prop("checked",!0),this._trigger("select-all.coreui.table",this)},unselectAll:function(){var e="#coreui-table-"+this._options.id+" > .coreui-table__container > .coreui-table__wrapper > table";$(e+" > thead > tr > td > .coreui-table__select-all").prop("checked",!1),$(e+" > tbody > tr.coreui-table__record").removeClass("table-primary"),$(e+" > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select").prop("checked",!1),this._trigger("unselect-all.coreui.table",this)},selectRecord:function(e){var t,e=this._getRecordByPrimaryKey(e);e&&(t=this._getRowByKey(e.key))&&($(t).addClass("table-primary"),$(".coreui-table__select",t).prop("checked",!0),this._trigger("select.coreui.table",this,[e.record]))},unselectRecord:function(e){var t,e=this._getRecordByPrimaryKey(e);e&&(t=this._getRowByKey(e.key))&&($(t).removeClass("table-primary"),$(".coreui-table__select",t).prop("checked",!1),this._trigger("unselect.coreui.table",this,[e.record]))},getSelected:function(){let o=[],r=this,i=this._options.primaryKey;return $("#coreui-table-"+this._options.id+" > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select:checked").each(function(e,t){t=r._getRecordByKey($(t).val());t&&t.hasOwnProperty(i)&&o.push(t[i])}),o},getSelectedRecords:function(){let o=[],r=this;return $("#coreui-table-"+this._options.id+" > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select:checked").each(function(e,t){t=r._getRecordByKey($(t).val());t&&o.push(t)}),o},getRecord:function(e){e=this._getRecordByPrimaryKey(e);return e?e.record:null},getRecords:function(){return this._options.records},prevPage:function(){1 .coreui-table__container > .coreui-table__wrapper > table > tbody > tr[data-record-key="'+e+'"]')},_viewRecords:function(e,t){this._recordsTotal=CoreUI.table._isNumeric(t)?parseInt(t):e.length;let r=this,i="";t=0 .coreui-table__container > .coreui-table__wrapper > table";$(e+" > tfoot > tr > td .coreui-table__page_current").text(this._page),$(e+" > tfoot > tr > td .coreui-table__pages_total").text(t),$(e+" > tfoot > tr > td .coreui-table__page_prev").attr("disabled",this._page<=1),$(e+" > tfoot > tr > td .coreui-table__page_next").attr("disabled",this._page>=t),$(e+" > tbody").html(i),$("#coreui-table-"+this._options.id+" .coreui-table__count-total").text(this._recordsTotal),this._trigger("show-records.coreui.table",this,[this])},_renderRecord:function(o,r){let i=this,s=[];var e="object"!=typeof o.coreui||Array.isArray(o.coreui)?null:o.coreui;let t={class:"coreui-table__record"},n=($.each(this._columns,function(e,t){s.push(i._renderField(t,o,r))}),"string"==typeof this._options.onClickUrl&&this._options.onClickUrl&&(t.class+=" coreui-table_pointer"),e&&(t=CoreUI.table._mergeAttr(t,e.attr)),[]);return $.each(t,function(e,t){n.push(e+'="'+t+'"')}),{attr:0\n <% $.each(columns, function(key, column) { %>\n ><%- column.label %>\n <% }); %>\n',window.CoreUI.table.tpl["table-columns.html"]='\n <% $.each(columns, function(key, column) { %>\n ><%- column.label %>\n <% }); %>\n',window.CoreUI.table.tpl["table-loader.html"]='
\n
\n
\n
\n <%= lang.loading %>\n
\n
',window.CoreUI.table.tpl["table-pages.html"]='\n \n
\n <% if (table.show.pagesJump) { %>\n
\n
\n \n \n
\n
\n <% } %>\n\n <% if (table.show.pages) { %>\n
\n \n\n \n <%= currentPage %>\n <%= lang.of %>\n <%= pagesTotal %>\n \n\n \n
\n <% } %>\n\n <% if (table.show.prePageList) { %>\n
\n \n
\n <% } %>\n
\n \n',window.CoreUI.table.tpl["table-records-empty.html"]='\n <%= lang.emptyRecords %>\n',window.CoreUI.table.tpl["table-records.html"]='<% $.each(records, function(key, record) { %>\n data-record-key="<%= key %>">\n <% $.each(record.fields, function(key2, field) { %>\n ><%- field.content %>\n <% }); %>\n \n<% }); %>',window.CoreUI.table.tpl["table.html"]='\n
\n <% if (widthSizes) { %>style="<%= widthSizes.join(\';\') %>"<% } %>>\n <% if (render.controls.length > 0) { %>\n
\n <% $.each(render.controls, function(key, control) { %>\n
\n <%- control.content %>\n
\n <% }); %>\n
\n <% } %>\n\n\n
\n <% if (table.show.total) { %>\n
\n <%= lang.total %>: <%= recordsTotal %>\n
\n <% } %>\n\n
style="<%= heightSizes.join(\';\') %>"<% } %>>\n \n \n <% $.each(render.columnGroups, function(key, columnGroup) { %>\n style="width: <%= (columnGroup.width.toString() + columnGroup.unit) %>"<% } %>>\n <% }); %>\n \n <% if (table.show.columnHeaders) { %>\n \n <%- render.columnsHeader %>\n <%- render.columns %>\n \n <% } %>\n \n <%- render.records %>\n \n'+" <% if (render.footer != '' || render.pages != '') { %>\n \n <%- render.footer %>\n <%- render.pages %>\n \n <% } %>\n
\n
\n
\n
",window.CoreUI.table.tpl["controls/button.html"]='',window.CoreUI.table.tpl["controls/link.html"]='><%- control.content %>';; -var coreuiTableUtils={eval:function(code){!function(){eval(code)}()}};; -CoreUI.table.columns.date={_table:null,_options:{type:"date",field:null,label:null,width:null,format:"DD.MM.YYYY",attr:{},attrHeader:{},render:null},init:function(t,e){this._table=t,this._options=$.extend({},this._options,e)},getOptions:function(){return this._options},render:function(e,t,n){if("string"!=typeof e)return"";try{var r=new Date(e);e=this._options.format.replace(/YYYY/g,this._strPadLeft(r.getFullYear(),4)).replace(/MM/g,this._strPadLeft(r.getMonth()+1,2)).replace(/M/g,r.getMonth()+1).replace(/DD/g,this._strPadLeft(r.getDate(),2)).replace(/D/g,r.getDate())}catch(t){e=""}return e},_strPadLeft:function(t,e,n){return(t=String(t)).length>=e?t:((n=n||"0").repeat(e)+t).slice(-e)}};; -CoreUI.table.columns.datetime={_table:null,_options:{type:"datetime",field:null,label:null,width:null,format:"DD.MM.YYYY hh:mm:ss",attr:{},attrHeader:{},render:null},init:function(t,e){this._table=t,this._options=$.extend({},this._options,e)},getOptions:function(){return this._options},render:function(e,t,r){if("string"!=typeof e)return"";try{var n=new Date(e);e=this._options.format.replace(/YYYY/g,this._strPadLeft(n.getFullYear(),4)).replace(/MM/g,this._strPadLeft(n.getMonth()+1,2)).replace(/M/g,n.getMonth()+1).replace(/DD/g,this._strPadLeft(n.getDate(),2)).replace(/D/g,n.getDate()).replace(/hh/g,this._strPadLeft(n.getHours(),2)).replace(/mm/g,this._strPadLeft(n.getMinutes(),2)).replace(/m/g,n.getMinutes()).replace(/ss/g,this._strPadLeft(n.getSeconds(),2)).replace(/s/g,n.getSeconds())}catch(t){e=""}return e},_strPadLeft:function(t,e,r){return(t=String(t)).length>=e?t:((r=r||"0").repeat(e)+t).slice(-e)}};; -CoreUI.table.columns.html={_table:null,_options:{type:"html",field:null,label:null,width:null,attr:{},attrHeader:{},render:null},init:function(t,n){this._table=t,this._options=$.extend({},this._options,n)},getOptions:function(){return this._options},render:function(t,n,e){return["string","bigint","symbol","number"].indexOf(typeof t)<0?"":String(t)}};; -CoreUI.table.columns.number={_table:null,_options:{type:"number",field:null,label:null,width:null,attr:{},attrHeader:{},render:null},init:function(e,n){this._table=e,this._options=$.extend({},this._options,n)},getOptions:function(){return this._options},render:function(e,n,t){return["string","bigint","symbol","number"].indexOf(typeof e)<0?"":(e=String(e).replace(/,/g,".").replace(/[^0-9\-\.]/g,"").replace(/[\s]{2,}/g," ")).replace(/(?';let t="#coreui-table-"+a._options.id+" > .coreui-table__container > .coreui-table__wrapper",r=t+" > table > tbody > tr.coreui-table__record > td.coreui-table__select_container";this._table.on("show-records.coreui.table",function(){$(r).click(function(e){e.stopPropagation()}),$(r+" > .coreui-table__select").click(function(e){var t=$(this).val(),r=a._getRecordByKey(t),t=a._getRowByKey(t);r&&t&&($(this).is(":checked")?($(t).addClass("table-primary"),a._trigger("select.coreui.table",a,[r])):($(t).removeClass("table-primary"),a._trigger("unselect.coreui.table",a,[r])))}),$(t+" > table > thead > tr > td > .coreui-table__select-all").click(function(e){$(this).is(":checked")?a.selectAll():a.unselectAll()})})},getOptions:function(){return this._options},render:function(e,t,r){return''}};; -CoreUI.table.columns.switch={_table:null,_options:{type:"switch",label:"",field:"",width:5,valueY:"Y",valueN:"N",attr:{class:"coreui-table__switch_container"},attrHeader:{},onChange:null},init:function(i,t){this._table=i,this._options=$.extend(!0,{},this._options,t);let n=this,e="#coreui-table-"+i._options.id+" > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__switch_container";this._table.on("show-records.coreui.table",function(){$(e).click(function(t){t.stopPropagation()}),!n._options.hasOwnProperty("onChange")||"function"!=typeof n._options.onChange&&"string"!=typeof n._options.onChange||$(e+' .coreui-table__switch[data-field="'+n._options.field+'"]').change(function(t){var e=$(this).val(),o=$(this).is(":checked"),e=i._getRecordByKey(e);if("function"==typeof n._options.onChange)n._options.onChange(e,o,this);else if("string"==typeof n._options.onChange){let t="";e.hasOwnProperty(i._options.primaryKey)&&(t=e[i._options.primaryKey]),new Function("record","checked","id",n._options.onChange)(e,this,t)}return!1})})},getOptions:function(){return this._options},render:function(t,e,o){return'
'}};; -CoreUI.table.columns.text={_table:null,_options:{type:"text",field:null,label:null,width:null,attr:null,attrHeader:null,render:null},init:function(t,n){this._table=t,this._options=$.extend({},this._options,n)},getOptions:function(){return this._options},render:function(t,n,e){return["string","bigint","symbol","number"].indexOf(typeof t)<0?"":String(t).replace(//g,">")}};; -CoreUI.table.controls.button={_table:null,_options:{id:null,type:"button",href:null,content:null,onClick:null,attr:null},_render:{attr:""},init:function(t,o){this._options=$.extend({},this._options,o),this._table=t,this._options.id||(this._options.id=CoreUI.table._hashCode())},initEvents:function(){let o=this;"function"!=typeof this._options.onClick&&"string"!=typeof this._options.onClick||$("#coreui-table-"+this._table._options.id+" #coreui-table-control-"+this._options.id+" > button").click(function(t){"function"==typeof o._options.onClick?o._options.onClick(t,o._table):"string"==typeof o._options.onClick&&coreuiTableUtils.eval(o._options.onClick)})},getId:function(){return this._options.id},render:function(){if("object"==typeof this._options.attr){let n=[];$.each(this._options.attr,function(t,o){n.push(t+'="'+o+'"')}),this._render.attr=" "+n.join(" ")}return CoreUI.table.ejs.render(CoreUI.table.tpl["controls/button.html"],{control:this._options,render:this._render})}};; -CoreUI.table.controls.custom={_table:null,_options:{id:null,type:"custom",content:null},init:function(t,n){this._options=$.extend({},this._options,n),this._table=t,this._options.id||(this._options.id=CoreUI.table._hashCode())},initEvents:function(){},getId:function(){return this._options.id},render:function(){return this._options.content}};; -CoreUI.table.controls.link={_table:null,_options:{id:null,type:"link",href:null,content:null,attr:null},_render:{attr:""},init:function(t,n){this._options=$.extend({},this._options,n),this._table=t,this._options.id||(this._options.id=CoreUI.table._hashCode())},initEvents:function(){},getId:function(){return this._options.id},render:function(){if("object"==typeof this._options.attr){let i=[];$.each(this._options.attr,function(t,n){i.push(t+'="'+n+'"')}),this._render.attr=" "+i.join(" ")}return CoreUI.table.ejs.render(CoreUI.table.tpl["controls/link.html"],{control:this._options,render:this._render})}};; -CoreUI.table.lang.ru={emptyRecords:"No records",loading:"Loading...",total:"Total",of:"of",all:"All"};; -CoreUI.table.lang.ru={emptyRecords:"Нет записей",loading:"Загрузка...",total:"Всего",of:"из",all:"Все"}; +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e.CoreUI=e.CoreUI||{},e.CoreUI.table=t())}(this,function(){"use strict";function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).ejs=e()}(function(){return function o(n,i,s){function a(t,e){if(!i[t]){if(!n[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(c)return c(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=i[t]={exports:{}},n[t][0].call(r.exports,function(e){return a(n[t][1][e]||e)},r,r.exports,o,n,i,s)}return i[t].exports}for(var c="function"==typeof require&&require,e=0;e> ":" ")+t+"| "+e}).join("\n");throw e.path=n,e.message=(n||"ejs")+":"+o+"\n"+r+"\n\n"+e.message,e}function b(e){return e.replace(/;(\s*$)/,"$1")}function m(e,t){t=t||h.createNullProtoObjWherePossible();var r=h.createNullProtoObjWherePossible();this.templateText=e,this.mode=null,this.truncate=!1,this.currentLine=1,this.source="",r.client=t.client||!1,r.escapeFunction=t.escape||t.escapeFunction||h.escapeXML,r.compileDebug=!1!==t.compileDebug,r.debug=!!t.debug,r.filename=t.filename,r.openDelimiter=t.openDelimiter||c.openDelimiter||"<",r.closeDelimiter=t.closeDelimiter||c.closeDelimiter||">",r.delimiter=t.delimiter||c.delimiter||"%",r.strict=t.strict||!1,r.context=t.context,r.cache=t.cache||!1,r.rmWhitespace=t.rmWhitespace,r.root=t.root,r.includer=t.includer,r.outputFunctionName=t.outputFunctionName,r.localsName=t.localsName||c.localsName||"locals",r.views=t.views,r.async=t.async,r.destructuredLocals=t.destructuredLocals,r.legacyInclude=void 0===t.legacyInclude||!!t.legacyInclude,r.strict?r._with=!1:r._with=void 0===t._with||t._with,this.opts=r,this.regex=this.createRegex()}c.cache=h.cache,c.fileLoader=i.readFileSync,c.localsName="locals",c.promiseImpl=new Function("return this;")().Promise,c.resolveInclude=function(e,t,r){var o=u.dirname,n=u.extname,r=(0,u.resolve)(r?t:o(t),e);return n(e)||(r+=".ejs"),r},c.compile=function(e,t){return t&&t.scope&&(r||(console.warn("`scope` option is deprecated and will be removed in EJS 3"),r=!0),t.context||(t.context=t.scope),delete t.scope),new m(e,t).compile()},c.render=function(e,t,r){t=t||h.createNullProtoObjWherePossible(),r=r||h.createNullProtoObjWherePossible();return 2==arguments.length&&h.shallowCopyFromList(r,t,o),d(r,e)(t)},c.renderFile=function(){var e,t,r,o=Array.prototype.slice.call(arguments),n=o.shift(),i={filename:n},s=("function"==typeof arguments[arguments.length-1]&&(e=o.pop()),o.length?(t=o.shift(),o.length?h.shallowCopy(i,o.pop()):(t.settings&&(t.settings.views&&(i.views=t.settings.views),t.settings["view cache"]&&(i.cache=!0),o=t.settings["view options"])&&h.shallowCopy(i,o),h.shallowCopyFromList(i,t,l)),i.filename=n):t=h.createNullProtoObjWherePossible(),i),a=t,o=e;if(!o){if("function"==typeof c.promiseImpl)return new c.promiseImpl(function(e,t){try{e(r=d(s)(a))}catch(e){t(e)}});throw new Error("Please provide a callback function")}try{r=d(s)(a)}catch(e){return o(e)}o(null,r)},c.Template=m,c.clearCache=function(){c.cache.reset()},m.modes={EVAL:"eval",ESCAPED:"escaped",RAW:"raw",COMMENT:"comment",LITERAL:"literal"},m.prototype={createRegex:function(){var e="(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)",t=h.escapeRegExpChars(this.opts.delimiter),r=h.escapeRegExpChars(this.opts.openDelimiter),o=h.escapeRegExpChars(this.opts.closeDelimiter),e=e.replace(/%/g,t).replace(//g,o);return new RegExp(e)},compile:function(){var e,n=this.opts,t="",r="",i=n.escapeFunction,o=n.filename?JSON.stringify(n.filename):"undefined";if(!this.source){if(this.generateSource(),t+=' var __output = "";\n function __append(s) { if (s !== undefined && s !== null) __output += s }\n',n.outputFunctionName){if(!p.test(n.outputFunctionName))throw new Error("outputFunctionName is not a valid JS identifier.");t+=" var "+n.outputFunctionName+" = __append;\n"}if(n.localsName&&!p.test(n.localsName))throw new Error("localsName is not a valid JS identifier.");if(n.destructuredLocals&&n.destructuredLocals.length){for(var s=" var __locals = ("+n.localsName+" || {}),\n",a=0;a[ \t]*/gm,"_%>");var r=this,o=this.parseTemplateText(),n=this.opts.delimiter,i=this.opts.openDelimiter,s=this.opts.closeDelimiter;o&&o.length&&o.forEach(function(e,t){if(0===e.indexOf(i+n)&&0!==e.indexOf(i+n+n)&&(t=o[t+2])!=n+s&&t!="-"+n+s&&t!="_"+n+s)throw new Error('Could not find matching close tag for "'+e+'".');r.scanLine(e)})},parseTemplateText:function(){for(var e,t=this.templateText,r=this.regex,o=r.exec(t),n=[];o;)0!==(e=o.index)&&(n.push(t.substring(0,e)),t=t.slice(e)),n.push(o[0]),t=t.slice(o[0].length),o=r.exec(t);return t&&n.push(t),n},_addOutput:function(e){if(this.truncate&&(e=e.replace(/^(?:\r\n|\r|\n)/,""),this.truncate=!1),!e)return e;e=(e=(e=(e=e.replace(/\\/g,"\\\\")).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/"/g,'\\"'),this.source+=' ; __append("'+e+'")\n'},scanLine:function(e){var t=this.opts.delimiter,r=this.opts.openDelimiter,o=this.opts.closeDelimiter,n=e.split("\n").length-1;switch(e){case r+t:case r+t+"_":this.mode=m.modes.EVAL;break;case r+t+"=":this.mode=m.modes.ESCAPED;break;case r+t+"-":this.mode=m.modes.RAW;break;case r+t+"#":this.mode=m.modes.COMMENT;break;case r+t+t:this.mode=m.modes.LITERAL,this.source+=' ; __append("'+e.replace(r+t+t,r+t)+'")\n';break;case t+t+o:this.mode=m.modes.LITERAL,this.source+=' ; __append("'+e.replace(t+t+o,t+o)+'")\n';break;case t+o:case"-"+t+o:case"_"+t+o:this.mode==m.modes.LITERAL&&this._addOutput(e),this.mode=null,this.truncate=0===e.indexOf("-")||0===e.indexOf("_");break;default:if(this.mode){switch(this.mode){case m.modes.EVAL:case m.modes.ESCAPED:case m.modes.RAW:e.lastIndexOf("//")>e.lastIndexOf("\n")&&(e+="\n")}switch(this.mode){case m.modes.EVAL:this.source+=" ; "+e+"\n";break;case m.modes.ESCAPED:this.source+=" ; __append(escapeFn("+b(e)+"))\n";break;case m.modes.RAW:this.source+=" ; __append("+b(e)+")\n";break;case m.modes.COMMENT:break;case m.modes.LITERAL:this._addOutput(e)}}else this._addOutput(e)}this.opts.compileDebug&&n&&(this.currentLine+=n,this.source+=" ; __line = "+this.currentLine+"\n")}},c.escapeXML=h.escapeXML,c.__express=c.renderFile,c.VERSION=e,c.name="ejs","undefined"!=typeof window&&(window.ejs=c)},{"../package.json":6,"./utils":2,fs:3,path:4}],2:[function(e,t,r){function i(e,t){return n.apply(e,[t])}var o=/[|\\{}()[\]^$+*?.]/g,n=Object.prototype.hasOwnProperty,s=(r.escapeRegExpChars=function(e){return e?String(e).replace(o,"\\$&"):""},{"&":"&","<":"<",">":">",'"':""","'":"'"}),a=/[&<>'"]/g;function c(e){return s[e]||e}function l(){return Function.prototype.toString.call(this)+';\nvar _ENCODE_HTML_RULES = {\n "&": "&"\n , "<": "<"\n , ">": ">"\n , \'"\': """\n , "\'": "'"\n }\n , _MATCH_HTML = /[&<>\'"]/g;\nfunction encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n};\n'}r.escapeXML=function(e){return null==e?"":String(e).replace(a,c)};try{"function"==typeof Object.defineProperty?Object.defineProperty(r.escapeXML,"toString",{value:l}):r.escapeXML.toString=l}catch(e){console.warn("Unable to set escapeXML.toString (is the Function prototype frozen?)")}r.shallowCopy=function(e,t){if(t=t||{},null!=e)for(var r in t)i(t,r)&&"__proto__"!==r&&"constructor"!==r&&(e[r]=t[r]);return e},r.shallowCopyFromList=function(e,t,r){if(r=r||[],t=t||{},null!=e)for(var o=0;o (http://fleegix.org)",license:"Apache-2.0",bin:{ejs:"./bin/cli.js"},main:"./lib/ejs.js",jsdelivr:"ejs.min.js",unpkg:"ejs.min.js",repository:{type:"git",url:"git://github.com/mde/ejs.git"},bugs:"https://github.com/mde/ejs/issues",homepage:"https://github.com/mde/ejs",dependencies:{jake:"^10.8.5"},devDependencies:{browserify:"^16.5.1",eslint:"^6.8.0","git-directory-deploy":"^1.5.1",jsdoc:"^4.0.2","lru-cache":"^4.0.1",mocha:"^10.2.0","uglify-js":"^3.3.16"},engines:{node:">=0.10.0"},scripts:{test:"mocha -u tdd"}}},{}]},{},[1])(1)});var u={mergeAttr:function(e,t){var r=Object.assign({},e);return"object"===l(t)&&$.each(t,function(e,t){r.hasOwnProperty(e)?"class"===e?r[e]+=" "+t:"style"===e?r[e]+=";"+t:r[e]=t:r[e]=t}),r},isNumeric:function(e){return("number"==typeof e||"string"==typeof e&&""!==e.trim())&&!isNaN(e)},hashCode:function(){return this.crc32(((new Date).getTime()+Math.random()).toString()).toString(16)},crc32:function(e){for(var t=[],r=0;r<256;r++){for(var o=r,n=0;n<8;n++)o=1&o?3988292384^o>>>1:o>>>1;t[r]=o}for(var i=-1,s=0;s>>8^t[255&(i^e.charCodeAt(s))];return(-1^i)>>>0}},h=Object.create(null),r=(h["table-columns-footer.html"]=' <% $.each(columns, function(key, column) { %> ><%- column.label %> <% }); %> ',h["table-columns.html"]=' <% $.each(columns, function(key, column) { %> ><%- column.label %> <% }); %> ',h["table-loader.html"]='
<%= lang.loading %>
',h["table-pages.html"]='
<% if (table.show.pagesJump) { %>
<% } %> <% if (table.show.pages) { %>
<%= currentPage %> <%= lang.of %> <%= pagesTotal %>
<% } %> <% if (table.show.prePageList) { %>
<% } %>
',h["table-records-empty.html"]=' <%= lang.emptyRecords %> ',h["table-records.html"]='<% $.each(records, function(key, record) { %> data-record-key="<%= key %>"> <% $.each(record.fields, function(key2, field) { %> ><%- field.content %> <% }); %> <% }); %>',h["table.html"]='
<% if (widthSizes) { %>style="<%= widthSizes.join(\';\') %>"<% } %>> <% if (render.controls.length > 0) { %>
<% $.each(render.controls, function(key, control) { %>
<%- control.content %>
<% }); %>
<% } %>
<% if (table.show.total) { %>
<%= lang.total %>: <%= recordsTotal %>
<% } %>
style="<%= heightSizes.join(\';\') %>"<% } %>> <% $.each(render.columnGroups, function(key, columnGroup) { %> style="width: <%= (columnGroup.width.toString() + columnGroup.unit) %>"<% } %>/> <% }); %> <% if (table.show.columnHeaders) { %> <%- render.columnsHeader %> <%- render.columns %> <% } %> <%- render.records %> <% if (render.footer != \'\' || render.pages != \'\') { %> <%- render.footer %> <%- render.pages %> <% } %>
',h["controls/button.html"]='',{_options:{id:null,class:"",primaryKey:"id",lang:"ru",size:"sm",striped:!0,hover:!0,width:null,minWidth:null,maxWidth:null,height:null,minHeight:null,naxHeight:null,page:1,recordsPerPage:25,recordsPerPageList:[25,50,100,1e3],pageParam:"page",recordsPerPageParam:"count",method:"GET",url:null,show:{total:!(h["controls/link.html"]='><%- control.content %>'),columnHeaders:!0,pages:!1,pagesJump:!1,prePageList:!1},onClick:null,onClickUrl:null,controls:[],columnGroups:[],columns:[],footer:[],records:[]},_page:1,_recordsPerPage:25,_recordsTotal:0,_recordsNumber:1,_columns:[],_search:[],_filter:[],_events:{},_init:function(e){this._options=$.extend(!0,{},this._options,e),this._events={},this._options.id||(this._options.id=u.hashCode()),0 .coreui-table__container > .coreui-table__wrapper",e=(this.on("show-records.coreui.table",function(){"string"==typeof o._options.onClickUrl&&o._options.onClickUrl&&$(r+" > table > tbody > tr.coreui-table__record").click(function(){var r,e=$(this).data("record-key"),e=o._getRecordByKey(e);e&&(r=o._options.onClickUrl,$.each(e,function(e,t){e=e.replace(/([^\w\d])/g,"\\$1");r=r.replace(new RegExp("\\["+e+"\\]","g"),t)}),r)&&"#"!==r&&(location.href=r)}),"function"==typeof o._options.onClick&&$(r+" > table > tbody > tr.coreui-table__record").click(function(e){var t=$(this).data("record-key"),t=o._getRecordByKey(t);t&&o._options.onClick(e,t)});var t=0;$(r+" > table > thead > tr:last-child > td.coreui-table__fixed_left").each(function(){var e=$(this).index()+1;1!==e&&($(r+" > table > thead > tr:last-child > td:nth-child("+e+")").css("left",t+"px"),$(r+" > table > tbody > tr > td:nth-child("+e+")").css("left",t+"px")),t+=$(this).outerWidth()}),t=0,$($(r+" > table > thead > tr:last-child > td.coreui-table__fixed_right").get().reverse()).each(function(){var e=$(this).index()+1;1!==e&&($(r+" > table > thead > tr:last-child > td:nth-child("+e+")").css("right",t+"px"),$(r+" > table > tbody > tr > td:nth-child("+e+")").css("right",t+"px")),t+=$(this).outerWidth()})}),$(r+" > table > tfoot > tr > td .coreui-table__page_prev")),e=(e[0]&&e.click(function(){1 table > tfoot > tr > td .coreui-table__page_next")),t=(e[0]&&e.click(function(){o.nextPage()}),$(r+" > table > tfoot > tr > td .coreui-table__page_go_container input")),e=$(r+" > table > tfoot > tr > td .coreui-table__page_go"),n=(e[0]&&(e.click(function(){o.goPage(t.val())}),t.keyup(function(e){})),$(r+" > table > tfoot > tr > td .coreui-table__pages_list_container select"));n[0]&&n.change(function(){o._page=1,o._recordsPerPage=n.val(),o.reload()}),this._trigger("shown.coreui.table"),(!this._options.url||"#"===this._options.url)&&"object"===l(this._options.records)&&Array.isArray(this._options.records)&&0 .coreui-table__container");t[0]&&!t.find(".coreui-table-lock")[0]&&(e=ejs.render(h["table-loader.html"],{lang:this._getLang()}),t.prepend(e))},unlock:function(){$("#coreui-table-"+this._options.id+" > .coreui-table__container > .coreui-table-lock").hide(50,function(){$(this).remove()})},load:function(e,t){this.lock();var o=this,r={};e.match(/\[page\]/)?e=e.replace(/\[page\]/,this._page):r[this._options.pageParam]=this._page,e.match(/\[per_page\]/)?e=e.replace(/\[per_page\]/,this._recordsPerPage):r[this._options.recordsPerPageParam]=this._recordsPerPage,0 .coreui-table__container > .coreui-table__wrapper > table";$(e+" > thead > tr > td > .coreui-table__select-all").prop("checked",!0),$(e+" > tbody > tr.coreui-table__record").addClass("table-primary"),$(e+" > tbody > tr.coreui-table__record > td > .coreui-table__select").prop("checked",!0),this._trigger("select-all.coreui.table",this)},unselectAll:function(){var e="#coreui-table-"+this._options.id+" > .coreui-table__container > .coreui-table__wrapper > table";$(e+" > thead > tr > td > .coreui-table__select-all").prop("checked",!1),$(e+" > tbody > tr.coreui-table__record").removeClass("table-primary"),$(e+" > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select").prop("checked",!1),this._trigger("unselect-all.coreui.table",this)},selectRecord:function(e){var t,e=this._getRecordByPrimaryKey(e);e&&(t=this._getRowByKey(e.key))&&($(t).addClass("table-primary"),$(".coreui-table__select",t).prop("checked",!0),this._trigger("select.coreui.table",this,[e.record]))},unselectRecord:function(e){var t,e=this._getRecordByPrimaryKey(e);e&&(t=this._getRowByKey(e.key))&&($(t).removeClass("table-primary"),$(".coreui-table__select",t).prop("checked",!1),this._trigger("unselect.coreui.table",this,[e.record]))},getSelected:function(){var r=[],o=this,n=this._options.primaryKey;return $("#coreui-table-"+this._options.id+" > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select:checked").each(function(e,t){t=o._getRecordByKey($(t).val());t&&t.hasOwnProperty(n)&&r.push(t[n])}),r},getSelectedRecords:function(){var r=[],o=this;return $("#coreui-table-"+this._options.id+" > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select:checked").each(function(e,t){t=o._getRecordByKey($(t).val());t&&r.push(t)}),r},getRecord:function(e){e=this._getRecordByPrimaryKey(e);return e?e.record:null},getRecords:function(){return this._options.records},prevPage:function(){1 .coreui-table__container > .coreui-table__wrapper > table > tbody > tr[data-record-key="'+e+'"]')},_viewRecords:function(e,t){this._recordsTotal=u.isNumeric(t)?parseInt(t):e.length;var r,o=this,t="",n=0 .coreui-table__container > .coreui-table__wrapper > table");$(e+" > tfoot > tr > td .coreui-table__page_current").text(this._page),$(e+" > tfoot > tr > td .coreui-table__pages_total").text(n),$(e+" > tfoot > tr > td .coreui-table__page_prev").attr("disabled",this._page<=1),$(e+" > tfoot > tr > td .coreui-table__page_next").attr("disabled",this._page>=n),$(e+" > tbody").html(t),$("#coreui-table-"+this._options.id+" .coreui-table__count-total").text(this._recordsTotal),this._trigger("show-records.coreui.table",this,[this])},_renderRecord:function(r,o){var n=this,i=[],e="object"!==l(r.coreui)||Array.isArray(r.coreui)?null:r.coreui,t={class:"coreui-table__record"},s=($.each(this._columns,function(e,t){i.push(n._renderField(t,r,o))}),"string"==typeof this._options.onClickUrl&&this._options.onClickUrl&&(t.class+=" coreui-table_pointer"),e&&(t=u.mergeAttr(t,e.attr)),[]);return $.each(t,function(e,t){s.push(e+'="'+t+'"')}),{attr:0 button").click(function(e){"function"==typeof t._options.onClick?t._options.onClick(e,t._table):"string"==typeof t._options.onClick&&new Function(t._options.onClick)()})},getId:function(){return this._options.id},render:function(){var r;return"object"===l(this._options.attr)&&(r=[],$.each(this._options.attr,function(e,t){r.push(e+'="'+t+'"')}),this._render.attr=" "+r.join(" ")),ejs.render(h["controls/button.html"],{control:this._options,render:this._render})}},e.controls.custom={_table:null,_options:{id:null,type:"custom",content:null},init:function(e,t){this._options=$.extend({},this._options,t),this._table=e,this._options.id||(this._options.id=u.hashCode())},initEvents:function(){},getId:function(){return this._options.id},render:function(){return this._options.content}},e.controls.link={_table:null,_options:{id:null,type:"link",href:null,content:null,attr:null},_render:{attr:""},init:function(e,t){this._options=$.extend({},this._options,t),this._table=e,this._options.id||(this._options.id=u.hashCode())},initEvents:function(){},getId:function(){return this._options.id},render:function(){var r;return"object"===l(this._options.attr)&&(r=[],$.each(this._options.attr,function(e,t){r.push(e+'="'+t+'"')}),this._render.attr=" "+r.join(" ")),ejs.render(h["controls/link.html"],{control:this._options,render:this._render})}},e.columns.date={_table:null,_options:{type:"date",field:null,label:null,width:null,format:"DD.MM.YYYY",attr:{},attrHeader:{},render:null},init:function(e,t){this._table=e,this._options=$.extend({},this._options,t)},getOptions:function(){return this._options},render:function(t,e,r){if("string"!=typeof t)return"";try{var o=new Date(t);t=this._options.format.replace(/YYYY/g,this._strPadLeft(o.getFullYear(),4)).replace(/MM/g,this._strPadLeft(o.getMonth()+1,2)).replace(/M/g,o.getMonth()+1).replace(/DD/g,this._strPadLeft(o.getDate(),2)).replace(/D/g,o.getDate())}catch(e){t=""}return t},_strPadLeft:function(e,t,r){return(e=String(e)).length>=t?e:((r=r||"0").repeat(t)+e).slice(-t)}},e.columns.datetime={_table:null,_options:{type:"datetime",field:null,label:null,width:null,format:"DD.MM.YYYY hh:mm:ss",attr:{},attrHeader:{},render:null},init:function(e,t){this._table=e,this._options=$.extend({},this._options,t)},getOptions:function(){return this._options},render:function(t,e,r){if("string"!=typeof t)return"";try{var o=new Date(t);t=this._options.format.replace(/YYYY/g,this._strPadLeft(o.getFullYear(),4)).replace(/MM/g,this._strPadLeft(o.getMonth()+1,2)).replace(/M/g,o.getMonth()+1).replace(/DD/g,this._strPadLeft(o.getDate(),2)).replace(/D/g,o.getDate()).replace(/hh/g,this._strPadLeft(o.getHours(),2)).replace(/mm/g,this._strPadLeft(o.getMinutes(),2)).replace(/m/g,o.getMinutes()).replace(/ss/g,this._strPadLeft(o.getSeconds(),2)).replace(/s/g,o.getSeconds())}catch(e){t=""}return t},_strPadLeft:function(e,t,r){return(e=String(e)).length>=t?e:((r=r||"0").repeat(t)+e).slice(-t)}},e.columns.html={_table:null,_options:{type:"html",field:null,label:null,width:null,attr:{},attrHeader:{},render:null},init:function(e,t){this._table=e,this._options=$.extend({},this._options,t)},getOptions:function(){return this._options},render:function(e,t,r){return["string","bigint","symbol","number"].indexOf(l(e))<0?"":String(e)}},e.columns.number={_table:null,_options:{type:"number",field:null,label:null,width:null,attr:{},attrHeader:{},render:null},init:function(e,t){this._table=e,this._options=$.extend({},this._options,t)},getOptions:function(){return this._options},render:function(e,t,r){return["string","bigint","symbol","number"].indexOf(l(e))<0?"":(e=String(e).replace(/,/g,".").replace(/[^0-9\-\.]/g,"").replace(/[\s]{2,}/g," ")).replace(/(?';var t="#coreui-table-"+o._options.id+" > .coreui-table__container > .coreui-table__wrapper",r=t+" > table > tbody > tr.coreui-table__record > td.coreui-table__select_container";this._table.on("show-records.coreui.table",function(){$(r).click(function(e){e.stopPropagation()}),$(r+" > .coreui-table__select").click(function(e){var t=$(this).val(),r=o._getRecordByKey(t),t=o._getRowByKey(t);r&&t&&($(this).is(":checked")?($(t).addClass("table-primary"),o._trigger("select.coreui.table",o,[r])):($(t).removeClass("table-primary"),o._trigger("unselect.coreui.table",o,[r])))}),$(t+" > table > thead > tr > td > .coreui-table__select-all").click(function(e){$(this).is(":checked")?o.selectAll():o.unselectAll()})})},getOptions:function(){return this._options},render:function(e,t,r){return''}},e.columns.switch={_table:null,_options:{type:"switch",label:"",field:"",width:5,valueY:"Y",valueN:"N",attr:{class:"coreui-table__switch_container"},attrHeader:{},onChange:null},init:function(o,e){this._table=o,this._options=$.extend(!0,{},this._options,e);var n=this,t="#coreui-table-"+o._options.id+" > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__switch_container";this._table.on("show-records.coreui.table",function(){$(t).click(function(e){e.stopPropagation()}),!n._options.hasOwnProperty("onChange")||"function"!=typeof n._options.onChange&&"string"!=typeof n._options.onChange||$(t+' .coreui-table__switch[data-field="'+n._options.field+'"]').change(function(e){var t=$(this).val(),r=$(this).is(":checked"),t=o._getRecordByKey(t);return"function"==typeof n._options.onChange?n._options.onChange(t,r,this):"string"==typeof n._options.onChange&&(r="",t.hasOwnProperty(o._options.primaryKey)&&(r=t[o._options.primaryKey]),new Function("record","checked","id",n._options.onChange)(t,this,r)),!1})})},getOptions:function(){return this._options},render:function(e,t,r){return'
'}},e.columns.text={_table:null,_options:{type:"text",field:null,label:null,width:null,attr:null,attrHeader:null,render:null},init:function(e,t){this._table=e,this._options=$.extend({},this._options,t)},getOptions:function(){return this._options},render:function(e,t,r){return["string","bigint","symbol","number"].indexOf(l(e))<0?"":String(e).replace(//g,">")}},e}); //# sourceMappingURL=coreui-table.min.js.map diff --git a/dist/coreui-table.min.js.map b/dist/coreui-table.min.js.map index 8e4c712..ef1b929 100644 --- a/dist/coreui-table.min.js.map +++ b/dist/coreui-table.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["coreui.table.js","coreui.table.ejs.js","coreui.table.instance.js","coreui.table.templates.js","coreui.table.utils.js","date.js","datetime.js","html.js","number.js","numbers.js","select.js","switch.js","text.js","button.js","custom.js","link.js","en.js","ru.js"],"names":["CoreUI","table","columns","controls","filters","search","lang","_instances","create","options","let","instance","$","extend","this","tableId","_init","Object","getId","get","id","hasOwnProperty","_mergeAttr","attr1","attr2","mergeAttr","assign","each","name","value","_isNumeric","num","trim","isNaN","_hashCode","_crc32","Date","getTime","Math","random","toString","str","o","c","a","f","n","t","length","charCodeAt","exports","module","define","amd","window","global","self","ejs","r","e","i","require","u","Error","code","p","call","1","fs","path","utils","scopeOptionWarned","_VERSION_STRING","version","_DEFAULT_LOCALS_NAME","_OPTS_PASSABLE_WITH_DATA","_OPTS_PASSABLE_WITH_DATA_EXPRESS","concat","_BOM","_JS_IDENTIFIER","resolvePaths","paths","filePath","some","v","resolveInclude","existsSync","handleCache","template","func","filename","hasTemplate","arguments","cache","fileLoader","replace","compile","set","includeFile","opts","shallowCopy","createNullProtoObjWherePossible","includePath","views","match","exec","Array","isArray","root","includer","escapeFunction","includerResult","rethrow","err","flnm","lineno","esc","lines","split","start","max","end","min","context","slice","map","line","curr","join","message","stripSemi","Template","text","templateText","mode","truncate","currentLine","source","client","escape","escapeXML","compileDebug","debug","openDelimiter","closeDelimiter","delimiter","strict","rmWhitespace","outputFunctionName","localsName","async","destructuredLocals","legacyInclude","_with","regex","createRegex","readFileSync","promiseImpl","Function","Promise","isDir","dirname","extname","resolve","scope","console","warn","render","d","data","shallowCopyFromList","renderFile","cb","result","args","prototype","shift","pop","settings","viewOpts","reject","clearCache","reset","modes","EVAL","ESCAPED","RAW","COMMENT","LITERAL","delim","escapeRegExpChars","open","close","RegExp","fn","prepended","appended","escapeFn","sanitizedFilename","JSON","stringify","generateSource","test","destructuring","src","log","ctor","SyntaxError","returnedFn","apply","includeData","defineProperty","basename","writable","enumerable","configurable","matches","parseTemplateText","forEach","index","indexOf","closing","scanLine","firstPos","pat","arr","push","substring","_addOutput","newLineCount","lastIndexOf","__express","VERSION","../package.json","./utils","2","hasOwn","obj","key","regExpChars","_ENCODE_HTML_RULES","string","String","&","<",">","\"","'","_MATCH_HTML","encode_char","escapeXMLToString","markup","undefined","to","from","list","_data","val","remove","hyphenToCamel","toUpperCase","__proto__","3","4","process","normalizeArray","parts","allowAboveRoot","up","last","splice","unshift","filter","xs","res","resolvedPath","resolvedAbsolute","cwd","TypeError","charAt","normalize","isAbsolute","trailingSlash","substr","relative","fromParts","toParts","samePartsLength","outputParts","sep","hasRoot","matchedSlash","ext","startDot","startPart","preDotState","len","_process","5","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","runClearTimeout","marker","Item","array","noop","nextTick","title","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","chdir","dir","umask","6","description","keywords","author","license","bin","main","jsdelivr","unpkg","repository","type","url","bugs","homepage","dependencies","jake","devDependencies","browserify","eslint","git-directory-deploy","jsdoc","lru-cache","mocha","uglify-js","engines","node","scripts","_options","class","primaryKey","size","striped","hover","width","minWidth","maxWidth","height","minHeight","naxHeight","page","recordsPerPage","recordsPerPageList","pageParam","recordsPerPageParam","method","show","total","columnHeaders","pages","pagesJump","prePageList","onClick","onClickUrl","columnGroups","footer","records","_page","_recordsPerPage","_recordsTotal","_recordsNumber","_columns","_search","_filter","_events","that","column","columnInstance","init","initEvents","tableWrapper","click","recordKey","record","_getRecordByKey","field","fieldQuote","location","href","event","colOffset","css","outerWidth","reverse","btnPrev","btnNext","prevPage","nextPage","inputGoPage","btnGoPage","goPage","keyup","selectPerPage","change","reload","_trigger","element","widthSizes","heightSizes","htmlRecords","columnsHeader","unit","maxHeight","control","controlInstance","content","columnOptions","getOptions","attributes","fixed","attrHeader","attr","label","load","_renderRecord","tpl","columnsCount","_getLang","totalPages","ceil","currentPage","pagesTotal","rows","headerRow","cells","headerColumn","footerRow","footerColumn","htmlColumns","html","recordsTotal","domElement","document","getElementById","HTMLElement","innerHTML","lock","container","find","prepend","unlock","hide","params","keys","param","ajax","dataType","beforeSend","xhr","success","_viewRecords","error","textStatus","errorThrown","complete","selectAll","tableContainer","prop","addClass","unselectAll","removeClass","selectRecord","row","recordItem","_getRecordByPrimaryKey","_getRowByKey","unselectRecord","getSelected","primaryKeys","getSelectedRecords","getRecord","getRecords","eventName","callback","singleExec","parseInt","renderRecorders","fields","recordProps","coreui","recordAttr","recordAttrResult","_renderField","columnField","fieldProps","fieldAttr","fieldAttrResult","coreuiTableUtils","eval","date","_table","format","_strPadLeft","getFullYear","getMonth","getDate","count","repeat","datetime","getHours","getMinutes","getSeconds","number","numbers","select","containers","stopPropagation","is","switch","valueY","valueN","onChange","isChecked","button","_render","custom","link","ru","emptyRecords","loading","of","all"],"mappings":"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","file":"coreui-table.min.js","sourcesContent":["\r\nvar CoreUI = typeof CoreUI !== 'undefined' ? CoreUI : {};\r\n\r\nCoreUI.table = {\r\n\r\n columns: {},\r\n controls: {},\r\n filters: {},\r\n search: {},\r\n lang: {},\r\n\r\n _instances: {},\r\n\r\n /**\r\n * @param {object} options\r\n * @returns {CoreUI.table.instance}\r\n */\r\n create: function (options) {\r\n\r\n let instance = $.extend(true, {}, this.instance);\r\n instance._init(options instanceof Object ? options : {});\r\n\r\n let tableId = instance.getId();\r\n this._instances[tableId] = instance;\r\n\r\n return instance;\r\n },\r\n\r\n\r\n /**\r\n * @param {string} id\r\n * @returns {CoreUI.table.instance|null}\r\n */\r\n get: function (id) {\r\n\r\n if ( ! this._instances.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n if ( ! $('#coreui-table-' + id)[0]) {\r\n delete this._instances[id];\r\n return null;\r\n }\r\n\r\n return this._instances[id];\r\n },\r\n\r\n\r\n /**\r\n * Объединение атрибутов\r\n * @param attr1\r\n * @param attr2\r\n * @returns {object}\r\n */\r\n _mergeAttr: function (attr1, attr2) {\r\n\r\n let mergeAttr = Object.assign({}, attr1);\r\n\r\n if (typeof attr2 === 'object') {\r\n $.each(attr2, function (name, value) {\r\n if (mergeAttr.hasOwnProperty(name)) {\r\n if (name === 'class') {\r\n mergeAttr[name] += ' ' + value;\r\n\r\n } else if (name === 'style') {\r\n mergeAttr[name] += ';' + value;\r\n\r\n } else {\r\n mergeAttr[name] = value;\r\n }\r\n\r\n } else {\r\n mergeAttr[name] = value;\r\n }\r\n });\r\n }\r\n\r\n return mergeAttr;\r\n },\r\n\r\n\r\n /**\r\n * Проверка на число\r\n * @param num\r\n * @returns {boolean}\r\n * @private\r\n */\r\n _isNumeric: function(num) {\r\n return (typeof(num) === 'number' || typeof(num) === \"string\" && num.trim() !== '') && ! isNaN(num);\r\n },\r\n\r\n\r\n /**\r\n * @returns {string}\r\n * @private\r\n */\r\n _hashCode: function() {\r\n return this._crc32((new Date().getTime() + Math.random()).toString()).toString(16);\r\n },\r\n\r\n\r\n /**\r\n * @param str\r\n * @returns {number}\r\n * @private\r\n */\r\n _crc32: function (str) {\r\n\r\n for (var a, o = [], c = 0; c < 256; c++) {\r\n a = c;\r\n for (var f = 0; f < 8; f++) {\r\n a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1\r\n }\r\n o[c] = a\r\n }\r\n\r\n for (var n = -1, t = 0; t < str.length; t++) {\r\n n = n >>> 8 ^ o[255 & (n ^ str.charCodeAt(t))]\r\n }\r\n\r\n return (-1 ^ n) >>> 0;\r\n }\r\n}","(function() {\"use strict\";(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.ejs=f()}})(function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i\";var _DEFAULT_DELIMITER=\"%\";var _DEFAULT_LOCALS_NAME=\"locals\";var _NAME=\"ejs\";var _REGEX_STRING=\"(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)\";var _OPTS_PASSABLE_WITH_DATA=[\"delimiter\",\"scope\",\"context\",\"debug\",\"compileDebug\",\"client\",\"_with\",\"rmWhitespace\",\"strict\",\"filename\",\"async\"];var _OPTS_PASSABLE_WITH_DATA_EXPRESS=_OPTS_PASSABLE_WITH_DATA.concat(\"cache\");var _BOM=/^\\uFEFF/;var _JS_IDENTIFIER=/^[a-zA-Z_$][0-9a-zA-Z_$]*$/;exports.cache=utils.cache;exports.fileLoader=fs.readFileSync;exports.localsName=_DEFAULT_LOCALS_NAME;exports.promiseImpl=new Function(\"return this;\")().Promise;exports.resolveInclude=function(name,filename,isDir){var dirname=path.dirname;var extname=path.extname;var resolve=path.resolve;var includePath=resolve(isDir?filename:dirname(filename),name);var ext=extname(name);if(!ext){includePath+=\".ejs\"}return includePath};function resolvePaths(name,paths){var filePath;if(paths.some(function(v){filePath=exports.resolveInclude(name,v,true);return fs.existsSync(filePath)})){return filePath}}function getIncludePath(path,options){var includePath;var filePath;var views=options.views;var match=/^[A-Za-z]+:\\\\|^\\//.exec(path);if(match&&match.length){path=path.replace(/^\\/*/,\"\");if(Array.isArray(options.root)){includePath=resolvePaths(path,options.root)}else{includePath=exports.resolveInclude(path,options.root||\"/\",true)}}else{if(options.filename){filePath=exports.resolveInclude(path,options.filename);if(fs.existsSync(filePath)){includePath=filePath}}if(!includePath&&Array.isArray(views)){includePath=resolvePaths(path,views)}if(!includePath&&typeof options.includer!==\"function\"){throw new Error('Could not find the include file \"'+options.escapeFunction(path)+'\"')}}return includePath}function handleCache(options,template){var func;var filename=options.filename;var hasTemplate=arguments.length>1;if(options.cache){if(!filename){throw new Error(\"cache option requires a filename\")}func=exports.cache.get(filename);if(func){return func}if(!hasTemplate){template=fileLoader(filename).toString().replace(_BOM,\"\")}}else if(!hasTemplate){if(!filename){throw new Error(\"Internal EJS error: no file name or template \"+\"provided\")}template=fileLoader(filename).toString().replace(_BOM,\"\")}func=exports.compile(template,options);if(options.cache){exports.cache.set(filename,func)}return func}function tryHandleCache(options,data,cb){var result;if(!cb){if(typeof exports.promiseImpl==\"function\"){return new exports.promiseImpl(function(resolve,reject){try{result=handleCache(options)(data);resolve(result)}catch(err){reject(err)}})}else{throw new Error(\"Please provide a callback function\")}}else{try{result=handleCache(options)(data)}catch(err){return cb(err)}cb(null,result)}}function fileLoader(filePath){return exports.fileLoader(filePath)}function includeFile(path,options){var opts=utils.shallowCopy(utils.createNullProtoObjWherePossible(),options);opts.filename=getIncludePath(path,opts);if(typeof options.includer===\"function\"){var includerResult=options.includer(path,opts.filename);if(includerResult){if(includerResult.filename){opts.filename=includerResult.filename}if(includerResult.template){return handleCache(opts,includerResult.template)}}}return handleCache(opts)}function rethrow(err,str,flnm,lineno,esc){var lines=str.split(\"\\n\");var start=Math.max(lineno-3,0);var end=Math.min(lines.length,lineno+3);var filename=esc(flnm);var context=lines.slice(start,end).map(function(line,i){var curr=i+start+1;return(curr==lineno?\" >> \":\" \")+curr+\"| \"+line}).join(\"\\n\");err.path=filename;err.message=(filename||\"ejs\")+\":\"+lineno+\"\\n\"+context+\"\\n\\n\"+err.message;throw err}function stripSemi(str){return str.replace(/;(\\s*$)/,\"$1\")}exports.compile=function compile(template,opts){var templ;if(opts&&opts.scope){if(!scopeOptionWarned){console.warn(\"`scope` option is deprecated and will be removed in EJS 3\");scopeOptionWarned=true}if(!opts.context){opts.context=opts.scope}delete opts.scope}templ=new Template(template,opts);return templ.compile()};exports.render=function(template,d,o){var data=d||utils.createNullProtoObjWherePossible();var opts=o||utils.createNullProtoObjWherePossible();if(arguments.length==2){utils.shallowCopyFromList(opts,data,_OPTS_PASSABLE_WITH_DATA)}return handleCache(opts,template)(data)};exports.renderFile=function(){var args=Array.prototype.slice.call(arguments);var filename=args.shift();var cb;var opts={filename:filename};var data;var viewOpts;if(typeof arguments[arguments.length-1]==\"function\"){cb=args.pop()}if(args.length){data=args.shift();if(args.length){utils.shallowCopy(opts,args.pop())}else{if(data.settings){if(data.settings.views){opts.views=data.settings.views}if(data.settings[\"view cache\"]){opts.cache=true}viewOpts=data.settings[\"view options\"];if(viewOpts){utils.shallowCopy(opts,viewOpts)}}utils.shallowCopyFromList(opts,data,_OPTS_PASSABLE_WITH_DATA_EXPRESS)}opts.filename=filename}else{data=utils.createNullProtoObjWherePossible()}return tryHandleCache(opts,data,cb)};exports.Template=Template;exports.clearCache=function(){exports.cache.reset()};function Template(text,opts){opts=opts||utils.createNullProtoObjWherePossible();var options=utils.createNullProtoObjWherePossible();this.templateText=text;this.mode=null;this.truncate=false;this.currentLine=1;this.source=\"\";options.client=opts.client||false;options.escapeFunction=opts.escape||opts.escapeFunction||utils.escapeXML;options.compileDebug=opts.compileDebug!==false;options.debug=!!opts.debug;options.filename=opts.filename;options.openDelimiter=opts.openDelimiter||exports.openDelimiter||_DEFAULT_OPEN_DELIMITER;options.closeDelimiter=opts.closeDelimiter||exports.closeDelimiter||_DEFAULT_CLOSE_DELIMITER;options.delimiter=opts.delimiter||exports.delimiter||_DEFAULT_DELIMITER;options.strict=opts.strict||false;options.context=opts.context;options.cache=opts.cache||false;options.rmWhitespace=opts.rmWhitespace;options.root=opts.root;options.includer=opts.includer;options.outputFunctionName=opts.outputFunctionName;options.localsName=opts.localsName||exports.localsName||_DEFAULT_LOCALS_NAME;options.views=opts.views;options.async=opts.async;options.destructuredLocals=opts.destructuredLocals;options.legacyInclude=typeof opts.legacyInclude!=\"undefined\"?!!opts.legacyInclude:true;if(options.strict){options._with=false}else{options._with=typeof opts._with!=\"undefined\"?opts._with:true}this.opts=options;this.regex=this.createRegex()}Template.modes={EVAL:\"eval\",ESCAPED:\"escaped\",RAW:\"raw\",COMMENT:\"comment\",LITERAL:\"literal\"};Template.prototype={createRegex:function(){var str=_REGEX_STRING;var delim=utils.escapeRegExpChars(this.opts.delimiter);var open=utils.escapeRegExpChars(this.opts.openDelimiter);var close=utils.escapeRegExpChars(this.opts.closeDelimiter);str=str.replace(/%/g,delim).replace(//g,close);return new RegExp(str)},compile:function(){var src;var fn;var opts=this.opts;var prepended=\"\";var appended=\"\";var escapeFn=opts.escapeFunction;var ctor;var sanitizedFilename=opts.filename?JSON.stringify(opts.filename):\"undefined\";if(!this.source){this.generateSource();prepended+=' var __output = \"\";\\n'+\" function __append(s) { if (s !== undefined && s !== null) __output += s }\\n\";if(opts.outputFunctionName){if(!_JS_IDENTIFIER.test(opts.outputFunctionName)){throw new Error(\"outputFunctionName is not a valid JS identifier.\")}prepended+=\" var \"+opts.outputFunctionName+\" = __append;\"+\"\\n\"}if(opts.localsName&&!_JS_IDENTIFIER.test(opts.localsName)){throw new Error(\"localsName is not a valid JS identifier.\")}if(opts.destructuredLocals&&opts.destructuredLocals.length){var destructuring=\" var __locals = (\"+opts.localsName+\" || {}),\\n\";for(var i=0;i0){destructuring+=\",\\n \"}destructuring+=name+\" = __locals.\"+name}prepended+=destructuring+\";\\n\"}if(opts._with!==false){prepended+=\" with (\"+opts.localsName+\" || {}) {\"+\"\\n\";appended+=\" }\"+\"\\n\"}appended+=\" return __output;\"+\"\\n\";this.source=prepended+this.source+appended}if(opts.compileDebug){src=\"var __line = 1\"+\"\\n\"+\" , __lines = \"+JSON.stringify(this.templateText)+\"\\n\"+\" , __filename = \"+sanitizedFilename+\";\"+\"\\n\"+\"try {\"+\"\\n\"+this.source+\"} catch (e) {\"+\"\\n\"+\" rethrow(e, __lines, __filename, __line, escapeFn);\"+\"\\n\"+\"}\"+\"\\n\"}else{src=this.source}if(opts.client){src=\"escapeFn = escapeFn || \"+escapeFn.toString()+\";\"+\"\\n\"+src;if(opts.compileDebug){src=\"rethrow = rethrow || \"+rethrow.toString()+\";\"+\"\\n\"+src}}if(opts.strict){src='\"use strict\";\\n'+src}if(opts.debug){console.log(src)}if(opts.compileDebug&&opts.filename){src=src+\"\\n\"+\"//# sourceURL=\"+sanitizedFilename+\"\\n\"}try{if(opts.async){try{ctor=new Function(\"return (async function(){}).constructor;\")()}catch(e){if(e instanceof SyntaxError){throw new Error(\"This environment does not support async/await\")}else{throw e}}}else{ctor=Function}fn=new ctor(opts.localsName+\", escapeFn, include, rethrow\",src)}catch(e){if(e instanceof SyntaxError){if(opts.filename){e.message+=\" in \"+opts.filename}e.message+=\" while compiling ejs\\n\\n\";e.message+=\"If the above error is not helpful, you may want to try EJS-Lint:\\n\";e.message+=\"https://github.com/RyanZim/EJS-Lint\";if(!opts.async){e.message+=\"\\n\";e.message+=\"Or, if you meant to create an async function, pass `async: true` as an option.\"}}throw e}var returnedFn=opts.client?fn:function anonymous(data){var include=function(path,includeData){var d=utils.shallowCopy(utils.createNullProtoObjWherePossible(),data);if(includeData){d=utils.shallowCopy(d,includeData)}return includeFile(path,opts)(d)};return fn.apply(opts.context,[data||utils.createNullProtoObjWherePossible(),escapeFn,include,rethrow])};if(opts.filename&&typeof Object.defineProperty===\"function\"){var filename=opts.filename;var basename=path.basename(filename,path.extname(filename));try{Object.defineProperty(returnedFn,\"name\",{value:basename,writable:false,enumerable:false,configurable:true})}catch(e){}}return returnedFn},generateSource:function(){var opts=this.opts;if(opts.rmWhitespace){this.templateText=this.templateText.replace(/[\\r\\n]+/g,\"\\n\").replace(/^\\s+|\\s+$/gm,\"\")}this.templateText=this.templateText.replace(/[ \\t]*<%_/gm,\"<%_\").replace(/_%>[ \\t]*/gm,\"_%>\");var self=this;var matches=this.parseTemplateText();var d=this.opts.delimiter;var o=this.opts.openDelimiter;var c=this.opts.closeDelimiter;if(matches&&matches.length){matches.forEach(function(line,index){var closing;if(line.indexOf(o+d)===0&&line.indexOf(o+d+d)!==0){closing=matches[index+2];if(!(closing==d+c||closing==\"-\"+d+c||closing==\"_\"+d+c)){throw new Error('Could not find matching close tag for \"'+line+'\".')}}self.scanLine(line)})}},parseTemplateText:function(){var str=this.templateText;var pat=this.regex;var result=pat.exec(str);var arr=[];var firstPos;while(result){firstPos=result.index;if(firstPos!==0){arr.push(str.substring(0,firstPos));str=str.slice(firstPos)}arr.push(result[0]);str=str.slice(result[0].length);result=pat.exec(str)}if(str){arr.push(str)}return arr},_addOutput:function(line){if(this.truncate){line=line.replace(/^(?:\\r\\n|\\r|\\n)/,\"\");this.truncate=false}if(!line){return line}line=line.replace(/\\\\/g,\"\\\\\\\\\");line=line.replace(/\\n/g,\"\\\\n\");line=line.replace(/\\r/g,\"\\\\r\");line=line.replace(/\"/g,'\\\\\"');this.source+=' ; __append(\"'+line+'\")'+\"\\n\"},scanLine:function(line){var self=this;var d=this.opts.delimiter;var o=this.opts.openDelimiter;var c=this.opts.closeDelimiter;var newLineCount=0;newLineCount=line.split(\"\\n\").length-1;switch(line){case o+d:case o+d+\"_\":this.mode=Template.modes.EVAL;break;case o+d+\"=\":this.mode=Template.modes.ESCAPED;break;case o+d+\"-\":this.mode=Template.modes.RAW;break;case o+d+\"#\":this.mode=Template.modes.COMMENT;break;case o+d+d:this.mode=Template.modes.LITERAL;this.source+=' ; __append(\"'+line.replace(o+d+d,o+d)+'\")'+\"\\n\";break;case d+d+c:this.mode=Template.modes.LITERAL;this.source+=' ; __append(\"'+line.replace(d+d+c,d+c)+'\")'+\"\\n\";break;case d+c:case\"-\"+d+c:case\"_\"+d+c:if(this.mode==Template.modes.LITERAL){this._addOutput(line)}this.mode=null;this.truncate=line.indexOf(\"-\")===0||line.indexOf(\"_\")===0;break;default:if(this.mode){switch(this.mode){case Template.modes.EVAL:case Template.modes.ESCAPED:case Template.modes.RAW:if(line.lastIndexOf(\"//\")>line.lastIndexOf(\"\\n\")){line+=\"\\n\"}}switch(this.mode){case Template.modes.EVAL:this.source+=\" ; \"+line+\"\\n\";break;case Template.modes.ESCAPED:this.source+=\" ; __append(escapeFn(\"+stripSemi(line)+\"))\"+\"\\n\";break;case Template.modes.RAW:this.source+=\" ; __append(\"+stripSemi(line)+\")\"+\"\\n\";break;case Template.modes.COMMENT:break;case Template.modes.LITERAL:this._addOutput(line);break}}else{this._addOutput(line)}}if(self.opts.compileDebug&&newLineCount){this.currentLine+=newLineCount;this.source+=\" ; __line = \"+this.currentLine+\"\\n\"}}};exports.escapeXML=utils.escapeXML;exports.__express=exports.renderFile;exports.VERSION=_VERSION_STRING;exports.name=_NAME;if(typeof window!=\"undefined\"){window.ejs=exports}},{\"../package.json\":6,\"./utils\":2,fs:3,path:4}],2:[function(require,module,exports){\"use strict\";var regExpChars=/[|\\\\{}()[\\]^$+*?.]/g;var hasOwnProperty=Object.prototype.hasOwnProperty;var hasOwn=function(obj,key){return hasOwnProperty.apply(obj,[key])};exports.escapeRegExpChars=function(string){if(!string){return\"\"}return String(string).replace(regExpChars,\"\\\\$&\")};var _ENCODE_HTML_RULES={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"};var _MATCH_HTML=/[&<>'\"]/g;function encode_char(c){return _ENCODE_HTML_RULES[c]||c}var escapeFuncStr=\"var _ENCODE_HTML_RULES = {\\n\"+' \"&\": \"&\"\\n'+' , \"<\": \"<\"\\n'+' , \">\": \">\"\\n'+' , \\'\"\\': \""\"\\n'+' , \"\\'\": \"'\"\\n'+\" }\\n\"+\" , _MATCH_HTML = /[&<>'\\\"]/g;\\n\"+\"function encode_char(c) {\\n\"+\" return _ENCODE_HTML_RULES[c] || c;\\n\"+\"};\\n\";exports.escapeXML=function(markup){return markup==undefined?\"\":String(markup).replace(_MATCH_HTML,encode_char)};function escapeXMLToString(){return Function.prototype.toString.call(this)+\";\\n\"+escapeFuncStr}try{if(typeof Object.defineProperty===\"function\"){Object.defineProperty(exports.escapeXML,\"toString\",{value:escapeXMLToString})}else{exports.escapeXML.toString=escapeXMLToString}}catch(err){console.warn(\"Unable to set escapeXML.toString (is the Function prototype frozen?)\")}exports.shallowCopy=function(to,from){from=from||{};if(to!==null&&to!==undefined){for(var p in from){if(!hasOwn(from,p)){continue}if(p===\"__proto__\"||p===\"constructor\"){continue}to[p]=from[p]}}return to};exports.shallowCopyFromList=function(to,from,list){list=list||[];from=from||{};if(to!==null&&to!==undefined){for(var i=0;i=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift(\"..\")}}return parts}exports.resolve=function(){var resolvedPath=\"\",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if(typeof path!==\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){continue}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=path.charAt(0)===\"/\"}resolvedPath=normalizeArray(filter(resolvedPath.split(\"/\"),function(p){return!!p}),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"};exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash=substr(path,-1)===\"/\";path=normalizeArray(filter(path.split(\"/\"),function(p){return!!p}),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path};exports.isAbsolute=function(path){return path.charAt(0)===\"/\"};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p,index){if(typeof p!==\"string\"){throw new TypeError(\"Arguments to path.join must be strings\")}return p}).join(\"/\"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i=1;--i){code=path.charCodeAt(i);if(code===47){if(!matchedSlash){end=i;break}}else{matchedSlash=false}}if(end===-1)return hasRoot?\"/\":\".\";if(hasRoot&&end===1){return\"/\"}return path.slice(0,end)};function basename(path){if(typeof path!==\"string\")path=path+\"\";var start=0;var end=-1;var matchedSlash=true;var i;for(i=path.length-1;i>=0;--i){if(path.charCodeAt(i)===47){if(!matchedSlash){start=i+1;break}}else if(end===-1){matchedSlash=false;end=i+1}}if(end===-1)return\"\";return path.slice(start,end)}exports.basename=function(path,ext){var f=basename(path);if(ext&&f.substr(-1*ext.length)===ext){f=f.substr(0,f.length-ext.length)}return f};exports.extname=function(path){if(typeof path!==\"string\")path=path+\"\";var startDot=-1;var startPart=0;var end=-1;var matchedSlash=true;var preDotState=0;for(var i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1){matchedSlash=false;end=i+1}if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1){preDotState=-1}}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){return\"\"}return path.slice(startDot,end)};function filter(xs,f){if(xs.filter)return xs.filter(f);var res=[];for(var i=0;i1){for(var i=1;i (http://fleegix.org)\",license:\"Apache-2.0\",bin:{ejs:\"./bin/cli.js\"},main:\"./lib/ejs.js\",jsdelivr:\"ejs.min.js\",unpkg:\"ejs.min.js\",repository:{type:\"git\",url:\"git://github.com/mde/ejs.git\"},bugs:\"https://github.com/mde/ejs/issues\",homepage:\"https://github.com/mde/ejs\",dependencies:{jake:\"^10.8.5\"},devDependencies:{browserify:\"^16.5.1\",eslint:\"^6.8.0\",\"git-directory-deploy\":\"^1.5.1\",jsdoc:\"^4.0.2\",\"lru-cache\":\"^4.0.1\",mocha:\"^10.2.0\",\"uglify-js\":\"^3.3.16\"},engines:{node:\">=0.10.0\"},scripts:{test:\"mocha -u tdd\"}}},{}]},{},[1])(1)});\n;CoreUI.table.ejs = ejs;})();","\r\nCoreUI.table.instance = {\r\n\r\n _options: {\r\n id: null,\r\n class: '',\r\n primaryKey: 'id',\r\n lang: 'ru',\r\n size: 'sm',\r\n striped: true,\r\n hover: true,\r\n width: null,\r\n minWidth: null,\r\n maxWidth: null,\r\n height: null,\r\n minHeight: null,\r\n naxHeight: null,\r\n page: 1,\r\n recordsPerPage: 25,\r\n recordsPerPageList: [ 25, 50, 100, 1000 ], // 0 - all\r\n pageParam: 'page',\r\n recordsPerPageParam: 'count',\r\n method: 'GET',\r\n url: null, // '/mod/index/orders/?page=[page]'\r\n show: {\r\n total: false,\r\n columnHeaders: true,\r\n pages: false,\r\n pagesJump: false,\r\n prePageList: false\r\n },\r\n onClick: null,\r\n onClickUrl: null,\r\n controls: [],\r\n columnGroups: [],\r\n columns: [],\r\n footer: [],\r\n records: []\r\n },\r\n\r\n _page: 1,\r\n _recordsPerPage: 25,\r\n _recordsTotal: 0,\r\n _recordsNumber: 1,\r\n\r\n _columns: [],\r\n _search: [],\r\n _filter: [],\r\n _events: {},\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {object} options\r\n * @private\r\n */\r\n _init: function (options) {\r\n\r\n this._options = $.extend(true, {}, this._options, options);\r\n this._events = {};\r\n\r\n\r\n if ( ! this._options.id) {\r\n this._options.id = CoreUI.table._hashCode();\r\n }\r\n\r\n if (this._options.page > 0) {\r\n this._page = this._options.page;\r\n }\r\n if (this._options.recordsPerPage > 0) {\r\n this._recordsPerPage = this._options.recordsPerPage;\r\n }\r\n\r\n let that = this;\r\n\r\n\r\n // Инициализация колонок\r\n if (typeof this._options.columns === 'object' &&\r\n Array.isArray(this._options.columns) &&\r\n this._options.columns.length > 0\r\n ) {\r\n $.each(this._options.columns, function (key, column) {\r\n if (typeof column.type === 'undefined' ||\r\n ! CoreUI.table.columns.hasOwnProperty(column.type)\r\n ) {\r\n column.type = 'text';\r\n }\r\n\r\n let columnInstance = $.extend(true, {}, CoreUI.table.columns[column.type]);\r\n columnInstance.init(that, column);\r\n that._columns.push(columnInstance);\r\n });\r\n }\r\n },\r\n\r\n\r\n /**\r\n *\r\n */\r\n initEvents: function () {\r\n\r\n let that = this;\r\n let tableWrapper = '#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper';\r\n\r\n // Показ строк\r\n this.on('show-records.coreui.table', function () {\r\n\r\n // Переход по ссылке\r\n if (typeof that._options.onClickUrl === 'string' && that._options.onClickUrl) {\r\n $(tableWrapper + ' > table > tbody > tr.coreui-table__record').click(function () {\r\n let recordKey = $(this).data('record-key');\r\n let record = that._getRecordByKey(recordKey);\r\n\r\n if ( ! record) {\r\n return;\r\n }\r\n\r\n let url = that._options.onClickUrl;\r\n\r\n $.each(record, function (field, value) {\r\n let fieldQuote = field.replace(/([^\\w\\d])/g, '\\\\$1');\r\n url = url.replace(\r\n new RegExp('\\\\[' + fieldQuote + '\\\\]', 'g'),\r\n value\r\n );\r\n });\r\n\r\n if (url && url !== '#') {\r\n location.href = url;\r\n }\r\n });\r\n }\r\n\r\n // Событие нажатия на строку\r\n if (typeof that._options.onClick === 'function') {\r\n $(tableWrapper + ' > table > tbody > tr.coreui-table__record').click(function (event) {\r\n let recordKey = $(this).data('record-key');\r\n let record = that._getRecordByKey(recordKey);\r\n\r\n if ( ! record) {\r\n return;\r\n }\r\n\r\n that._options.onClick(event, record);\r\n });\r\n }\r\n\r\n // Фиксация колонок\r\n let colOffset = 0;\r\n $(tableWrapper + ' > table > thead > tr:last-child > td.coreui-table__fixed_left').each(function () {\r\n let index = $(this).index() + 1;\r\n\r\n if (index !== 1) {\r\n $(tableWrapper + ' > table > thead > tr:last-child > td:nth-child(' + index + ')').css('left', colOffset + 'px');\r\n $(tableWrapper + ' > table > tbody > tr > td:nth-child(' + index + ')').css('left', colOffset + 'px');\r\n }\r\n\r\n colOffset += $(this).outerWidth();\r\n });\r\n\r\n colOffset = 0;\r\n $($(tableWrapper + ' > table > thead > tr:last-child > td.coreui-table__fixed_right').get().reverse()).each(function () {\r\n let index = $(this).index() + 1;\r\n\r\n if (index !== 1) {\r\n $(tableWrapper + ' > table > thead > tr:last-child > td:nth-child(' + index + ')').css('right', colOffset + 'px');\r\n $(tableWrapper + ' > table > tbody > tr > td:nth-child(' + index + ')').css('right', colOffset + 'px');\r\n }\r\n\r\n colOffset += $(this).outerWidth();\r\n });\r\n });\r\n\r\n\r\n\r\n // Страницы\r\n let btnPrev = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__page_prev')\r\n if (btnPrev[0]) {\r\n btnPrev.click(function () {\r\n if (that._page > 1) {\r\n that.prevPage();\r\n }\r\n })\r\n }\r\n\r\n let btnNext = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__page_next')\r\n if (btnNext[0]) {\r\n btnNext.click(function () {\r\n that.nextPage();\r\n })\r\n }\r\n\r\n let inputGoPage = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__page_go_container input');\r\n let btnGoPage = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__page_go')\r\n if (btnGoPage[0]) {\r\n btnGoPage.click(function () {\r\n that.goPage(inputGoPage.val());\r\n });\r\n inputGoPage.keyup(function (event) {\r\n event;\r\n });\r\n }\r\n\r\n let selectPerPage = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__pages_list_container select');\r\n if (selectPerPage[0]) {\r\n selectPerPage.change(function () {\r\n that._page = 1;\r\n that._recordsPerPage = selectPerPage.val();\r\n that.reload();\r\n });\r\n }\r\n\r\n\r\n\r\n this._trigger('shown.coreui.table');\r\n\r\n // Вызов события показа строк\r\n if (( ! this._options.url || this._options.url === '#') &&\r\n typeof this._options.records === 'object' &&\r\n Array.isArray(this._options.records) &&\r\n this._options.records.length > 0\r\n ) {\r\n this._trigger('show-records.coreui.table', this, [ this ]);\r\n }\r\n },\r\n\r\n\r\n /**\r\n *\r\n * @returns {*}\r\n */\r\n getId: function () {\r\n return this._options.id;\r\n },\r\n\r\n\r\n /**\r\n *\r\n * @param element\r\n * @returns {*}\r\n */\r\n render: function(element) {\r\n\r\n let that = this;\r\n let widthSizes = [];\r\n let heightSizes = [];\r\n let htmlRecords = '';\r\n let render = {\r\n controls: [],\r\n columnsHeader: [],\r\n columns: [],\r\n columnGroups: [],\r\n records: [],\r\n footer: '',\r\n pages: '',\r\n };\r\n\r\n this._recordsTotal = this._options.records.length;\r\n\r\n\r\n if (this._options.width > 0) {\r\n let unit = typeof this._options.width === 'number' ? 'px' : '';\r\n widthSizes.push('width:' + this._options.width + unit);\r\n }\r\n\r\n if (this._options.minWidth > 0) {\r\n let unit = typeof this._options.minWidth === 'number' ? 'px' : '';\r\n widthSizes.push('min-width:' + this._options.minWidth + unit);\r\n }\r\n\r\n if (this._options.maxWidth > 0) {\r\n let unit = typeof this._options.maxWidth === 'number' ? 'px' : '';\r\n widthSizes.push('max-width:' + this._options.maxWidth + unit);\r\n }\r\n\r\n\r\n if (this._options.height > 0) {\r\n let unit = typeof this._options.height === 'number' ? 'px' : '';\r\n heightSizes.push('height:' + this._options.height + unit);\r\n }\r\n\r\n if (this._options.minHeight > 0) {\r\n let unit = typeof this._options.minHeight === 'number' ? 'px' : '';\r\n heightSizes.push('min-height:' + this._options.minHeight + unit);\r\n }\r\n\r\n if (this._options.maxHeight > 0) {\r\n let unit = typeof this._options.maxHeight === 'number' ? 'px' : '';\r\n heightSizes.push('max-height:' + this._options.maxHeight + unit);\r\n }\r\n\r\n\r\n\r\n // Элементы управления\r\n if (typeof this._options.controls === 'object' &&\r\n Array.isArray(this._options.controls) &&\r\n this._options.controls.length > 0\r\n ) {\r\n $.each(this._options.controls, function (key, control) {\r\n if (CoreUI.table.controls.hasOwnProperty(control.type)) {\r\n\r\n let controlInstance = $.extend(true, {}, CoreUI.table.controls[control.type]);\r\n controlInstance.init(that, control);\r\n\r\n render.controls.push({\r\n id: controlInstance.getId(),\r\n content: controlInstance.render(),\r\n });\r\n\r\n that.on('shown.coreui.table', function () {\r\n controlInstance.initEvents()\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n // Колонки\r\n if (this._columns.length > 0) {\r\n $.each(this._columns, function (key, column) {\r\n let columnOptions = column.getOptions();\r\n let attributes = [];\r\n\r\n if (columnOptions.fixed && typeof columnOptions.fixed === 'string') {\r\n columnOptions.attrHeader = CoreUI.table._mergeAttr(columnOptions.attrHeader, {\r\n class: 'coreui-table__fixed_' + columnOptions.fixed\r\n });\r\n\r\n columnOptions.attr = CoreUI.table._mergeAttr(columnOptions.attr, {\r\n class: 'coreui-table__fixed_' + columnOptions.fixed\r\n });\r\n }\r\n\r\n if (columnOptions.attrHeader && typeof columnOptions.attrHeader === 'object') {\r\n $.each(columnOptions.attrHeader, function (name, value) {\r\n attributes.push(name + '=\"' + value + '\"');\r\n });\r\n }\r\n\r\n render.columnGroups.push({\r\n width: columnOptions.hasOwnProperty('width') ? columnOptions.width : '',\r\n unit: typeof columnOptions.width === 'number' ? 'px' : ''\r\n });\r\n\r\n render.columns.push({\r\n attr: attributes.length > 0 ? (' ' + attributes.join(' ')) : '',\r\n label: columnOptions.hasOwnProperty('label') ? columnOptions.label : \"\"\r\n });\r\n });\r\n }\r\n\r\n\r\n // Строки\r\n if (this._options.url && this._options.url !== '#') {\r\n this.on('shown.coreui.table', function () {\r\n that.load(this._options.url);\r\n });\r\n\r\n } else {\r\n if (typeof this._options.records === 'object' &&\r\n Array.isArray(this._options.records) &&\r\n this._options.records.length > 0\r\n ) {\r\n that._recordsTotal = this._options.records.length;\r\n\r\n $.each(this._options.records, function (key, record) {\r\n render.records.push(that._renderRecord(record, key));\r\n that._recordsNumber++;\r\n });\r\n\r\n htmlRecords = CoreUI.table.ejs.render(CoreUI.table.tpl['table-records.html'], {\r\n records: render.records,\r\n });\r\n\r\n } else {\r\n htmlRecords = CoreUI.table.ejs.render(CoreUI.table.tpl['table-records-empty.html'], {\r\n columnsCount: this._columns.length ? this._columns.length : 1,\r\n lang: this._getLang(),\r\n });\r\n }\r\n }\r\n\r\n\r\n // Страницы\r\n if (typeof this._options.show === 'object' &&\r\n (this._options.show.pages ||\r\n this._options.show.pagesJump ||\r\n this._options.show.prePageList)\r\n ) {\r\n let totalPages = this._recordsTotal > 0 && this._recordsPerPage > 0\r\n ? Math.ceil(this._recordsTotal / this._recordsPerPage)\r\n : 1;\r\n\r\n if (this._options.recordsPerPageList.indexOf(this._recordsPerPage) < 0) {\r\n this._options.recordsPerPageList.unshift(this._recordsPerPage);\r\n }\r\n\r\n render.pages = CoreUI.table.ejs.render(CoreUI.table.tpl['table-pages.html'], {\r\n columnsCount: this._columns.length ? this._columns.length : 1,\r\n table: this._options,\r\n lang: this._getLang(),\r\n currentPage: this._page,\r\n pagesTotal: totalPages,\r\n prevPage: this._page > 1,\r\n nextPage: this._page < totalPages,\r\n recordsPerPage: this._recordsPerPage,\r\n recordsPerPageList: this._options.recordsPerPageList\r\n })\r\n }\r\n\r\n\r\n if (typeof this._options.columnGroups === 'object' &&\r\n Array.isArray(this._options.columnGroups) &&\r\n this._options.columnGroups.length > 0\r\n ) {\r\n let rows = [];\r\n\r\n $.each(this._options.columnGroups, function (key, headerRow) {\r\n if (typeof headerRow === 'object' && Array.isArray(headerRow)) {\r\n let cells = [];\r\n\r\n $.each(headerRow, function (key, headerColumn) {\r\n if (typeof headerColumn === 'object' && ! Array.isArray(headerColumn)) {\r\n let attributes = [];\r\n\r\n if (headerColumn.attr && typeof headerColumn.attr === 'object') {\r\n $.each(headerColumn.attr, function (name, value) {\r\n attributes.push(name + '=\"' + value + '\"');\r\n });\r\n }\r\n\r\n cells.push({\r\n label: headerColumn.hasOwnProperty('label') ? headerColumn.label : '',\r\n attr: attributes.length > 0 ? ' ' + attributes.join(' ') : '',\r\n });\r\n }\r\n });\r\n\r\n rows.push(\r\n CoreUI.table.ejs.render(CoreUI.table.tpl['table-columns.html'], {\r\n columns: cells,\r\n })\r\n );\r\n }\r\n });\r\n\r\n render.columnsHeader = rows.join('');\r\n }\r\n\r\n if (typeof this._options.footer === 'object' &&\r\n Array.isArray(this._options.footer) &&\r\n this._options.footer.length > 0\r\n ) {\r\n let rows = [];\r\n\r\n $.each(this._options.footer, function (key, footerRow) {\r\n if (typeof footerRow === 'object' && Array.isArray(footerRow)) {\r\n let cells = [];\r\n\r\n $.each(footerRow, function (key, footerColumn) {\r\n if (typeof footerColumn === 'object' && ! Array.isArray(footerColumn)) {\r\n let attributes = [];\r\n\r\n if (footerColumn.attr && typeof footerColumn.attr === 'object') {\r\n $.each(footerColumn.attr, function (name, value) {\r\n attributes.push(name + '=\"' + value + '\"');\r\n });\r\n }\r\n\r\n cells.push({\r\n label: footerColumn.hasOwnProperty('label') ? footerColumn.label : '',\r\n attr: attributes.length > 0 ? ' ' + attributes.join(' ') : '',\r\n });\r\n }\r\n });\r\n\r\n rows.push(\r\n CoreUI.table.ejs.render(CoreUI.table.tpl['table-columns-footer.html'], {\r\n columns: cells,\r\n })\r\n );\r\n }\r\n });\r\n\r\n render.footer = rows.join('');\r\n }\r\n\r\n\r\n let htmlColumns = CoreUI.table.ejs.render(CoreUI.table.tpl['table-columns.html'], {\r\n columns: render.columns,\r\n });\r\n\r\n\r\n let html = CoreUI.table.ejs.render(CoreUI.table.tpl['table.html'], {\r\n table: this._options,\r\n lang: this._getLang(),\r\n widthSizes: widthSizes,\r\n heightSizes: heightSizes,\r\n recordsTotal: this._recordsTotal,\r\n render: {\r\n columnGroups : render.columnGroups,\r\n columnsHeader : render.columnsHeader,\r\n controls : render.controls,\r\n columns : htmlColumns,\r\n records : htmlRecords,\r\n footer : render.footer,\r\n pages : render.pages,\r\n },\r\n });\r\n\r\n if (element === undefined) {\r\n return html;\r\n }\r\n\r\n // Dom element\r\n let domElement = {};\r\n\r\n if (typeof element === 'string') {\r\n domElement = document.getElementById(element);\r\n\r\n if ( ! domElement) {\r\n return '';\r\n }\r\n\r\n } else if (element instanceof HTMLElement) {\r\n domElement = element;\r\n }\r\n\r\n\r\n domElement.innerHTML = html;\r\n\r\n this.initEvents();\r\n },\r\n\r\n\r\n /**\r\n *\r\n */\r\n lock: function () {\r\n\r\n let container = $('#coreui-table-' + this._options.id + ' > .coreui-table__container');\r\n\r\n if (container[0] && ! container.find('.coreui-table-lock')[0]) {\r\n let html = CoreUI.table.ejs.render(CoreUI.table.tpl['table-loader.html'], {\r\n lang: this._getLang()\r\n });\r\n\r\n container.prepend(html);\r\n }\r\n },\r\n\r\n\r\n /**\r\n *\r\n */\r\n unlock: function () {\r\n\r\n $('#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table-lock').hide(50, function () {\r\n $(this).remove()\r\n });\r\n },\r\n\r\n\r\n /**\r\n * Загрузка строк\r\n * @param {string} url\r\n * @param {string} method\r\n */\r\n load: function (url, method) {\r\n\r\n this.lock();\r\n\r\n let that = this;\r\n let params = {};\r\n\r\n if (url.match(/\\[page\\]/)) {\r\n url = url.replace(/\\[page\\]/, this._page);\r\n } else {\r\n params[this._options.pageParam] = this._page;\r\n }\r\n\r\n if (url.match(/\\[per_page\\]/)) {\r\n url = url.replace(/\\[per_page\\]/, this._recordsPerPage);\r\n } else {\r\n params[this._options.recordsPerPageParam] = this._recordsPerPage;\r\n }\r\n\r\n if (Object.keys(params).length > 0) {\r\n url += url.match(/\\?/)\r\n ? '&' + $.param(params)\r\n : '?' + $.param(params);\r\n }\r\n\r\n $.ajax({\r\n url: url,\r\n method: method || 'GET',\r\n dataType: \"json\",\r\n beforeSend: function(xhr) {\r\n that._trigger('start-load-records.coreui.table', that, [ that, xhr ]);\r\n },\r\n success: function (result) {\r\n\r\n if (result.hasOwnProperty('records') &&\r\n typeof result.records === 'object' &&\r\n Array.isArray(result.records)\r\n ) {\r\n let total = result.hasOwnProperty('total') && CoreUI.table._isNumeric(result.total) ? result.total : null;\r\n that._viewRecords(result.records, total);\r\n\r\n } else {\r\n that._viewRecords([]);\r\n }\r\n },\r\n error: function(xhr, textStatus, errorThrown) {\r\n that._viewRecords([]);\r\n that._trigger('error-load-records.coreui.table', that, [ that, xhr, textStatus, errorThrown ]);\r\n },\r\n complete: function(xhr, textStatus) {\r\n that.unlock();\r\n that._trigger('end-load-records.coreui.table', that, [ that, xhr, textStatus ]);\r\n },\r\n });\r\n },\r\n\r\n\r\n /**\r\n * Перезагрузка записей в таблице\r\n */\r\n reload: function () {\r\n\r\n if (this._options.url && this._options.url !== '#') {\r\n this.load(this._options.url, this._options.method)\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Выбор всех записей в таблице\r\n */\r\n selectAll: function () {\r\n\r\n let tableContainer = '#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table';\r\n\r\n $(tableContainer + ' > thead > tr > td > .coreui-table__select-all').prop('checked', true);\r\n $(tableContainer + ' > tbody > tr.coreui-table__record').addClass('table-primary');\r\n $(tableContainer + ' > tbody > tr.coreui-table__record > td > .coreui-table__select').prop('checked', true);\r\n\r\n this._trigger('select-all.coreui.table', this);\r\n },\r\n\r\n\r\n /**\r\n * Отмена выбор всех записей в таблице\r\n */\r\n unselectAll: function () {\r\n\r\n let tableContainer = '#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table';\r\n\r\n $(tableContainer + ' > thead > tr > td > .coreui-table__select-all').prop('checked', false);\r\n $(tableContainer + ' > tbody > tr.coreui-table__record').removeClass('table-primary');\r\n $(tableContainer + ' > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select').prop('checked', false);\r\n\r\n this._trigger('unselect-all.coreui.table', this);\r\n },\r\n\r\n\r\n /**\r\n * Выбор записи в таблице\r\n * @param {string} primaryKey\r\n */\r\n selectRecord: function (primaryKey) {\r\n\r\n let recordItem = this._getRecordByPrimaryKey(primaryKey);\r\n\r\n if ( ! recordItem) {\r\n return;\r\n }\r\n\r\n let row = this._getRowByKey(recordItem.key);\r\n\r\n if ( ! row) {\r\n return;\r\n }\r\n\r\n $(row).addClass('table-primary');\r\n $('.coreui-table__select', row).prop('checked', true);\r\n\r\n this._trigger('select.coreui.table', this, [ recordItem.record ]);\r\n },\r\n\r\n\r\n /**\r\n * Отмена выбора записи в таблице\r\n * @param {string} primaryKey\r\n */\r\n unselectRecord: function (primaryKey) {\r\n\r\n let recordItem = this._getRecordByPrimaryKey(primaryKey);\r\n\r\n if ( ! recordItem) {\r\n return;\r\n }\r\n\r\n let row = this._getRowByKey(recordItem.key);\r\n\r\n if ( ! row) {\r\n return;\r\n }\r\n\r\n $(row).removeClass('table-primary');\r\n $('.coreui-table__select', row).prop('checked', false);\r\n\r\n this._trigger('unselect.coreui.table', this, [ recordItem.record ]);\r\n },\r\n\r\n\r\n /**\r\n * Получение выбранных id\r\n * @return {array}\r\n */\r\n getSelected: function () {\r\n\r\n let primaryKeys = [];\r\n let that = this;\r\n let field = this._options.primaryKey;\r\n\r\n $('#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select:checked')\r\n .each(function (key, element) {\r\n let record = that._getRecordByKey($(element).val());\r\n\r\n if ( ! record || ! record.hasOwnProperty(field)) {\r\n return;\r\n }\r\n\r\n primaryKeys.push(record[field]);\r\n });\r\n\r\n\r\n\r\n return primaryKeys;\r\n },\r\n\r\n\r\n /**\r\n * Получение выбранных записей\r\n * @return {array}\r\n */\r\n getSelectedRecords: function () {\r\n\r\n let records = [];\r\n let that = this;\r\n\r\n $('#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select:checked')\r\n .each(function (key, element) {\r\n let record = that._getRecordByKey($(element).val());\r\n\r\n if ( ! record) {\r\n return;\r\n }\r\n\r\n records.push(record);\r\n });\r\n\r\n\r\n\r\n return records;\r\n },\r\n\r\n\r\n /**\r\n * Получение записи по id\r\n * @param primaryKey\r\n * @return {object|null}\r\n */\r\n getRecord: function (primaryKey) {\r\n\r\n let recordItem = this._getRecordByPrimaryKey(primaryKey);\r\n\r\n if ( ! recordItem) {\r\n return null;\r\n }\r\n\r\n return recordItem.record;\r\n },\r\n\r\n\r\n /**\r\n * Получение записей\r\n */\r\n getRecords: function () {\r\n\r\n return this._options.records\r\n },\r\n\r\n\r\n /**\r\n * Переход к предыдущей странице\r\n */\r\n prevPage: function () {\r\n\r\n if (this._page > 1) {\r\n this._page--;\r\n this.reload();\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Переход к следующей странице\r\n * @return {array}\r\n */\r\n nextPage: function () {\r\n\r\n let totalPages = this._recordsTotal > 0 && this._recordsPerPage > 0\r\n ? Math.ceil(this._recordsTotal / this._recordsPerPage)\r\n : 1;\r\n\r\n if (this._page < totalPages) {\r\n this._page++;\r\n this.reload();\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Переход к указанной странице\r\n */\r\n goPage: function (page) {\r\n\r\n if (page >= 1) {\r\n this._page = page;\r\n this.reload();\r\n }\r\n },\r\n\r\n\r\n /**\r\n * @param eventName\r\n * @param callback\r\n * @param context\r\n * @param singleExec\r\n */\r\n on: function(eventName, callback, context, singleExec) {\r\n if (typeof this._events[eventName] !== 'object') {\r\n this._events[eventName] = [];\r\n }\r\n this._events[eventName].push({\r\n context : context || this,\r\n callback: callback,\r\n singleExec: !! singleExec,\r\n });\r\n },\r\n\r\n\r\n /**\r\n * @param name\r\n * @param context\r\n * @param params\r\n * @private\r\n */\r\n _trigger: function(name, context, params) {\r\n\r\n params = params || [];\r\n\r\n if (this._events[name] instanceof Object && this._events[name].length > 0) {\r\n for (var i = 0; i < this._events[name].length; i++) {\r\n let callback = this._events[name][i].callback;\r\n\r\n context = context || this._events[name][i].context;\r\n\r\n callback.apply(context, params);\r\n\r\n if (this._events[name][i].singleExec) {\r\n this._events[name].splice(i, 1);\r\n }\r\n }\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Получение настроек языка\r\n * @private\r\n */\r\n _getLang: function () {\r\n\r\n return CoreUI.table.lang.hasOwnProperty(this._options.lang)\r\n ? CoreUI.table.lang[this._options.lang]\r\n : CoreUI.table.lang['ru'];\r\n },\r\n\r\n\r\n /**\r\n * Получение записи по ключу\r\n * @param recordKey\r\n * @return {object|null}\r\n * @private\r\n */\r\n _getRecordByKey: function (recordKey) {\r\n\r\n if (typeof recordKey === 'undefined' || recordKey === '') {\r\n return null;\r\n }\r\n\r\n let record = this._options.records.hasOwnProperty(recordKey)\r\n ? this._options.records[recordKey]\r\n : null;\r\n\r\n if ( ! record) {\r\n return null;\r\n }\r\n\r\n return record;\r\n },\r\n\r\n\r\n /**\r\n * Получение записи по id\r\n * @param {string} primaryKey\r\n * @return {object|null}\r\n * @private\r\n */\r\n _getRecordByPrimaryKey: function (primaryKey) {\r\n\r\n if (typeof primaryKey === 'undefined' || primaryKey === '') {\r\n return null;\r\n }\r\n\r\n let record = null;\r\n let recordKey = null;\r\n let field = this._options.primaryKey;\r\n\r\n $.each(this._options.records, function (key, recordItem) {\r\n if (recordItem.hasOwnProperty(field) && recordItem[field] === primaryKey) {\r\n recordKey = key;\r\n record = recordItem;\r\n return false;\r\n }\r\n });\r\n\r\n if ( ! record) {\r\n return null;\r\n }\r\n\r\n return {\r\n key: recordKey,\r\n record: record,\r\n };\r\n },\r\n\r\n\r\n /**\r\n * Получение элемента строки по ключу\r\n * @param {int} recordKey\r\n * @private\r\n */\r\n _getRowByKey: function (recordKey) {\r\n\r\n return $('#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr[data-record-key=\"' + recordKey + '\"]');\r\n },\r\n\r\n\r\n /**\r\n * Показ указанных записей в таблице\r\n * @param records\r\n * @param total\r\n * @private\r\n */\r\n _viewRecords: function (records, total) {\r\n\r\n this._recordsTotal = CoreUI.table._isNumeric(total) ? parseInt(total) : records.length;\r\n let that = this;\r\n let htmlRecords = '';\r\n let totalPages = this._recordsTotal > 0 && this._recordsPerPage > 0\r\n ? Math.ceil(this._recordsTotal / this._recordsPerPage)\r\n : 1;\r\n\r\n this._options.records = records;\r\n\r\n that._recordsNumber = this._page === 1 ? 1 : ((this._page - 1) * this._recordsPerPage) + 1;\r\n\r\n if (records.length > 0) {\r\n let renderRecorders = [];\r\n\r\n $.each(records, function (key, record) {\r\n renderRecorders.push(that._renderRecord(record, key));\r\n that._recordsNumber++;\r\n });\r\n\r\n htmlRecords = CoreUI.table.ejs.render(CoreUI.table.tpl['table-records.html'], {\r\n records: renderRecorders,\r\n });\r\n\r\n } else {\r\n htmlRecords = CoreUI.table.ejs.render(CoreUI.table.tpl['table-records-empty.html'], {\r\n columnsCount: this._columns.length > 0 ? this._columns.length : 1,\r\n lang: this._getLang(),\r\n });\r\n }\r\n\r\n\r\n let tableContainer = '#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table';\r\n\r\n $(tableContainer + ' > tfoot > tr > td .coreui-table__page_current').text(this._page);\r\n $(tableContainer + ' > tfoot > tr > td .coreui-table__pages_total').text(totalPages);\r\n $(tableContainer + ' > tfoot > tr > td .coreui-table__page_prev').attr('disabled', this._page <= 1);\r\n $(tableContainer + ' > tfoot > tr > td .coreui-table__page_next').attr('disabled', this._page >= totalPages);\r\n\r\n $(tableContainer + ' > tbody').html(htmlRecords);\r\n $('#coreui-table-' + this._options.id + ' .coreui-table__count-total').text(this._recordsTotal);\r\n\r\n this._trigger('show-records.coreui.table', this, [ this ]);\r\n },\r\n\r\n\r\n /**\r\n * @param {object} record\r\n * @param {int} recordKey\r\n * @returns {{ attr: (string), fields: (object) }}}\r\n * @private\r\n */\r\n _renderRecord: function (record, recordKey) {\r\n\r\n let that = this;\r\n let fields = [];\r\n let recordProps = typeof record.coreui === 'object' && ! Array.isArray(record.coreui) ? record.coreui : null;\r\n let recordAttr = {\r\n class: 'coreui-table__record'\r\n };\r\n\r\n $.each(this._columns, function (key, column) {\r\n fields.push(that._renderField(column, record, recordKey));\r\n });\r\n\r\n if (typeof this._options.onClickUrl === 'string' && this._options.onClickUrl) {\r\n recordAttr.class += ' coreui-table_pointer';\r\n }\r\n\r\n if (recordProps) {\r\n recordAttr = CoreUI.table._mergeAttr(recordAttr, recordProps.attr);\r\n }\r\n\r\n let recordAttrResult = [];\r\n\r\n $.each(recordAttr, function (name, value) {\r\n recordAttrResult.push(name + '=\"' + value + '\"');\r\n });\r\n\r\n return {\r\n attr: recordAttrResult.length > 0 ? (' ' + recordAttrResult.join(' ')) : '',\r\n fields: fields\r\n };\r\n },\r\n\r\n\r\n /**\r\n *\r\n * @param {object} column\r\n * @param {object} record\r\n * @param {int} recordKey\r\n * @returns {{ attr: (string), content: (string) }}\r\n * @private\r\n */\r\n _renderField: function (column, record, recordKey) {\r\n\r\n let columnOptions = column.getOptions();\r\n let columnField = typeof columnOptions.field === 'string' ? columnOptions.field : null;\r\n let content = '';\r\n let recordProps = typeof record.coreui === 'object' && ! Array.isArray(record.coreui) ? record.coreui : null;\r\n let fieldProps = recordProps && recordProps.hasOwnProperty('fields') && recordProps.fields.hasOwnProperty(columnField)\r\n ? recordProps.fields[columnField]\r\n : null;\r\n let fieldAttr = typeof columnOptions.attr === 'object' && ! Array.isArray(columnOptions.attr)\r\n ? columnOptions.attr\r\n : {};\r\n\r\n if (fieldProps && typeof fieldProps.attr === 'object' && ! Array.isArray(fieldProps.attr)) {\r\n fieldAttr = CoreUI.table._mergeAttr(fieldAttr, fieldProps.attr);\r\n\r\n }\r\n\r\n if (typeof columnOptions.render === 'function') {\r\n content = columnOptions.render(record);\r\n } else {\r\n content = columnField && record.hasOwnProperty(columnField)\r\n ? record[columnField]\r\n : '';\r\n }\r\n\r\n content = column.render(content, record, recordKey);\r\n\r\n let fieldAttrResult = [];\r\n\r\n $.each(fieldAttr, function (name, value) {\r\n fieldAttrResult.push(name + '=\"' + value + '\"');\r\n });\r\n\r\n return {\r\n attr: fieldAttrResult.length > 0 ? (' ' + fieldAttrResult.join(' ')) : '',\r\n content: content,\r\n };\r\n }\r\n}","//HEAD \nwindow[\"CoreUI\"][\"table\"][\"tpl\"] = {};\n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"table-columns-footer.html\"] = \"\\n\" +\n \" <% $.each(columns, function(key, column) { %>\\n\" +\n \" ><%- column.label %>\\n\" +\n \" <% }); %>\\n\" +\n \"\"; \n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"table-columns.html\"] = \"\\n\" +\n \" <% $.each(columns, function(key, column) { %>\\n\" +\n \" ><%- column.label %>\\n\" +\n \" <% }); %>\\n\" +\n \"\"; \n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"table-loader.html\"] = \"
\\n\" +\n \"
\\n\" +\n \"
\\n\" +\n \"
\\n\" +\n \" <%= lang.loading %>\\n\" +\n \"
\\n\" +\n \"
\"; \n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"table-pages.html\"] = \"\\n\" +\n \" \\\">\\n\" +\n \"
\\n\" +\n \" <% if (table.show.pagesJump) { %>\\n\" +\n \"
\\n\" +\n \"
\\n\" +\n \" \\n\" +\n \" \\n\" +\n \"
\\n\" +\n \"
\\n\" +\n \" <% } %>\\n\" +\n \"\\n\" +\n \" <% if (table.show.pages) { %>\\n\" +\n \"
\\n\" +\n \" \\n\" +\n \"\\n\" +\n \" \\n\" +\n \" <%= currentPage %>\\n\" +\n \" <%= lang.of %>\\n\" +\n \" <%= pagesTotal %>\\n\" +\n \" \\n\" +\n \"\\n\" +\n \" \\n\" +\n \"
\\n\" +\n \" <% } %>\\n\" +\n \"\\n\" +\n \" <% if (table.show.prePageList) { %>\\n\" +\n \"
\\n\" +\n \" \\n\" +\n \"
\\n\" +\n \" <% } %>\\n\" +\n \"
\\n\" +\n \" \\n\" +\n \"\"; \n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"table-records-empty.html\"] = \"\\n\" +\n \" \\\"><%= lang.emptyRecords %>\\n\" +\n \"\"; \n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"table-records.html\"] = \"<% $.each(records, function(key, record) { %>\\n\" +\n \" data-record-key=\\\"<%= key %>\\\">\\n\" +\n \" <% $.each(record.fields, function(key2, field) { %>\\n\" +\n \" ><%- field.content %>\\n\" +\n \" <% }); %>\\n\" +\n \" \\n\" +\n \"<% }); %>\"; \n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"table.html\"] = \"\\n\" +\n \"
\\\" class=\\\"coreui-table\\\"<%- render.attr %>\\n\" +\n \" <% if (widthSizes) { %>style=\\\"<%= widthSizes.join(';') %>\\\"<% } %>>\\n\" +\n \" <% if (render.controls.length > 0) { %>\\n\" +\n \"
\\n\" +\n \" <% $.each(render.controls, function(key, control) { %>\\n\" +\n \"
\\\" class=\\\"coreui-table__control\\\">\\n\" +\n \" <%- control.content %>\\n\" +\n \"
\\n\" +\n \" <% }); %>\\n\" +\n \"
\\n\" +\n \" <% } %>\\n\" +\n \"\\n\" +\n \"\\n\" +\n \"
\\n\" +\n \" <% if (table.show.total) { %>\\n\" +\n \"
\\n\" +\n \" <%= lang.total %>: <%= recordsTotal %>\\n\" +\n \"
\\n\" +\n \" <% } %>\\n\" +\n \"\\n\" +\n \"
style=\\\"<%= heightSizes.join(';') %>\\\"<% } %>>\\n\" +\n \" table-<%= table.size %><% } %> <% if (table.hover) { %>table-hover<% } %> <% if (table.striped) { %>table-striped<% } %> mb-0 <%= table.class %>\\\">\\n\" +\n \" \\n\" +\n \" <% $.each(render.columnGroups, function(key, columnGroup) { %>\\n\" +\n \" style=\\\"width: <%= (columnGroup.width.toString() + columnGroup.unit) %>\\\"<% } %>>\\n\" +\n \" <% }); %>\\n\" +\n \" \\n\" +\n \" <% if (table.show.columnHeaders) { %>\\n\" +\n \" \\n\" +\n \" <%- render.columnsHeader %>\\n\" +\n \" <%- render.columns %>\\n\" +\n \" \\n\" +\n \" <% } %>\\n\" +\n \" \\n\" +\n \" <%- render.records %>\\n\" +\n \" \\n\" +\n \" <% if (render.footer != '' || render.pages != '') { %>\\n\" +\n \" \\n\" +\n \" <%- render.footer %>\\n\" +\n \" <%- render.pages %>\\n\" +\n \" \\n\" +\n \" <% } %>\\n\" +\n \"
\\n\" +\n \"
\\n\" +\n \"
\\n\" +\n \"
\"; \n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"controls/button.html\"] = \"\"; \n\nwindow[\"CoreUI\"][\"table\"][\"tpl\"][\"controls/link.html\"] = \"\\\"<%- render.attr %>><%- control.content %>\"; \n// END ","\r\nvar coreuiTableUtils = {\r\n\r\n\r\n /**\r\n *\r\n */\r\n eval: function (code) {\r\n\r\n (function () {\r\n eval(code);\r\n })();\r\n }\r\n}","\r\nCoreUI.table.columns.date = {\r\n\r\n _table: null,\r\n _options: {\r\n type: 'date',\r\n field: null,\r\n label: null,\r\n width: null,\r\n format: 'DD.MM.YYYY',\r\n attr: {},\r\n attrHeader: {},\r\n render: null\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._table = table;\r\n this._options = $.extend({}, this._options, options);\r\n },\r\n\r\n\r\n /**\r\n * Получение параметров\r\n */\r\n getOptions: function () {\r\n return this._options;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\r\n render: function(content, record, recordKey) {\r\n\r\n if (typeof content !== 'string') {\r\n return '';\r\n }\r\n\r\n\r\n try {\r\n let date = new Date(content);\r\n\r\n content = this._options.format\r\n .replace(/YYYY/g, this._strPadLeft(date.getFullYear(), 4))\r\n .replace(/MM/g, this._strPadLeft(date.getMonth() + 1, 2))\r\n .replace(/M/g, date.getMonth() + 1)\r\n .replace(/DD/g, this._strPadLeft(date.getDate(), 2))\r\n .replace(/D/g, date.getDate());\r\n\r\n } catch (e) {\r\n content = '';\r\n }\r\n\r\n\r\n return content;\r\n },\r\n\r\n\r\n /**\r\n * Размерность строки\r\n * @param {string} str\r\n * @param {int} count\r\n * @param {string} repeat\r\n * @returns {string}\r\n */\r\n _strPadLeft: function (str, count, repeat) {\r\n\r\n str = String(str);\r\n\r\n if (str.length >= count) {\r\n return str;\r\n }\r\n\r\n repeat = repeat ? repeat : '0';\r\n\r\n return (repeat.repeat(count) + str).slice(-(count));\r\n }\r\n}","\r\nCoreUI.table.columns.datetime = {\r\n\r\n _table: null,\r\n _options: {\r\n type: 'datetime',\r\n field: null,\r\n label: null,\r\n width: null,\r\n format: 'DD.MM.YYYY hh:mm:ss',\r\n attr: {},\r\n attrHeader: {},\r\n render: null\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._table = table;\r\n this._options = $.extend({}, this._options, options);\r\n },\r\n\r\n\r\n /**\r\n * Получение параметров\r\n */\r\n getOptions: function () {\r\n return this._options;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\r\n render: function(content, record, recordKey) {\r\n\r\n if (typeof content !== 'string') {\r\n return '';\r\n }\r\n\r\n try {\r\n let date = new Date(content);\r\n\r\n content = this._options.format\r\n .replace(/YYYY/g, this._strPadLeft(date.getFullYear(), 4))\r\n .replace(/MM/g, this._strPadLeft(date.getMonth() + 1, 2))\r\n .replace(/M/g, date.getMonth() + 1)\r\n .replace(/DD/g, this._strPadLeft(date.getDate(), 2))\r\n .replace(/D/g, date.getDate())\r\n .replace(/hh/g, this._strPadLeft(date.getHours(), 2))\r\n .replace(/mm/g, this._strPadLeft(date.getMinutes(), 2))\r\n .replace(/m/g, date.getMinutes())\r\n .replace(/ss/g, this._strPadLeft(date.getSeconds(), 2))\r\n .replace(/s/g, date.getSeconds());\r\n\r\n } catch (e) {\r\n content = '';\r\n }\r\n\r\n\r\n return content;\r\n },\r\n\r\n\r\n /**\r\n * Размерность строки\r\n * @param {string} str\r\n * @param {int} count\r\n * @param {string} repeat\r\n * @returns {string}\r\n */\r\n _strPadLeft: function (str, count, repeat) {\r\n\r\n str = String(str);\r\n\r\n if (str.length >= count) {\r\n return str;\r\n }\r\n\r\n repeat = repeat ? repeat : '0';\r\n\r\n return (repeat.repeat(count) + str).slice(-(count));\r\n }\r\n}","\r\nCoreUI.table.columns.html = {\r\n\r\n _table: null,\r\n _options: {\r\n type: 'html',\r\n field: null,\r\n label: null,\r\n width: null,\r\n attr: {},\r\n attrHeader: {},\r\n render: null\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._table = table;\r\n this._options = $.extend({}, this._options, options);\r\n },\r\n\r\n\r\n /**\r\n * Получение параметров\r\n */\r\n getOptions: function () {\r\n return this._options;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\r\n render: function(content, record, recordKey) {\r\n\r\n if (['string', 'bigint', 'symbol', 'number'].indexOf(typeof content) < 0) {\r\n return '';\r\n }\r\n\r\n return String(content);\r\n }\r\n}","\r\nCoreUI.table.columns.number = {\r\n\r\n _table: null,\r\n _options: {\r\n type: 'number',\r\n field: null,\r\n label: null,\r\n width: null,\r\n attr: {},\r\n attrHeader: {},\r\n render: null\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._table = table;\r\n this._options = $.extend({}, this._options, options);\r\n },\r\n\r\n\r\n /**\r\n * Получение параметров\r\n */\r\n getOptions: function () {\r\n return this._options;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\r\n render: function(content, record, recordKey) {\r\n\r\n if (['string', 'bigint', 'symbol', 'number'].indexOf(typeof content) < 0) {\r\n return '';\r\n }\r\n\r\n content = String(content)\r\n .replace(/,/g, '.')\r\n .replace(/[^0-9\\-\\.]/g, '')\r\n .replace(/[\\s]{2,}/g, ' ');\r\n\r\n content = content.replace(/(?';\r\n let tableWrapper = '#coreui-table-' + table._options.id + ' > .coreui-table__container > .coreui-table__wrapper';\r\n let containers = tableWrapper + ' > table > tbody > tr.coreui-table__record > td.coreui-table__select_container';\r\n\r\n\r\n // Показ строк\r\n this._table.on('show-records.coreui.table', function () {\r\n\r\n // Отмена обработки нажатия в select колонках\r\n $(containers).click(function (event) {\r\n event.stopPropagation();\r\n });\r\n\r\n // Выбор строки\r\n $(containers + ' > .coreui-table__select').click(function (event) {\r\n let recordKey = $(this).val();\r\n let record = table._getRecordByKey(recordKey);\r\n let row = table._getRowByKey(recordKey);\r\n\r\n if ( ! record || ! row) {\r\n return;\r\n }\r\n\r\n if ($(this).is(':checked')) {\r\n $(row).addClass('table-primary');\r\n table._trigger('select.coreui.table', table, [ record ]);\r\n } else {\r\n $(row).removeClass('table-primary');\r\n table._trigger('unselect.coreui.table', table, [ record ]);\r\n }\r\n });\r\n\r\n // Выбор всех строк\r\n $(tableWrapper + ' > table > thead > tr > td > .coreui-table__select-all').click(function (event) {\r\n if ($(this).is(':checked')) {\r\n table.selectAll();\r\n } else {\r\n table.unselectAll();\r\n }\r\n });\r\n });\r\n },\r\n\r\n\r\n /**\r\n * Получение параметров\r\n */\r\n getOptions: function () {\r\n return this._options;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\r\n render: function(content, record, recordKey) {\r\n\r\n return '';\r\n }\r\n}","\r\nCoreUI.table.columns.switch = {\r\n\r\n _table: null,\r\n _options: {\r\n type: 'switch',\r\n label: '',\r\n field: '',\r\n width: 5,\r\n valueY: 'Y',\r\n valueN: 'N',\r\n attr: { class: 'coreui-table__switch_container' },\r\n attrHeader: { },\r\n onChange: null\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._table = table;\r\n this._options = $.extend(true, {}, this._options, options);\r\n let that = this;\r\n let containers = '#coreui-table-' + table._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__switch_container';\r\n\r\n // Показ строк\r\n this._table.on('show-records.coreui.table', function () {\r\n\r\n // Отмена обработки нажатия в switch колонках\r\n $(containers).click(function (event) {\r\n event.stopPropagation();\r\n });\r\n\r\n // События нажатия на переключатель\r\n if (that._options.hasOwnProperty('onChange') &&\r\n (typeof that._options.onChange === 'function' || typeof that._options.onChange === 'string')\r\n ) {\r\n $(containers + ' .coreui-table__switch[data-field=\"' + that._options.field + '\"]').change(function (event) {\r\n let recordKey = $(this).val();\r\n let isChecked = $(this).is(':checked');\r\n let record = table._getRecordByKey(recordKey);\r\n\r\n if (typeof that._options.onChange === 'function') {\r\n that._options.onChange(record, isChecked, this);\r\n\r\n } else if (typeof that._options.onChange === 'string') {\r\n let id = '';\r\n\r\n if (record.hasOwnProperty(table._options.primaryKey)) {\r\n id = record[table._options.primaryKey];\r\n }\r\n\r\n let func = new Function('record', 'checked', 'id', that._options.onChange);\r\n func(record, this, id);\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n });\r\n },\r\n\r\n\r\n /**\r\n * Получение параметров\r\n */\r\n getOptions: function () {\r\n return this._options;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\r\n render: function(content, record, recordKey) {\r\n\r\n let checked = record.hasOwnProperty(this._options.field) && record[this._options.field] === this._options.valueY\r\n ? ' checked=\"checked\"'\r\n : '';\r\n\r\n\r\n return '
' +\r\n '' +\r\n '
';\r\n }\r\n}","\r\nCoreUI.table.columns.text = {\r\n\r\n _table: null,\r\n _options: {\r\n type: 'text',\r\n field: null,\r\n label: null,\r\n width: null,\r\n attr: null,\r\n attrHeader: null,\r\n render: null\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._table = table;\r\n this._options = $.extend({}, this._options, options);\r\n },\r\n\r\n\r\n /**\r\n * Получение параметров\r\n * @returns {object}\r\n */\r\n getOptions: function () {\r\n return this._options;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\r\n render: function(content, record, recordKey) {\r\n\r\n if (['string', 'bigint', 'symbol', 'number'].indexOf(typeof content) < 0) {\r\n return '';\r\n }\r\n\r\n return String(content)\r\n .replace(//g, '>');\r\n }\r\n}","\r\nCoreUI.table.controls.button = {\r\n\r\n _table: null,\r\n _options: {\r\n id: null,\r\n type: 'button',\r\n href: null,\r\n content: null,\r\n onClick: null,\r\n attr: null\r\n },\r\n _render: {\r\n attr: ''\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._options = $.extend({}, this._options, options);\r\n this._table = table;\r\n\r\n if ( ! this._options.id) {\r\n this._options.id = CoreUI.table._hashCode();\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Инициализация событий связанных с элементом управления\r\n */\r\n initEvents: function () {\r\n\r\n let that = this;\r\n\r\n if (typeof this._options.onClick === 'function' || typeof this._options.onClick === 'string') {\r\n $('#coreui-table-' + this._table._options.id + ' #coreui-table-control-' + this._options.id + ' > button')\r\n .click(function (event) {\r\n if (typeof that._options.onClick === 'function') {\r\n that._options.onClick(event, that._table);\r\n\r\n } else if (typeof that._options.onClick === 'string') {\r\n coreuiTableUtils.eval(that._options.onClick);\r\n }\r\n });\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Получение ID элемента управления\r\n * @returns {string}\r\n */\r\n getId: function () {\r\n\r\n return this._options.id;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента для размещения на странице\r\n * @returns {string}\r\n */\r\n render: function() {\r\n\r\n if (typeof this._options.attr === 'object') {\r\n let attributes = [];\r\n\r\n $.each(this._options.attr, function (name, value) {\r\n attributes.push(name + '=\"' + value + '\"');\r\n });\r\n\r\n this._render.attr = ' ' + attributes.join(' ');\r\n }\r\n\r\n\r\n return CoreUI.table.ejs.render(CoreUI.table.tpl['controls/button.html'], {\r\n control: this._options,\r\n render: this._render,\r\n });\r\n }\r\n}","\r\nCoreUI.table.controls.custom = {\r\n\r\n _table: null,\r\n _options: {\r\n id: null,\r\n type: 'custom',\r\n content: null\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._options = $.extend({}, this._options, options);\r\n this._table = table;\r\n\r\n if ( ! this._options.id) {\r\n this._options.id = CoreUI.table._hashCode();\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Инициализация событий связанных с элементом управления\r\n */\r\n initEvents: function () {\r\n\r\n },\r\n\r\n\r\n /**\r\n * Получение ID элемента управления\r\n * @returns {string}\r\n */\r\n getId: function () {\r\n\r\n return this._options.id;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента для размещения на странице\r\n * @returns {string}\r\n */\r\n render: function() {\r\n\r\n return this._options.content;\r\n }\r\n}","\r\nCoreUI.table.controls.link = {\r\n\r\n _table: null,\r\n _options: {\r\n id: null,\r\n type: 'link',\r\n href: null,\r\n content: null,\r\n attr: null\r\n },\r\n _render: {\r\n attr: ''\r\n },\r\n\r\n\r\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\r\n init: function (table, options) {\r\n\r\n this._options = $.extend({}, this._options, options);\r\n this._table = table;\r\n\r\n if ( ! this._options.id) {\r\n this._options.id = CoreUI.table._hashCode();\r\n }\r\n },\r\n\r\n\r\n /**\r\n * Инициализация событий связанных с элементом управления\r\n */\r\n initEvents: function () {\r\n\r\n },\r\n\r\n\r\n /**\r\n * Получение ID элемента управления\r\n * @returns {string}\r\n */\r\n getId: function () {\r\n\r\n return this._options.id;\r\n },\r\n\r\n\r\n /**\r\n * Формирование контента для размещения на странице\r\n * @returns {string}\r\n */\r\n render: function() {\r\n\r\n if (typeof this._options.attr === 'object') {\r\n let attributes = [];\r\n\r\n $.each(this._options.attr, function (name, value) {\r\n attributes.push(name + '=\"' + value + '\"');\r\n });\r\n\r\n this._render.attr = ' ' + attributes.join(' ');\r\n }\r\n\r\n return CoreUI.table.ejs.render(CoreUI.table.tpl['controls/link.html'], {\r\n control: this._options,\r\n render: this._render,\r\n });\r\n }\r\n}","\r\nCoreUI.table.lang.ru = {\r\n \"emptyRecords\": \"No records\",\r\n \"loading\": \"Loading...\",\r\n \"total\": \"Total\",\r\n \"of\": \"of\",\r\n \"all\": \"All\",\r\n}","\r\nCoreUI.table.lang.ru = {\r\n \"emptyRecords\": \"Нет записей\",\r\n \"loading\": \"Загрузка...\",\r\n \"total\": \"Всего\",\r\n \"of\": \"из\",\r\n \"all\": \"Все\",\r\n}"]} \ No newline at end of file +{"version":3,"file":"coreui-table.min.js","sources":["coreui-table.min.js"],"sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.CoreUI = global.CoreUI || {}, global.CoreUI.table = factory());\n}(this, (function () { 'use strict';\n\nfunction _AsyncGenerator(e) {\n var r, t;\n function resume(r, t) {\n try {\n var n = e[r](t),\n o = n.value,\n u = o instanceof _OverloadYield;\n Promise.resolve(u ? o.v : o).then(function (t) {\n if (u) {\n var i = \"return\" === r ? \"return\" : \"next\";\n if (!o.k || t.done) return resume(i, t);\n t = e[i](t).value;\n }\n settle(n.done ? \"return\" : \"normal\", t);\n }, function (e) {\n resume(\"throw\", e);\n });\n } catch (e) {\n settle(\"throw\", e);\n }\n }\n function settle(e, n) {\n switch (e) {\n case \"return\":\n r.resolve({\n value: n,\n done: !0\n });\n break;\n case \"throw\":\n r.reject(n);\n break;\n default:\n r.resolve({\n value: n,\n done: !1\n });\n }\n (r = r.next) ? resume(r.key, r.arg) : t = null;\n }\n this._invoke = function (e, n) {\n return new Promise(function (o, u) {\n var i = {\n key: e,\n arg: n,\n resolve: o,\n reject: u,\n next: null\n };\n t ? t = t.next = i : (r = t = i, resume(e, n));\n });\n }, \"function\" != typeof e.return && (this.return = void 0);\n}\n_AsyncGenerator.prototype[\"function\" == typeof Symbol && Symbol.asyncIterator || \"@@asyncIterator\"] = function () {\n return this;\n}, _AsyncGenerator.prototype.next = function (e) {\n return this._invoke(\"next\", e);\n}, _AsyncGenerator.prototype.throw = function (e) {\n return this._invoke(\"throw\", e);\n}, _AsyncGenerator.prototype.return = function (e) {\n return this._invoke(\"return\", e);\n};\nfunction _OverloadYield(t, e) {\n this.v = t, this.k = e;\n}\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n\n(function (f) {\n if (typeof exports === \"object\" && typeof module !== \"undefined\") {\n module.exports = f();\n } else if (typeof define === \"function\" && define.amd) {\n define([], f);\n } else {\n var g;\n if (typeof window !== \"undefined\") {\n g = window;\n } else if (typeof global !== \"undefined\") {\n g = global;\n } else if (typeof self !== \"undefined\") {\n g = self;\n } else {\n g = this;\n }\n g.ejs = f();\n }\n})(function () {\n return function () {\n function r(e, n, t) {\n function o(i, f) {\n if (!n[i]) {\n if (!e[i]) {\n var c = \"function\" == typeof require && require;\n if (!f && c) return c(i, !0);\n if (u) return u(i, !0);\n var a = new Error(\"Cannot find module '\" + i + \"'\");\n throw a.code = \"MODULE_NOT_FOUND\", a;\n }\n var p = n[i] = {\n exports: {}\n };\n e[i][0].call(p.exports, function (r) {\n var n = e[i][1][r];\n return o(n || r);\n }, p, p.exports, r, e, n, t);\n }\n return n[i].exports;\n }\n for (var u = \"function\" == typeof require && require, i = 0; i < t.length; i++) o(t[i]);\n return o;\n }\n return r;\n }()({\n 1: [function (require, module, exports) {\n \"use strict\";\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n var utils = require(\"./utils\");\n var scopeOptionWarned = false;\n var _VERSION_STRING = require(\"../package.json\").version;\n var _DEFAULT_OPEN_DELIMITER = \"<\";\n var _DEFAULT_CLOSE_DELIMITER = \">\";\n var _DEFAULT_DELIMITER = \"%\";\n var _DEFAULT_LOCALS_NAME = \"locals\";\n var _NAME = \"ejs\";\n var _REGEX_STRING = \"(<%%|%%>|<%=|<%-|<%_|<%#|<%|%>|-%>|_%>)\";\n var _OPTS_PASSABLE_WITH_DATA = [\"delimiter\", \"scope\", \"context\", \"debug\", \"compileDebug\", \"client\", \"_with\", \"rmWhitespace\", \"strict\", \"filename\", \"async\"];\n var _OPTS_PASSABLE_WITH_DATA_EXPRESS = _OPTS_PASSABLE_WITH_DATA.concat(\"cache\");\n var _BOM = /^\\uFEFF/;\n var _JS_IDENTIFIER = /^[a-zA-Z_$][0-9a-zA-Z_$]*$/;\n exports.cache = utils.cache;\n exports.fileLoader = fs.readFileSync;\n exports.localsName = _DEFAULT_LOCALS_NAME;\n exports.promiseImpl = new Function(\"return this;\")().Promise;\n exports.resolveInclude = function (name, filename, isDir) {\n var dirname = path.dirname;\n var extname = path.extname;\n var resolve = path.resolve;\n var includePath = resolve(isDir ? filename : dirname(filename), name);\n var ext = extname(name);\n if (!ext) {\n includePath += \".ejs\";\n }\n return includePath;\n };\n function resolvePaths(name, paths) {\n var filePath;\n if (paths.some(function (v) {\n filePath = exports.resolveInclude(name, v, true);\n return fs.existsSync(filePath);\n })) {\n return filePath;\n }\n }\n function getIncludePath(path, options) {\n var includePath;\n var filePath;\n var views = options.views;\n var match = /^[A-Za-z]+:\\\\|^\\//.exec(path);\n if (match && match.length) {\n path = path.replace(/^\\/*/, \"\");\n if (Array.isArray(options.root)) {\n includePath = resolvePaths(path, options.root);\n } else {\n includePath = exports.resolveInclude(path, options.root || \"/\", true);\n }\n } else {\n if (options.filename) {\n filePath = exports.resolveInclude(path, options.filename);\n if (fs.existsSync(filePath)) {\n includePath = filePath;\n }\n }\n if (!includePath && Array.isArray(views)) {\n includePath = resolvePaths(path, views);\n }\n if (!includePath && typeof options.includer !== \"function\") {\n throw new Error('Could not find the include file \"' + options.escapeFunction(path) + '\"');\n }\n }\n return includePath;\n }\n function handleCache(options, template) {\n var func;\n var filename = options.filename;\n var hasTemplate = arguments.length > 1;\n if (options.cache) {\n if (!filename) {\n throw new Error(\"cache option requires a filename\");\n }\n func = exports.cache.get(filename);\n if (func) {\n return func;\n }\n if (!hasTemplate) {\n template = fileLoader(filename).toString().replace(_BOM, \"\");\n }\n } else if (!hasTemplate) {\n if (!filename) {\n throw new Error(\"Internal EJS error: no file name or template \" + \"provided\");\n }\n template = fileLoader(filename).toString().replace(_BOM, \"\");\n }\n func = exports.compile(template, options);\n if (options.cache) {\n exports.cache.set(filename, func);\n }\n return func;\n }\n function tryHandleCache(options, data, cb) {\n var result;\n if (!cb) {\n if (typeof exports.promiseImpl == \"function\") {\n return new exports.promiseImpl(function (resolve, reject) {\n try {\n result = handleCache(options)(data);\n resolve(result);\n } catch (err) {\n reject(err);\n }\n });\n } else {\n throw new Error(\"Please provide a callback function\");\n }\n } else {\n try {\n result = handleCache(options)(data);\n } catch (err) {\n return cb(err);\n }\n cb(null, result);\n }\n }\n function fileLoader(filePath) {\n return exports.fileLoader(filePath);\n }\n function includeFile(path, options) {\n var opts = utils.shallowCopy(utils.createNullProtoObjWherePossible(), options);\n opts.filename = getIncludePath(path, opts);\n if (typeof options.includer === \"function\") {\n var includerResult = options.includer(path, opts.filename);\n if (includerResult) {\n if (includerResult.filename) {\n opts.filename = includerResult.filename;\n }\n if (includerResult.template) {\n return handleCache(opts, includerResult.template);\n }\n }\n }\n return handleCache(opts);\n }\n function rethrow(err, str, flnm, lineno, esc) {\n var lines = str.split(\"\\n\");\n var start = Math.max(lineno - 3, 0);\n var end = Math.min(lines.length, lineno + 3);\n var filename = esc(flnm);\n var context = lines.slice(start, end).map(function (line, i) {\n var curr = i + start + 1;\n return (curr == lineno ? \" >> \" : \" \") + curr + \"| \" + line;\n }).join(\"\\n\");\n err.path = filename;\n err.message = (filename || \"ejs\") + \":\" + lineno + \"\\n\" + context + \"\\n\\n\" + err.message;\n throw err;\n }\n function stripSemi(str) {\n return str.replace(/;(\\s*$)/, \"$1\");\n }\n exports.compile = function compile(template, opts) {\n var templ;\n if (opts && opts.scope) {\n if (!scopeOptionWarned) {\n console.warn(\"`scope` option is deprecated and will be removed in EJS 3\");\n scopeOptionWarned = true;\n }\n if (!opts.context) {\n opts.context = opts.scope;\n }\n delete opts.scope;\n }\n templ = new Template(template, opts);\n return templ.compile();\n };\n exports.render = function (template, d, o) {\n var data = d || utils.createNullProtoObjWherePossible();\n var opts = o || utils.createNullProtoObjWherePossible();\n if (arguments.length == 2) {\n utils.shallowCopyFromList(opts, data, _OPTS_PASSABLE_WITH_DATA);\n }\n return handleCache(opts, template)(data);\n };\n exports.renderFile = function () {\n var args = Array.prototype.slice.call(arguments);\n var filename = args.shift();\n var cb;\n var opts = {\n filename: filename\n };\n var data;\n var viewOpts;\n if (typeof arguments[arguments.length - 1] == \"function\") {\n cb = args.pop();\n }\n if (args.length) {\n data = args.shift();\n if (args.length) {\n utils.shallowCopy(opts, args.pop());\n } else {\n if (data.settings) {\n if (data.settings.views) {\n opts.views = data.settings.views;\n }\n if (data.settings[\"view cache\"]) {\n opts.cache = true;\n }\n viewOpts = data.settings[\"view options\"];\n if (viewOpts) {\n utils.shallowCopy(opts, viewOpts);\n }\n }\n utils.shallowCopyFromList(opts, data, _OPTS_PASSABLE_WITH_DATA_EXPRESS);\n }\n opts.filename = filename;\n } else {\n data = utils.createNullProtoObjWherePossible();\n }\n return tryHandleCache(opts, data, cb);\n };\n exports.Template = Template;\n exports.clearCache = function () {\n exports.cache.reset();\n };\n function Template(text, opts) {\n opts = opts || utils.createNullProtoObjWherePossible();\n var options = utils.createNullProtoObjWherePossible();\n this.templateText = text;\n this.mode = null;\n this.truncate = false;\n this.currentLine = 1;\n this.source = \"\";\n options.client = opts.client || false;\n options.escapeFunction = opts.escape || opts.escapeFunction || utils.escapeXML;\n options.compileDebug = opts.compileDebug !== false;\n options.debug = !!opts.debug;\n options.filename = opts.filename;\n options.openDelimiter = opts.openDelimiter || exports.openDelimiter || _DEFAULT_OPEN_DELIMITER;\n options.closeDelimiter = opts.closeDelimiter || exports.closeDelimiter || _DEFAULT_CLOSE_DELIMITER;\n options.delimiter = opts.delimiter || exports.delimiter || _DEFAULT_DELIMITER;\n options.strict = opts.strict || false;\n options.context = opts.context;\n options.cache = opts.cache || false;\n options.rmWhitespace = opts.rmWhitespace;\n options.root = opts.root;\n options.includer = opts.includer;\n options.outputFunctionName = opts.outputFunctionName;\n options.localsName = opts.localsName || exports.localsName || _DEFAULT_LOCALS_NAME;\n options.views = opts.views;\n options.async = opts.async;\n options.destructuredLocals = opts.destructuredLocals;\n options.legacyInclude = typeof opts.legacyInclude != \"undefined\" ? !!opts.legacyInclude : true;\n if (options.strict) {\n options._with = false;\n } else {\n options._with = typeof opts._with != \"undefined\" ? opts._with : true;\n }\n this.opts = options;\n this.regex = this.createRegex();\n }\n Template.modes = {\n EVAL: \"eval\",\n ESCAPED: \"escaped\",\n RAW: \"raw\",\n COMMENT: \"comment\",\n LITERAL: \"literal\"\n };\n Template.prototype = {\n createRegex: function () {\n var str = _REGEX_STRING;\n var delim = utils.escapeRegExpChars(this.opts.delimiter);\n var open = utils.escapeRegExpChars(this.opts.openDelimiter);\n var close = utils.escapeRegExpChars(this.opts.closeDelimiter);\n str = str.replace(/%/g, delim).replace(//g, close);\n return new RegExp(str);\n },\n compile: function () {\n var src;\n var fn;\n var opts = this.opts;\n var prepended = \"\";\n var appended = \"\";\n var escapeFn = opts.escapeFunction;\n var ctor;\n var sanitizedFilename = opts.filename ? JSON.stringify(opts.filename) : \"undefined\";\n if (!this.source) {\n this.generateSource();\n prepended += ' var __output = \"\";\\n' + \" function __append(s) { if (s !== undefined && s !== null) __output += s }\\n\";\n if (opts.outputFunctionName) {\n if (!_JS_IDENTIFIER.test(opts.outputFunctionName)) {\n throw new Error(\"outputFunctionName is not a valid JS identifier.\");\n }\n prepended += \" var \" + opts.outputFunctionName + \" = __append;\" + \"\\n\";\n }\n if (opts.localsName && !_JS_IDENTIFIER.test(opts.localsName)) {\n throw new Error(\"localsName is not a valid JS identifier.\");\n }\n if (opts.destructuredLocals && opts.destructuredLocals.length) {\n var destructuring = \" var __locals = (\" + opts.localsName + \" || {}),\\n\";\n for (var i = 0; i < opts.destructuredLocals.length; i++) {\n var name = opts.destructuredLocals[i];\n if (!_JS_IDENTIFIER.test(name)) {\n throw new Error(\"destructuredLocals[\" + i + \"] is not a valid JS identifier.\");\n }\n if (i > 0) {\n destructuring += \",\\n \";\n }\n destructuring += name + \" = __locals.\" + name;\n }\n prepended += destructuring + \";\\n\";\n }\n if (opts._with !== false) {\n prepended += \" with (\" + opts.localsName + \" || {}) {\" + \"\\n\";\n appended += \" }\" + \"\\n\";\n }\n appended += \" return __output;\" + \"\\n\";\n this.source = prepended + this.source + appended;\n }\n if (opts.compileDebug) {\n src = \"var __line = 1\" + \"\\n\" + \" , __lines = \" + JSON.stringify(this.templateText) + \"\\n\" + \" , __filename = \" + sanitizedFilename + \";\" + \"\\n\" + \"try {\" + \"\\n\" + this.source + \"} catch (e) {\" + \"\\n\" + \" rethrow(e, __lines, __filename, __line, escapeFn);\" + \"\\n\" + \"}\" + \"\\n\";\n } else {\n src = this.source;\n }\n if (opts.client) {\n src = \"escapeFn = escapeFn || \" + escapeFn.toString() + \";\" + \"\\n\" + src;\n if (opts.compileDebug) {\n src = \"rethrow = rethrow || \" + rethrow.toString() + \";\" + \"\\n\" + src;\n }\n }\n if (opts.strict) {\n src = '\"use strict\";\\n' + src;\n }\n if (opts.debug) {\n console.log(src);\n }\n if (opts.compileDebug && opts.filename) {\n src = src + \"\\n\" + \"//# sourceURL=\" + sanitizedFilename + \"\\n\";\n }\n try {\n if (opts.async) {\n try {\n ctor = new Function(\"return (async function(){}).constructor;\")();\n } catch (e) {\n if (e instanceof SyntaxError) {\n throw new Error(\"This environment does not support async/await\");\n } else {\n throw e;\n }\n }\n } else {\n ctor = Function;\n }\n fn = new ctor(opts.localsName + \", escapeFn, include, rethrow\", src);\n } catch (e) {\n if (e instanceof SyntaxError) {\n if (opts.filename) {\n e.message += \" in \" + opts.filename;\n }\n e.message += \" while compiling ejs\\n\\n\";\n e.message += \"If the above error is not helpful, you may want to try EJS-Lint:\\n\";\n e.message += \"https://github.com/RyanZim/EJS-Lint\";\n if (!opts.async) {\n e.message += \"\\n\";\n e.message += \"Or, if you meant to create an async function, pass `async: true` as an option.\";\n }\n }\n throw e;\n }\n var returnedFn = opts.client ? fn : function anonymous(data) {\n var include = function (path, includeData) {\n var d = utils.shallowCopy(utils.createNullProtoObjWherePossible(), data);\n if (includeData) {\n d = utils.shallowCopy(d, includeData);\n }\n return includeFile(path, opts)(d);\n };\n return fn.apply(opts.context, [data || utils.createNullProtoObjWherePossible(), escapeFn, include, rethrow]);\n };\n if (opts.filename && typeof Object.defineProperty === \"function\") {\n var filename = opts.filename;\n var basename = path.basename(filename, path.extname(filename));\n try {\n Object.defineProperty(returnedFn, \"name\", {\n value: basename,\n writable: false,\n enumerable: false,\n configurable: true\n });\n } catch (e) {}\n }\n return returnedFn;\n },\n generateSource: function () {\n var opts = this.opts;\n if (opts.rmWhitespace) {\n this.templateText = this.templateText.replace(/[\\r\\n]+/g, \"\\n\").replace(/^\\s+|\\s+$/gm, \"\");\n }\n this.templateText = this.templateText.replace(/[ \\t]*<%_/gm, \"<%_\").replace(/_%>[ \\t]*/gm, \"_%>\");\n var self = this;\n var matches = this.parseTemplateText();\n var d = this.opts.delimiter;\n var o = this.opts.openDelimiter;\n var c = this.opts.closeDelimiter;\n if (matches && matches.length) {\n matches.forEach(function (line, index) {\n var closing;\n if (line.indexOf(o + d) === 0 && line.indexOf(o + d + d) !== 0) {\n closing = matches[index + 2];\n if (!(closing == d + c || closing == \"-\" + d + c || closing == \"_\" + d + c)) {\n throw new Error('Could not find matching close tag for \"' + line + '\".');\n }\n }\n self.scanLine(line);\n });\n }\n },\n parseTemplateText: function () {\n var str = this.templateText;\n var pat = this.regex;\n var result = pat.exec(str);\n var arr = [];\n var firstPos;\n while (result) {\n firstPos = result.index;\n if (firstPos !== 0) {\n arr.push(str.substring(0, firstPos));\n str = str.slice(firstPos);\n }\n arr.push(result[0]);\n str = str.slice(result[0].length);\n result = pat.exec(str);\n }\n if (str) {\n arr.push(str);\n }\n return arr;\n },\n _addOutput: function (line) {\n if (this.truncate) {\n line = line.replace(/^(?:\\r\\n|\\r|\\n)/, \"\");\n this.truncate = false;\n }\n if (!line) {\n return line;\n }\n line = line.replace(/\\\\/g, \"\\\\\\\\\");\n line = line.replace(/\\n/g, \"\\\\n\");\n line = line.replace(/\\r/g, \"\\\\r\");\n line = line.replace(/\"/g, '\\\\\"');\n this.source += ' ; __append(\"' + line + '\")' + \"\\n\";\n },\n scanLine: function (line) {\n var self = this;\n var d = this.opts.delimiter;\n var o = this.opts.openDelimiter;\n var c = this.opts.closeDelimiter;\n var newLineCount = 0;\n newLineCount = line.split(\"\\n\").length - 1;\n switch (line) {\n case o + d:\n case o + d + \"_\":\n this.mode = Template.modes.EVAL;\n break;\n case o + d + \"=\":\n this.mode = Template.modes.ESCAPED;\n break;\n case o + d + \"-\":\n this.mode = Template.modes.RAW;\n break;\n case o + d + \"#\":\n this.mode = Template.modes.COMMENT;\n break;\n case o + d + d:\n this.mode = Template.modes.LITERAL;\n this.source += ' ; __append(\"' + line.replace(o + d + d, o + d) + '\")' + \"\\n\";\n break;\n case d + d + c:\n this.mode = Template.modes.LITERAL;\n this.source += ' ; __append(\"' + line.replace(d + d + c, d + c) + '\")' + \"\\n\";\n break;\n case d + c:\n case \"-\" + d + c:\n case \"_\" + d + c:\n if (this.mode == Template.modes.LITERAL) {\n this._addOutput(line);\n }\n this.mode = null;\n this.truncate = line.indexOf(\"-\") === 0 || line.indexOf(\"_\") === 0;\n break;\n default:\n if (this.mode) {\n switch (this.mode) {\n case Template.modes.EVAL:\n case Template.modes.ESCAPED:\n case Template.modes.RAW:\n if (line.lastIndexOf(\"//\") > line.lastIndexOf(\"\\n\")) {\n line += \"\\n\";\n }\n }\n switch (this.mode) {\n case Template.modes.EVAL:\n this.source += \" ; \" + line + \"\\n\";\n break;\n case Template.modes.ESCAPED:\n this.source += \" ; __append(escapeFn(\" + stripSemi(line) + \"))\" + \"\\n\";\n break;\n case Template.modes.RAW:\n this.source += \" ; __append(\" + stripSemi(line) + \")\" + \"\\n\";\n break;\n case Template.modes.COMMENT:\n break;\n case Template.modes.LITERAL:\n this._addOutput(line);\n break;\n }\n } else {\n this._addOutput(line);\n }\n }\n if (self.opts.compileDebug && newLineCount) {\n this.currentLine += newLineCount;\n this.source += \" ; __line = \" + this.currentLine + \"\\n\";\n }\n }\n };\n exports.escapeXML = utils.escapeXML;\n exports.__express = exports.renderFile;\n exports.VERSION = _VERSION_STRING;\n exports.name = _NAME;\n if (typeof window != \"undefined\") {\n window.ejs = exports;\n }\n }, {\n \"../package.json\": 6,\n \"./utils\": 2,\n fs: 3,\n path: 4\n }],\n 2: [function (require, module, exports) {\n \"use strict\";\n\n var regExpChars = /[|\\\\{}()[\\]^$+*?.]/g;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var hasOwn = function (obj, key) {\n return hasOwnProperty.apply(obj, [key]);\n };\n exports.escapeRegExpChars = function (string) {\n if (!string) {\n return \"\";\n }\n return String(string).replace(regExpChars, \"\\\\$&\");\n };\n var _ENCODE_HTML_RULES = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\"\n };\n var _MATCH_HTML = /[&<>'\"]/g;\n function encode_char(c) {\n return _ENCODE_HTML_RULES[c] || c;\n }\n var escapeFuncStr = \"var _ENCODE_HTML_RULES = {\\n\" + ' \"&\": \"&\"\\n' + ' , \"<\": \"<\"\\n' + ' , \">\": \">\"\\n' + ' , \\'\"\\': \""\"\\n' + ' , \"\\'\": \"'\"\\n' + \" }\\n\" + \" , _MATCH_HTML = /[&<>'\\\"]/g;\\n\" + \"function encode_char(c) {\\n\" + \" return _ENCODE_HTML_RULES[c] || c;\\n\" + \"};\\n\";\n exports.escapeXML = function (markup) {\n return markup == undefined ? \"\" : String(markup).replace(_MATCH_HTML, encode_char);\n };\n function escapeXMLToString() {\n return Function.prototype.toString.call(this) + \";\\n\" + escapeFuncStr;\n }\n try {\n if (typeof Object.defineProperty === \"function\") {\n Object.defineProperty(exports.escapeXML, \"toString\", {\n value: escapeXMLToString\n });\n } else {\n exports.escapeXML.toString = escapeXMLToString;\n }\n } catch (err) {\n console.warn(\"Unable to set escapeXML.toString (is the Function prototype frozen?)\");\n }\n exports.shallowCopy = function (to, from) {\n from = from || {};\n if (to !== null && to !== undefined) {\n for (var p in from) {\n if (!hasOwn(from, p)) {\n continue;\n }\n if (p === \"__proto__\" || p === \"constructor\") {\n continue;\n }\n to[p] = from[p];\n }\n }\n return to;\n };\n exports.shallowCopyFromList = function (to, from, list) {\n list = list || [];\n from = from || {};\n if (to !== null && to !== undefined) {\n for (var i = 0; i < list.length; i++) {\n var p = list[i];\n if (typeof from[p] != \"undefined\") {\n if (!hasOwn(from, p)) {\n continue;\n }\n if (p === \"__proto__\" || p === \"constructor\") {\n continue;\n }\n to[p] = from[p];\n }\n }\n }\n return to;\n };\n exports.cache = {\n _data: {},\n set: function (key, val) {\n this._data[key] = val;\n },\n get: function (key) {\n return this._data[key];\n },\n remove: function (key) {\n delete this._data[key];\n },\n reset: function () {\n this._data = {};\n }\n };\n exports.hyphenToCamel = function (str) {\n return str.replace(/-[a-z]/g, function (match) {\n return match[1].toUpperCase();\n });\n };\n exports.createNullProtoObjWherePossible = function () {\n if (typeof Object.create == \"function\") {\n return function () {\n return Object.create(null);\n };\n }\n if (!({\n __proto__: null\n } instanceof Object)) {\n return function () {\n return {\n __proto__: null\n };\n };\n }\n return function () {\n return {};\n };\n }();\n }, {}],\n 3: [function (require, module, exports) {}, {}],\n 4: [function (require, module, exports) {\n (function (process) {\n function normalizeArray(parts, allowAboveRoot) {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === \".\") {\n parts.splice(i, 1);\n } else if (last === \"..\") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (; up--; up) {\n parts.unshift(\"..\");\n }\n }\n return parts;\n }\n exports.resolve = function () {\n var resolvedPath = \"\",\n resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : process.cwd();\n if (typeof path !== \"string\") {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n } else if (!path) {\n continue;\n }\n resolvedPath = path + \"/\" + resolvedPath;\n resolvedAbsolute = path.charAt(0) === \"/\";\n }\n resolvedPath = normalizeArray(filter(resolvedPath.split(\"/\"), function (p) {\n return !!p;\n }), !resolvedAbsolute).join(\"/\");\n return (resolvedAbsolute ? \"/\" : \"\") + resolvedPath || \".\";\n };\n exports.normalize = function (path) {\n var isAbsolute = exports.isAbsolute(path),\n trailingSlash = substr(path, -1) === \"/\";\n path = normalizeArray(filter(path.split(\"/\"), function (p) {\n return !!p;\n }), !isAbsolute).join(\"/\");\n if (!path && !isAbsolute) {\n path = \".\";\n }\n if (path && trailingSlash) {\n path += \"/\";\n }\n return (isAbsolute ? \"/\" : \"\") + path;\n };\n exports.isAbsolute = function (path) {\n return path.charAt(0) === \"/\";\n };\n exports.join = function () {\n var paths = Array.prototype.slice.call(arguments, 0);\n return exports.normalize(filter(paths, function (p, index) {\n if (typeof p !== \"string\") {\n throw new TypeError(\"Arguments to path.join must be strings\");\n }\n return p;\n }).join(\"/\"));\n };\n exports.relative = function (from, to) {\n from = exports.resolve(from).substr(1);\n to = exports.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== \"\") break;\n }\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== \"\") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split(\"/\"));\n var toParts = trim(to.split(\"/\"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push(\"..\");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join(\"/\");\n };\n exports.sep = \"/\";\n exports.delimiter = \":\";\n exports.dirname = function (path) {\n if (typeof path !== \"string\") path = path + \"\";\n if (path.length === 0) return \".\";\n var code = path.charCodeAt(0);\n var hasRoot = code === 47;\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n matchedSlash = false;\n }\n }\n if (end === -1) return hasRoot ? \"/\" : \".\";\n if (hasRoot && end === 1) {\n return \"/\";\n }\n return path.slice(0, end);\n };\n function basename(path) {\n if (typeof path !== \"string\") path = path + \"\";\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n for (i = path.length - 1; i >= 0; --i) {\n if (path.charCodeAt(i) === 47) {\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n matchedSlash = false;\n end = i + 1;\n }\n }\n if (end === -1) return \"\";\n return path.slice(start, end);\n }\n exports.basename = function (path, ext) {\n var f = basename(path);\n if (ext && f.substr(-1 * ext.length) === ext) {\n f = f.substr(0, f.length - ext.length);\n }\n return f;\n };\n exports.extname = function (path) {\n if (typeof path !== \"string\") path = path + \"\";\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var preDotState = 0;\n for (var i = path.length - 1; i >= 0; --i) {\n var code = path.charCodeAt(i);\n if (code === 47) {\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46) {\n if (startDot === -1) startDot = i;else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n preDotState = -1;\n }\n }\n if (startDot === -1 || end === -1 || preDotState === 0 || preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n return \"\";\n }\n return path.slice(startDot, end);\n };\n function filter(xs, f) {\n if (xs.filter) return xs.filter(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n if (f(xs[i], i, xs)) res.push(xs[i]);\n }\n return res;\n }\n var substr = \"ab\".substr(-1) === \"b\" ? function (str, start, len) {\n return str.substr(start, len);\n } : function (str, start, len) {\n if (start < 0) start = str.length + start;\n return str.substr(start, len);\n };\n }).call(this, require(\"_process\"));\n }, {\n _process: 5\n }],\n 5: [function (require, module, exports) {\n var process = module.exports = {};\n var cachedSetTimeout;\n var cachedClearTimeout;\n function defaultSetTimout() {\n throw new Error(\"setTimeout has not been defined\");\n }\n function defaultClearTimeout() {\n throw new Error(\"clearTimeout has not been defined\");\n }\n (function () {\n try {\n if (typeof setTimeout === \"function\") {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === \"function\") {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n })();\n function runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n return setTimeout(fun, 0);\n }\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n return cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n return cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n }\n function runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n return clearTimeout(marker);\n }\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n return cachedClearTimeout(marker);\n } catch (e) {\n try {\n return cachedClearTimeout.call(null, marker);\n } catch (e) {\n return cachedClearTimeout.call(this, marker);\n }\n }\n }\n var queue = [];\n var draining = false;\n var currentQueue;\n var queueIndex = -1;\n function cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n }\n function drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n while (len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n }\n process.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n };\n function Item(fun, array) {\n this.fun = fun;\n this.array = array;\n }\n Item.prototype.run = function () {\n this.fun.apply(null, this.array);\n };\n process.title = \"browser\";\n process.browser = true;\n process.env = {};\n process.argv = [];\n process.version = \"\";\n process.versions = {};\n function noop() {}\n process.on = noop;\n process.addListener = noop;\n process.once = noop;\n process.off = noop;\n process.removeListener = noop;\n process.removeAllListeners = noop;\n process.emit = noop;\n process.prependListener = noop;\n process.prependOnceListener = noop;\n process.listeners = function (name) {\n return [];\n };\n process.binding = function (name) {\n throw new Error(\"process.binding is not supported\");\n };\n process.cwd = function () {\n return \"/\";\n };\n process.chdir = function (dir) {\n throw new Error(\"process.chdir is not supported\");\n };\n process.umask = function () {\n return 0;\n };\n }, {}],\n 6: [function (require, module, exports) {\n module.exports = {\n name: \"ejs\",\n description: \"Embedded JavaScript templates\",\n keywords: [\"template\", \"engine\", \"ejs\"],\n version: \"3.1.8\",\n author: \"Matthew Eernisse (http://fleegix.org)\",\n license: \"Apache-2.0\",\n bin: {\n ejs: \"./bin/cli.js\"\n },\n main: \"./lib/ejs.js\",\n jsdelivr: \"ejs.min.js\",\n unpkg: \"ejs.min.js\",\n repository: {\n type: \"git\",\n url: \"git://github.com/mde/ejs.git\"\n },\n bugs: \"https://github.com/mde/ejs/issues\",\n homepage: \"https://github.com/mde/ejs\",\n dependencies: {\n jake: \"^10.8.5\"\n },\n devDependencies: {\n browserify: \"^16.5.1\",\n eslint: \"^6.8.0\",\n \"git-directory-deploy\": \"^1.5.1\",\n jsdoc: \"^4.0.2\",\n \"lru-cache\": \"^4.0.1\",\n mocha: \"^10.2.0\",\n \"uglify-js\": \"^3.3.16\"\n },\n engines: {\n node: \">=0.10.0\"\n },\n scripts: {\n test: \"mocha -u tdd\"\n }\n };\n }, {}]\n }, {}, [1])(1);\n});\n\nvar coreuiTableUtils = {\n /**\r\n * Объединение атрибутов\r\n * @param attr1\r\n * @param attr2\r\n * @returns {object}\r\n */\n mergeAttr: function mergeAttr(attr1, attr2) {\n var mergeAttr = Object.assign({}, attr1);\n if (_typeof(attr2) === 'object') {\n $.each(attr2, function (name, value) {\n if (mergeAttr.hasOwnProperty(name)) {\n if (name === 'class') {\n mergeAttr[name] += ' ' + value;\n } else if (name === 'style') {\n mergeAttr[name] += ';' + value;\n } else {\n mergeAttr[name] = value;\n }\n } else {\n mergeAttr[name] = value;\n }\n });\n }\n return mergeAttr;\n },\n /**\r\n * Проверка на число\r\n * @param num\r\n * @returns {boolean}\r\n * @private\r\n */\n isNumeric: function isNumeric(num) {\n return (typeof num === 'number' || typeof num === \"string\" && num.trim() !== '') && !isNaN(num);\n },\n /**\r\n * @returns {string}\r\n * @private\r\n */\n hashCode: function hashCode() {\n return this.crc32((new Date().getTime() + Math.random()).toString()).toString(16);\n },\n /**\r\n * @param str\r\n * @returns {number}\r\n * @private\r\n */\n crc32: function crc32(str) {\n for (var a, o = [], c = 0; c < 256; c++) {\n a = c;\n for (var f = 0; f < 8; f++) {\n a = 1 & a ? 3988292384 ^ a >>> 1 : a >>> 1;\n }\n o[c] = a;\n }\n for (var n = -1, t = 0; t < str.length; t++) {\n n = n >>> 8 ^ o[255 & (n ^ str.charCodeAt(t))];\n }\n return (-1 ^ n) >>> 0;\n }\n};\n\nvar tpl = Object.create(null);\ntpl['table-columns-footer.html'] = ' <% $.each(columns, function(key, column) { %> ><%- column.label %> <% }); %> ';\ntpl['table-columns.html'] = ' <% $.each(columns, function(key, column) { %> ><%- column.label %> <% }); %> ';\ntpl['table-loader.html'] = '
<%= lang.loading %>
';\ntpl['table-pages.html'] = ' \">
<% if (table.show.pagesJump) { %>
<% } %> <% if (table.show.pages) { %>
<%= currentPage %> <%= lang.of %> <%= pagesTotal %>
<% } %> <% if (table.show.prePageList) { %>
<% } %>
';\ntpl['table-records-empty.html'] = ' \"><%= lang.emptyRecords %> ';\ntpl['table-records.html'] = '<% $.each(records, function(key, record) { %> data-record-key=\"<%= key %>\"> <% $.each(record.fields, function(key2, field) { %> ><%- field.content %> <% }); %> <% }); %>';\ntpl['table.html'] = '
\" class=\"coreui-table\"<%- render.attr %> <% if (widthSizes) { %>style=\"<%= widthSizes.join(\\';\\') %>\"<% } %>> <% if (render.controls.length > 0) { %>
<% $.each(render.controls, function(key, control) { %>
\" class=\"coreui-table__control\"> <%- control.content %>
<% }); %>
<% } %>
<% if (table.show.total) { %>
<%= lang.total %>: <%= recordsTotal %>
<% } %>
style=\"<%= heightSizes.join(\\';\\') %>\"<% } %>> table-<%= table.size %><% } %> <% if (table.hover) { %>table-hover<% } %> <% if (table.striped) { %>table-striped<% } %> mb-0 <%= table.class %>\"> <% $.each(render.columnGroups, function(key, columnGroup) { %> style=\"width: <%= (columnGroup.width.toString() + columnGroup.unit) %>\"<% } %>/> <% }); %> <% if (table.show.columnHeaders) { %> <%- render.columnsHeader %> <%- render.columns %> <% } %> <%- render.records %> <% if (render.footer != \\'\\' || render.pages != \\'\\') { %> <%- render.footer %> <%- render.pages %> <% } %>
';\ntpl['controls/button.html'] = '';\ntpl['controls/link.html'] = '\"<%- render.attr %>><%- control.content %>';\n\nvar coreuiTableInstance = {\n _options: {\n id: null,\n \"class\": '',\n primaryKey: 'id',\n lang: 'ru',\n size: 'sm',\n striped: true,\n hover: true,\n width: null,\n minWidth: null,\n maxWidth: null,\n height: null,\n minHeight: null,\n naxHeight: null,\n page: 1,\n recordsPerPage: 25,\n recordsPerPageList: [25, 50, 100, 1000],\n // 0 - all\n pageParam: 'page',\n recordsPerPageParam: 'count',\n method: 'GET',\n url: null,\n // '/mod/index/orders/?page=[page]'\n show: {\n total: false,\n columnHeaders: true,\n pages: false,\n pagesJump: false,\n prePageList: false\n },\n onClick: null,\n onClickUrl: null,\n controls: [],\n columnGroups: [],\n columns: [],\n footer: [],\n records: []\n },\n _page: 1,\n _recordsPerPage: 25,\n _recordsTotal: 0,\n _recordsNumber: 1,\n _columns: [],\n _search: [],\n _filter: [],\n _events: {},\n /**\r\n * Инициализация\r\n * @param {object} options\r\n * @private\r\n */\n _init: function _init(options) {\n this._options = $.extend(true, {}, this._options, options);\n this._events = {};\n if (!this._options.id) {\n this._options.id = coreuiTableUtils.hashCode();\n }\n if (this._options.page > 0) {\n this._page = this._options.page;\n }\n if (this._options.recordsPerPage > 0) {\n this._recordsPerPage = this._options.recordsPerPage;\n }\n var that = this;\n\n // Инициализация колонок\n if (_typeof(this._options.columns) === 'object' && Array.isArray(this._options.columns) && this._options.columns.length > 0) {\n $.each(this._options.columns, function (key, column) {\n if (typeof column.type === 'undefined' || !CoreUI.table.columns.hasOwnProperty(column.type)) {\n column.type = 'text';\n }\n var columnInstance = $.extend(true, {}, CoreUI.table.columns[column.type]);\n columnInstance.init(that, column);\n that._columns.push(columnInstance);\n });\n }\n },\n /**\r\n *\r\n */\n initEvents: function initEvents() {\n var that = this;\n var tableWrapper = '#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper';\n\n // Показ строк\n this.on('show-records.coreui.table', function () {\n // Переход по ссылке\n if (typeof that._options.onClickUrl === 'string' && that._options.onClickUrl) {\n $(tableWrapper + ' > table > tbody > tr.coreui-table__record').click(function () {\n var recordKey = $(this).data('record-key');\n var record = that._getRecordByKey(recordKey);\n if (!record) {\n return;\n }\n var url = that._options.onClickUrl;\n $.each(record, function (field, value) {\n var fieldQuote = field.replace(/([^\\w\\d])/g, '\\\\$1');\n url = url.replace(new RegExp('\\\\[' + fieldQuote + '\\\\]', 'g'), value);\n });\n if (url && url !== '#') {\n location.href = url;\n }\n });\n }\n\n // Событие нажатия на строку\n if (typeof that._options.onClick === 'function') {\n $(tableWrapper + ' > table > tbody > tr.coreui-table__record').click(function (event) {\n var recordKey = $(this).data('record-key');\n var record = that._getRecordByKey(recordKey);\n if (!record) {\n return;\n }\n that._options.onClick(event, record);\n });\n }\n\n // Фиксация колонок\n var colOffset = 0;\n $(tableWrapper + ' > table > thead > tr:last-child > td.coreui-table__fixed_left').each(function () {\n var index = $(this).index() + 1;\n if (index !== 1) {\n $(tableWrapper + ' > table > thead > tr:last-child > td:nth-child(' + index + ')').css('left', colOffset + 'px');\n $(tableWrapper + ' > table > tbody > tr > td:nth-child(' + index + ')').css('left', colOffset + 'px');\n }\n colOffset += $(this).outerWidth();\n });\n colOffset = 0;\n $($(tableWrapper + ' > table > thead > tr:last-child > td.coreui-table__fixed_right').get().reverse()).each(function () {\n var index = $(this).index() + 1;\n if (index !== 1) {\n $(tableWrapper + ' > table > thead > tr:last-child > td:nth-child(' + index + ')').css('right', colOffset + 'px');\n $(tableWrapper + ' > table > tbody > tr > td:nth-child(' + index + ')').css('right', colOffset + 'px');\n }\n colOffset += $(this).outerWidth();\n });\n });\n\n // Страницы\n var btnPrev = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__page_prev');\n if (btnPrev[0]) {\n btnPrev.click(function () {\n if (that._page > 1) {\n that.prevPage();\n }\n });\n }\n var btnNext = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__page_next');\n if (btnNext[0]) {\n btnNext.click(function () {\n that.nextPage();\n });\n }\n var inputGoPage = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__page_go_container input');\n var btnGoPage = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__page_go');\n if (btnGoPage[0]) {\n btnGoPage.click(function () {\n that.goPage(inputGoPage.val());\n });\n inputGoPage.keyup(function (event) {\n \n });\n }\n var selectPerPage = $(tableWrapper + ' > table > tfoot > tr > td .coreui-table__pages_list_container select');\n if (selectPerPage[0]) {\n selectPerPage.change(function () {\n that._page = 1;\n that._recordsPerPage = selectPerPage.val();\n that.reload();\n });\n }\n this._trigger('shown.coreui.table');\n\n // Вызов события показа строк\n if ((!this._options.url || this._options.url === '#') && _typeof(this._options.records) === 'object' && Array.isArray(this._options.records) && this._options.records.length > 0) {\n this._trigger('show-records.coreui.table', this, [this]);\n }\n },\n /**\r\n *\r\n * @returns {*}\r\n */\n getId: function getId() {\n return this._options.id;\n },\n /**\r\n *\r\n * @param element\r\n * @returns {*}\r\n */\n render: function render(element) {\n var that = this;\n var widthSizes = [];\n var heightSizes = [];\n var htmlRecords = '';\n var render = {\n controls: [],\n columnsHeader: [],\n columns: [],\n columnGroups: [],\n records: [],\n footer: '',\n pages: ''\n };\n this._recordsTotal = this._options.records.length;\n if (this._options.width > 0) {\n var unit = typeof this._options.width === 'number' ? 'px' : '';\n widthSizes.push('width:' + this._options.width + unit);\n }\n if (this._options.minWidth > 0) {\n var _unit = typeof this._options.minWidth === 'number' ? 'px' : '';\n widthSizes.push('min-width:' + this._options.minWidth + _unit);\n }\n if (this._options.maxWidth > 0) {\n var _unit2 = typeof this._options.maxWidth === 'number' ? 'px' : '';\n widthSizes.push('max-width:' + this._options.maxWidth + _unit2);\n }\n if (this._options.height > 0) {\n var _unit3 = typeof this._options.height === 'number' ? 'px' : '';\n heightSizes.push('height:' + this._options.height + _unit3);\n }\n if (this._options.minHeight > 0) {\n var _unit4 = typeof this._options.minHeight === 'number' ? 'px' : '';\n heightSizes.push('min-height:' + this._options.minHeight + _unit4);\n }\n if (this._options.maxHeight > 0) {\n var _unit5 = typeof this._options.maxHeight === 'number' ? 'px' : '';\n heightSizes.push('max-height:' + this._options.maxHeight + _unit5);\n }\n\n // Элементы управления\n if (_typeof(this._options.controls) === 'object' && Array.isArray(this._options.controls) && this._options.controls.length > 0) {\n $.each(this._options.controls, function (key, control) {\n if (CoreUI.table.controls.hasOwnProperty(control.type)) {\n var controlInstance = $.extend(true, {}, CoreUI.table.controls[control.type]);\n controlInstance.init(that, control);\n render.controls.push({\n id: controlInstance.getId(),\n content: controlInstance.render()\n });\n that.on('shown.coreui.table', function () {\n controlInstance.initEvents();\n });\n }\n });\n }\n\n // Колонки\n if (this._columns.length > 0) {\n $.each(this._columns, function (key, column) {\n var columnOptions = column.getOptions();\n var attributes = [];\n if (columnOptions.fixed && typeof columnOptions.fixed === 'string') {\n columnOptions.attrHeader = coreuiTableUtils.mergeAttr(columnOptions.attrHeader, {\n \"class\": 'coreui-table__fixed_' + columnOptions.fixed\n });\n columnOptions.attr = coreuiTableUtils.mergeAttr(columnOptions.attr, {\n \"class\": 'coreui-table__fixed_' + columnOptions.fixed\n });\n }\n if (columnOptions.attrHeader && _typeof(columnOptions.attrHeader) === 'object') {\n $.each(columnOptions.attrHeader, function (name, value) {\n attributes.push(name + '=\"' + value + '\"');\n });\n }\n render.columnGroups.push({\n width: columnOptions.hasOwnProperty('width') ? columnOptions.width : '',\n unit: typeof columnOptions.width === 'number' ? 'px' : ''\n });\n render.columns.push({\n attr: attributes.length > 0 ? ' ' + attributes.join(' ') : '',\n label: columnOptions.hasOwnProperty('label') ? columnOptions.label : \"\"\n });\n });\n }\n\n // Строки\n if (this._options.url && this._options.url !== '#') {\n this.on('shown.coreui.table', function () {\n that.load(this._options.url);\n });\n } else {\n if (_typeof(this._options.records) === 'object' && Array.isArray(this._options.records) && this._options.records.length > 0) {\n that._recordsTotal = this._options.records.length;\n $.each(this._options.records, function (key, record) {\n render.records.push(that._renderRecord(record, key));\n that._recordsNumber++;\n });\n htmlRecords = ejs.render(tpl['table-records.html'], {\n records: render.records\n });\n } else {\n htmlRecords = ejs.render(tpl['table-records-empty.html'], {\n columnsCount: this._columns.length ? this._columns.length : 1,\n lang: this._getLang()\n });\n }\n }\n\n // Страницы\n if (_typeof(this._options.show) === 'object' && (this._options.show.pages || this._options.show.pagesJump || this._options.show.prePageList)) {\n var totalPages = this._recordsTotal > 0 && this._recordsPerPage > 0 ? Math.ceil(this._recordsTotal / this._recordsPerPage) : 1;\n if (this._options.recordsPerPageList.indexOf(this._recordsPerPage) < 0) {\n this._options.recordsPerPageList.unshift(this._recordsPerPage);\n }\n render.pages = ejs.render(tpl['table-pages.html'], {\n columnsCount: this._columns.length ? this._columns.length : 1,\n table: this._options,\n lang: this._getLang(),\n currentPage: this._page,\n pagesTotal: totalPages,\n prevPage: this._page > 1,\n nextPage: this._page < totalPages,\n recordsPerPage: this._recordsPerPage,\n recordsPerPageList: this._options.recordsPerPageList\n });\n }\n if (_typeof(this._options.columnGroups) === 'object' && Array.isArray(this._options.columnGroups) && this._options.columnGroups.length > 0) {\n var rows = [];\n $.each(this._options.columnGroups, function (key, headerRow) {\n if (_typeof(headerRow) === 'object' && Array.isArray(headerRow)) {\n var cells = [];\n $.each(headerRow, function (key, headerColumn) {\n if (_typeof(headerColumn) === 'object' && !Array.isArray(headerColumn)) {\n var attributes = [];\n if (headerColumn.attr && _typeof(headerColumn.attr) === 'object') {\n $.each(headerColumn.attr, function (name, value) {\n attributes.push(name + '=\"' + value + '\"');\n });\n }\n cells.push({\n label: headerColumn.hasOwnProperty('label') ? headerColumn.label : '',\n attr: attributes.length > 0 ? ' ' + attributes.join(' ') : ''\n });\n }\n });\n rows.push(ejs.render(tpl['table-columns.html'], {\n columns: cells\n }));\n }\n });\n render.columnsHeader = rows.join('');\n }\n if (_typeof(this._options.footer) === 'object' && Array.isArray(this._options.footer) && this._options.footer.length > 0) {\n var _rows = [];\n $.each(this._options.footer, function (key, footerRow) {\n if (_typeof(footerRow) === 'object' && Array.isArray(footerRow)) {\n var cells = [];\n $.each(footerRow, function (key, footerColumn) {\n if (_typeof(footerColumn) === 'object' && !Array.isArray(footerColumn)) {\n var attributes = [];\n if (footerColumn.attr && _typeof(footerColumn.attr) === 'object') {\n $.each(footerColumn.attr, function (name, value) {\n attributes.push(name + '=\"' + value + '\"');\n });\n }\n cells.push({\n label: footerColumn.hasOwnProperty('label') ? footerColumn.label : '',\n attr: attributes.length > 0 ? ' ' + attributes.join(' ') : ''\n });\n }\n });\n _rows.push(ejs.render(tpl['table-columns-footer.html'], {\n columns: cells\n }));\n }\n });\n render.footer = _rows.join('');\n }\n var htmlColumns = ejs.render(tpl['table-columns.html'], {\n columns: render.columns\n });\n var html = ejs.render(tpl['table.html'], {\n table: this._options,\n lang: this._getLang(),\n widthSizes: widthSizes,\n heightSizes: heightSizes,\n recordsTotal: this._recordsTotal,\n render: {\n columnGroups: render.columnGroups,\n columnsHeader: render.columnsHeader,\n controls: render.controls,\n columns: htmlColumns,\n records: htmlRecords,\n footer: render.footer,\n pages: render.pages\n }\n });\n if (element === undefined) {\n return html;\n }\n\n // Dom element\n var domElement = {};\n if (typeof element === 'string') {\n domElement = document.getElementById(element);\n if (!domElement) {\n return '';\n }\n } else if (element instanceof HTMLElement) {\n domElement = element;\n }\n domElement.innerHTML = html;\n this.initEvents();\n },\n /**\r\n *\r\n */\n lock: function lock() {\n var container = $('#coreui-table-' + this._options.id + ' > .coreui-table__container');\n if (container[0] && !container.find('.coreui-table-lock')[0]) {\n var html = ejs.render(tpl['table-loader.html'], {\n lang: this._getLang()\n });\n container.prepend(html);\n }\n },\n /**\r\n *\r\n */\n unlock: function unlock() {\n $('#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table-lock').hide(50, function () {\n $(this).remove();\n });\n },\n /**\r\n * Загрузка строк\r\n * @param {string} url\r\n * @param {string} method\r\n */\n load: function load(url, method) {\n this.lock();\n var that = this;\n var params = {};\n if (url.match(/\\[page\\]/)) {\n url = url.replace(/\\[page\\]/, this._page);\n } else {\n params[this._options.pageParam] = this._page;\n }\n if (url.match(/\\[per_page\\]/)) {\n url = url.replace(/\\[per_page\\]/, this._recordsPerPage);\n } else {\n params[this._options.recordsPerPageParam] = this._recordsPerPage;\n }\n if (Object.keys(params).length > 0) {\n url += url.match(/\\?/) ? '&' + $.param(params) : '?' + $.param(params);\n }\n $.ajax({\n url: url,\n method: method || 'GET',\n dataType: \"json\",\n beforeSend: function beforeSend(xhr) {\n that._trigger('start-load-records.coreui.table', that, [that, xhr]);\n },\n success: function success(result) {\n if (result.hasOwnProperty('records') && _typeof(result.records) === 'object' && Array.isArray(result.records)) {\n var total = result.hasOwnProperty('total') && coreuiTableUtils.isNumeric(result.total) ? result.total : null;\n that._viewRecords(result.records, total);\n } else {\n that._viewRecords([]);\n }\n },\n error: function error(xhr, textStatus, errorThrown) {\n that._viewRecords([]);\n that._trigger('error-load-records.coreui.table', that, [that, xhr, textStatus, errorThrown]);\n },\n complete: function complete(xhr, textStatus) {\n that.unlock();\n that._trigger('end-load-records.coreui.table', that, [that, xhr, textStatus]);\n }\n });\n },\n /**\r\n * Перезагрузка записей в таблице\r\n */\n reload: function reload() {\n if (this._options.url && this._options.url !== '#') {\n this.load(this._options.url, this._options.method);\n }\n },\n /**\r\n * Выбор всех записей в таблице\r\n */\n selectAll: function selectAll() {\n var tableContainer = '#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table';\n $(tableContainer + ' > thead > tr > td > .coreui-table__select-all').prop('checked', true);\n $(tableContainer + ' > tbody > tr.coreui-table__record').addClass('table-primary');\n $(tableContainer + ' > tbody > tr.coreui-table__record > td > .coreui-table__select').prop('checked', true);\n this._trigger('select-all.coreui.table', this);\n },\n /**\r\n * Отмена выбор всех записей в таблице\r\n */\n unselectAll: function unselectAll() {\n var tableContainer = '#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table';\n $(tableContainer + ' > thead > tr > td > .coreui-table__select-all').prop('checked', false);\n $(tableContainer + ' > tbody > tr.coreui-table__record').removeClass('table-primary');\n $(tableContainer + ' > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select').prop('checked', false);\n this._trigger('unselect-all.coreui.table', this);\n },\n /**\r\n * Выбор записи в таблице\r\n * @param {string} primaryKey\r\n */\n selectRecord: function selectRecord(primaryKey) {\n var recordItem = this._getRecordByPrimaryKey(primaryKey);\n if (!recordItem) {\n return;\n }\n var row = this._getRowByKey(recordItem.key);\n if (!row) {\n return;\n }\n $(row).addClass('table-primary');\n $('.coreui-table__select', row).prop('checked', true);\n this._trigger('select.coreui.table', this, [recordItem.record]);\n },\n /**\r\n * Отмена выбора записи в таблице\r\n * @param {string} primaryKey\r\n */\n unselectRecord: function unselectRecord(primaryKey) {\n var recordItem = this._getRecordByPrimaryKey(primaryKey);\n if (!recordItem) {\n return;\n }\n var row = this._getRowByKey(recordItem.key);\n if (!row) {\n return;\n }\n $(row).removeClass('table-primary');\n $('.coreui-table__select', row).prop('checked', false);\n this._trigger('unselect.coreui.table', this, [recordItem.record]);\n },\n /**\r\n * Получение выбранных id\r\n * @return {array}\r\n */\n getSelected: function getSelected() {\n var primaryKeys = [];\n var that = this;\n var field = this._options.primaryKey;\n $('#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select:checked').each(function (key, element) {\n var record = that._getRecordByKey($(element).val());\n if (!record || !record.hasOwnProperty(field)) {\n return;\n }\n primaryKeys.push(record[field]);\n });\n return primaryKeys;\n },\n /**\r\n * Получение выбранных записей\r\n * @return {array}\r\n */\n getSelectedRecords: function getSelectedRecords() {\n var records = [];\n var that = this;\n $('#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__select_container > .coreui-table__select:checked').each(function (key, element) {\n var record = that._getRecordByKey($(element).val());\n if (!record) {\n return;\n }\n records.push(record);\n });\n return records;\n },\n /**\r\n * Получение записи по id\r\n * @param primaryKey\r\n * @return {object|null}\r\n */\n getRecord: function getRecord(primaryKey) {\n var recordItem = this._getRecordByPrimaryKey(primaryKey);\n if (!recordItem) {\n return null;\n }\n return recordItem.record;\n },\n /**\r\n * Получение записей\r\n */\n getRecords: function getRecords() {\n return this._options.records;\n },\n /**\r\n * Переход к предыдущей странице\r\n */\n prevPage: function prevPage() {\n if (this._page > 1) {\n this._page--;\n this.reload();\n }\n },\n /**\r\n * Переход к следующей странице\r\n * @return {array}\r\n */\n nextPage: function nextPage() {\n var totalPages = this._recordsTotal > 0 && this._recordsPerPage > 0 ? Math.ceil(this._recordsTotal / this._recordsPerPage) : 1;\n if (this._page < totalPages) {\n this._page++;\n this.reload();\n }\n },\n /**\r\n * Переход к указанной странице\r\n */\n goPage: function goPage(page) {\n if (page >= 1) {\n this._page = page;\n this.reload();\n }\n },\n /**\r\n * @param eventName\r\n * @param callback\r\n * @param context\r\n * @param singleExec\r\n */\n on: function on(eventName, callback, context, singleExec) {\n if (_typeof(this._events[eventName]) !== 'object') {\n this._events[eventName] = [];\n }\n this._events[eventName].push({\n context: context || this,\n callback: callback,\n singleExec: !!singleExec\n });\n },\n /**\r\n * @param name\r\n * @param context\r\n * @param params\r\n * @private\r\n */\n _trigger: function _trigger(name, context, params) {\n params = params || [];\n if (this._events[name] instanceof Object && this._events[name].length > 0) {\n for (var i = 0; i < this._events[name].length; i++) {\n var callback = this._events[name][i].callback;\n context = context || this._events[name][i].context;\n callback.apply(context, params);\n if (this._events[name][i].singleExec) {\n this._events[name].splice(i, 1);\n }\n }\n }\n },\n /**\r\n * Получение настроек языка\r\n * @private\r\n */\n _getLang: function _getLang() {\n return CoreUI.table.lang.hasOwnProperty(this._options.lang) ? CoreUI.table.lang[this._options.lang] : CoreUI.table.lang['ru'];\n },\n /**\r\n * Получение записи по ключу\r\n * @param recordKey\r\n * @return {object|null}\r\n * @private\r\n */\n _getRecordByKey: function _getRecordByKey(recordKey) {\n if (typeof recordKey === 'undefined' || recordKey === '') {\n return null;\n }\n var record = this._options.records.hasOwnProperty(recordKey) ? this._options.records[recordKey] : null;\n if (!record) {\n return null;\n }\n return record;\n },\n /**\r\n * Получение записи по id\r\n * @param {string} primaryKey\r\n * @return {object|null}\r\n * @private\r\n */\n _getRecordByPrimaryKey: function _getRecordByPrimaryKey(primaryKey) {\n if (typeof primaryKey === 'undefined' || primaryKey === '') {\n return null;\n }\n var record = null;\n var recordKey = null;\n var field = this._options.primaryKey;\n $.each(this._options.records, function (key, recordItem) {\n if (recordItem.hasOwnProperty(field) && recordItem[field] === primaryKey) {\n recordKey = key;\n record = recordItem;\n return false;\n }\n });\n if (!record) {\n return null;\n }\n return {\n key: recordKey,\n record: record\n };\n },\n /**\r\n * Получение элемента строки по ключу\r\n * @param {int} recordKey\r\n * @private\r\n */\n _getRowByKey: function _getRowByKey(recordKey) {\n return $('#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr[data-record-key=\"' + recordKey + '\"]');\n },\n /**\r\n * Показ указанных записей в таблице\r\n * @param records\r\n * @param total\r\n * @private\r\n */\n _viewRecords: function _viewRecords(records, total) {\n this._recordsTotal = coreuiTableUtils.isNumeric(total) ? parseInt(total) : records.length;\n var that = this;\n var htmlRecords = '';\n var totalPages = this._recordsTotal > 0 && this._recordsPerPage > 0 ? Math.ceil(this._recordsTotal / this._recordsPerPage) : 1;\n this._options.records = records;\n that._recordsNumber = this._page === 1 ? 1 : (this._page - 1) * this._recordsPerPage + 1;\n if (records.length > 0) {\n var renderRecorders = [];\n $.each(records, function (key, record) {\n renderRecorders.push(that._renderRecord(record, key));\n that._recordsNumber++;\n });\n htmlRecords = ejs.render(tpl['table-records.html'], {\n records: renderRecorders\n });\n } else {\n htmlRecords = ejs.render(tpl['table-records-empty.html'], {\n columnsCount: this._columns.length > 0 ? this._columns.length : 1,\n lang: this._getLang()\n });\n }\n var tableContainer = '#coreui-table-' + this._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table';\n $(tableContainer + ' > tfoot > tr > td .coreui-table__page_current').text(this._page);\n $(tableContainer + ' > tfoot > tr > td .coreui-table__pages_total').text(totalPages);\n $(tableContainer + ' > tfoot > tr > td .coreui-table__page_prev').attr('disabled', this._page <= 1);\n $(tableContainer + ' > tfoot > tr > td .coreui-table__page_next').attr('disabled', this._page >= totalPages);\n $(tableContainer + ' > tbody').html(htmlRecords);\n $('#coreui-table-' + this._options.id + ' .coreui-table__count-total').text(this._recordsTotal);\n this._trigger('show-records.coreui.table', this, [this]);\n },\n /**\r\n * @param {object} record\r\n * @param {int} recordKey\r\n * @returns {{ attr: (string), fields: (object) }}}\r\n * @private\r\n */\n _renderRecord: function _renderRecord(record, recordKey) {\n var that = this;\n var fields = [];\n var recordProps = _typeof(record.coreui) === 'object' && !Array.isArray(record.coreui) ? record.coreui : null;\n var recordAttr = {\n \"class\": 'coreui-table__record'\n };\n $.each(this._columns, function (key, column) {\n fields.push(that._renderField(column, record, recordKey));\n });\n if (typeof this._options.onClickUrl === 'string' && this._options.onClickUrl) {\n recordAttr[\"class\"] += ' coreui-table_pointer';\n }\n if (recordProps) {\n recordAttr = coreuiTableUtils.mergeAttr(recordAttr, recordProps.attr);\n }\n var recordAttrResult = [];\n $.each(recordAttr, function (name, value) {\n recordAttrResult.push(name + '=\"' + value + '\"');\n });\n return {\n attr: recordAttrResult.length > 0 ? ' ' + recordAttrResult.join(' ') : '',\n fields: fields\n };\n },\n /**\r\n *\r\n * @param {object} column\r\n * @param {object} record\r\n * @param {int} recordKey\r\n * @returns {{ attr: (string), content: (string) }}\r\n * @private\r\n */\n _renderField: function _renderField(column, record, recordKey) {\n var columnOptions = column.getOptions();\n var columnField = typeof columnOptions.field === 'string' ? columnOptions.field : null;\n var content = '';\n var recordProps = _typeof(record.coreui) === 'object' && !Array.isArray(record.coreui) ? record.coreui : null;\n var fieldProps = recordProps && recordProps.hasOwnProperty('fields') && recordProps.fields.hasOwnProperty(columnField) ? recordProps.fields[columnField] : null;\n var fieldAttr = _typeof(columnOptions.attr) === 'object' && !Array.isArray(columnOptions.attr) ? columnOptions.attr : {};\n if (fieldProps && _typeof(fieldProps.attr) === 'object' && !Array.isArray(fieldProps.attr)) {\n fieldAttr = coreuiTableUtils.mergeAttr(fieldAttr, fieldProps.attr);\n }\n if (typeof columnOptions.render === 'function') {\n content = columnOptions.render(record);\n } else {\n content = columnField && record.hasOwnProperty(columnField) ? record[columnField] : '';\n }\n content = column.render(content, record, recordKey);\n var fieldAttrResult = [];\n $.each(fieldAttr, function (name, value) {\n fieldAttrResult.push(name + '=\"' + value + '\"');\n });\n return {\n attr: fieldAttrResult.length > 0 ? ' ' + fieldAttrResult.join(' ') : '',\n content: content\n };\n }\n};\n\nvar coreuiTable$1 = {\n columns: {},\n controls: {},\n filters: {},\n search: {},\n lang: {},\n _instances: {},\n /**\r\n * @param {object} options\r\n * @returns {CoreUI.table.instance}\r\n */\n create: function create(options) {\n var instance = $.extend(true, {}, coreuiTableInstance);\n instance._init(options instanceof Object ? options : {});\n var tableId = instance.getId();\n this._instances[tableId] = instance;\n return instance;\n },\n /**\r\n * @param {string} id\r\n * @returns {CoreUI.table.instance|null}\r\n */\n get: function get(id) {\n if (!this._instances.hasOwnProperty(id)) {\n return null;\n }\n if (!$('#coreui-table-' + id)[0]) {\n delete this._instances[id];\n return null;\n }\n return this._instances[id];\n }\n};\n\ncoreuiTable$1.lang.ru = {\n \"emptyRecords\": \"Нет записей\",\n \"loading\": \"Загрузка...\",\n \"total\": \"Всего\",\n \"of\": \"из\",\n \"all\": \"Все\"\n};\n\ncoreuiTable$1.lang.ru = {\n \"emptyRecords\": \"No records\",\n \"loading\": \"Loading...\",\n \"total\": \"Total\",\n \"of\": \"of\",\n \"all\": \"All\"\n};\n\ncoreuiTable$1.controls.button = {\n _table: null,\n _options: {\n id: null,\n type: 'button',\n href: null,\n content: null,\n onClick: null,\n attr: null\n },\n _render: {\n attr: ''\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._options = $.extend({}, this._options, options);\n this._table = table;\n if (!this._options.id) {\n this._options.id = coreuiTableUtils.hashCode();\n }\n },\n /**\r\n * Инициализация событий связанных с элементом управления\r\n */\n initEvents: function initEvents() {\n var that = this;\n if (typeof this._options.onClick === 'function' || typeof this._options.onClick === 'string') {\n $('#coreui-table-' + this._table._options.id + ' #coreui-table-control-' + this._options.id + ' > button').click(function (event) {\n if (typeof that._options.onClick === 'function') {\n that._options.onClick(event, that._table);\n } else if (typeof that._options.onClick === 'string') {\n new Function(that._options.onClick)();\n }\n });\n }\n },\n /**\r\n * Получение ID элемента управления\r\n * @returns {string}\r\n */\n getId: function getId() {\n return this._options.id;\n },\n /**\r\n * Формирование контента для размещения на странице\r\n * @returns {string}\r\n */\n render: function render() {\n if (_typeof(this._options.attr) === 'object') {\n var attributes = [];\n $.each(this._options.attr, function (name, value) {\n attributes.push(name + '=\"' + value + '\"');\n });\n this._render.attr = ' ' + attributes.join(' ');\n }\n return ejs.render(tpl['controls/button.html'], {\n control: this._options,\n render: this._render\n });\n }\n};\n\ncoreuiTable$1.controls.custom = {\n _table: null,\n _options: {\n id: null,\n type: 'custom',\n content: null\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._options = $.extend({}, this._options, options);\n this._table = table;\n if (!this._options.id) {\n this._options.id = coreuiTableUtils.hashCode();\n }\n },\n /**\r\n * Инициализация событий связанных с элементом управления\r\n */\n initEvents: function initEvents() {},\n /**\r\n * Получение ID элемента управления\r\n * @returns {string}\r\n */\n getId: function getId() {\n return this._options.id;\n },\n /**\r\n * Формирование контента для размещения на странице\r\n * @returns {string}\r\n */\n render: function render() {\n return this._options.content;\n }\n};\n\ncoreuiTable$1.controls.link = {\n _table: null,\n _options: {\n id: null,\n type: 'link',\n href: null,\n content: null,\n attr: null\n },\n _render: {\n attr: ''\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._options = $.extend({}, this._options, options);\n this._table = table;\n if (!this._options.id) {\n this._options.id = coreuiTableUtils.hashCode();\n }\n },\n /**\r\n * Инициализация событий связанных с элементом управления\r\n */\n initEvents: function initEvents() {},\n /**\r\n * Получение ID элемента управления\r\n * @returns {string}\r\n */\n getId: function getId() {\n return this._options.id;\n },\n /**\r\n * Формирование контента для размещения на странице\r\n * @returns {string}\r\n */\n render: function render() {\n if (_typeof(this._options.attr) === 'object') {\n var attributes = [];\n $.each(this._options.attr, function (name, value) {\n attributes.push(name + '=\"' + value + '\"');\n });\n this._render.attr = ' ' + attributes.join(' ');\n }\n return ejs.render(tpl['controls/link.html'], {\n control: this._options,\n render: this._render\n });\n }\n};\n\ncoreuiTable$1.columns.date = {\n _table: null,\n _options: {\n type: 'date',\n field: null,\n label: null,\n width: null,\n format: 'DD.MM.YYYY',\n attr: {},\n attrHeader: {},\n render: null\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._table = table;\n this._options = $.extend({}, this._options, options);\n },\n /**\r\n * Получение параметров\r\n */\n getOptions: function getOptions() {\n return this._options;\n },\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\n render: function render(content, record, recordKey) {\n if (typeof content !== 'string') {\n return '';\n }\n try {\n var date = new Date(content);\n content = this._options.format.replace(/YYYY/g, this._strPadLeft(date.getFullYear(), 4)).replace(/MM/g, this._strPadLeft(date.getMonth() + 1, 2)).replace(/M/g, date.getMonth() + 1).replace(/DD/g, this._strPadLeft(date.getDate(), 2)).replace(/D/g, date.getDate());\n } catch (e) {\n content = '';\n }\n return content;\n },\n /**\r\n * Размерность строки\r\n * @param {string} str\r\n * @param {int} count\r\n * @param {string} repeat\r\n * @returns {string}\r\n */\n _strPadLeft: function _strPadLeft(str, count, repeat) {\n str = String(str);\n if (str.length >= count) {\n return str;\n }\n repeat = repeat ? repeat : '0';\n return (repeat.repeat(count) + str).slice(-count);\n }\n};\n\ncoreuiTable$1.columns.datetime = {\n _table: null,\n _options: {\n type: 'datetime',\n field: null,\n label: null,\n width: null,\n format: 'DD.MM.YYYY hh:mm:ss',\n attr: {},\n attrHeader: {},\n render: null\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._table = table;\n this._options = $.extend({}, this._options, options);\n },\n /**\r\n * Получение параметров\r\n */\n getOptions: function getOptions() {\n return this._options;\n },\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\n render: function render(content, record, recordKey) {\n if (typeof content !== 'string') {\n return '';\n }\n try {\n var date = new Date(content);\n content = this._options.format.replace(/YYYY/g, this._strPadLeft(date.getFullYear(), 4)).replace(/MM/g, this._strPadLeft(date.getMonth() + 1, 2)).replace(/M/g, date.getMonth() + 1).replace(/DD/g, this._strPadLeft(date.getDate(), 2)).replace(/D/g, date.getDate()).replace(/hh/g, this._strPadLeft(date.getHours(), 2)).replace(/mm/g, this._strPadLeft(date.getMinutes(), 2)).replace(/m/g, date.getMinutes()).replace(/ss/g, this._strPadLeft(date.getSeconds(), 2)).replace(/s/g, date.getSeconds());\n } catch (e) {\n content = '';\n }\n return content;\n },\n /**\r\n * Размерность строки\r\n * @param {string} str\r\n * @param {int} count\r\n * @param {string} repeat\r\n * @returns {string}\r\n */\n _strPadLeft: function _strPadLeft(str, count, repeat) {\n str = String(str);\n if (str.length >= count) {\n return str;\n }\n repeat = repeat ? repeat : '0';\n return (repeat.repeat(count) + str).slice(-count);\n }\n};\n\ncoreuiTable$1.columns.html = {\n _table: null,\n _options: {\n type: 'html',\n field: null,\n label: null,\n width: null,\n attr: {},\n attrHeader: {},\n render: null\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._table = table;\n this._options = $.extend({}, this._options, options);\n },\n /**\r\n * Получение параметров\r\n */\n getOptions: function getOptions() {\n return this._options;\n },\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\n render: function render(content, record, recordKey) {\n if (['string', 'bigint', 'symbol', 'number'].indexOf(_typeof(content)) < 0) {\n return '';\n }\n return String(content);\n }\n};\n\ncoreuiTable$1.columns.number = {\n _table: null,\n _options: {\n type: 'number',\n field: null,\n label: null,\n width: null,\n attr: {},\n attrHeader: {},\n render: null\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._table = table;\n this._options = $.extend({}, this._options, options);\n },\n /**\r\n * Получение параметров\r\n */\n getOptions: function getOptions() {\n return this._options;\n },\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\n render: function render(content, record, recordKey) {\n if (['string', 'bigint', 'symbol', 'number'].indexOf(_typeof(content)) < 0) {\n return '';\n }\n content = String(content).replace(/,/g, '.').replace(/[^0-9\\-\\.]/g, '').replace(/[\\s]{2,}/g, ' ');\n content = content.replace(/(?';\n var tableWrapper = '#coreui-table-' + table._options.id + ' > .coreui-table__container > .coreui-table__wrapper';\n var containers = tableWrapper + ' > table > tbody > tr.coreui-table__record > td.coreui-table__select_container';\n\n // Показ строк\n this._table.on('show-records.coreui.table', function () {\n // Отмена обработки нажатия в select колонках\n $(containers).click(function (event) {\n event.stopPropagation();\n });\n\n // Выбор строки\n $(containers + ' > .coreui-table__select').click(function (event) {\n var recordKey = $(this).val();\n var record = table._getRecordByKey(recordKey);\n var row = table._getRowByKey(recordKey);\n if (!record || !row) {\n return;\n }\n if ($(this).is(':checked')) {\n $(row).addClass('table-primary');\n table._trigger('select.coreui.table', table, [record]);\n } else {\n $(row).removeClass('table-primary');\n table._trigger('unselect.coreui.table', table, [record]);\n }\n });\n\n // Выбор всех строк\n $(tableWrapper + ' > table > thead > tr > td > .coreui-table__select-all').click(function (event) {\n if ($(this).is(':checked')) {\n table.selectAll();\n } else {\n table.unselectAll();\n }\n });\n });\n },\n /**\r\n * Получение параметров\r\n */\n getOptions: function getOptions() {\n return this._options;\n },\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\n render: function render(content, record, recordKey) {\n return '';\n }\n};\n\ncoreuiTable$1.columns[\"switch\"] = {\n _table: null,\n _options: {\n type: 'switch',\n label: '',\n field: '',\n width: 5,\n valueY: 'Y',\n valueN: 'N',\n attr: {\n \"class\": 'coreui-table__switch_container'\n },\n attrHeader: {},\n onChange: null\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._table = table;\n this._options = $.extend(true, {}, this._options, options);\n var that = this;\n var containers = '#coreui-table-' + table._options.id + ' > .coreui-table__container > .coreui-table__wrapper > table > tbody > tr.coreui-table__record > td.coreui-table__switch_container';\n\n // Показ строк\n this._table.on('show-records.coreui.table', function () {\n // Отмена обработки нажатия в switch колонках\n $(containers).click(function (event) {\n event.stopPropagation();\n });\n\n // События нажатия на переключатель\n if (that._options.hasOwnProperty('onChange') && (typeof that._options.onChange === 'function' || typeof that._options.onChange === 'string')) {\n $(containers + ' .coreui-table__switch[data-field=\"' + that._options.field + '\"]').change(function (event) {\n var recordKey = $(this).val();\n var isChecked = $(this).is(':checked');\n var record = table._getRecordByKey(recordKey);\n if (typeof that._options.onChange === 'function') {\n that._options.onChange(record, isChecked, this);\n } else if (typeof that._options.onChange === 'string') {\n var id = '';\n if (record.hasOwnProperty(table._options.primaryKey)) {\n id = record[table._options.primaryKey];\n }\n var func = new Function('record', 'checked', 'id', that._options.onChange);\n func(record, this, id);\n }\n return false;\n });\n }\n });\n },\n /**\r\n * Получение параметров\r\n */\n getOptions: function getOptions() {\n return this._options;\n },\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\n render: function render(content, record, recordKey) {\n var checked = record.hasOwnProperty(this._options.field) && record[this._options.field] === this._options.valueY ? ' checked=\"checked\"' : '';\n return '
' + '' + '
';\n }\n};\n\ncoreuiTable$1.columns.text = {\n _table: null,\n _options: {\n type: 'text',\n field: null,\n label: null,\n width: null,\n attr: null,\n attrHeader: null,\n render: null\n },\n /**\r\n * Инициализация\r\n * @param {CoreUI.table.instance} table\r\n * @param {object} options\r\n */\n init: function init(table, options) {\n this._table = table;\n this._options = $.extend({}, this._options, options);\n },\n /**\r\n * Получение параметров\r\n * @returns {object}\r\n */\n getOptions: function getOptions() {\n return this._options;\n },\n /**\r\n * Формирование контента\r\n * @param {string} content\r\n * @param {object} record\r\n * @param {string} recordKey\r\n * @returns {string}\r\n */\n render: function render(content, record, recordKey) {\n if (['string', 'bigint', 'symbol', 'number'].indexOf(_typeof(content)) < 0) {\n return '';\n }\n return String(content).replace(//g, '>');\n }\n};\n\nreturn coreuiTable$1;\n\n})));\n"],"names":["global","factory","exports","module","define","amd","CoreUI","table","this","_typeof","o","Symbol","iterator","constructor","prototype","f","window","self","ejs","r","e","n","t","i","c","require","u","a","Error","code","p","call","length","1","fs","path","utils","scopeOptionWarned","_VERSION_STRING","version","_OPTS_PASSABLE_WITH_DATA","_OPTS_PASSABLE_WITH_DATA_EXPRESS","concat","_BOM","_JS_IDENTIFIER","resolvePaths","name","paths","filePath","some","v","resolveInclude","existsSync","handleCache","options","template","func","filename","hasTemplate","arguments","cache","get","fileLoader","toString","replace","compile","set","includeFile","opts","shallowCopy","createNullProtoObjWherePossible","includePath","views","match","exec","Array","isArray","root","includer","escapeFunction","includerResult","rethrow","err","str","flnm","lineno","esc","lines","split","start","Math","max","end","min","context","slice","map","line","curr","join","message","stripSemi","Template","text","templateText","mode","truncate","currentLine","source","client","escape","escapeXML","compileDebug","debug","openDelimiter","closeDelimiter","delimiter","strict","rmWhitespace","outputFunctionName","localsName","async","destructuredLocals","legacyInclude","_with","regex","createRegex","readFileSync","promiseImpl","Function","Promise","isDir","dirname","extname","resolve","scope","console","warn","render","d","data","shallowCopyFromList","renderFile","cb","result","args","shift","pop","settings","viewOpts","reject","clearCache","reset","modes","EVAL","ESCAPED","RAW","COMMENT","LITERAL","delim","escapeRegExpChars","open","close","RegExp","fn","prepended","appended","escapeFn","sanitizedFilename","JSON","stringify","generateSource","test","destructuring","src","log","ctor","SyntaxError","returnedFn","apply","includeData","Object","defineProperty","basename","value","writable","enumerable","configurable","matches","parseTemplateText","forEach","index","indexOf","closing","scanLine","firstPos","pat","arr","push","substring","_addOutput","newLineCount","lastIndexOf","__express","VERSION","../package.json","./utils","2","hasOwn","obj","key","hasOwnProperty","regExpChars","_ENCODE_HTML_RULES","string","String","&","<",">","\"","'","_MATCH_HTML","encode_char","escapeXMLToString","markup","undefined","to","from","list","_data","val","remove","hyphenToCamel","toUpperCase","create","__proto__","3","4","process","normalizeArray","parts","allowAboveRoot","up","last","splice","unshift","filter","xs","res","resolvedPath","resolvedAbsolute","cwd","TypeError","charAt","normalize","isAbsolute","trailingSlash","substr","relative","trim","fromParts","toParts","samePartsLength","outputParts","sep","hasRoot","charCodeAt","matchedSlash","ext","startDot","startPart","preDotState","len","_process","5","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","runClearTimeout","marker","Item","array","noop","nextTick","title","browser","env","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","chdir","dir","umask","6","description","keywords","author","license","bin","main","jsdelivr","unpkg","repository","type","url","bugs","homepage","dependencies","jake","devDependencies","browserify","eslint","git-directory-deploy","jsdoc","lru-cache","mocha","uglify-js","engines","node","scripts","coreuiTableUtils","mergeAttr","attr1","attr2","assign","$","each","isNumeric","num","isNaN","hashCode","crc32","Date","getTime","random","tpl","coreuiTableInstance","_options","id","class","primaryKey","lang","size","striped","hover","width","minWidth","maxWidth","height","minHeight","naxHeight","page","recordsPerPage","recordsPerPageList","pageParam","recordsPerPageParam","method","show","total","columnHeaders","pages","pagesJump","prePageList","onClick","onClickUrl","controls","columnGroups","columns","footer","records","_page","_recordsPerPage","_recordsTotal","_recordsNumber","_columns","_search","_filter","_events","_init","extend","that","column","columnInstance","init","initEvents","tableWrapper","btnPrev","click","recordKey","record","_getRecordByKey","field","fieldQuote","location","href","event","colOffset","css","outerWidth","reverse","btnNext","prevPage","inputGoPage","nextPage","btnGoPage","selectPerPage","goPage","keyup","change","reload","_trigger","getId","element","rows","_rows","widthSizes","heightSizes","htmlRecords","columnsHeader","htmlColumns","unit","_unit","_unit2","_unit3","_unit4","maxHeight","_unit5","control","controlInstance","content","columnOptions","getOptions","attributes","fixed","attrHeader","attr","label","load","_renderRecord","columnsCount","_getLang","totalPages","ceil","currentPage","pagesTotal","headerRow","cells","headerColumn","footerRow","footerColumn","html","recordsTotal","domElement","document","getElementById","HTMLElement","innerHTML","lock","container","find","prepend","unlock","hide","params","keys","param","ajax","dataType","beforeSend","xhr","success","_viewRecords","error","textStatus","errorThrown","complete","selectAll","tableContainer","prop","addClass","unselectAll","removeClass","selectRecord","row","recordItem","_getRecordByPrimaryKey","_getRowByKey","unselectRecord","getSelected","primaryKeys","getSelectedRecords","getRecord","getRecords","eventName","callback","singleExec","parseInt","renderRecorders","fields","recordProps","coreui","recordAttr","recordAttrResult","_renderField","columnField","fieldProps","fieldAttr","fieldAttrResult","coreuiTable$1","filters","search","_instances","instance","tableId","ru","emptyRecords","loading","of","all","button","_table","_render","custom","link","date","format","_strPadLeft","getFullYear","getMonth","getDate","count","repeat","datetime","getHours","getMinutes","getSeconds","number","numbers","select","_mergeAttr","containers","stopPropagation","is","valueY","valueN","onChange","isChecked"],"mappings":"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"} \ No newline at end of file