UNPKG

framework7

Version:

Full featured mobile HTML framework for building iOS & Android apps

1 lines 4.18 kB
(function framework7ComponentLoader(e,t){void 0===t&&(t=!0);document,window;var i=e.$,r=(e.Template7,e.utils),a=(e.device,e.support,e.Class),l=(e.Modal,e.ConstructorMethods),c=(e.ModalMethods,function(s){function e(e,t){void 0===t&&(t={}),s.call(this,t,[e]);var c=this,a={};c.useModulesParams(a),c.params=r.extend(a,t);var o=i(c.params.el);if(0!==o.length){if(c.$el=o,c.el=o[0],c.$el[0].f7DataTable){var l=c.$el[0].f7DataTable;return c.destroy(),l}return c.$el[0].f7DataTable=c,r.extend(c,{collapsible:o.hasClass("data-table-collapsible"),$headerEl:o.find(".data-table-header"),$headerSelectedEl:o.find(".data-table-header-selected")}),c.attachEvents=function(){c.$el.on("change",'.checkbox-cell input[type="checkbox"]',d),c.$el.find("thead .sortable-cell").on("click",n)},c.detachEvents=function(){c.$el.off("change",'.checkbox-cell input[type="checkbox"]',d),c.$el.find("thead .sortable-cell").off("click",n)},c.useModules(),c.init(),c}function d(e){if(!e.detail||!e.detail.sentByF7DataTable){var t=i(this),a=t[0].checked,l=t.parents("td,th").index();0<t.parents("thead").length?(0===l&&o.find("tbody tr")[a?"addClass":"removeClass"]("data-table-row-selected"),o.find("tbody tr td:nth-child("+(l+1)+") input").prop("checked",a).trigger("change",{sentByF7DataTable:!0})):(0===l&&t.parents("tr")[a?"addClass":"removeClass"]("data-table-row-selected"),a?o.find("tbody .checkbox-cell:nth-child("+(l+1)+') input[type="checkbox"]:checked').length===o.find("tbody tr").length&&o.find("thead .checkbox-cell:nth-child("+(l+1)+') input[type="checkbox"]').prop("checked",!0).trigger("change",{sentByF7DataTable:!0}):o.find("thead .checkbox-cell:nth-child("+(l+1)+') input[type="checkbox"]').prop("checked",!1)),c.checkSelectedHeader()}}function n(){var e,t=i(this),a=t.hasClass("sortable-cell-active"),l=t.hasClass("sortable-desc")?"desc":"asc";a?(e="desc"===l?"asc":"desc",t.removeClass("sortable-desc sortable-asc").addClass("sortable-"+e)):(o.find("thead .sortable-cell-active").removeClass("sortable-cell-active"),t.addClass("sortable-cell-active"),e=l),t.trigger("datatable:sort",e),c.emit("local::sort dataTableSort",c,e)}}return s&&(e.__proto__=s),((e.prototype=Object.create(s&&s.prototype)).constructor=e).prototype.setCollapsibleLabels=function(){var o=this;o.collapsible&&o.$el.find("tbody td:not(.checkbox-cell)").each(function(e,t){var a=i(t),l=a.index(),c=a.attr("data-collapsible-title");c||""===c||a.attr("data-collapsible-title",o.$el.find("thead th").eq(l).text())})},e.prototype.checkSelectedHeader=function(){var e=this;if(0<e.$headerEl.length&&0<e.$headerSelectedEl.length){var t=e.$el.find("tbody .checkbox-cell input:checked").length;e.$el[0<t?"addClass":"removeClass"]("data-table-has-checked"),e.$headerSelectedEl.find(".data-table-selected-count").text(t)}},e.prototype.init=function(){var e=this;e.attachEvents(),e.setCollapsibleLabels(),e.checkSelectedHeader()},e.prototype.destroy=function(){var e=this;e.$el.trigger("datatable:beforedestroy",e),e.emit("local::beforeDestroy dataTableBeforeDestroy",e),e.attachEvents(),e.$el[0]&&(e.$el[0].f7DataTable=null,delete e.$el[0].f7DataTable),r.deleteProps(e),e=null},e}(a)),o={name:"dataTable",static:{DataTable:c},create:function(){this.dataTable=l({defaultSelector:".data-table",constructor:c,app:this,domProp:"f7DataTable"})},on:{tabBeforeRemove:function(e){var a=this;i(e).find(".data-table-init").each(function(e,t){a.dataTable.destroy(t)})},tabMounted:function(e){var a=this;i(e).find(".data-table-init").each(function(e,t){a.dataTable.create({el:t})})},pageBeforeRemove:function(e){var a=this;e.$el.find(".data-table-init").each(function(e,t){a.dataTable.destroy(t)})},pageInit:function(e){var a=this;e.$el.find(".data-table-init").each(function(e,t){a.dataTable.create({el:t})})}},vnode:{"data-table-init":{insert:function(e){var t=e.elm;this.dataTable.create({el:t})},destroy:function(e){var t=e.elm;this.dataTable.destroy(t)}}}};if(t){if(e.prototype.modules&&e.prototype.modules[o.name])return;e.use(o),e.instance&&(e.instance.useModuleParams(o,e.instance.params),e.instance.useModule(o))}return o}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))