UNPKG

geminis-ng

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.2.14.

129 lines 13.2 kB
var GnSelectComponent_1; import { __decorate } from "tslib"; import { Component, EventEmitter, forwardRef, Input, Output } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { GnFormItem } from '../json-form/json-form-item/FormItem'; import { HttpClient } from '@angular/common/http'; import { GnMessageService } from '../message-service/message-service'; import { GnObjectUtils } from 'geminis-ng-core'; let GnSelectComponent = GnSelectComponent_1 = class GnSelectComponent { constructor(http, messageService) { this.http = http; this.messageService = messageService; this.items = []; this.pageSize = 10; this.valueChanged = new EventEmitter(); this.valueChange = (value) => { }; } set value(v) { if (this.innerValue !== v) { this.innerValue = v; this.valueChange(this.innerValue); } } get value() { return this.innerValue; } searchData(value) { if (this.showSearch) { this.searchValue = value; this.pageIndex = 0; this.noMore = false; this.items = []; this.fetchData(); } } appendData() { if (this.showSearch && !this.noMore) { this.pageIndex++; this.fetchData(); } } fetchData() { this.loading = true; const queryParameter = { pageSize: this.pageSize, pageIndex: this.pageIndex, includes: this.includes || [], filterGroup: { type: 'and', filters: [ { field: this.searchField, compareType: 'like', value: '%' + this.searchValue + '%' } ] } }; this.http.post(this.url, queryParameter) .subscribe((resp) => { if (resp.content.length === 0) { this.noMore = true; } resp.content.forEach(data => { this.items.push({ value: GnObjectUtils.getValue(data, this.valueField), label: GnObjectUtils.getValue(data, this.labelField) }); }); this.loading = false; }, error => { this.loading = false; this.messageService.error('获取数据错误'); throw error; }); } registerOnChange(fn) { this.valueChange = fn; } registerOnTouched(fn) { } writeValue(obj) { this.value = obj; } }; GnSelectComponent.decorators = [ { type: Component, args: [{ selector: 'gn-select', template: ` <nz-select [(ngModel)]="value" [nzAllowClear]="allowClear" [nzPlaceHolder]="placeHolder" (ngModelChange)="valueChanged.emit()" [nzShowSearch]="showSearch" [nzLoading]="loading" (nzOnSearch)="searchData($event)" (nzScrollToBottom)="appendData()" [nzDropdownRender]="renderTemplate"> <nz-option *ngFor="let item of items" [nzValue]="item.value" [nzLabel]="item.label"></nz-option> </nz-select> <ng-template #renderTemplate> <nz-spin *ngIf="loading"></nz-spin> </ng-template> `, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => GnSelectComponent_1), multi: true }] },] } ]; GnSelectComponent.ctorParameters = () => [ { type: HttpClient }, { type: GnMessageService } ]; GnSelectComponent.propDecorators = { value: [{ type: Input }], items: [{ type: Input }], placeHolder: [{ type: Input }], allowClear: [{ type: Input }], showSearch: [{ type: Input }], url: [{ type: Input }], pageSize: [{ type: Input }], includes: [{ type: Input }], searchField: [{ type: Input }], valueField: [{ type: Input }], labelField: [{ type: Input }], valueChanged: [{ type: Output }] }; GnSelectComponent = GnSelectComponent_1 = __decorate([ GnFormItem('select') ], GnSelectComponent); export { GnSelectComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2dlbWluaXMtbmcvc3JjL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUF1QixpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0lBcUJqQyxpQkFBaUIsK0JBQWpCLGlCQUFpQjtJQWlDNUIsWUFBb0IsSUFBZ0IsRUFDaEIsY0FBZ0M7UUFEaEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBa0I7UUFkM0MsVUFBSyxHQUFvQyxFQUFFLENBQUM7UUFNNUMsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUtiLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQTRENUMsZ0JBQVcsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQzdCLENBQUMsQ0FBQTtJQXpERCxDQUFDO0lBMUJELElBQWEsS0FBSyxDQUFDLENBQU07UUFDdkIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFF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d0JBQ2hELEtBQUssRUFBRSxJQUFJO3FCQUNaLENBQUM7YUFDSDs7O1lBckJPLFVBQVU7WUFDVixnQkFBZ0I7OztvQkErQnJCLEtBQUs7b0JBV0wsS0FBSzswQkFFTCxLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsS0FBSztrQkFDTCxLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUNMLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxNQUFNOztBQS9CSSxpQkFBaUI7SUFEN0IsVUFBVSxDQUFDLFFBQVEsQ0FBQztHQUNSLGlCQUFpQixDQXlHN0I7U0F6R1ksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtHbkZvcm1JdGVtfSBmcm9tICcuLi9qc29uLWZvcm0vanNvbi1mb3JtLWl0ZW0vRm9ybUl0ZW0nO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0duTWVzc2FnZVNlcnZpY2V9IGZyb20gJy4uL21lc3NhZ2Utc2VydmljZS9tZXNzYWdlLXNlcnZpY2UnO1xuaW1wb3J0IHtHbk9iamVjdFV0aWxzfSBmcm9tICdnZW1pbmlzLW5nLWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdnbi1zZWxlY3QnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuei1zZWxlY3QgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIFtuekFsbG93Q2xlYXJdPVwiYWxsb3dDbGVhclwiIFtuelBsYWNlSG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlQ2hhbmdlZC5lbWl0KClcIiBbbnpTaG93U2VhcmNoXT1cInNob3dTZWFyY2hcIiBbbnpMb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgICAgKG56T25TZWFyY2gpPVwic2VhcmNoRGF0YSgkZXZlbnQpXCIgKG56U2Nyb2xsVG9Cb3R0b20pPVwiYXBwZW5kRGF0YSgpXCIgW256RHJvcGRvd25SZW5kZXJdPVwicmVuZGVyVGVtcGxhdGVcIj5cbiAgICAgIDxuei1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIiBbbnpWYWx1ZV09XCJpdGVtLnZhbHVlXCIgW256TGFiZWxdPVwiaXRlbS5sYWJlbFwiPjwvbnotb3B0aW9uPlxuICAgIDwvbnotc2VsZWN0PlxuICAgIDxuZy10ZW1wbGF0ZSAjcmVuZGVyVGVtcGxhdGU+XG4gICAgICA8bnotc3BpbiAqbmdJZj1cImxvYWRpbmdcIj48L256LXNwaW4+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEduU2VsZWN0Q29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbkBHbkZvcm1JdGVtKCdzZWxlY3QnKVxuZXhwb3J0IGNsYXNzIEduU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55O1xuICBwcml2YXRlIHBhZ2VJbmRleDogbnVtYmVyO1xuICBwcml2YXRlIHNlYXJjaFZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgbm9Nb3JlOiBib29sZWFuO1xuXG4gIGxvYWRpbmc6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgc2V0IHZhbHVlKHY6IGFueSkge1xuICAgIGlmICh0aGlzLmlubmVyVmFsdWUgIT09IHYpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlKHRoaXMuaW5uZXJWYWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpIGl0ZW1zOiB7IHZhbHVlOiBhbnksIGxhYmVsOiBzdHJpbmcgfVtdID0gW107XG5cbiAgQElucHV0KCkgcGxhY2VIb2xkZXI6IHN0cmluZztcbiAgQElucHV0KCkgYWxsb3dDbGVhcjogYm9vbGVhbjtcbiAgQElucHV0KCkgc2hvd1NlYXJjaDogYm9vbGVhbjtcbiAgQElucHV0KCkgdXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhZ2VTaXplID0gMTA7XG4gIEBJbnB1dCgpIGluY2x1ZGVzOiBzdHJpbmdbXTtcbiAgQElucHV0KCkgc2VhcmNoRmllbGQ6IHN0cmluZztcbiAgQElucHV0KCkgdmFsdWVGaWVsZDogc3RyaW5nO1xuICBASW5wdXQoKSBsYWJlbEZpZWxkOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBHbk1lc3NhZ2VTZXJ2aWNlKSB7XG4gIH1cblxuICBzZWFyY2hEYXRhKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaG93U2VhcmNoKSB7XG4gICAgICB0aGlzLnNlYXJjaFZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnBhZ2VJbmRleCA9IDA7XG4gICAgICB0aGlzLm5vTW9yZSA9IGZhbHNlO1xuICAgICAgdGhpcy5pdGVtcyA9IFtdO1xuICAgICAgdGhpcy5mZXRjaERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBhcHBlbmREYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dTZWFyY2ggJiYgIXRoaXMubm9Nb3JlKSB7XG4gICAgICB0aGlzLnBhZ2VJbmRleCsrO1xuICAgICAgdGhpcy5mZXRjaERhdGEoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGZldGNoRGF0YSgpOiB2b2lkIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1ldGVyID0ge1xuICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXG4gICAgICBwYWdlSW5kZXg6IHRoaXMucGFnZUluZGV4LFxuICAgICAgaW5jbHVkZXM6IHRoaXMuaW5jbHVkZXMgfHwgW10sXG4gICAgICBmaWx0ZXJHcm91cDoge1xuICAgICAgICB0eXBlOiAnYW5kJyxcbiAgICAgICAgZmlsdGVyczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGZpZWxkOiB0aGlzLnNlYXJjaEZpZWxkLFxuICAgICAgICAgICAgY29tcGFyZVR5cGU6ICdsaWtlJyxcbiAgICAgICAgICAgIHZhbHVlOiAnJScgKyB0aGlzLnNlYXJjaFZhbHVlICsgJyUnXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmh0dHAucG9zdCh0aGlzLnVybCwgcXVlcnlQYXJhbWV0ZXIpXG4gICAgICAuc3Vic2NyaWJlKChyZXNwOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocmVzcC5jb250ZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5ub01vcmUgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXNwLmNvbnRlbnQuZm9yRWFjaChkYXRhID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaCh7XG4gICAgICAgICAgICAgIHZhbHVlOiBHbk9iamVjdFV0aWxzLmdldFZhbHVlKGRhdGEsIHRoaXMudmFsdWVGaWVsZCksXG4gICAgICAgICAgICAgIGxhYmVsOiBHbk9iamVjdFV0aWxzLmdldFZhbHVlKGRhdGEsIHRoaXMubGFiZWxGaWVsZClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9LFxuICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5lcnJvcign6I635Y+W5pWw5o2u6ZSZ6K+vJyk7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICB9XG5cbiAgdmFsdWVDaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gIH1cblxufVxuIl19