[{"__symbolic":"module","version":4,"metadata":{"SelectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"dc-select","template":"\n    <div #selectContainer class=\"dc-select-container\" [ngClass]=\"{'disable':disable}\" [style.width]=\"width\">\n      <div class=\"dc-select-input\" title=\"{{currentValue}}\">\n        <input [class.dc-valid]=\"currentValue\" [class.focus]='showDropFlag' [class.dc-invalid]=\"calcInvalid()\"\n               name=\"dcSelect\" [(ngModel)]=\"keyword\" [disabled]=\"disable\" [readonly]=\"isReadonly || isTree\"\n               (keyup.enter)=\"confirm()\" (click)=\"toggleSourceDrop()\" (blur)=\"blurEvent($event)\" #inputSelect>\n        <span (click)=\"toggleSourceDrop()\" [hidden]=\"(keyword && keyword.length>0) || isFocus\">{{currentValue}}</span>\n        <i [hidden]=\"!(!noClear && !disable && (keyword || (currentValue && currentValue.length > 0)))\" class=\"clear-input-value\"\n           (click)=\"clearInputValue($event)\"></i>\n        <div [hidden]=\"disable\" (click)=\"toggleSourceDrop()\" [class.showDropFlagBtn]=\"showDropFlag\" class=\"dc-select-btn\"\n             #dropBtn>\n          <div class=\"dc-select-arrow\"></div>\n        </div>\n      </div>\n      <ul *ngIf=\"!isTree\" [hidden]=\"!showDropFlag\" class=\"dc-select-drop\" [class.drop-up]=\"dropUp\" #dropList [style.maxHeight]=\"maxHeight\">\n        <li *ngFor=\"let option of filter(optionList, keyword); let i = index; trackBy: trackByIndex\"\n            (click)=\"changeValue(option)\" [class.selected]=\"displayField ? currentValue==option[displayField]: currentValue==option\"\n            [title]=\"option[displayField] || option\">\n          {{option[displayField] || option}}\n        </li>\n        <div *ngIf=\"filter(optionList, keyword).length == 0\" style=\"text-align: center; height: 30px; line-height: 30px;\">No Data.</div>\n      </ul>\n      <div (click)=\"$event.stopPropagation()\" style=\"padding: 10px 0;width:auto;min-width: 100%;\"\n           *ngIf=\"isTree && isMultiple && _treeParams.treeDatas\"\n           [hidden]=\"!showDropFlag\"\n           class=\"dc-select-drop\" #dropList>\n        <div *ngIf=\"treeSearch\" style=\"padding: 0 10px;\">\n          <dc-search [width]=\"'100%'\" (search)=\"searchTree($event)\"></dc-search>\n        </div>\n        <div [style.maxHeight]=\"maxHeight\">\n          <dc-tree [treeDatas]=\"_treeParams.treeDatas\" [keyId]=\"_treeParams.keyId\" [keyName]=\"_treeParams.keyName\"\n                   [defaultCheckedNodes]=\"_treeParams.defaultCheckedNodes\" [keyChild]=\"_treeParams.keyChild\" [options]=\"_treeParams.options\"\n                   (checkEvent)=\"treeCheck($event)\" #tree></dc-tree>\n        </div>\n      </div>\n      <div (click)=\"$event.stopPropagation()\" [hidden]=\"!showDropFlag\" style=\"padding: 10px 0;width:auto;min-width: 100%;\"\n           *ngIf=\"isTree && !isMultiple && _treeParams.treeDatas\"\n           class=\"dc-select-drop\" #dropList>\n        <div *ngIf=\"treeSearch\" style=\"padding: 0 10px;\" (click)=\"$event.stopPropagation()\">\n          <dc-search [width]=\"'100%'\" (search)=\"searchTree($event)\"></dc-search>\n        </div>\n        <div [style.maxHeight]=\"maxHeight\">\n          <dc-tree [treeDatas]=\"_treeParams.treeDatas\" [keyId]=\"_treeParams.keyId\" [keyName]=\"_treeParams.keyName\"\n                   [defaultSelectedNode]=\"_treeParams.defaultSelectedNode\" [keyChild]=\"_treeParams.keyChild\" [options]=\"_treeParams.options\"\n                   (clickEvent)=\"treeClick($event)\" #tree></dc-tree>\n        </div>\n      </div>\n    </div>","styles":[".dc-select-container {\n      width: 160px;\n      height: 30px;\n      font-size: 14px;\n      color: #333;\n      background: #fff;\n      /*margin: 0 10px;*/\n      padding: 0;\n      display: inline-block;\n      position: relative\n    }\n\n    .dc-select-container:hover {\n      /*border-color: #3d70b2*/\n    }\n\n    .dc-select-container:active {\n      /*border-color: #0081cc*/\n    }\n\n    .dc-select-container.disable {\n      background: #f5f5f5;\n      border-color: #ccc;\n      color: #999\n    }\n\n    .dc-select-input {\n      /*padding: 5px 10px;*/\n      height: 30px;\n      position: relative;\n      /*display: flex;*/\n      /*flex-direction: row;*/\n    }\n\n    .dc-select-input > input {\n      outline: none;\n      width: 100%;\n      padding: 0 30px 0 10px;\n      height: 30px;\n      line-height: 30px;\n      background: none;\n      border: 1px solid #ccc;\n      border-radius: 4px;\n      position: relative;\n      z-index: 1;\n    }\n\n    .dc-select-input > input.dc-valid {\n      border-color: #3FB992;\n    }\n\n    .dc-select-input > input.dc-invalid {\n      border-color: #FF3B3B;\n    }\n\n    .dc-select-input > input.focus,\n    .dc-select-input > input:focus {\n      border-color: #2BB1FF;\n    }\n\n    .dc-select-input > input:read-only {\n      cursor: default\n    }\n\n    .dc-select-input > span {\n      display: block;\n      position: absolute;\n      width: calc(100% - 40px);\n      height: 18px;\n      left: 10px;\n      top: 5px;\n      line-height: 18px;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      z-index: 0;\n    }\n\n    .clear-input-value {\n      position: absolute;\n      right: 20px;\n      top: 0;\n      cursor: pointer;\n      width: 12px;\n      height: 30px;\n      z-index: 2;\n      background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAOVJREFUKJF90DFKA1EQBuAvj2Cu8MBqe8FokedeQb2A6WzU0uN4gxTbxkM8CKKSfqvAXsAi2lj4dlkh5Icp5p9/Zv6ZSdM0Ck7whDucFW6LFV7wDdNSOMUac/9xVeIet9iFMvmQeIw5XjELeOzFdV2LMQ6qGKO6rvv0HA8By55p21ZKSYxRjFFKSdu2403LKS77rOs6OWcpJZBz1nXduOEiHPF9CD8Bb2PPKSU552HT+CZsg78/g6qqBhu9vaqqxg2rSdM0M+TyhWP4xCJgjxu8HxF/4Br7/ugdEp6xwVeJTeEWReMX1Y9FK/4RDOgAAAAASUVORK5CYII=) no-repeat center center transparent;\n    }\n\n    .clear-input-value:hover {\n      background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABS2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzggNzkuMTU5ODI0LCAyMDE2LzA5LzE0LTAxOjA5OjAxICAgICAgICAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIi8+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgo8P3hwYWNrZXQgZW5kPSJyIj8+IEmuOgAAAOtJREFUKJF90b1NAzEcBfBfriCVm2vR3S2ABFXYAViADACUjMMGWQCGQIoQWJngrLTXWBSBIhRxooBCnuTCz++9/4dHMUYFJ3jALc4Kt8AMT/iCUTGc4hkXDuMdN1hWJfmYWHl7wbjC/VbcdZ0Qwk4VQtB13fZ6jrsK0y0zDIO2bYUQhBA0TWMYhv1K01GMcVXa2qW2bWu9XkspyTnvG1bVkb4P4bvC29/0vu+llDRN82smLCqbPYO6rvV9L+cs5yylpK7rfcNsFGMc47Vs4RgiJhVWuLb5nP/wgSt7Qy9xiUfM8VnOvHCTovEDCGVJpA/ldQoAAAAASUVORK5CYII=) no-repeat center center transparent;\n    }\n\n    .dc-select-btn {\n      width: 0;\n      height: 30px;\n      position: absolute;\n      right: 0;\n      top: 0;\n      padding: 12px 15px 0 5px;\n      cursor: pointer;\n      z-index: 3;\n    }\n\n    .dc-select-container.disable .dc-select-btn {\n      cursor: default;\n    }\n\n    .dc-select-arrow {\n      border: solid 4px transparent;\n      border-top-width: 6px;\n      border-top-color: #333;\n      width: 0;\n      height: 0;\n    }\n\n    .showDropFlagBtn .dc-select-arrow {\n      top: 0;\n      transform: rotate(180deg);\n      -ms-transform: rotate(180deg); /* Internet Explorer */\n      -moz-transform: rotate(180deg); /* Firefox */\n      -webkit-transform: rotate(180deg); /* Safari 和 Chrome */\n      -o-transform: rotate(180deg); /* Opera */\n    }\n\n    .dc-select-container.disable .dc-select-arrow {\n      border-top-color: #ccc;\n    }\n\n    .dc-select-drop {\n      position: absolute;\n      top: 30px;\n      left: -1px;\n      width: calc(100% + 2px);\n      box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, .2);\n      background: #fff;\n      list-style: none;\n      border-radius: 3px;\n      overflow-y: auto;\n      overflow-x: hidden;\n      z-index: 1000;\n    }\n\n    .dc-select-drop.drop-up {\n      top: auto;\n      bottom: 25px;\n    }\n\n    .selected {\n      background-color: #0081cc;\n      color: #ffffff;\n    }\n\n    .dc-select-drop > li {\n      width: 100%;\n      height: 30px;\n      line-height: 26px;\n      cursor: pointer;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      padding: 0 11px\n    }\n\n    .dc-select-drop > li:hover {\n      color: #333333;\n      background: #edf0f5;\n    }\n\n    .dc-select-drop > li.selected {\n      background-color: #0081cc;\n      color: #ffffff;\n    }"]}]}],"members":{"optionList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"dropUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"disable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"treeSearch":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isReadonly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"displayField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"outputField":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"width":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"maxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isMultiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"isTree":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"noClear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"treeParams":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"treeCheckEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"treeCheckData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"treeClickEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"changeValueEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"selectBlurEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output"}}]}],"inputSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["inputSelect"]}]}],"dropBtn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["dropBtn"]}]}],"dropList":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["dropList"]}]}],"tree":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["tree"]}]}],"selectContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["selectContainer"]}]}],"currentSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"afterViewInit":[{"__symbolic":"method"}],"calcInvalid":[{"__symbolic":"method"}],"searchTree":[{"__symbolic":"method"}],"changeCurrentValue":[{"__symbolic":"method"}],"onDocumentClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener"},"arguments":["document:click",["$event"]]}]}],"filter":[{"__symbolic":"method"}],"blurEvent":[{"__symbolic":"method"}],"confirm":[{"__symbolic":"method"}],"changeValue":[{"__symbolic":"method"}],"selectValue":[{"__symbolic":"method"}],"clearValue":[{"__symbolic":"method"}],"trackByIndex":[{"__symbolic":"method"}],"treeCheck":[{"__symbolic":"method"}],"treeClick":[{"__symbolic":"method"}],"arrStringJoin":[{"__symbolic":"method"}],"getSelectVal":[{"__symbolic":"method"}],"showSourceDrop":[{"__symbolic":"method"}],"hideSourceDrop":[{"__symbolic":"method"}],"toggleSourceDrop":[{"__symbolic":"method"}],"clearInputValue":[{"__symbolic":"method"}]}}}}]