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
JavaScript
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