UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 8.26 kB
module.exports=function(e){function t(r){if(i[r])return i[r].exports;var n=i[r]={exports:{},id:r,loaded:!1};return e[r].call(n.exports,n,n.exports,t),n.loaded=!0,n.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}({0:function(e,t,i){e.exports=i(1074)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1049:function(e,t){e.exports=require("./kendo.core")},1074:function(e,t,i){var r,n,o;!function(a,define){n=[i(1049)],r=a,o="function"==typeof r?r.apply(t,n):r,!(void 0!==o&&(e.exports=o))}(function(){return function(e,t){var i=window.kendo,r=i.ui.Widget,n=e.extend,o=e.isPlainObject,a=e.proxy,s=".kendoBreadcrumb",l="aria-hidden",p="aria-label",d="click",c="focus",u="blur",m="keydown",h="change",f=".",v={widget:"k-widget k-breadcrumb",overlay:"k-breadcrumb-container",textbox:"k-textbox",link:"k-breadcrumb-link",item:"k-breadcrumb-item",delimiter:"k-breadcrumb-delimiter-icon",rootItem:"k-breadcrumb-root-item",rootLink:"k-breadcrumb-root-link",overflowIcon:"k-breadcrumb-overflow-icon",focused:"k-state-focused",hidden:"k-hidden",inputWrapper:"k-breadcrumb-input-container"},w=r.extend({init:function(e,t){var n=this;t=t||{},r.fn.init.call(n,e,t),n._wrapper(),t.editable&&(n._editable(),n._tabindex()),n.wrapper.on(d+s,"a:not(.k-state-disabled)",a(n._click,n)),t.value||t.bindToLocation||!t.items?n._value():t.items&&n.items(t.items),n._resizeHandler=i.onResize(function(){n.resize(!0)})},options:{editable:!1,navigational:!1,bindToLocation:!1,items:null,name:"Breadcrumb",gap:0,rootIcon:"home",delimiterIcon:"arrow-chevron-right",messages:{rootTitle:"Go to root"}},events:[h,d],destroy:function(){var e=this;r.fn.destroy.call(e),i.unbindResize(e._resizeHandler),e.wrapper.add(e.wrapper.find("input")).add(e.wrapper.find("a")).off(s)},items:function(e){var i=this;return e===t?i.options.items:(i.options.items=e,i._segments=e,i.refresh(),t)},_update:function(e){var t=this;e!==t.value()&&(t._generateSegments(e),t.refresh(),t.trigger(h,{sender:this,value:e}))},_generateSegments:function(e){var i,r,n=this,o=n.options,a=o.items,s=n._split(e);if(!a)return n.options.items=n._segments=s,t;for(n._segments=[],r=0;r<s.length;r++)i=n._path(a.slice(0,r+1)),n._segments.push(""!==i&&e.indexOf(i)>-1&&a[r]&&a[r].text===s[r]?a[r]:s[r])},_click:function(t){var i=this,r=i.options,n=e(t.target).closest(f+v.item),o=n.prevAll().addBack(),a=i._getItems(o),s=i._path(a),l=i._segments[n.index()];r.navigational||t.preventDefault(),i.trigger(d,{sender:i,originalEvent:t,isRoot:"rootitem"===l.type,item:l})||i._update(s)},_getItems:function(t){var i=this;return e.map(t,function(t){return i._segments[e(t).index()]||t.innerText})},_edit:function(){var e=this,t=e.input;e.oldValue=e.value(),e.inputWrapper.css("height",e.wrapper.height()),e.overlay.hide(),e.input.val(e.value()),e.input.attr(l,!1),e.inputWrapper.show(),setTimeout(function(){t.select()})},_blur:function(e){var t=this,i=t.input,r=t.inputWrapper,n=t.wrapper,o=t.overlay,a=i.val().replace(/\/{2,}/g,"/");o.is(":visible")||(e&&(a=t.oldValue),i.attr(l,!0),r.hide(),o.show(),i.val(""),t._update(a),n.removeClass(v.focused))},_keydown:function(e){var t=this,r=e.keyCode,n=r===i.keys.ENTER,o=r===i.keys.ESC;(n||o)&&(t._blur(o),setTimeout(function(){t.overlay.find("a:first").focus()}))},isNavigational:function(e){var t=e.hasClass(v.textbox)||e.closest(f+v.item);return e[0]!==this.wrapper[0]&&(t&&!e.hasClass("k-breadcrumb-last-item"))},_wrapperKeydown:function(t){var r=this,n=e(t.target),o=r.isNavigational(n);t.keyCode!==i.keys.ENTER||o||r._edit()},_wrapperClick:function(t){var i=this,r=e(t.target),n=i.isNavigational(r);n||this._edit()},_wrapperFocus:function(t){e(t.target).addClass(v.focused)},_wrapperBlur:function(t){e(t.target).removeClass(v.focused)},_wrapper:function(){var t=this,i=this.element,r=i.is("input");t.wrapper=r?i.wrap(e("<nav />")).parent():i,r?(t.element.wrap(e("<div />").addClass(v.inputWrapper)).addClass(v.textbox).parent().hide(),t.inputWrapper=t.wrapper.find(f+v.inputWrapper)):t.inputWrapper=t.wrapper.append(e("<div />").addClass(v.inputWrapper)).find(f+v.inputWrapper).hide(),t.wrapper.addClass(v.widget),t.wrapper.attr(p,"Breadcrumb"),t.overlay=t.wrapper.append(e("<ol />").addClass(v.overlay)).find(f+v.overlay)},_editable:function(){var t=this,i=t.element,r=i.is("input");t.input=r?t.element:e("<input />"),t.inputWrapper.append(t.input),t.input.addClass(v.textbox).attr(l,!0),t.input.on(u+s,a(t._blur,t,!1)).on(m+s,a(t._keydown,t)),t.wrapper.on(c+s,a(t._wrapperFocus,t)).on(u+s,a(t._wrapperBlur,t)).on(m+s,a(t._wrapperKeydown,t)).on(d+s,a(t._wrapperClick,t))},_value:function(){var e=this,t=e.options;e.value(t.value?t.value:t.bindToLocation?window.location.href.replace(/http(s?):\/\//,"").replace(/\/$/,""):"")},_split:function(e){return e.split("/").filter(function(e,t){return!(t>0&&""===e)})},isRtl:function(){return i.support.isRtl(this.wrapper)},refresh:function(){var r,a,s,l,p=this,d=p.options,c=d.messages,u=p.options.delimiterIcon,m="",h="",f=""===p.value(),w=p._segments;for("arrow-chevron-right"==u&&p.isRtl()&&(u="arrow-chevron-left"),a=0,s=w.length;a<s;a++)r=w[a],l=a===w.length-1,r!==t&&(m?h+=r.text||r||"":h="/","string"==typeof r?(r={type:m?"item":"rootitem",href:d.navigational?h:"#",text:r,showIcon:!m,showText:!!m,icon:m?"":d.rootIcon,itemClass:m?"":"k-breadcrumb-root-item",linkClass:m?"":v.rootLink,delimiterIcon:u,renderDelimiter:!l&&!f,lastSegment:l,iconClass:""},p._segments.splice(a,1,r)):o(r)&&(r=n({},r,{type:r.type?r.type.toLowerCase():"item"}),r=n({},r,{text:r.text||"",title:r.text||"",icon:r.icon||("rootitem"===r.type?d.rootIcon:""),iconClass:r.iconClass||"",lastSegment:l,renderDelimiter:!l&&w.length>1,href:d.navigational?r.href:"#",delimiterIcon:u,itemClass:r.itemClass||"",linkClass:r.linkClass||"",showIcon:r.showIcon===t?"rootitem"===r.type&&"item"!==r.type:r.showIcon,showText:r.showText===t?"item"===r.type&&"rootitem"!==r.type:r.showText}),"rootitem"===r.type&&(r.itemClass+=" k-breadcrumb-root-item",r.linkClass+=" "+v.rootLink)),"rootitem"===r.type&&""===r.text&&(r.title=c.rootTitle),h+=h.match(/\/$/)?"":"/",m+=i.template(this.itemTemplate)(r));this.overlay.empty().append(e(m)),this.resize(!0)},itemTemplate:'<li class="k-breadcrumb-item #:itemClass# #if(lastSegment){#k-breadcrumb-last-item#}#"><a href="#:href#" class="#:linkClass# #if(type !== "rootitem"){# k-breadcrumb-link#}##if(showText && showIcon){# k-breadcrumb-icontext-link#}##if(showIcon && !showText){# k-breadcrumb-icon-link#}##if(lastSegment && type !== "rootitem"){# k-state-disabled#}#"#if(lastSegment){# aria-current="page"#}# title="#:text || title#">#if(showIcon) {#<span class="#if(icon){#k-icon k-i-#:icon##}# #:iconClass#"></span>#}##if(showText) {##:text##}#</a>#if(renderDelimiter) {#<span class="k-breadcrumb-delimiter-icon k-icon k-i-#:delimiterIcon#" aria-hidden="true"></span>#}##if(type === "rootitem" && renderDelimiter) {#<span class="k-breadcrumb-delimiter-icon k-hidden k-icon k-i-#:delimiterIcon#" aria-hidden="true"></span>#}#</li>',_displayOverflowIcons:function(e){var t=this,i=t.wrapper.find(f+v.rootItem);e?i.find(f+v.delimiter).addClass(v.overflowIcon).removeClass(v.hidden):i.find(f+v.overflowIcon).removeClass(v.overflowIcon).last().addClass(v.hidden)},_shrinkItems:function(){var t,r,n=this,o=n.wrapper,a=n.overlay,s=n.overlay.find(f+v.item+":visible:not(.k-breadcrumb-root-item)"),l=o.width()-n.options.gap;if(1!=s.length)for(r=0;r<s.length;r+=1)if(t=e(s[r]),i._outerWidth(a)>=l){if(r==s.length-1)break;t.hide(),n._displayOverflowIcons(!0)}},_showItem:function(e,t,r){return!!(e.length&&r>t+i._outerWidth(e,!0))&&(e.show(),!0)},_stretchItems:function(){var t,r,n,o=this,a=o.wrapper,s=o.overlay,l=o.overlay.find(f+v.item+":hidden:not(.k-breadcrumb-root-item)"),p=a.width()-o.options.gap;for(l.length||o._displayOverflowIcons(!1),n=l.length-1;n>=0&&(t=e(l[n]),r=i._outerWidth(s),!(r>p)&&this._showItem(t,r,p));n--);},_resize:function(){this._shrinkItems(),this._stretchItems()},getSize:function(){return i.dimensions(this.wrapper)},value:function(e){var i=this;return e!==t?(i._generateSegments(e),i.refresh(),t):i._path(i._segments)},_path:function(t){return e.map(t,function(e){var t=o(e)?e.text:e;return"/"===t?"":t}).join("/")}});i.ui.plugin(w)}(window.kendo.jQuery),window.kendo},i(3))}});