@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines • 6.38 kB
JavaScript
/* @license */
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`),require(`kendo.icons.min.js`),require(`kendo.button.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`,`kendo.icons.min`,`kendo.button.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.ActionsheetView={}),e.kendo._globals.Core,e.kendo._globals.Icons,e.kendo._globals.Button))})(this,function(e,t,n,r){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let i={id:`actionsheet.view`,name:`ActionSheet View`,category:`web`,description:`The ActionSheet View.`,depends:[`core`,`icons`,`button`]};(function(e){let t=kendo.htmlEncode,n=kendo.ui.Widget,r=kendo.template,i=e.extend,a=kendo.guid(),o=`k-disabled`,s=`aria-disabled`,c=/^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/,l=`k-actionsheet-view`,u=`k-actionsheet-content`,d=e=>{let t=e.startButton?`<div class="k-actionsheet-actions">`+kendo.html.renderButton(`<button ${kendo.attr(`ref-actionsheet-start-button`)} aria-label="${e.startButton.text||`Start`}"></button>`,{icon:`chevron-left`,fillMode:`flat`,size:`large`,...e.startButton})+`</div>`:``;e.closeButton&&``+kendo.html.renderButton(`<button ${kendo.attr(`ref-actionsheet-close-button`)}></button>`,{icon:`x`,fillMode:`flat`,size:`large`});let n=e.subtitle||e.subtitle===``?`<div class="k-actionsheet-subtitle k-text-center">${e.subtitle||``}</div>`:``;return`<div class="k-text-center k-actionsheet-titlebar" >`+(e.title||e.title===``?`<div class="k-actionsheet-titlebar-group k-hbox">`+t+`<div id="${a}" class="k-actionsheet-title"><div class="k-text-center">${e.title}</div>`+n+`</div>`+(e.closeButton?`<div class="k-actionsheet-actions">`+kendo.html.renderButton(`<button ${kendo.attr(`ref-actionsheet-close-button`)} aria-label="${e.closeButton.text||`Close`}"></button>`,{icon:`x`,fillMode:`flat`,size:`large`,...e.closeButton})+`</div>`:``)+`</div>`:``)+`</div>`},f=({disabled:e,icon:n,text:r,description:i})=>`<span role="button" tabindex="0" class="k-actionsheet-item ${e?o:``}"><span class="k-actionsheet-action">`+(n?`<span class="k-icon-wrap">${n}</span>`:``)+`<span class="k-actionsheet-item-text"><span class="k-actionsheet-item-title">${t(r)}</span>${i?`<span class="k-actionsheet-item-description">`+t(i)+`</span>`:``}</span></span></span>`,p={text:``,description:``,iconClass:``,iconSize:0,iconColor:``,click:e.noop,group:`top`,disabled:!1},m={text:``,icon:``,iconClass:``,click:e.noop,disabled:!1};function h(t){var n,r={};return!t.iconClass&&!t.icon?``:(n=e(kendo.html.renderIcon({icon:t.icon,iconClass:t.iconClass+` k-actionsheet-item-icon`})),t.iconColor&&c.test(t.iconColor)?r.color=t.iconColor:t.iconColor&&n.addClass(`k-text-`+t.iconColor),t.iconSize&&(r.fontSize=t.iconSize+`px`),Object.keys(r).length&&n.css(r),n)}function g(e){return i({},p,e)}function _(e){return i({},m,e)}let v=n.extend({init:function(e,t){let r=this;t||={},n.fn.init.call(r,e,t),t=i(!0,{},r.options,t),r._hasItems=t.items&&t.items.length,r._hasActionButtons=t.actionButtons&&t.actionButtons.length,r.index=t.index||1,r.ref=r.options.ref,r._mapItems(),r._mapActionButtons(),r._createContent(),r._createHeader(),r._createFooter(),r._wrapInView()},options:{id:`actionsheet-view`,name:`ActionSheetView`,headerTemplate:null,contentTemplate:null,footerTemplate:null,actionButtons:[],title:null,items:[],actionButtonsAlignment:`stretched`,actionButtonsOrientation:`horizontal`,closeButton:!1,startButton:!1,ref:`actionsheet-view`,addAnimationClass:!1},_hasOtherView:function(){let e=this.element.children(`.${l}`);return e.length&&e.last()},_mapItems:function(){var e=this;e._hasItems&&(e.options.items=e.options.items.map(g))},_mapActionButtons:function(){var e=this;e._hasActionButtons&&(e.options.actionButtons=e.options.actionButtons.map(_))},_createContent:function(t){let n=this,i=n.options,a=e(`<div class='${u}'></div>`),o=n._hasOtherView();o&&o.length?n.element.append(a):n.element.wrapInner(a);let s=n._content=n.element.children(`.`+u);if(n._hasItems){s.empty(),n._items();return}(i.contentTemplate||t)&&s.html(r(t||i.contentTemplate)(i))},_items:function(){var e=this;if(e._hasItems){var t=e.options.items.reduce((e,t)=>{let n=t.group||`top`;return e[n]=e[n]||[],e[n].push(t),e},new Map),n=t.top,r=t.bottom;e._createItems(n),n&&n.length&&r&&r.length&&e._content.append(`<hr class="k-hr" />`),e._createItems(r)}},_createItems:function(t){var n=this,a,o,s,c,l=n._content,u=e(`<div class='k-list-ul' role='group'></div>`),d;if(!(!t||!t.length))for(l.append(u),s=r(f),a=0;a<t.length;a++)o=t[a],d=h(o),c=e(s(i({},o,{icon:d&&d.prop(`outerHTML`)}))),u.append(c),o.click&&c.data(`action`,o.click)},_createHeader:function(){var t=this,n=t.options;if(!n.title&&n.title!==``&&!n.headerTemplate)return;let i=t._hasOtherView();t._header=e(r(n.headerTemplate||d)(n)),i&&i.length?t._content.before(t._header):t.element.prepend(t._header)},_createFooter:function(t){let n=this,i=n.options,a;if(!(!n._hasActionButtons&&!i.footerTemplate&&!t)){if(a=n._footer=e(`<div class='k-actionsheet-footer'></div>`),a.insertAfter(n._content),n._hasActionButtons){a.addClass(`k-actions k-actions-${i.actionButtonsAlignment} k-actions-${i.actionButtonsOrientation}`),n._createActionButtons();return}(i.footerTemplate||t)&&n._footer.append(r(t||i.footerTemplate)(i))}},_createActionButtons:function(){for(var t=this,n=t.options.actionButtons,r=t._footer,i,a=0;a<n.length;a++){var c=n[a],l=c.disabled!==!0;i=e(kendo.html.renderButton(`<button ref-actionsheet-action-button>${c.text||``}</button>`,e.extend({size:`large`},c))),r.append(i),i.toggleClass(o,!l),i.attr(`disabled`,!l),l?i.removeAttr(s):i.attr(s,!l),c.click&&i.data(`action`,c.click)}},_wrapInView:function(){let t=this;t.wrapper&&t.wrapper.hasClass(l)||(t.wrapper=t._content.add(t._footer).add(t._header).wrapAll(e(`<div ref-${t.options.ref} class='${l}${t.options.addAnimationClass?` k-actionsheet-view-animated`:``}'></div>`)).parent())},destroy:function(){let e=this;n.fn.destroy.call(e),e._content&&=(e._content.remove(),null),e._footer&&=(e._footer.remove(),null),e._header&&=(e._header.remove(),null),e.wrapper&&=(e.wrapper.remove(),null)}});kendo.ui.plugin(v)})(window.kendo.jQuery);var a=kendo;e.__meta__=i,e.default=a});
//# sourceMappingURL=kendo.actionsheet.view.min.js.map