7 lines
26 KiB
JavaScript
7 lines
26 KiB
JavaScript
|
|
/*!
|
||
|
|
* AngularJS Material Design
|
||
|
|
* https://github.com/angular/material
|
||
|
|
* @license MIT
|
||
|
|
* v1.1.18-master-97a1616
|
||
|
|
*/
|
||
|
|
function MdChipCtrl(t,e,i,n,s){this.$scope=t,this.$element=e,this.$mdConstant=i,this.$timeout=n,this.$mdUtil=s,this.isEditing=!1,this.parentController=void 0,this.enableChipEdit=!1}function MdChip(p,t,e,h){return{restrict:"E",require:["^?mdChips","mdChip"],link:function(t,e,i,n){var s=n.shift(),r=n.shift(),o=angular.element(e[0].querySelector(".md-chip-content"));p(e),s&&(r.init(s),o.on("blur",function(){s.resetSelectedChip(),s.$scope.$applyAsync()}));h(function(){s&&s.shouldFocusLastChip&&s.focusLastChipThenInput()})},controller:"MdChipCtrl"}}function MdChipRemove(s){return{restrict:"A",require:"^mdChips",scope:!1,link:function(e,t,i,n){t.on("click",function(t){e.$apply(function(){n.removeChip(e.$$replacedScope.$index)})}),s(function(){t.attr({tabindex:"-1","aria-hidden":"true"}),t.find("button").attr("tabindex","-1")})}}}function MdChipTransclude(o){return{restrict:"EA",terminal:!0,link:function(t,e,i){var n=t.$parent.$mdChipsCtrl,s=n.parent.$new(!1,n.parent);s.$$replacedScope=t,s.$chip=t.$chip,s.$index=t.$index;var r=(s.$mdChipsCtrl=n).$scope.$eval(i.mdChipTransclude);e.html(r),o(e.contents())(s)},scope:!1}}goog.provide("ngmaterial.components.chips"),goog.require("ngmaterial.components.autocomplete"),goog.require("ngmaterial.core"),angular.module("material.components.chips",["material.core","material.components.autocomplete"]),MdChipCtrl.$inject=["$scope","$element","$mdConstant","$timeout","$mdUtil"],angular.module("material.components.chips").controller("MdChipCtrl",MdChipCtrl),MdChipCtrl.prototype.init=function(t){this.parentController=t,this.enableChipEdit=this.parentController.enableChipEdit,this.enableChipEdit&&(this.$element.on("keydown",this.chipKeyDown.bind(this)),this.$element.on("dblclick",this.chipMouseDoubleClick.bind(this)),this.getChipContent().addClass("_md-chip-content-edit-is-enabled"))},MdChipCtrl.prototype.getChipContent=function(){var t=this.$element[0].getElementsByClassName("md-chip-content");return angular.element(t[0])},MdChipCtrl.prototype.getContentElement=function(){var t=angular.element(this.getChipContent().children()[0]);return t&&0!==t.length||(t=angular.element(this.getChipContent().contents()[0])),t},MdChipCtrl.prototype.getChipIndex=function(){return parseInt(this.$element.attr("index"))},MdChipCtrl.prototype.goOutOfEditMode=function(){if(this.isEditing){this.isEditing=!1,this.$element.removeClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="false";var t=this.getChipIndex(),e=this.getContentElement().text();e?(this.parentController.updateChipContents(t,e),this.$mdUtil.nextTick(function(){this.parentController.selectedChip===t&&this.parentController.focusChip(t)}.bind(this))):this.parentController.removeChipAndFocusInput(t)}},MdChipCtrl.prototype.selectNodeContents=function(t){var e,i;document.body.createTextRange?((e=document.body.createTextRange()).moveToElementText(t),e.select()):window.getSelection&&(i=window.getSelection(),(e=document.createRange()).selectNodeContents(t),i.removeAllRanges(),i.addRange(e))},MdChipCtrl.prototype.goInEditMode=function(){this.isEditing=!0,this.$element.addClass("_md-chip-editing"),this.getChipContent()[0].contentEditable="true",this.getChipContent().on("blur",function(){this.goOutOfEditMode()}.bind(this)),this.selectNodeContents(this.getChipContent()[0])},MdChipCtrl.prototype.chipKeyDown=function(t){this.isEditing||t.keyCode!==this.$mdConstant.KEY_CODE.ENTER&&t.keyCode!==this.$mdConstant.KEY_CODE.SPACE?this.isEditing&&t.keyCode===this.$mdConstant.KEY_CODE.ENTER&&(t.preventDefault(),this.goOutOfEditMode()):(t.preventDefault(),this.goInEditMode())},MdChipCtrl.prototype.chipMouseDoubleClick=function(){this.enableChipEdit&&!this.isEditing&&this.goInEditMode()},MdChip.$inject=["$mdTheming","$mdUtil","$compile","$timeout"],angular.module("material.components.chips").directive("mdChip",MdChip),MdChipRemove.$inject=["$timeout"],angular.module("material.components.chips").directive("mdChipRemove",MdChipRemove),MdChipTransclude.$inject=["$compile"],angular.module("material.components.chips").directive("mdChipTransclude",MdChipTransclude),MdCh
|